Browse Source

VST3: Add local search path on Windows

We haven't updated the default post-build copy paths yet, as the new
local directory is not yet well-supported by DAWs.
v6.1.6
reuk 3 years ago
parent
commit
903873dad2
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
3 changed files with 21 additions and 16 deletions
  1. +5
    -4
      modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp
  2. +4
    -1
      modules/juce_core/files/juce_File.h
  3. +12
    -11
      modules/juce_core/native/juce_win32_Files.cpp

+ 5
- 4
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp View File

@@ -3746,12 +3746,13 @@ void VST3PluginFormat::recursiveFileSearch (StringArray& results, const File& di
FileSearchPath VST3PluginFormat::getDefaultLocationsToSearch()
{
#if JUCE_WINDOWS
auto programFiles = File::getSpecialLocation (File::globalApplicationsDirectory).getFullPathName();
return FileSearchPath (programFiles + "\\Common Files\\VST3");
const auto localAppData = File::getSpecialLocation (File::windowsLocalAppData) .getFullPathName();
const auto programFiles = File::getSpecialLocation (File::globalApplicationsDirectory).getFullPathName();
return FileSearchPath (localAppData + "\\Programs\\Common\\VST3;" + programFiles + "\\Common Files\\VST3");
#elif JUCE_MAC
return FileSearchPath ("/Library/Audio/Plug-Ins/VST3;~/Library/Audio/Plug-Ins/VST3");
return FileSearchPath ("~/Library/Audio/Plug-Ins/VST3;/Library/Audio/Plug-Ins/VST3");
#else
return FileSearchPath ("/usr/lib/vst3/;/usr/local/lib/vst3/;~/.vst3/");
return FileSearchPath ("~/.vst3/;/usr/lib/vst3/;/usr/local/lib/vst3/");
#endif
}


+ 4
- 1
modules/juce_core/files/juce_File.h View File

@@ -942,7 +942,10 @@ public:
@see globalApplicationsDirectory
*/
globalApplicationsDirectoryX86
globalApplicationsDirectoryX86,
/** On a Windows machine returns the %LOCALAPPDATA% folder. */
windowsLocalAppData
#endif
};


+ 12
- 11
modules/juce_core/native/juce_win32_Files.cpp View File

@@ -618,17 +618,18 @@ File JUCE_CALLTYPE File::getSpecialLocation (const SpecialLocationType type)
switch (type)
{
case userHomeDirectory: csidlType = CSIDL_PROFILE; break;
case userDocumentsDirectory: csidlType = CSIDL_PERSONAL; break;
case userDesktopDirectory: csidlType = CSIDL_DESKTOP; break;
case userApplicationDataDirectory: csidlType = CSIDL_APPDATA; break;
case commonApplicationDataDirectory: csidlType = CSIDL_COMMON_APPDATA; break;
case commonDocumentsDirectory: csidlType = CSIDL_COMMON_DOCUMENTS; break;
case globalApplicationsDirectory: csidlType = CSIDL_PROGRAM_FILES; break;
case globalApplicationsDirectoryX86: csidlType = CSIDL_PROGRAM_FILESX86; break;
case userMusicDirectory: csidlType = 0x0d; /*CSIDL_MYMUSIC*/ break;
case userMoviesDirectory: csidlType = 0x0e; /*CSIDL_MYVIDEO*/ break;
case userPicturesDirectory: csidlType = 0x27; /*CSIDL_MYPICTURES*/ break;
case userHomeDirectory: csidlType = CSIDL_PROFILE; break;
case userDocumentsDirectory: csidlType = CSIDL_PERSONAL; break;
case userDesktopDirectory: csidlType = CSIDL_DESKTOP; break;
case userApplicationDataDirectory: csidlType = CSIDL_APPDATA; break;
case commonApplicationDataDirectory: csidlType = CSIDL_COMMON_APPDATA; break;
case commonDocumentsDirectory: csidlType = CSIDL_COMMON_DOCUMENTS; break;
case globalApplicationsDirectory: csidlType = CSIDL_PROGRAM_FILES; break;
case globalApplicationsDirectoryX86: csidlType = CSIDL_PROGRAM_FILESX86; break;
case windowsLocalAppData: csidlType = CSIDL_LOCAL_APPDATA; break;
case userMusicDirectory: csidlType = 0x0d; /*CSIDL_MYMUSIC*/ break;
case userMoviesDirectory: csidlType = 0x0e; /*CSIDL_MYVIDEO*/ break;
case userPicturesDirectory: csidlType = 0x27; /*CSIDL_MYPICTURES*/ break;
case tempDirectory:
{


Loading…
Cancel
Save