mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-10 16:46:35 +01:00
recursive VST scans
This commit is contained in:
parent
cf7d5dbc2d
commit
a2d1f894b0
2 changed files with 9 additions and 8 deletions
|
|
@ -278,7 +278,7 @@ PluginManager::clear_vst_cache ()
|
||||||
#ifdef WINDOWS_VST_SUPPORT
|
#ifdef WINDOWS_VST_SUPPORT
|
||||||
{
|
{
|
||||||
vector<string> fsi_files;
|
vector<string> fsi_files;
|
||||||
find_files_matching_regex (fsi_files, Config->get_plugin_path_vst(), "\\.fsi$");
|
find_files_matching_regex (fsi_files, Config->get_plugin_path_vst(), "\\.fsi$", true);
|
||||||
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
||||||
::g_unlink(i->c_str());
|
::g_unlink(i->c_str());
|
||||||
}
|
}
|
||||||
|
|
@ -288,7 +288,7 @@ PluginManager::clear_vst_cache ()
|
||||||
#ifdef LXVST_SUPPORT
|
#ifdef LXVST_SUPPORT
|
||||||
{
|
{
|
||||||
vector<string> fsi_files;
|
vector<string> fsi_files;
|
||||||
find_files_matching_regex (fsi_files, Config->get_plugin_path_lxvst(), "\\.fsi$");
|
find_files_matching_regex (fsi_files, Config->get_plugin_path_lxvst(), "\\.fsi$", true);
|
||||||
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
||||||
::g_unlink(i->c_str());
|
::g_unlink(i->c_str());
|
||||||
}
|
}
|
||||||
|
|
@ -299,7 +299,7 @@ PluginManager::clear_vst_cache ()
|
||||||
{
|
{
|
||||||
string personal = get_personal_vst_info_cache_dir();
|
string personal = get_personal_vst_info_cache_dir();
|
||||||
vector<string> fsi_files;
|
vector<string> fsi_files;
|
||||||
find_files_matching_regex (fsi_files, personal, "\\.fsi$");
|
find_files_matching_regex (fsi_files, personal, "\\.fsi$", /* user cache is flat, no recursion */ false);
|
||||||
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
||||||
::g_unlink(i->c_str());
|
::g_unlink(i->c_str());
|
||||||
}
|
}
|
||||||
|
|
@ -313,7 +313,7 @@ PluginManager::clear_vst_blacklist ()
|
||||||
#ifdef WINDOWS_VST_SUPPORT
|
#ifdef WINDOWS_VST_SUPPORT
|
||||||
{
|
{
|
||||||
vector<string> fsi_files;
|
vector<string> fsi_files;
|
||||||
find_files_matching_regex (fsi_files, Config->get_plugin_path_vst(), "\\.fsb$");
|
find_files_matching_regex (fsi_files, Config->get_plugin_path_vst(), "\\.fsb$", true);
|
||||||
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
||||||
::g_unlink(i->c_str());
|
::g_unlink(i->c_str());
|
||||||
}
|
}
|
||||||
|
|
@ -323,7 +323,7 @@ PluginManager::clear_vst_blacklist ()
|
||||||
#ifdef LXVST_SUPPORT
|
#ifdef LXVST_SUPPORT
|
||||||
{
|
{
|
||||||
vector<string> fsi_files;
|
vector<string> fsi_files;
|
||||||
find_files_matching_regex (fsi_files, Config->get_plugin_path_lxvst(), "\\.fsb$");
|
find_files_matching_regex (fsi_files, Config->get_plugin_path_lxvst(), "\\.fsb$", true);
|
||||||
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
||||||
::g_unlink(i->c_str());
|
::g_unlink(i->c_str());
|
||||||
}
|
}
|
||||||
|
|
@ -335,7 +335,7 @@ PluginManager::clear_vst_blacklist ()
|
||||||
string personal = get_personal_vst_blacklist_dir();
|
string personal = get_personal_vst_blacklist_dir();
|
||||||
|
|
||||||
vector<string> fsi_files;
|
vector<string> fsi_files;
|
||||||
find_files_matching_regex (fsi_files, personal, "\\.fsb$");
|
find_files_matching_regex (fsi_files, personal, "\\.fsb$", /* flat user cache */ false);
|
||||||
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
|
||||||
::g_unlink(i->c_str());
|
::g_unlink(i->c_str());
|
||||||
}
|
}
|
||||||
|
|
@ -699,7 +699,7 @@ PluginManager::windows_vst_discover_from_path (string path, bool cache_only)
|
||||||
|
|
||||||
DEBUG_TRACE (DEBUG::PluginManager, string_compose ("detecting Windows VST plugins along %1\n", path));
|
DEBUG_TRACE (DEBUG::PluginManager, string_compose ("detecting Windows VST plugins along %1\n", path));
|
||||||
|
|
||||||
find_files_matching_filter (plugin_objects, Config->get_plugin_path_vst(), windows_vst_filter, 0, false, true);
|
find_files_matching_filter (plugin_objects, Config->get_plugin_path_vst(), windows_vst_filter, 0, false, true, true);
|
||||||
|
|
||||||
for (x = plugin_objects.begin(); x != plugin_objects.end (); ++x) {
|
for (x = plugin_objects.begin(); x != plugin_objects.end (); ++x) {
|
||||||
ARDOUR::PluginScanMessage(_("VST"), *x, !cache_only && !cancelled());
|
ARDOUR::PluginScanMessage(_("VST"), *x, !cache_only && !cancelled());
|
||||||
|
|
@ -818,7 +818,7 @@ PluginManager::lxvst_discover_from_path (string path, bool cache_only)
|
||||||
|
|
||||||
DEBUG_TRACE (DEBUG::PluginManager, string_compose ("Discovering linuxVST plugins along %1\n", path));
|
DEBUG_TRACE (DEBUG::PluginManager, string_compose ("Discovering linuxVST plugins along %1\n", path));
|
||||||
|
|
||||||
find_files_matching_filter (plugin_objects, Config->get_plugin_path_lxvst(), lxvst_filter, 0, false, true);
|
find_files_matching_filter (plugin_objects, Config->get_plugin_path_lxvst(), lxvst_filter, 0, false, true, true);
|
||||||
|
|
||||||
for (x = plugin_objects.begin(); x != plugin_objects.end (); ++x) {
|
for (x = plugin_objects.begin(); x != plugin_objects.end (); ++x) {
|
||||||
ARDOUR::PluginScanMessage(_("LXVST"), *x, !cache_only && !cancelled());
|
ARDOUR::PluginScanMessage(_("LXVST"), *x, !cache_only && !cancelled());
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,7 @@ vstfx_cache_file (const char* dllpath, int personal, const char *ext)
|
||||||
string dir;
|
string dir;
|
||||||
if (personal) {
|
if (personal) {
|
||||||
dir = get_personal_vst_info_cache_dir();
|
dir = get_personal_vst_info_cache_dir();
|
||||||
|
// TODO prefix path relative to scan-root to avoid duplicates
|
||||||
} else {
|
} else {
|
||||||
dir = Glib::path_get_dirname (std::string(dllpath));
|
dir = Glib::path_get_dirname (std::string(dllpath));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue