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
└─ extra\
├─ VapourSynth-32\
│ ├─ VapourSynth.dll <32-Bit>
│ ├─ VSPipe.exe <32-Bit>
│ ├─ python37.dll <32-Bit>
│ ├─ VSPipe.exe <32-Bit>
│ ├─ VSScript.dll <32-Bit>
│ ├─ python312.dll <32-Bit>
│ └─ etc…
└─ VapourSynth-64\
├─ VapourSynth.dll <64-Bit>
├─ VSPipe.exe <64-Bit>
├─ python37.dll <64-Bit>
├─ VSPipe.exe <64-Bit>
├─ VSScript.dll <64-Bit>
├─ python312.dll <64-Bit>
└─ etc…
```

View File

@ -46,11 +46,11 @@ QScopedPointer<QFile> VapourSynthCheckThread::m_vpsExePath[2];
QScopedPointer<QFile> VapourSynthCheckThread::m_vpsDllPath[2];
//Const
static const char* const VPS_DLL_NAME = "vapoursynth.dll";
static const char* const VPS_EXE_NAME = "vspipe.exe";
static const char* const VPS_DLL_NAME = "VSScript.dll";
static const char* const VPS_EXE_NAME = "VSPipe.exe";
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_NAME = "VapourSynthDLL";
static const char* const VPS_REG_NAME = "VSPipeEXE";
//Default VapurSynth architecture
#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]))
{
QString vpsRegDllPath;
if (MUtils::Registry::reg_value_read(REG_ROOTS[i], QString::fromLatin1(paths[j]), QString::fromLatin1(VPS_REG_NAME), vpsRegDllPath, scopes[k]))
QString vpsRegExePath;
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));
vpsRegDllInfo.makeAbsolute();
if (vpsRegDllInfo.exists() && vpsRegDllInfo.isFile())
QFileInfo vpsRegExeInfo(QDir::fromNativeSeparators(vpsRegExePath));
vpsRegExeInfo.makeAbsolute();
if (vpsRegExeInfo.exists() && vpsRegExeInfo.isFile())
{
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)))
{
vpsDllInfo.insert(vpsArch, vpsRegDllInfo);
vpsExeInfo.insert(vpsArch, vpsRegDllInfo.absoluteDir().absoluteFilePath(VPS_EXE_NAME)); /*derive VSPipe.EXE path from VapourSynth.DLL path!*/
vpsExeInfo.insert(vpsArch, vpsRegExeInfo);
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_MINOR 0
#define VER_X264_PATCH 4
#define VER_X264_BUILD 1224
#define VER_X264_PATCH 5
#define VER_X264_BUILD 1226
#define VER_X264_PORTABLE_EDITION (0)
#define VER_X264_PRE_RELEASE (0)
#define VER_X264_PRE_RELEASE (1)