Some tweaks to VapourSynth detection code, which should fix detection of the "portable" edition.

This commit is contained in:
LoRd_MuldeR 2024-07-21 22:47:49 +02:00
parent 9c5069ab69
commit 7e759b5c28
3 changed files with 19 additions and 19 deletions

View File

@ -116,14 +116,14 @@ InstallPath\
├─ x264_launcher_portable.exe ├─ x264_launcher_portable.exe
└─ extra\ └─ extra\
├─ VapourSynth-32\ ├─ VapourSynth-32\
│ ├─ VapourSynth.dll <32-Bit>
│ ├─ VSPipe.exe <32-Bit> │ ├─ VSPipe.exe <32-Bit>
│ ├─ python37.dll <32-Bit> │ ├─ VSScript.dll <32-Bit>
│ ├─ python312.dll <32-Bit>
│ └─ etc… │ └─ etc…
└─ VapourSynth-64\ └─ VapourSynth-64\
├─ VapourSynth.dll <64-Bit>
├─ VSPipe.exe <64-Bit> ├─ VSPipe.exe <64-Bit>
├─ python37.dll <64-Bit> ├─ VSScript.dll <64-Bit>
├─ python312.dll <64-Bit>
└─ etc… └─ etc…
``` ```

View File

@ -46,11 +46,11 @@ QScopedPointer<QFile> VapourSynthCheckThread::m_vpsExePath[2];
QScopedPointer<QFile> VapourSynthCheckThread::m_vpsDllPath[2]; QScopedPointer<QFile> VapourSynthCheckThread::m_vpsDllPath[2];
//Const //Const
static const char* const VPS_DLL_NAME = "vapoursynth.dll"; static const char* const VPS_DLL_NAME = "VSScript.dll";
static const char* const VPS_EXE_NAME = "vspipe.exe"; static const char* const VPS_EXE_NAME = "VSPipe.exe";
static const char* const VPS_REG_KEY1 = "SOFTWARE\\VapourSynth"; static const char* const VPS_REG_KEY1 = "SOFTWARE\\VapourSynth";
static const char* const VPS_REG_KEY2 = "SOFTWARE\\VapourSynth-32"; static const char* const VPS_REG_KEY2 = "SOFTWARE\\VapourSynth-32";
static const char* const VPS_REG_NAME = "VapourSynthDLL"; static const char* const VPS_REG_NAME = "VSPipeEXE";
//Default VapurSynth architecture //Default VapurSynth architecture
#if _WIN64 || __x86_64__ #if _WIN64 || __x86_64__
@ -226,18 +226,18 @@ int VapourSynthCheckThread::threadMain(void)
{ {
if (MUtils::Registry::reg_key_exists(REG_ROOTS[i], QString::fromLatin1(paths[j]), scopes[k])) if (MUtils::Registry::reg_key_exists(REG_ROOTS[i], QString::fromLatin1(paths[j]), scopes[k]))
{ {
QString vpsRegDllPath; QString vpsRegExePath;
if (MUtils::Registry::reg_value_read(REG_ROOTS[i], QString::fromLatin1(paths[j]), QString::fromLatin1(VPS_REG_NAME), vpsRegDllPath, scopes[k])) if (MUtils::Registry::reg_value_read(REG_ROOTS[i], QString::fromLatin1(paths[j]), QString::fromLatin1(VPS_REG_NAME), vpsRegExePath, scopes[k]))
{ {
QFileInfo vpsRegDllInfo(QDir::fromNativeSeparators(vpsRegDllPath)); QFileInfo vpsRegExeInfo(QDir::fromNativeSeparators(vpsRegExePath));
vpsRegDllInfo.makeAbsolute(); vpsRegExeInfo.makeAbsolute();
if (vpsRegDllInfo.exists() && vpsRegDllInfo.isFile()) if (vpsRegExeInfo.exists() && vpsRegExeInfo.isFile())
{ {
const int vpsArch = (REG_ROOTS[i] == MUtils::Registry::root_machine) ? getVapourSynthType(scopes[k]) : ((j > 0U) ? VAPOURSYNTH_X86 : VAPOURSYNTH_X64); const int vpsArch = (REG_ROOTS[i] == MUtils::Registry::root_machine) ? getVapourSynthType(scopes[k]) : ((j > 0U) ? VAPOURSYNTH_X86 : VAPOURSYNTH_X64);
if ((!vpsDllInfo.contains(vpsArch)) || (!vpsExeInfo.contains(vpsArch))) if ((!vpsDllInfo.contains(vpsArch)) || (!vpsExeInfo.contains(vpsArch)))
{ {
vpsDllInfo.insert(vpsArch, vpsRegDllInfo); vpsExeInfo.insert(vpsArch, vpsRegExeInfo);
vpsExeInfo.insert(vpsArch, vpsRegDllInfo.absoluteDir().absoluteFilePath(VPS_EXE_NAME)); /*derive VSPipe.EXE path from VapourSynth.DLL path!*/ vpsDllInfo.insert(vpsArch, vpsRegExeInfo.absoluteDir().absoluteFilePath(VPS_DLL_NAME)); /*derive VSScript.dll path from VapourSynth.DLL path!*/
} }
} }
} }

View File

@ -25,9 +25,9 @@
#define VER_X264_MAJOR 3 #define VER_X264_MAJOR 3
#define VER_X264_MINOR 0 #define VER_X264_MINOR 0
#define VER_X264_PATCH 4 #define VER_X264_PATCH 5
#define VER_X264_BUILD 1224 #define VER_X264_BUILD 1226
#define VER_X264_PORTABLE_EDITION (0) #define VER_X264_PORTABLE_EDITION (0)
#define VER_X264_PRE_RELEASE (0) #define VER_X264_PRE_RELEASE (1)