diff --git a/.github/workflows/MediaConch_Checks.yml b/.github/workflows/MediaConch_Checks.yml
index e8860ade..8bbcec12 100644
--- a/.github/workflows/MediaConch_Checks.yml
+++ b/.github/workflows/MediaConch_Checks.yml
@@ -26,7 +26,7 @@ jobs:
pip --disable-pip-version-check install git+https://github.com/vi/mkvparse.git
fi
if [ "$RUNNER_OS" == "macOS" ]; then
- brew install libtool automake libxslt jansson qt@5 sfk xmlstarlet ffmpeg
+ brew install libtool automake libxslt jansson qt sfk xmlstarlet ffmpeg
sudo pip --disable-pip-version-check install --prefix /usr/local git+https://github.com/vi/mkvparse.git
fi
- name: Get ZenLib info
@@ -89,8 +89,8 @@ jobs:
- name: Configure GUI
run: |
cd Project/Qt
- export PATH=/opt/homebrew/opt/qt@5/bin:$PATH
- ./prepare CONFIG+=c++11 -after QMAKE_MACOSX_DEPLOYMENT_TARGET=10.9 QMAKE_LFLAGS-=-Wl,-ld_classic
+ export PATH=/opt/homebrew/opt/qt/bin:$PATH
+ ./prepare -after QMAKE_MACOSX_DEPLOYMENT_TARGET=11.0
- name: Build GUI
run: |
cd Project/Qt
diff --git a/Project/GNU/CLI/Makefile.am b/Project/GNU/CLI/Makefile.am
index 87d26fec..538690ed 100644
--- a/Project/GNU/CLI/Makefile.am
+++ b/Project/GNU/CLI/Makefile.am
@@ -46,7 +46,7 @@ mediaconch_SOURCES = \
../../../Source/Checker/Checker.cpp \
../../../Source/Checker/Path.cpp \
../../../Source/IMSC1/IMSC1Plugin.cpp \
- ../../../Source/ThirdParty/tfsxml/tfsxml.cpp
+ ../../../Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp
#mediaconch_LDFLAGS = -no-undefined -version-info 0:0:0
mediaconch_CPPFLAGS = $(XML_CFLAGS)
diff --git a/Project/GNU/Library/Makefile.am b/Project/GNU/Library/Makefile.am
index aca178f4..de2446e4 100644
--- a/Project/GNU/Library/Makefile.am
+++ b/Project/GNU/Library/Makefile.am
@@ -43,7 +43,7 @@ lib@MediaConchLib_LibName@_la_SOURCES = \
../../../Source/Checker/Checker.cpp \
../../../Source/Checker/Path.cpp \
../../../Source/IMSC1/IMSC1Plugin.cpp \
- ../../../Source/ThirdParty/tfsxml/tfsxml.cpp
+ ../../../Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp
#lib@MediaConchLib_LibName@includedir = $(includedir)/MediaConch
#lib@MediaConchLib_LibName@include_HEADERS = \
diff --git a/Project/GNU/Server/Makefile.am b/Project/GNU/Server/Makefile.am
index cca67e58..61340959 100644
--- a/Project/GNU/Server/Makefile.am
+++ b/Project/GNU/Server/Makefile.am
@@ -45,7 +45,7 @@ mediaconchd_SOURCES = \
../../../Source/Checker/Checker.cpp \
../../../Source/Checker/Path.cpp \
../../../Source/IMSC1/IMSC1Plugin.cpp \
- ../../../Source/ThirdParty/tfsxml/tfsxml.cpp
+ ../../../Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp
#mediaconchd_LDFLAGS = -no-undefined -version-info 0:0:0
mediaconchd_CPPFLAGS = $(XML_CFLAGS)
diff --git a/Project/MSVC2022/CLI/MediaConch.vcxproj b/Project/MSVC2022/CLI/MediaConch.vcxproj
index f265ca93..c1f81315 100644
--- a/Project/MSVC2022/CLI/MediaConch.vcxproj
+++ b/Project/MSVC2022/CLI/MediaConch.vcxproj
@@ -186,7 +186,7 @@
-
+
diff --git a/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj b/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj
new file mode 100644
index 00000000..1d01178f
--- /dev/null
+++ b/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj
@@ -0,0 +1,309 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ MediaConch-DLL
+ {574149DF-5BE6-47FD-9289-332AF77151FB}
+ MediaConch
+ Win32Proj
+
+
+
+ DynamicLibrary
+ true
+ Unicode
+ v143
+
+
+ DynamicLibrary
+ false
+ Unicode
+ v143
+
+
+ DynamicLibrary
+ true
+ Unicode
+ v143
+
+
+ DynamicLibrary
+ false
+ Unicode
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)$(Platform)\$(Configuration)\
+ $(Platform)\$(Configuration)\
+ $(SolutionDir)$(Platform)\$(Configuration)\
+ $(Platform)\$(Configuration)\
+ MediaConch
+ MediaConch
+ MediaConch
+ MediaConch
+
+
+
+
+
+
+
+
+
+ ../../../Source;../../../Source/ThirdParty/sqlite;../../../../libevent/WIN32-Code/nmake;../../../../libevent/include;../../../../jansson/src;../../../../jansson/Contrib/VC17/Jansson;../../../../zlib;../../../../libxslt;../../../../libxml2/include;../../../../MediaInfoLib/Source;../../../../ZenLib/Source;%(AdditionalIncludeDirectories)
+ HAVE_JANSSON;HAVE_LIBEVENT;HAVE_SQLITE;LIBEXSLT_STATIC;LIBXSLT_STATIC;LIBXML_STATIC;%(PreprocessorDefinitions)
+ MultiThreadedDebugDLL
+ true
+ Disabled
+
+
+ Windows
+
+
+
+
+ ../../../Source;../../../Source/ThirdParty/sqlite;../../../../libevent/WIN32-Code/nmake;../../../../libevent/include;../../../../jansson/src;../../../../jansson/Contrib/VC17/Jansson;../../../../zlib;../../../../libxslt;../../../../libxml2/include;../../../../MediaInfoLib/Source;../../../../ZenLib/Source;%(AdditionalIncludeDirectories)
+ HAVE_JANSSON;HAVE_LIBEVENT;HAVE_SQLITE;LIBEXSLT_STATIC;LIBXSLT_STATIC;LIBXML_STATIC;%(PreprocessorDefinitions)
+ MultiThreadedDebugDLL
+ true
+ Disabled
+
+
+ Windows
+
+
+
+
+ ../../../Source;../../../Source/ThirdParty/sqlite;../../../../libevent/WIN32-Code/nmake;../../../../libevent/include;../../../../jansson/src;../../../../jansson/Contrib/VC17/Jansson;../../../../zlib;../../../../libxslt;../../../../libxml2/include;../../../../MediaInfoLib/Source;../../../../ZenLib/Source;%(AdditionalIncludeDirectories)
+ HAVE_JANSSON;HAVE_LIBEVENT;HAVE_SQLITE;LIBEXSLT_STATIC;LIBXSLT_STATIC;LIBXML_STATIC;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+ true
+ None
+ false
+
+
+ Windows
+ true
+ true
+ MachineX86
+ true
+ ..\..\..\Project\MSVC2022\$(Platform)\$(Configuration);..\..\..\..\MediaInfoLib\Project\MSVC2022\Library\$(Platform)\$(Configuration);..\..\..\..\ZenLib\Project\MSVC2022\Library\$(Platform)\$(Configuration);..\..\..\..\libxslt\win32\libxslt\$(Platform)\$(Configuration);..\..\..\..\libxml2\win32\VC17\$(Platform)\$(Configuration);..\..\..\..\zlib\projects\MSVC2022\$(Platform)\$(Configuration)
+ No
+
+
+
+
+ ../../../Source;../../../Source/ThirdParty/sqlite;../../../../libevent/WIN32-Code/nmake;../../../../libevent/include;../../../../jansson/src;../../../../jansson/Contrib/VC17/Jansson;../../../../zlib;../../../../libxslt;../../../../libxml2/include;../../../../MediaInfoLib/Source;../../../../ZenLib/Source;%(AdditionalIncludeDirectories)
+ HAVE_JANSSON;HAVE_LIBEVENT;HAVE_SQLITE;LIBEXSLT_STATIC;LIBXSLT_STATIC;LIBXML_STATIC;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+ None
+ false
+
+
+ Windows
+ true
+ true
+ MachineX64
+ true
+ ..\..\..\Project\MSVC2022\$(Platform)\$(Configuration);..\..\..\..\MediaInfoLib\Project\MSVC2022\Library\$(Platform)\$(Configuration);..\..\..\..\ZenLib\Project\MSVC2022\Library\$(Platform)\$(Configuration);..\..\..\..\libxslt\win32\libxslt\$(Platform)\$(Configuration);..\..\..\..\libxml2\win32\VC17\$(Platform)\$(Configuration);..\..\..\..\zlib\projects\MSVC2022\$(Platform)\$(Configuration)
+ No
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {40460a4d-243e-48db-a2f6-f5c57acde134}
+
+
+ {f687c268-c5d7-36df-80c4-641ed9c82bc8}
+
+
+ {1d6039f6-5078-416f-a3af-a36efc7e6a1c}
+
+
+ {c66b92e2-e917-4556-84d9-6d32c10c3185}
+
+
+ {f8c03828-5050-4e68-a7b4-41131f9049d7}
+
+
+ {20e0f8d6-213c-460b-b361-9c725cb375c7}
+
+
+ {0da1da7d-f393-4e7c-a7ce-cb5c6a67bc94}
+
+
+ {745dec58-ebb3-47a9-a9b8-4c6627c01bf8}
+
+
+
+
+
+
diff --git a/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj.filters b/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj.filters
new file mode 100644
index 00000000..67684f97
--- /dev/null
+++ b/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj.filters
@@ -0,0 +1,332 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {3ae77992-ac1e-4f84-9b70-b9b52ce3b46a}
+
+
+ {04e8d873-200e-44c5-843e-432f681438f8}
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {4144b785-9e42-4b50-b521-d1f949969234}
+
+
+ {0e3aa0e0-c270-4d91-87ae-50c30aad50c0}
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+ {17d3f297-ae83-44c2-be09-2e2882b1565a}
+
+
+ {3c62d1d8-29ba-45c4-8828-7a5e54664aa9}
+
+
+
+
+ Source Files\Lib
+
+
+ Source Files\Lib
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ ThirdParty\sqlite
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+ Source Files\Common
+
+
+
+
+ Header Files\Lib
+
+
+ Header Files\Lib
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ ThirdParty\sqlite
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+
+
+ Resource Files
+
+
+
\ No newline at end of file
diff --git a/Project/MSVC2022/DLL/MediaConch_DLL.rc b/Project/MSVC2022/DLL/MediaConch_DLL.rc
new file mode 100644
index 00000000..c3083aad
--- /dev/null
+++ b/Project/MSVC2022/DLL/MediaConch_DLL.rc
@@ -0,0 +1,32 @@
+#include
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 25,04,0,0
+ PRODUCTVERSION 25,04,0,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904B0" // U.S. English (0x0409, 1033), Unicode (0x04B0, 1200)
+ BEGIN
+ VALUE "CompanyName", "MediaArea.net"
+ VALUE "FileDescription", "Implementation checker, policy checker, reporter, and fixer"
+ VALUE "FileVersion", "25.04.0.0"
+ VALUE "LegalCopyright", "Copyright (C) 2002-2015 MediaArea.net SARL"
+ VALUE "ProductName", "MediaConch"
+ VALUE "ProductVersion", "25.04.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
diff --git a/Project/MSVC2022/GUI/MediaConch_GUI.vcxproj b/Project/MSVC2022/GUI/MediaConch_GUI.vcxproj
index e5e49f52..7e48dfb7 100644
--- a/Project/MSVC2022/GUI/MediaConch_GUI.vcxproj
+++ b/Project/MSVC2022/GUI/MediaConch_GUI.vcxproj
@@ -225,7 +225,7 @@
-
+
diff --git a/Project/MSVC2022/MediaConch.sln b/Project/MSVC2022/MediaConch.sln
index 829f6b05..59f1666e 100644
--- a/Project/MSVC2022/MediaConch.sln
+++ b/Project/MSVC2022/MediaConch.sln
@@ -30,6 +30,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Jansson", "..\..\..\jansson
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MediaConch-Server", "Server\MediaConch-Server.vcxproj", "{66830D9C-0A1E-4664-B846-F5DAEDB574E6}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MediaConch-DLL", "DLL\MediaConch-DLL.vcxproj", "{574149DF-5BE6-47FD-9289-332AF77151FB}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -134,6 +136,14 @@ Global
{66830D9C-0A1E-4664-B846-F5DAEDB574E6}.Release|Win32.Build.0 = Release|Win32
{66830D9C-0A1E-4664-B846-F5DAEDB574E6}.Release|x64.ActiveCfg = Release|x64
{66830D9C-0A1E-4664-B846-F5DAEDB574E6}.Release|x64.Build.0 = Release|x64
+ {574149DF-5BE6-47FD-9289-332AF77151FB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {574149DF-5BE6-47FD-9289-332AF77151FB}.Debug|Win32.Build.0 = Debug|Win32
+ {574149DF-5BE6-47FD-9289-332AF77151FB}.Debug|x64.ActiveCfg = Debug|x64
+ {574149DF-5BE6-47FD-9289-332AF77151FB}.Debug|x64.Build.0 = Debug|x64
+ {574149DF-5BE6-47FD-9289-332AF77151FB}.Release|Win32.ActiveCfg = Release|Win32
+ {574149DF-5BE6-47FD-9289-332AF77151FB}.Release|Win32.Build.0 = Release|Win32
+ {574149DF-5BE6-47FD-9289-332AF77151FB}.Release|x64.ActiveCfg = Release|x64
+ {574149DF-5BE6-47FD-9289-332AF77151FB}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Project/MSVC2022/Server/MediaConch-Server.vcxproj b/Project/MSVC2022/Server/MediaConch-Server.vcxproj
index 8ff18274..8184f033 100644
--- a/Project/MSVC2022/Server/MediaConch-Server.vcxproj
+++ b/Project/MSVC2022/Server/MediaConch-Server.vcxproj
@@ -180,7 +180,7 @@
-
+
diff --git a/Project/Qt/MediaConch.pro b/Project/Qt/MediaConch.pro
index 6fec4ff2..ced2bd6d 100644
--- a/Project/Qt/MediaConch.pro
+++ b/Project/Qt/MediaConch.pro
@@ -4,20 +4,9 @@
#
#-------------------------------------------------
-contains(QT_CONFIG, no-gui) {
- error("qt module gui not found")
-}
-
-QT += core gui
-
-greaterThan(QT_MAJOR_VERSION, 4) {
- !qtHaveModule(widgets) {
- error("qt module widgets not found")
- }
- QT += widgets
-}
+QT += core gui widgets
-WEB_MACHINE=
+WEB_MACHINE=webengine
contains(USE_WEBKIT, yes|1) {
WEB_MACHINE = webkit
@@ -26,18 +15,6 @@ contains(USE_WEBENGINE, yes|1) {
WEB_MACHINE = webengine
}
-isEmpty(WEB_MACHINE) {
- WEB_MACHINE = webengine
- lessThan(QT_MAJOR_VERSION, 5) {
- WEB_MACHINE = webkit
- }
- equals(QT_MAJOR_VERSION, 5) {
- lessThan(QT_MINOR_VERSION, 6) {
- WEB_MACHINE = webkit
- }
- }
-}
-
!defined(packagesExist, test) {
defineTest(packagesExist) {
system(pkg-config $$ARGS): return(true)
@@ -45,8 +22,8 @@ isEmpty(WEB_MACHINE) {
}
}
-!macx:TARGET = mediaconch-gui
-macx:TARGET = MediaConch
+unix:!macx:TARGET = mediaconch-gui
+else:TARGET = MediaConch
TEMPLATE = app
CONFIG += qt release c++11
@@ -94,7 +71,7 @@ SOURCES += ../../Source/Common/MediaConchLib.cpp \
../../Source/Checker/Checker.cpp \
../../Source/Checker/Path.cpp \
../../Source/IMSC1/IMSC1Plugin.cpp \
- ../../Source/ThirdParty/tfsxml/tfsxml.cpp \
+ ../../Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp \
../../Source/GUI/Qt/main.cpp \
../../Source/GUI/Qt/commonwebwindow.cpp \
../../Source/GUI/Qt/helpwindow.cpp \
@@ -226,18 +203,6 @@ equals(WEB_MACHINE, webengine) {
../../Source/GUI/Qt/WebEngineView.h
DEFINES += WEB_MACHINE_ENGINE
} else {
- greaterThan(QT_MAJOR_VERSION, 4) {
- !qtHaveModule(webkit) {
- error("qt module webkit not found")
- }
- } else {
- # Ubuntu build QtWebKit from separate sources therefore QT_CONFIG contains
- # neither webkit nor no-webkit, so we also check for pkg-config module
- !contains(QT_CONFIG, webkit):!packagesExist(QtWebKit) {
- error("qt module webkit not found")
- }
- }
-
QT += webkit webkitwidgets
SOURCES += ../../Source/GUI/Qt/WebKitPage.cpp \
../../Source/GUI/Qt/WebKitView.cpp
@@ -248,6 +213,13 @@ equals(WEB_MACHINE, webengine) {
INCLUDEPATH += ../../Source
+win32 {
+ INCLUDEPATH += ../../../zlib
+ contains(QT_ARCH, i386): LIBS += $${_PRO_FILE_PWD_}/../../../zlib/contrib/vstudio/vc17/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib
+ contains(QT_ARCH, x86_64): LIBS += $${_PRO_FILE_PWD_}/../../../zlib/contrib/vstudio/vc17/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib
+}
+
+
unix:exists(../../../MediaInfoLib/Project/GNU/Library/libmediainfo-config) {
INCLUDEPATH += ../../../MediaInfoLib/Source
contains(STATIC_LIBS, yes|1) {
@@ -262,10 +234,14 @@ unix:exists(../../../MediaInfoLib/Project/GNU/Library/libmediainfo-config) {
error("libmediainfo not found on system")
}
LIBS += $$system(pkg-config --libs libmediainfo)
+}else:win32 {
+ INCLUDEPATH += ../../../MediaInfoLib/Source
+ contains(QT_ARCH, i386): LIBS += $${_PRO_FILE_PWD_}/../../../MediaInfoLib/Project/MSVC2022/Win32/Release/MediaInfo-Static.lib
+ contains(QT_ARCH, x86_64): LIBS += $${_PRO_FILE_PWD_}/../../../MediaInfoLib/Project/MSVC2022/x64/Release/MediaInfo-Static.lib
}
unix:exists(../../../ZenLib/Project/GNU/Library/libzen-config) {
- INCLUDEPATH += ../../../ZenLib/Source
+ INCLUDEPATH += ../../../ZenLib/Source
contains(STATIC_LIBS, yes|1) {
LIBS += $$system(../../../ZenLib/Project/GNU/Library/libzen-config LIBS_Static)
message("custom libzen : yes (static)")
@@ -276,6 +252,10 @@ unix:exists(../../../ZenLib/Project/GNU/Library/libzen-config) {
} else:unix {
PKGCONFIG += libzen
message("libzen : system")
+} else:win32 {
+ INCLUDEPATH += ../../../ZenLib/Source
+ contains(QT_ARCH, i386): LIBS += $${_PRO_FILE_PWD_}/../../../MediaInfoLib/Project/MSVC2022/Win32/Release/ZenLib.lib
+ contains(QT_ARCH, x86_64): LIBS += $${_PRO_FILE_PWD_}/../../../MediaInfoLib/Project/MSVC2022/x64/Release/ZenLib.lib
}
unix:exists(../../../libxml2/.libs/libxml2.a) {
@@ -289,6 +269,11 @@ unix:exists(../../../libxml2/.libs/libxml2.a) {
PKGCONFIG += libxml-2.0
}
message("libxml2 : system")
+} else:win32 {
+ DEFINES += LIBXML_STATIC
+ INCLUDEPATH += ../../../libxml2/include
+ contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../libxml2/win32/VC17/Win32/Release/libxml2.lib
+ contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../libxml2/win32/VC17/x64/Release/libxml2.lib
}
unix:exists(../../../libxslt/libxslt/.libs/libxslt.a) {
@@ -299,6 +284,13 @@ unix:exists(../../../libxslt/libxslt/.libs/libxslt.a) {
} else:unix {
PKGCONFIG += libxslt libexslt
message("libxslt : system")
+} else:win32 {
+ DEFINES += LIBXSLT_STATIC LIBEXSLT_STATIC
+ INCLUDEPATH += ../../../libxslt
+ contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../libxslt/win32/VC17/libxslt/Win32/Release/libxslt.lib
+ contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../libxslt/win32/VC17/libxslt/x64/Release/libxslt.lib
+ contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../libxslt/win32/VC17/libexslt/Win32/Release/libexslt.lib
+ contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../libxslt/win32/VC17/libexslt/x64/Release/libexslt.lib
}
@@ -313,6 +305,11 @@ contains(NO_SQLITE, yes|1) {
} else:unix {
PKGCONFIG += sqlite3
message("libsqlite3 : system")
+ } else:win32 {
+ DEFINES += HAVE_SQLITE
+ INCLUDEPATH += ../../Source/ThirdParty/sqlite
+ SOURCES += ../../Source/ThirdParty/sqlite/sqlite3.c
+ HEADERS += ../../Source/ThirdParty/sqlite/sqlite3.h
}
}
@@ -327,6 +324,11 @@ contains(NO_JANSSON, yes|1) {
} else:unix {
PKGCONFIG += jansson
message("libjansson : system")
+ } else:win32 {
+ DEFINES += HAVE_JANSSON
+ INCLUDEPATH += ../../../jansson/Contrib/VC17/Jansson ../../../jansson/src
+ contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../jansson/Contrib/VC17/Jansson/Win32/Release/Jansson.lib
+ contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../jansson/Contrib/VC17/Jansson/x64/Release/Jansson.lib
}
}
@@ -341,6 +343,11 @@ contains(NO_LIBEVENT, yes|1) {
} else:unix {
PKGCONFIG += libevent
message("libevent : system")
+ } else:win32 {
+ DEFINES += HAVE_LIBEVENT
+ INCLUDEPATH += ../../../libevent/WIN32-Code/nmake ../../../libevent/include
+ contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../libevent/Contrib/VC17/event/Win32/Release/event.lib
+ contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../libevent/Contrib/VC17/event/x64/Release/event.lib
}
}
@@ -356,8 +363,15 @@ macx:contains(MACSTORE, yes|1) {
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
}
-LIBS += -lz
-!macx:LIBS += -ldl -lrt
+win32 {
+ RC_FILE = MediaConch.rc
+ LIBS += winmm.lib ws2_32.lib imm32.lib ole32.lib
+ contains(QT_ARCH, i386): DESTDIR = Win32
+ contains(QT_ARCH, x86_64): DESTDIR = x64
+}
+
+unix:LIBS += -lz
+unix:!macx:LIBS += -ldl -lrt
RESOURCES += ../../Source/Resource/Resources.qrc
diff --git a/Project/Qt/MediaConch.rc b/Project/Qt/MediaConch.rc
new file mode 100644
index 00000000..a2ed4bb0
--- /dev/null
+++ b/Project/Qt/MediaConch.rc
@@ -0,0 +1,35 @@
+#include
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 25,04,20260214,0
+ PRODUCTVERSION 25,04,20260214,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904B0" // U.S. English (0x0409, 1033), Unicode (0x04B0, 1200)
+ BEGIN
+ VALUE "CompanyName", "MediaArea.net"
+ VALUE "FileDescription", "Implementation checker, policy checker, reporter, and fixer"
+ VALUE "FileVersion", "25.04.20260214.0"
+ VALUE "LegalCopyright", "Copyright (C) 2002-2015 MediaArea.net SARL"
+ VALUE "ProductName", "MediaConch"
+ VALUE "ProductVersion", "25.04.20260214.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+//Icons
+aaaaaaaa ICON "../../Source/Resource/Image/MediaConch.ico"
diff --git a/Release/Build_CLI_Windows.ps1 b/Release/Build_CLI_Windows.ps1
new file mode 100755
index 00000000..5cc0633c
--- /dev/null
+++ b/Release/Build_CLI_Windows.ps1
@@ -0,0 +1,61 @@
+## Copyright (c) MediaArea.net SARL. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license that can
+## be found in the License.html file in the root of the source tree.
+##
+
+Param([parameter(Mandatory=$true)][String]$arch)
+
+$ErrorActionPreference = "Stop"
+
+#-----------------------------------------------------------------------
+# Setup
+$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path
+$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim()
+
+#-----------------------------------------------------------------------
+# Prepare
+Push-Location -Path "${release_directory}\..\..\jansson\Contrib\VC17\Jansson"
+ ((Get-Content -Path Jansson.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Jansson.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libevent\Contrib\VC17\event"
+ ((Get-Content -Path event.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path event.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libxml2\win32\VC17"
+ ((Get-Content -Path libxml2.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxml2.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libxslt\win32\VC17"
+ ((Get-Content -Path libxslt\libxslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxslt\libxslt.vcxproj
+ ((Get-Content -Path libexslt\libexslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libexslt\libexslt.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\zlib\contrib\vstudio\vc17"
+ ((Get-Content -Path zlibstat.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path zlibstat.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\ZenLib\Project\MSVC2022\Library"
+ ((Get-Content -Path ZenLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ZenLib.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\MediaInfoLib\Project\MSVC2022"
+ ((Get-Content -Path Library\MediaInfoLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Library\MediaInfoLib.vcxproj
+ ((Get-Content -Path Dll\MediaInfoDll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Dll\MediaInfoDll.vcxproj
+ ((Get-Content -Path Example\HowToUse_Dll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Example\HowToUse_Dll.vcxproj
+ ((Get-Content -Path ShellExtension\MediaInfoShellExt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ShellExtension\MediaInfoShellExt.vcxproj
+ ((Get-Content -Path FieldsDescription\FieldsDescription.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path FieldsDescription\FieldsDescription.vcxproj
+ ((Get-Content -Path RegressionTest\RegressionTest.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path RegressionTest\RegressionTest.vcxproj
+ ((Get-Content -Path PreRelease\PreRelease.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path PreRelease\PreRelease.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\Project\MSVC2022"
+ ((Get-Content -Path CLI\MediaConch.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path CLI\MediaConch.vcxproj
+Pop-Location
+
+#-----------------------------------------------------------------------
+# Build
+Push-Location -Path "${release_directory}\..\Project\MSVC2022"
+ MSBuild "/p:Configuration=Release;Platform=${arch}" "/t:MediaConch-CLI" MediaConch.sln
+Pop-Location
diff --git a/Release/Build_DLL_Windows.ps1 b/Release/Build_DLL_Windows.ps1
new file mode 100755
index 00000000..b313a24b
--- /dev/null
+++ b/Release/Build_DLL_Windows.ps1
@@ -0,0 +1,61 @@
+## Copyright (c) MediaArea.net SARL. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license that can
+## be found in the License.html file in the root of the source tree.
+##
+
+Param([parameter(Mandatory=$true)][String]$arch)
+
+$ErrorActionPreference = "Stop"
+
+#-----------------------------------------------------------------------
+# Setup
+$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path
+$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim()
+
+#-----------------------------------------------------------------------
+# Prepare
+Push-Location -Path "${release_directory}\..\..\jansson\Contrib\VC17\Jansson"
+ ((Get-Content -Path Jansson.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Jansson.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libevent\Contrib\VC17\event"
+ ((Get-Content -Path event.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path event.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libxml2\win32\VC17"
+ ((Get-Content -Path libxml2.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxml2.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libxslt\win32\VC17"
+ ((Get-Content -Path libxslt\libxslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxslt\libxslt.vcxproj
+ ((Get-Content -Path libexslt\libexslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libexslt\libexslt.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\zlib\contrib\vstudio\vc17"
+ ((Get-Content -Path zlibstat.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path zlibstat.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\ZenLib\Project\MSVC2022\Library"
+ ((Get-Content -Path ZenLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ZenLib.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\MediaInfoLib\Project\MSVC2022"
+ ((Get-Content -Path Library\MediaInfoLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Library\MediaInfoLib.vcxproj
+ ((Get-Content -Path Dll\MediaInfoDll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Dll\MediaInfoDll.vcxproj
+ ((Get-Content -Path Example\HowToUse_Dll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Example\HowToUse_Dll.vcxproj
+ ((Get-Content -Path ShellExtension\MediaInfoShellExt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ShellExtension\MediaInfoShellExt.vcxproj
+ ((Get-Content -Path FieldsDescription\FieldsDescription.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path FieldsDescription\FieldsDescription.vcxproj
+ ((Get-Content -Path RegressionTest\RegressionTest.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path RegressionTest\RegressionTest.vcxproj
+ ((Get-Content -Path PreRelease\PreRelease.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path PreRelease\PreRelease.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\Project\MSVC2022"
+ ((Get-Content -Path DLL\MediaConch-DLL.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path DLL\MediaConch-DLL.vcxproj
+Pop-Location
+
+#-----------------------------------------------------------------------
+# Build
+Push-Location -Path "${release_directory}\..\Project\MSVC2022"
+ MSBuild "/p:Configuration=Release;Platform=${arch}" "/t:MediaConch-DLL" MediaConch.sln
+Pop-Location
diff --git a/Release/Build_GUI_Windows.ps1 b/Release/Build_GUI_Windows.ps1
new file mode 100755
index 00000000..b70a38dd
--- /dev/null
+++ b/Release/Build_GUI_Windows.ps1
@@ -0,0 +1,46 @@
+## Copyright (c) MediaArea.net SARL. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license that can
+## be found in the License.html file in the root of the source tree.
+##
+
+Param([parameter(Mandatory=$true)][String]$arch)
+
+$ErrorActionPreference = "Stop"
+
+#-----------------------------------------------------------------------
+# Setup
+$release_directory = $PSScriptRoot
+$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim()
+
+#-----------------------------------------------------------------------
+# Build
+Push-Location -Path "${release_directory}\..\..\libevent\Contrib\VC17\event"
+ MSBuild "/p:Configuration=Release;Platform=${arch}" event.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\jansson\Contrib\VC17\Jansson"
+ MSBuild "/p:Configuration=Release;Platform=${arch}" Jansson.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libxml2\win32\VC17"
+ MSBuild "/p:Configuration=Release;Platform=${arch}" libxml2.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libxslt\win32\VC17"
+ MSBuild "/p:Configuration=Release;Platform=${arch}" libxslt/libxslt.vcxproj
+ MSBuild "/p:Configuration=Release;Platform=${arch}" libexslt/libexslt.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\MediaInfoLib\Project\MSVC2022"
+ MSBuild "/p:Configuration=Release;Platform=${arch}" MediaInfoLib.sln
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\Project\Qt"
+ New-Item -Force -ItemType Directory "${arch}"
+ Push-Location -Path "${arch}"
+ qmake ..
+ nmake
+ windeployqt MediaConch.exe
+ Pop-Location
+Pop-Location
diff --git a/Release/Build_Server_Windows.ps1 b/Release/Build_Server_Windows.ps1
new file mode 100755
index 00000000..e96020f5
--- /dev/null
+++ b/Release/Build_Server_Windows.ps1
@@ -0,0 +1,61 @@
+## Copyright (c) MediaArea.net SARL. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license that can
+## be found in the License.html file in the root of the source tree.
+##
+
+Param([parameter(Mandatory=$true)][String]$arch)
+
+$ErrorActionPreference = "Stop"
+
+#-----------------------------------------------------------------------
+# Setup
+$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path
+$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim()
+
+#-----------------------------------------------------------------------
+# Prepare
+Push-Location -Path "${release_directory}\..\..\jansson\Contrib\VC17\Jansson"
+ ((Get-Content -Path Jansson.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Jansson.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libevent\Contrib\VC17\event"
+ ((Get-Content -Path event.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path event.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libxml2\win32\VC17"
+ ((Get-Content -Path libxml2.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxml2.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\libxslt\win32\VC17"
+ ((Get-Content -Path libxslt\libxslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxslt\libxslt.vcxproj
+ ((Get-Content -Path libexslt\libexslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libexslt\libexslt.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\zlib\contrib\vstudio\vc17"
+ ((Get-Content -Path zlibstat.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path zlibstat.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\ZenLib\Project\MSVC2022\Library"
+ ((Get-Content -Path ZenLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ZenLib.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\..\MediaInfoLib\Project\MSVC2022"
+ ((Get-Content -Path Library\MediaInfoLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Library\MediaInfoLib.vcxproj
+ ((Get-Content -Path Dll\MediaInfoDll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Dll\MediaInfoDll.vcxproj
+ ((Get-Content -Path Example\HowToUse_Dll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Example\HowToUse_Dll.vcxproj
+ ((Get-Content -Path ShellExtension\MediaInfoShellExt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ShellExtension\MediaInfoShellExt.vcxproj
+ ((Get-Content -Path FieldsDescription\FieldsDescription.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path FieldsDescription\FieldsDescription.vcxproj
+ ((Get-Content -Path RegressionTest\RegressionTest.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path RegressionTest\RegressionTest.vcxproj
+ ((Get-Content -Path PreRelease\PreRelease.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path PreRelease\PreRelease.vcxproj
+Pop-Location
+
+Push-Location -Path "${release_directory}\..\Project\MSVC2022"
+ ((Get-Content -Path Server\MediaConch-Server.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Server\MediaConch-Server.vcxproj
+Pop-Location
+
+#-----------------------------------------------------------------------
+# Build
+Push-Location -Path "${release_directory}\..\Project\MSVC2022"
+ MSBuild "/p:Configuration=Release;Platform=${arch}" "/t:MediaConch-Server" MediaConch.sln
+Pop-Location
diff --git a/Release/Release_CLI_Windows.ps1 b/Release/Release_CLI_Windows.ps1
new file mode 100755
index 00000000..a5fbcb01
--- /dev/null
+++ b/Release/Release_CLI_Windows.ps1
@@ -0,0 +1,48 @@
+## Copyright (c) MediaArea.net SARL. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license that can
+## be found in the License.html file in the root of the source tree.
+##
+
+Param([parameter(Mandatory=$true)][String]$arch)
+
+$ErrorActionPreference = "Stop"
+
+#-----------------------------------------------------------------------
+# Setup
+$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path
+$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim()
+$arch_alt="${arch}"
+if ("${arch}" -eq "Win32" ) {
+ $arch_alt="i386"
+}
+
+#-----------------------------------------------------------------------
+# Cleanup
+$artifact = "${release_directory}\MediaConch_CLI_${version}_Windows_${arch_alt}"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force -Recurse "${artifact}"
+}
+
+$artifact = "${release_directory}\MediaConch_CLI_${version}_Windows_${arch_alt}.zip"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force "${artifact}"
+}
+
+#-----------------------------------------------------------------------
+# Package CLI
+Push-Location "${release_directory}"
+ New-Item -Force -ItemType Directory -Path "MediaConch_CLI_${version}_Windows_${arch_alt}"
+ Push-Location "MediaConch_CLI_${version}_Windows_${arch_alt}"
+ ### Copying: Exe ###
+ Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaConch.exe" .
+ ### Copying: libCURL ###
+ Copy-Item -Force "..\..\..\libcurl\${arch}\Release\LIBCURL.DLL" .
+ ### Copying: Information files ###
+ Copy-Item -Force "..\..\License.html" .
+ Copy-Item -Force "..\..\History_CLI.txt" "History.txt"
+ Copy-Item -Force "..\Readme_CLI_Windows.txt" "ReadMe.txt"
+ ### Archive
+ 7za.exe a -r -tzip -mx9 "..\MediaConch_CLI_${version}_Windows_${arch_alt}.zip" *
+ Pop-Location
+Pop-Location
diff --git a/Release/Release_CLI_Windows_i386.bat b/Release/Release_CLI_Windows_i386.bat
deleted file mode 100644
index 4557dc11..00000000
--- a/Release/Release_CLI_Windows_i386.bat
+++ /dev/null
@@ -1,41 +0,0 @@
-@rem Copyright (c) MediaArea.net SARL. All Rights Reserved.
-@rem
-@rem Use of this source code is governed by a BSD-style license that can
-@rem be found in the License.html file in the root of the source tree.
-@rem
-
-@rem echo off
-
-rem --- Search binaries ---
-set BPATH=
-if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries"
-if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries"
-if "%BPATH%"=="" (
- echo "ERROR: binaries path not found"
- exit /b 1
-)
-
-@rem --- Clean up ---
-del MediaConch_CLI_Windows_i386.zip
-rmdir MediaConch_CLI_Windows_i386 /S /Q
-mkdir MediaConch_CLI_Windows_i386
-
-rem --- Copying : Exe ---
-xcopy ..\Project\MSVC2022\Win32\Release\MediaConch.exe MediaConch_CLI_Windows_i386\ /S
-xcopy ..\Project\MSVC2022\Win32\Release\LIBCURL.DLL MediaConch_CLI_Windows_i386\ /S
-
-rem --- Copying : Information files ---
-copy ..\License.* MediaConch_CLI_Windows_i386\
-copy ..\History_CLI.txt MediaConch_CLI_Windows_i386\History.txt
-copy Readme_CLI_Windows.txt MediaConch_CLI_Windows_i386\ReadMe.txt
-
-rem --- Compressing Archive ---
-cd MediaConch_CLI_Windows_i386\
-%BPATH%\Windows\7-Zip\7z a -r -tzip ..\MediaConch_CLI_Windows_i386.zip *
-cd ..
-
-
-rem --- Clean up ---
-if "%1"=="SkipCleanUp" goto SkipCleanUp
-rmdir MediaConch_CLI_Windows_i386\ /S /Q
-:SkipCleanUp
diff --git a/Release/Release_CLI_Windows_x64.bat b/Release/Release_CLI_Windows_x64.bat
deleted file mode 100644
index fa38d35b..00000000
--- a/Release/Release_CLI_Windows_x64.bat
+++ /dev/null
@@ -1,41 +0,0 @@
-@rem Copyright (c) MediaArea.net SARL. All Rights Reserved.
-@rem
-@rem Use of this source code is governed by a BSD-style license that can
-@rem be found in the License.html file in the root of the source tree.
-@rem
-
-@rem echo off
-
-rem --- Search binaries ---
-set BPATH=
-if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries"
-if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries"
-if "%BPATH%"=="" (
- echo "ERROR: binaries path not found"
- exit /b 1
-)
-
-@rem --- Clean up ---
-del MediaConch_CLI_Windows_x64.zip
-rmdir MediaConch_CLI_Windows_x64 /S /Q
-mkdir MediaConch_CLI_Windows_x64
-
-rem --- Copying : Exe ---
-xcopy ..\Project\MSVC2022\x64\Release\MediaConch.exe MediaConch_CLI_Windows_x64\ /S
-xcopy ..\Project\MSVC2022\x64\Release\LIBCURL.DLL MediaConch_CLI_Windows_x64\ /S
-
-rem --- Copying : Information files ---
-copy ..\License.* MediaConch_CLI_Windows_x64\
-copy ..\History_CLI.txt MediaConch_CLI_Windows_x64\History.txt
-copy Readme_CLI_Windows.txt MediaConch_CLI_Windows_x64\ReadMe.txt
-
-
-rem --- Compressing Archive ---
-cd MediaConch_CLI_Windows_x64\
-%BPATH%\Windows\7-Zip\7z a -r -tzip ..\MediaConch_CLI_Windows_x64.zip *
-cd ..
-
-rem --- Clean up ---
-if "%1"=="SkipCleanUp" goto SkipCleanUp
-rmdir MediaConch_CLI_Windows_x64\ /S /Q
-:SkipCleanUp
diff --git a/Release/Release_DLL_Windows.ps1 b/Release/Release_DLL_Windows.ps1
new file mode 100755
index 00000000..1b0abc80
--- /dev/null
+++ b/Release/Release_DLL_Windows.ps1
@@ -0,0 +1,53 @@
+## Copyright (c) MediaArea.net SARL. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license that can
+## be found in the License.html file in the root of the source tree.
+##
+
+Param([parameter(Mandatory=$true)][String]$arch)
+
+$ErrorActionPreference = "Stop"
+
+#-----------------------------------------------------------------------
+# Setup
+$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path
+$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim()
+$arch_alt="${arch}"
+if ("${arch}" -eq "Win32" ) {
+ $arch_alt="i386"
+}
+
+#-----------------------------------------------------------------------
+# Cleanup
+$artifact = "${release_directory}\MediaConch_DLL_${version}_Windows_${arch_alt}"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force -Recurse "${artifact}"
+}
+
+$artifact = "${release_directory}\MediaConch_DLL_${version}_Windows_${arch_alt}.zip"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force "${artifact}"
+}
+
+#-----------------------------------------------------------------------
+# Package DLL
+Push-Location "${release_directory}"
+ New-Item -Force -ItemType Directory -Path "MediaConch_DLL_${version}_Windows_${arch_alt}"
+ Push-Location "MediaConch_DLL_${version}_Windows_${arch_alt}"
+ ### Copying: Dll ###
+ Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaConch.dll" .
+ New-Item -ItemType Directory -Path "Developers"
+ Push-Location -Path "Developers"
+ ### Copying: Include ###
+ Copy-Item -Force "..\..\..\Source\Lib\MediaConchDLL.h" .
+ ### Copying: Python API ###
+ Copy-Item -Force "..\..\..\Source\Lib\MediaConchLib.py" .
+ Pop-Location
+ ### Copying: libCURL ###
+ Copy-Item -Force "..\..\..\libcurl\${arch}\Release\LIBCURL.DLL" .
+ ### Copying: Information files ###
+ Copy-Item -Force "..\..\License.html" .
+ ### Archive
+ 7za.exe a -r -tzip -mx9 "..\MediaConch_DLL_${version}_Windows_${arch_alt}.zip" *
+ Pop-Location
+Pop-Location
diff --git a/Release/Release_GUI_Windows.bat b/Release/Release_GUI_Windows.bat
deleted file mode 100644
index f2b43439..00000000
--- a/Release/Release_GUI_Windows.bat
+++ /dev/null
@@ -1,29 +0,0 @@
-@rem Copyright (c) MediaArea.net SARL. All Rights Reserved.
-@rem
-@rem Use of this source code is governed by a BSD-style license that can
-@rem be found in the License.html file in the root of the source tree.
-@rem
-
-@rem echo off
-
-rem --- Search binaries ---
-set BPATH=
-if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries"
-if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries"
-if "%BPATH%"=="" (
- echo "ERROR: binaries path not found"
- exit /b 1
-)
-
-@rem --- Clean up ---
-del MediaConch_GUI_Windows.exe
-
-rem --- Installer ---
-pushd %BPATH%\Windows\NSIS
-makensis.exe "%~dp0\..\Source\Install\MediaConch_GUI_Windows.nsi"
-popd
-
-rem --- Clean up ---
-if "%1"=="SkipCleanUp" goto SkipCleanUp
-rmdir MediaConch_GUI_Windows\ /S /Q
-:SkipCleanUp
diff --git a/Release/Release_GUI_Windows.ps1 b/Release/Release_GUI_Windows.ps1
new file mode 100755
index 00000000..e4892d5d
--- /dev/null
+++ b/Release/Release_GUI_Windows.ps1
@@ -0,0 +1,112 @@
+## Copyright (c) MediaArea.net SARL. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license that can
+## be found in the License.html file in the root of the source tree.
+##
+
+Param([parameter(Mandatory=$true)][String]$arch)
+
+$ErrorActionPreference = "Stop"
+
+#-----------------------------------------------------------------------
+# Setup
+$release_directory = $PSScriptRoot
+$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim()
+$arch_alt="${arch}"
+if ("${arch}" -eq "Win32" ) {
+ $arch_alt="i386"
+}
+$arch_vs="${arch}"
+if ("${arch}" -eq "Win32" ) {
+ $arch_vs="x86"
+}
+
+#-----------------------------------------------------------------------
+# Cleanup
+$artifact = "${release_directory}\MediaConch_GUI_${version}_Windows_${arch_alt}"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force -Recurse "${artifact}"
+}
+
+$artifact = "${release_directory}\MediaConch_GUI_${version}_Windows_${arch_alt}_WithoutInstaller.7z"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force "${artifact}"
+}
+
+$artifact = "${release_directory}\MediaConch_GUI_${version}_Windows_${arch_alt}.exe"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force "${artifact}"
+}
+
+#-----------------------------------------------------------------------
+# Package GUI
+Push-Location "${release_directory}"
+ New-Item -Force -ItemType Directory -Path "MediaConch_GUI_${version}_Windows_${arch_alt}"
+ Push-Location "MediaConch_GUI_${version}_Windows_${arch_alt}"
+ ### Copying: Exe ###
+ Copy-Item -Force "..\..\Project\Qt\${arch}\MediaConch.exe" MediaConch.exe
+ ### Copying: libCURL ###
+ Copy-Item -Force "..\..\..\libcurl\${arch}\Release\LIBCURL.DLL" .
+ ### Copying: Qt ###
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Core.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Gui.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Network.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\libEGL.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\libGLESV2.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\d3dcompiler_47.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Qml.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Quick.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5WebChannel.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5WebEngineCore.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5WebEngineWidgets.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5PrintSupport.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5QuickWidgets.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Positioning.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Widgets.dll" .
+ Copy-Item -Force "..\..\Project\Qt\${arch}\QtWebEngineProcess.exe" .
+ New-Item -ItemType directory -Path "resources"
+ Push-Location -Path "resources"
+ Copy-Item -Path "..\..\..\Project\Qt\${arch}\resources\icudtl.dat" .
+ Copy-Item -Path "..\..\..\Project\Qt\${arch}\resources\qtwebengine_resources.pak" .
+ Copy-Item -Path "..\..\..\Project\Qt\${arch}\resources\qtwebengine_resources_100p.pak" .
+ Copy-Item -Path "..\..\..\Project\Qt\${arch}\resources\qtwebengine_resources_200p.pak" .
+ Pop-Location
+ New-Item -ItemType directory -Path "platforms"
+ Push-Location -Path "platforms"
+ Copy-Item -Path "..\..\..\Project\Qt\${arch}\platforms\qwindows.dll" .
+ Pop-Location
+ New-Item -ItemType directory -Path "translations"
+ Push-Location -Path "translations"
+ Copy-Item -Path "..\..\..\Project\Qt\${arch}\translations\qt_en.qm" .
+ New-Item -ItemType directory -Path "qtwebengine_locales"
+ Push-Location -Path "qtwebengine_locales"
+ Copy-Item -Path "..\..\..\..\Project\Qt\${arch}\translations\qtwebengine_locales\en-US.pak" .
+ Pop-Location
+ Pop-Location
+ ### Copying: VC runtimes ###
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\concrt140.dll" .
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140.dll" .
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140_1.dll" .
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140_2.dll" .
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140_atomic_wait.dll" .
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140_codecvt_ids.dll" .
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\vccorlib140.dll" .
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\vcruntime140.dll" .
+ if ("${arch}" -ne "Win32" ) {
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\vcruntime140_1.dll" .
+ }
+ Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\vcruntime140_threads.dll" .
+ ### Copying: Information files ###
+ Copy-Item -Force "..\..\License.html" .
+ Copy-Item -Force "..\..\History_GUI.txt" "History.txt"
+ Copy-Item -Force "..\Readme_GUI_Windows.txt" "ReadMe.txt"
+ ### Archive
+ 7za.exe a -r -t7z -mx9 "..\MediaConch_GUI_${version}_Windows_${arch_alt}_WithoutInstaller.7z" *
+ Pop-Location
+Pop-Location
+
+#-----------------------------------------------------------------------
+# Package installer
+Push-Location "${release_directory}"
+ makensis.exe "..\Source\Install\MediaConch_GUI_Windows.nsi"
+Pop-Location
diff --git a/Release/Release_GUI_Windows_i386.bat b/Release/Release_GUI_Windows_i386.bat
deleted file mode 100644
index 03b5501f..00000000
--- a/Release/Release_GUI_Windows_i386.bat
+++ /dev/null
@@ -1,77 +0,0 @@
-@rem Copyright (c) MediaArea.net SARL. All Rights Reserved.
-@rem
-@rem Use of this source code is governed by a BSD-style license that can
-@rem be found in the License.html file in the root of the source tree.
-@rem
-
-@rem echo off
-
-rem --- Search binaries ---
-set BPATH=
-if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries"
-if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries"
-if "%BPATH%"=="" (
- echo "ERROR: binaries path not found"
- exit /b 1
-)
-
-@rem --- Clean up ---
-del MediaConch_GUI_Windows_i386.exe
-del MediaConch_GUI_Windows_i386_WithoutInstaller.7z
-rmdir MediaConch_GUI_Windows_i386 /S /Q
-mkdir MediaConch_GUI_Windows_i386
-
-
-@rem --- Copying : Exe ---
-copy ..\Project\MSVC2022\Win32\Release\MediaConch-GUI.exe MediaConch_GUI_Windows_i386\MediaConch.exe
-copy ..\Project\MSVC2022\Win32\Release\LIBCURL.DLL MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5Core.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5Gui.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5Network.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\libEGL.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\libGLESV2.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\d3dcompiler_47.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5Qml.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5Quick.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5WebChannel.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5WebEngineCore.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5WebEngineWidgets.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5WebKit.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5WebKitWidgets.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5WebSockets.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5PrintSupport.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5QuickWidgets.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5Positioning.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\Qt5Widgets.dll MediaConch_GUI_Windows_i386\
-copy ..\Project\MSVC2022\Win32\Release\QtWebEngineProcess.exe MediaConch_GUI_Windows_i386\
-copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\concrt140.dll" MediaConch_GUI_Windows_i386\
-copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\msvcp140.dll" MediaConch_GUI_Windows_i386\
-copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\vccorlib140.dll" MediaConch_GUI_Windows_i386\
-copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\vcruntime140.dll" MediaConch_GUI_Windows_i386\
-mkdir MediaConch_GUI_Windows_i386\resources
-copy ..\Project\MSVC2022\Win32\Release\resources\icudtl.dat MediaConch_GUI_Windows_i386\resources\icudtl.dat
-copy ..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources.pak MediaConch_GUI_Windows_i386\resources\qtwebengine_resources.pak
-copy ..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources_100p.pak MediaConch_GUI_Windows_i386\resources\qtwebengine_resources_100p.pak
-copy ..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources_200p.pak MediaConch_GUI_Windows_i386\resources\qtwebengine_resources_200p.pak
-mkdir MediaConch_GUI_Windows_i386\platforms
-copy ..\Project\MSVC2022\Win32\Release\platforms\qwindows.dll MediaConch_GUI_Windows_i386\platforms\
-mkdir MediaConch_GUI_Windows_i386\translations\
-copy ..\Project\MSVC2022\Win32\Release\translations\qt_en.qm MediaConch_GUI_Windows_i386\translations\qt_en.qm
-mkdir MediaConch_GUI_Windows_i386\translations\qtwebengine_locales
-copy ..\Project\MSVC2022\Win32\Release\translations\qtwebengine_locales\en-US.pak MediaConch_GUI_Windows_i386\translations\qtwebengine_locales\en-US.pak
-
-@rem --- Copying : Information files ---
-copy ..\License.html MediaConch_GUI_Windows_i386\
-copy ..\History_GUI.txt MediaConch_GUI_Windows_i386\History.txt
-copy ReadMe_GUI_Windows.txt MediaConch_GUI_Windows_i386\ReadMe.txt
-
-
-rem --- Compressing Archive ---
-cd MediaConch_GUI_Windows_i386\
-%BPATH%\Windows\7-Zip\7z a -r -t7z -mx9 ..\MediaConch_GUI_Windows_i386_WithoutInstaller.7z *
-cd ..
-
-rem --- Clean up ---
-if "%1"=="SkipCleanUp" goto SkipCleanUp
-rmdir MediaConch_GUI_Windows_i386\ /S /Q
-:SkipCleanUp
diff --git a/Release/Release_GUI_Windows_x64.bat b/Release/Release_GUI_Windows_x64.bat
deleted file mode 100644
index 4bf345ca..00000000
--- a/Release/Release_GUI_Windows_x64.bat
+++ /dev/null
@@ -1,77 +0,0 @@
-@rem Copyright (c) MediaArea.net SARL. All Rights Reserved.
-@rem
-@rem Use of this source code is governed by a BSD-style license that can
-@rem be found in the License.html file in the root of the source tree.
-@rem
-
-@rem echo off
-
-rem --- Search binaries ---
-set BPATH=
-if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries"
-if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries"
-if "%BPATH%"=="" (
- echo "ERROR: binaries path not found"
- exit /b 1
-)
-
-@rem --- Clean up ---
-del MediaConch_GUI_Windows_x64.exe
-del MediaConch_GUI_Windows_x64_WithoutInstaller.7z
-rmdir MediaConch_GUI_Windows_x64 /S /Q
-mkdir MediaConch_GUI_Windows_x64
-
-
-@rem --- Copying : Exe ---
-copy ..\Project\MSVC2022\x64\Release\MediaConch-GUI.exe MediaConch_GUI_Windows_x64\MediaConch.exe
-copy ..\Project\MSVC2022\x64\Release\LIBCURL.DLL MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5Core.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5Gui.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5Network.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\libEGL.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\libGLESV2.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\d3dcompiler_47.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5Qml.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5Quick.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5WebChannel.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5WebEngineCore.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5WebEngineWidgets.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5WebKit.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5WebKitWidgets.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5WebSockets.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5PrintSupport.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5QuickWidgets.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5Positioning.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\Qt5Widgets.dll MediaConch_GUI_Windows_x64\
-copy ..\Project\MSVC2022\x64\Release\QtWebEngineProcess.exe MediaConch_GUI_Windows_x64\
-copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\concrt140.dll" MediaConch_GUI_Windows_x64\
-copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\msvcp140.dll" MediaConch_GUI_Windows_x64\
-copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vccorlib140.dll" MediaConch_GUI_Windows_x64\
-copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vcruntime140.dll" MediaConch_GUI_Windows_x64\
-mkdir MediaConch_GUI_Windows_x64\resources
-copy ..\Project\MSVC2022\x64\Release\resources\icudtl.dat MediaConch_GUI_Windows_x64\resources\icudtl.dat
-copy ..\Project\MSVC2022\x64\Release\resources\qtwebengine_resources.pak MediaConch_GUI_Windows_x64\resources\qtwebengine_resources.pak
-copy ..\Project\MSVC2022\x64\Release\resources\qtwebengine_resources_100p.pak MediaConch_GUI_Windows_x64\resources\qtwebengine_resources_100p.pak
-copy ..\Project\MSVC2022\x64\Release\resources\qtwebengine_resources_200p.pak MediaConch_GUI_Windows_x64\resources\qtwebengine_resources_200p.pak
-mkdir MediaConch_GUI_Windows_x64\platforms
-copy ..\Project\MSVC2022\x64\Release\platforms\qwindows.dll MediaConch_GUI_Windows_x64\platforms\
-mkdir MediaConch_GUI_Windows_x64\translations\
-copy ..\Project\MSVC2022\x64\Release\translations\qt_en.qm MediaConch_GUI_Windows_x64\translations\qt_en.qm
-mkdir MediaConch_GUI_Windows_x64\translations\qtwebengine_locales
-copy ..\Project\MSVC2022\x64\Release\translations\qtwebengine_locales\en-US.pak MediaConch_GUI_Windows_x64\translations\qtwebengine_locales\en-US.pak
-
-@rem --- Copying : Information files ---
-copy ..\License.html MediaConch_GUI_Windows_x64\
-copy ..\History_GUI.txt MediaConch_GUI_Windows_x64\History.txt
-copy ReadMe_GUI_Windows.txt MediaConch_GUI_Windows_x64\ReadMe.txt
-
-
-rem --- Compressing Archive ---
-cd MediaConch_GUI_Windows_x64\
-%BPATH%\Windows\7-Zip\7z a -r -t7z -mx9 ..\MediaConch_GUI_Windows_x64_WithoutInstaller.7z *
-cd ..
-
-rem --- Clean up ---
-if "%1"=="SkipCleanUp" goto SkipCleanUp
-rmdir MediaConch_GUI_Windows_x64\ /S /Q
-:SkipCleanUp
diff --git a/Release/Release_Server_Windows.ps1 b/Release/Release_Server_Windows.ps1
new file mode 100755
index 00000000..e4ff2c12
--- /dev/null
+++ b/Release/Release_Server_Windows.ps1
@@ -0,0 +1,46 @@
+## Copyright (c) MediaArea.net SARL. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license that can
+## be found in the License.html file in the root of the source tree.
+##
+
+Param([parameter(Mandatory=$true)][String]$arch)
+
+$ErrorActionPreference = "Stop"
+
+#-----------------------------------------------------------------------
+# Setup
+$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path
+$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim()
+$arch_alt="${arch}"
+if ("${arch}" -eq "Win32" ) {
+ $arch_alt="i386"
+}
+
+#-----------------------------------------------------------------------
+# Cleanup
+$artifact = "${release_directory}\MediaConch_Server_${version}_Windows_${arch_alt}"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force -Recurse "${artifact}"
+}
+
+$artifact = "${release_directory}\MediaConch_Server_${version}_Windows_${arch_alt}.zip"
+if (Test-Path "${artifact}") {
+ Remove-Item -Force "${artifact}"
+}
+
+#-----------------------------------------------------------------------
+# Package Server
+Push-Location "${release_directory}"
+ New-Item -Force -ItemType Directory -Path "MediaConch_Server_${version}_Windows_${arch_alt}"
+ Push-Location "MediaConch_Server_${version}_Windows_${arch_alt}"
+ ### Copying: Exe ###
+ Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaConch-Server.exe" .
+ ### Copying: libCURL ###
+ Copy-Item -Force "..\..\..\libcurl\${arch}\Release\LIBCURL.DLL" .
+ ### Copying: Information files ###
+ Copy-Item -Force "..\..\License.html" .
+ ### Archive
+ 7za.exe a -r -tzip -mx9 "..\MediaConch_Server_${version}_Windows_${arch_alt}.zip" *
+ Pop-Location
+Pop-Location
diff --git a/Release/Release_Server_Windows_i386.bat b/Release/Release_Server_Windows_i386.bat
deleted file mode 100644
index 78978dfa..00000000
--- a/Release/Release_Server_Windows_i386.bat
+++ /dev/null
@@ -1,41 +0,0 @@
-@rem Copyright (c) MediaArea.net SARL. All Rights Reserved.
-@rem
-@rem Use of this source code is governed by a BSD-style license that can
-@rem be found in the License.html file in the root of the source tree.
-@rem
-
-@rem echo off
-
-rem --- Search binaries ---
-set BPATH=
-if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries"
-if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries"
-if "%BPATH%"=="" (
- echo "ERROR: binaries path not found"
- exit /b 1
-)
-
-@rem --- Clean up ---
-del MediaConch_Server_Windows_i386.zip
-rmdir MediaConch_Server_Windows_i386 /S /Q
-mkdir MediaConch_Server_Windows_i386
-
-rem --- Copying : Exe ---
-xcopy ..\Project\MSVC2022\Win32\Release\MediaConch.exe MediaConch_Server_Windows_i386\ /S
-xcopy ..\Project\MSVC2022\Win32\Release\LIBCURL.DLL MediaConch_Server_Windows_i386\ /S
-
-rem --- Copying : Information files ---
-copy ..\License.* MediaConch_Server_Windows_i386\
-copy ..\History_Server.txt MediaConch_Server_Windows_i386\History.txt
-copy Readme_Server_Windows.txt MediaConch_Server_Windows_i386\ReadMe.txt
-
-rem --- Compressing Archive ---
-cd MediaConch_Server_Windows_i386\
-%BPATH%\Windows\7-Zip\7z a -r -tzip ..\MediaConch_Server_Windows_i386.zip *
-cd ..
-
-
-rem --- Clean up ---
-if "%1"=="SkipCleanUp" goto SkipCleanUp
-rmdir MediaConch_Server_Windows_i386\ /S /Q
-:SkipCleanUp
diff --git a/Release/Release_Server_Windows_x64.bat b/Release/Release_Server_Windows_x64.bat
deleted file mode 100644
index 2bff9c52..00000000
--- a/Release/Release_Server_Windows_x64.bat
+++ /dev/null
@@ -1,41 +0,0 @@
-@rem Copyright (c) MediaArea.net SARL. All Rights Reserved.
-@rem
-@rem Use of this source code is governed by a BSD-style license that can
-@rem be found in the License.html file in the root of the source tree.
-@rem
-
-@rem echo off
-
-rem --- Search binaries ---
-set BPATH=
-if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries"
-if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries"
-if "%BPATH%"=="" (
- echo "ERROR: binaries path not found"
- exit /b 1
-)
-
-@rem --- Clean up ---
-del MediaConch_Server_Windows_x64.zip
-rmdir MediaConch_Server_Windows_x64 /S /Q
-mkdir MediaConch_Server_Windows_x64
-
-rem --- Copying : Exe ---
-xcopy ..\Project\MSVC2022\x64\Release\MediaConch.exe MediaConch_Server_Windows_x64\ /S
-xcopy ..\Project\MSVC2022\x64\Release\LIBCURL.DLL MediaConch_Server_Windows_x64\ /S
-
-rem --- Copying : Information files ---
-copy ..\License.* MediaConch_Server_Windows_x64\
-copy ..\History_Server.txt MediaConch_Server_Windows_x64\History.txt
-copy Readme_Server_Windows.txt MediaConch_Server_Windows_x64\ReadMe.txt
-
-
-rem --- Compressing Archive ---
-cd MediaConch_Server_Windows_x64\
-%BPATH%\Windows\7-Zip\7z a -r -tzip ..\MediaConch_Server_Windows_x64.zip *
-cd ..
-
-rem --- Clean up ---
-if "%1"=="SkipCleanUp" goto SkipCleanUp
-rmdir MediaConch_Server_Windows_x64\ /S /Q
-:SkipCleanUp
diff --git a/Source/Checker/Makefile.emscripten b/Source/Checker/Makefile.emscripten
index d6cc45d5..42edf47e 100644
--- a/Source/Checker/Makefile.emscripten
+++ b/Source/Checker/Makefile.emscripten
@@ -3,10 +3,10 @@ all: PolicyCheckerWasm.js PolicyChecker.js
clean:
rm *.o ../ThirdParty/tfsxml/*.o
-PolicyChecker.js: ../ThirdParty/tfsxml/tfsxml.o Path.o Checker.o
+PolicyChecker.js: ../ThirdParty/tfsxml/tfsxml_wrapper.o Path.o Checker.o
em++ -std=c++11 -s WASM=0 -s TOTAL_MEMORY=67108864 -s NO_FILESYSTEM=1 -s MODULARIZE=1 -s EXPORT_NAME="'PolicyChecker'" --closure 0 -o $@ $(CXXFLAGS) --bind $^
-PolicyCheckerWasm.js: ../ThirdParty/tfsxml/tfsxml.o Path.o Checker.o
+PolicyCheckerWasm.js: ../ThirdParty/tfsxml/tfsxml_wrapper.o Path.o Checker.o
em++ -std=c++11 -s WASM=1 -s TOTAL_MEMORY=33554432 -s ALLOW_MEMORY_GROWTH=1 -s NO_FILESYSTEM=1 -s MODULARIZE=1 -s EXPORT_NAME="'PolicyChecker'" --closure 0 -o $@ $(CXXFLAGS) --bind $^
%.o: %.cpp
diff --git a/Source/GUI/Qt/helpwindow.cpp b/Source/GUI/Qt/helpwindow.cpp
index cc3a6218..16d9b65b 100644
--- a/Source/GUI/Qt/helpwindow.cpp
+++ b/Source/GUI/Qt/helpwindow.cpp
@@ -26,7 +26,7 @@ Help::Help(QWidget *parent) : QDialog(parent)
QRect ScreenGeometry = QGuiApplication::primaryScreen()->geometry();
move(ScreenGeometry.width()/5, y());
resize(ScreenGeometry.width()-ScreenGeometry.width()/5*2, ScreenGeometry.height()*3/4);
- setWindowFlags(windowFlags()&(0xFFFFFFFF-Qt::WindowContextHelpButtonHint));
+ setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint);
setWindowTitle("MediaConch help");
Close=new QPushButton("&Close");
diff --git a/Source/Install/MediaConch_GUI_Windows.nsi b/Source/Install/MediaConch_GUI_Windows.nsi
index d6ca5a10..6fa0905f 100644
--- a/Source/Install/MediaConch_GUI_Windows.nsi
+++ b/Source/Install/MediaConch_GUI_Windows.nsi
@@ -32,6 +32,11 @@ SetCompressor /FINAL /SOLID lzma
!define MUI_ABORTWARNING
!define MUI_ICON "..\..\Source\Resource\Image\MediaConch.ico"
+; Uninstaller signing
+!ifdef EXPORT_UNINST
+ !uninstfinalize 'copy /Y "%1" "..\..\Release\${PRODUCT_NAME}_GUI_${PRODUCT_VERSION}_Windows-uninst.exe"'
+!endif
+
; Language Selection Dialog Settings
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
@@ -115,42 +120,42 @@ Section "SectionPrincipale" SEC01
SetOutPath "$SMPROGRAMS"
CreateShortCut "$SMPROGRAMS\MediaConch.lnk" "$INSTDIR\MediaConch.exe" "" "" "" "" "" "Convenient unified display of the most relevant technical and tag data for video and audio files"
SetOutPath "$INSTDIR"
- File "/oname=MediaConch.exe" "..\..\Project\MSVC2022\Win32\Release\MediaConch-GUI.exe"
+ File "..\..\Project\Qt\Win32\MediaConch.exe"
File "/oname=History.txt" "..\..\History_GUI.txt"
File "..\..\License.html"
File "/oname=ReadMe.txt" "..\..\Release\ReadMe_GUI_Windows.txt"
- File "..\..\Project\MSVC2022\Win32\Release\LIBCURL.DLL"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5Core.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5Gui.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5Network.dll"
- File "..\..\Project\MSVC2022\Win32\Release\libEGL.dll"
- File "..\..\Project\MSVC2022\Win32\Release\libGLESV2.dll"
- File "..\..\Project\MSVC2022\Win32\Release\d3dcompiler_47.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5Qml.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5Quick.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5WebChannel.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5WebEngineWidgets.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5WebEngineCore.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5PrintSupport.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5QuickWidgets.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5Positioning.dll"
- File "..\..\Project\MSVC2022\Win32\Release\Qt5Widgets.dll"
- File "..\..\Project\MSVC2022\Win32\Release\QtWebEngineProcess.exe"
+ File "..\..\..\libcurl\Win32\Release\LIBCURL.DLL"
+ File "..\..\Project\Qt\Win32\Qt5Core.dll"
+ File "..\..\Project\Qt\Win32\Qt5Gui.dll"
+ File "..\..\Project\Qt\Win32\Qt5Network.dll"
+ File "..\..\Project\Qt\Win32\libEGL.dll"
+ File "..\..\Project\Qt\Win32\libGLESV2.dll"
+ File "..\..\Project\Qt\Win32\d3dcompiler_47.dll"
+ File "..\..\Project\Qt\Win32\Qt5Qml.dll"
+ File "..\..\Project\Qt\Win32\Qt5Quick.dll"
+ File "..\..\Project\Qt\Win32\Qt5WebChannel.dll"
+ File "..\..\Project\Qt\Win32\Qt5WebEngineWidgets.dll"
+ File "..\..\Project\Qt\Win32\Qt5WebEngineCore.dll"
+ File "..\..\Project\Qt\Win32\Qt5PrintSupport.dll"
+ File "..\..\Project\Qt\Win32\Qt5QuickWidgets.dll"
+ File "..\..\Project\Qt\Win32\Qt5Positioning.dll"
+ File "..\..\Project\Qt\Win32\Qt5Widgets.dll"
+ File "..\..\Project\Qt\Win32\QtWebEngineProcess.exe"
File "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\concrt140.dll"
File "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\msvcp140.dll"
File "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\vccorlib140.dll"
File "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\vcruntime140.dll"
SetOutPath "$INSTDIR\resources"
- File "..\..\Project\MSVC2022\Win32\Release\resources\icudtl.dat"
- File "..\..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources.pak"
- File "..\..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources_100p.pak"
- File "..\..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources_200p.pak"
+ File "..\..\Project\Qt\Win32\resources\icudtl.dat"
+ File "..\..\Project\Qt\Win32\resources\qtwebengine_resources.pak"
+ File "..\..\Project\Qt\Win32\resources\qtwebengine_resources_100p.pak"
+ File "..\..\Project\Qt\Win32\resources\qtwebengine_resources_200p.pak"
SetOutPath "$INSTDIR\platforms"
- File "..\..\Project\MSVC2022\Win32\Release\platforms\qwindows.dll"
+ File "..\..\Project\Qt\Win32\platforms\qwindows.dll"
SetOutPath "$INSTDIR\translations"
- File "..\..\Project\MSVC2022\Win32\Release\translations\qt_en.qm"
+ File "..\..\Project\Qt\Win32\translations\qt_en.qm"
SetOutPath "$INSTDIR\translations\qtwebengine_locales"
- File "..\..\Project\MSVC2022\Win32\Release\translations\qtwebengine_locales\en-US.pak"
+ File "..\..\Project\Qt\Win32\translations\qtwebengine_locales\en-US.pak"
# Create files
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
@@ -175,7 +180,11 @@ Section "SectionPrincipale" SEC01
SectionEnd
Section -Post
- WriteUninstaller "$INSTDIR\uninst.exe"
+ !if /FileExists "..\..\Release\${PRODUCT_NAME}_GUI_${PRODUCT_VERSION}_Windows-uninst.exe"
+ File "/oname=$INSTDIR\uninst.exe" "..\..\Release\${PRODUCT_NAME}_GUI_${PRODUCT_VERSION}_Windows-uninst.exe"
+ !else
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ !endif
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\MediaConch.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
diff --git a/Source/Lib/CMakeLists.txt b/Source/Lib/CMakeLists.txt
index d0d71e86..d6215716 100644
--- a/Source/Lib/CMakeLists.txt
+++ b/Source/Lib/CMakeLists.txt
@@ -37,7 +37,7 @@ add_library(MediaConchLib
../IMSC1/IMSC1Plugin.cpp
../Checker/Checker.cpp
../Checker/Path.cpp
- ../ThirdParty/tfsxml/tfsxml.cpp
+ ../ThirdParty/tfsxml/tfsxml_wrapper.cpp
MediaConchDLL.cpp
Lib.cpp
)
diff --git a/Source/Lib/MediaConchLib.py b/Source/Lib/MediaConchLib.py
index 1a2a6488..537fcf41 100644
--- a/Source/Lib/MediaConchLib.py
+++ b/Source/Lib/MediaConchLib.py
@@ -17,8 +17,6 @@
from ctypes import c_long as _c_long
from ctypes import c_int as _c_int
-
-
_module = _os.path.abspath(_os.path.dirname(__file__))
_machine = _platform.machine().lower()
_system = _platform.system().lower()
@@ -30,13 +28,18 @@
if _system == "darwin":
_library = "libmediaconch.0.dylib"
+elif _system == "windows":
+ _library = "MediaConch.dll"
else:
_library = "libmediaconch.so.0"
try:
_MediaConchLib_Handler = _CDLL("{}/{}/{}/{}".format(_module, _system, _machine, _library))
except:
- _MediaConchLib_Handler = _CDLL(_library)
+ try:
+ _MediaConchLib_Handler = _CDLL("{}/{}".format(_module, _library))
+ except:
+ _MediaConchLib_Handler = _CDLL(_library)
class Format:
"""Possibles MediaConch output formats.
diff --git a/Source/ThirdParty/tfsxml/tfsxml.cpp b/Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp
similarity index 100%
rename from Source/ThirdParty/tfsxml/tfsxml.cpp
rename to Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp