summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2014-06-17 21:41:29 +1000
committerTim Mayberry <mojofunk@gmail.com>2014-06-17 21:41:29 +1000
commit547689a0552661108806a4028960f32d1b20adf8 (patch)
tree0c1174b469b7351a4ef6515218411cffffa0a180
parentcb6934a189ce3940cdfa05dd5e302a8006afa83f (diff)
Replace all use of PathScanner with equivalent functions from pbd/file_utils.h
-rw-r--r--libs/ardour/audio_unit.cc17
-rw-r--r--libs/ardour/lv2_plugin.cc6
-rw-r--r--libs/ardour/panner_manager.cc5
-rw-r--r--libs/ardour/plugin_manager.cc33
-rw-r--r--libs/ardour/session_state.cc20
-rw-r--r--libs/ardour/template_utils.cc8
-rw-r--r--libs/pbd/file_utils.cc5
-rw-r--r--libs/surfaces/generic_midi/generic_midi_control_protocol.cc5
-rw-r--r--libs/surfaces/mackie/device_info.cc5
-rw-r--r--libs/surfaces/mackie/device_profile.cc5
10 files changed, 37 insertions, 72 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc
index cf489751cb..5423fc1688 100644
--- a/libs/ardour/audio_unit.cc
+++ b/libs/ardour/audio_unit.cc
@@ -28,7 +28,7 @@
#include "pbd/xml++.h"
#include "pbd/convert.h"
#include "pbd/whitespace.h"
-#include "pbd/pathscanner.h"
+#include "pbd/file_utils.h"
#include "pbd/locale_guard.h"
#include <glibmm/threads.h>
@@ -2049,20 +2049,19 @@ AUPlugin::current_preset() const
void
AUPlugin::find_presets ()
{
- vector<string*>* preset_files;
- PathScanner scanner;
+ vector<string> preset_files;
user_preset_map.clear ();
- preset_files = scanner (preset_search_path, au_preset_filter, this, true, true, -1, true);
+ find_files_matching_filter (preset_files, preset_search_path, au_preset_filter, this, true, true, -1, true);
- if (!preset_files) {
+ if (preset_files.empty()) {
return;
}
- for (vector<string*>::iterator x = preset_files->begin(); x != preset_files->end(); ++x) {
+ for (vector<string>::iterator x = preset_files.begin(); x != preset_files.end(); ++x) {
- string path = *(*x);
+ string path = *x;
string preset_name;
/* make an initial guess at the preset name using the path */
@@ -2079,12 +2078,8 @@ AUPlugin::find_presets ()
user_preset_map[preset_name] = path;
}
- delete *x;
}
- vector_delete (preset_files);
- delete preset_files;
-
/* now fill the vector<string> with the names we have */
for (UserPresetMap::iterator i = user_preset_map.begin(); i != user_preset_map.end(); ++i) {
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index d68c4e5077..6ae99302da 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -32,7 +32,7 @@
#include <boost/utility.hpp>
#include "pbd/clear_dir.h"
-#include "pbd/pathscanner.h"
+#include "pbd/file_utils.h"
#include "pbd/stl_delete.h"
#include "pbd/compose.h"
#include "pbd/error.h"
@@ -2013,10 +2013,10 @@ void
LV2World::load_bundled_plugins()
{
if (!_bundle_checked) {
- PathScanner scanner;
cout << "Scanning folders for bundled LV2s: " << ARDOUR::lv2_bundled_search_path().to_string() << endl;
- vector<string> plugin_objects = scanner (ARDOUR::lv2_bundled_search_path().to_string(), lv2_filter, 0, true, true);
+ vector<string> plugin_objects;
+ find_files_matching_filter (plugin_objects, ARDOUR::lv2_bundled_search_path().to_string(), lv2_filter, 0, true, true);
for ( vector<string>::iterator x = plugin_objects.begin(); x != plugin_objects.end (); ++x) {
#ifdef PLATFORM_WINDOWS
string uri = "file:///" + *x + "/";
diff --git a/libs/ardour/panner_manager.cc b/libs/ardour/panner_manager.cc
index 2988a8ab46..c23d6b5951 100644
--- a/libs/ardour/panner_manager.cc
+++ b/libs/ardour/panner_manager.cc
@@ -24,7 +24,7 @@
#include "pbd/error.h"
#include "pbd/compose.h"
-#include "pbd/pathscanner.h"
+#include "pbd/file_utils.h"
#include "pbd/stl_delete.h"
#include "ardour/debug.h"
@@ -90,13 +90,12 @@ static bool panner_filter (const string& str, void */*arg*/)
void
PannerManager::discover_panners ()
{
- PathScanner scanner;
std::vector<std::string> panner_modules;
std::string search_path = panner_search_path().to_string();
DEBUG_TRACE (DEBUG::Panning, string_compose (_("looking for panners in %1\n"), search_path));
- panner_modules = scanner (search_path, panner_filter, 0, false, true, 1, true);
+ find_files_matching_filter (panner_modules, search_path, panner_filter, 0, false, true, 1, true);
for (vector<std::string>::iterator i = panner_modules.begin(); i != panner_modules.end(); ++i) {
panner_discover (*i);
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc
index c1e596ff3d..7399d30f89 100644
--- a/libs/ardour/plugin_manager.cc
+++ b/libs/ardour/plugin_manager.cc
@@ -50,7 +50,6 @@
#include <glibmm/miscutils.h>
#include <glibmm/pattern.h>
-#include "pbd/pathscanner.h"
#include "pbd/whitespace.h"
#include "pbd/file_utils.h"
@@ -242,10 +241,8 @@ PluginManager::clear_vst_cache ()
// see also libs/ardour/vst_info_file.cc - vstfx_infofile_path()
#ifdef WINDOWS_VST_SUPPORT
{
- PathScanner scanner;
vector<string> fsi_files;
-
- fsi_files = scanner (Config->get_plugin_path_vst(), "\\.fsi$", true, true, -1, false);
+ find_files_matching_regex (fsi_files, Config->get_plugin_path_vst(), "\\.fsi$", true, true, -1, false);
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
::g_unlink(i->c_str());
}
@@ -254,9 +251,8 @@ PluginManager::clear_vst_cache ()
#ifdef LXVST_SUPPORT
{
- PathScanner scanner;
vector<string> fsi_files;
- fsi_files = scanner (Config->get_plugin_path_lxvst(), "\\.fsi$", true, true, -1, false);
+ find_files_matching_regex (fsi_files, Config->get_plugin_path_lxvst(), "\\.fsi$", true, true, -1, false);
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
::g_unlink(i->c_str());
}
@@ -266,9 +262,8 @@ PluginManager::clear_vst_cache ()
#if (defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT)
{
string personal = get_personal_vst_info_cache_dir();
- PathScanner scanner;
vector<string> fsi_files;
- fsi_files = scanner (personal, "\\.fsi$", true, true, -1, false);
+ find_files_matching_regex (fsi_files, personal, "\\.fsi$", true, true, -1, false);
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
::g_unlink(i->c_str());
}
@@ -281,10 +276,8 @@ PluginManager::clear_vst_blacklist ()
{
#ifdef WINDOWS_VST_SUPPORT
{
- PathScanner scanner;
vector<string> fsi_files;
-
- fsi_files = scanner (Config->get_plugin_path_vst(), "\\.fsb$", true, true, -1, false);
+ find_files_matching_regex (fsi_files, Config->get_plugin_path_vst(), "\\.fsb$", true, true, -1, false);
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
::g_unlink(i->c_str());
}
@@ -293,9 +286,8 @@ PluginManager::clear_vst_blacklist ()
#ifdef LXVST_SUPPORT
{
- PathScanner scanner;
vector<string> fsi_files;
- fsi_files = scanner (Config->get_plugin_path_lxvst(), "\\.fsb$", true, true, -1, false);
+ find_files_matching_regex (fsi_files, Config->get_plugin_path_lxvst(), "\\.fsb$", true, true, -1, false);
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
::g_unlink(i->c_str());
}
@@ -306,9 +298,8 @@ PluginManager::clear_vst_blacklist ()
{
string personal = get_personal_vst_blacklist_dir();
- PathScanner scanner;
vector<string> fsi_files;
- fsi_files = scanner (personal, "\\.fsb$", true, true, -1, false);
+ find_files_matching_regex (fsi_files, personal, "\\.fsb$", true, true, -1, false);
for (vector<string>::iterator i = fsi_files.begin(); i != fsi_files.end (); ++i) {
::g_unlink(i->c_str());
}
@@ -385,7 +376,6 @@ void
PluginManager::add_presets(string domain)
{
#ifdef HAVE_LRDF
- PathScanner scanner;
vector<string> presets;
vector<string>::iterator x;
@@ -395,7 +385,7 @@ PluginManager::add_presets(string domain)
}
string path = string_compose("%1/.%2/rdf", envvar, domain);
- presets = scanner (path, rdf_filter, 0, false, true);
+ find_files_matching_filter (presets, path, rdf_filter, 0, false, true);
for (x = presets.begin(); x != presets.end (); ++x) {
string file = "file:" + *x;
@@ -411,11 +401,10 @@ void
PluginManager::add_lrdf_data (const string &path)
{
#ifdef HAVE_LRDF
- PathScanner scanner;
vector<string> rdf_files;
vector<string>::iterator x;
- rdf_files = scanner (path, rdf_filter, 0, false, true);
+ find_files_matching_filter (rdf_files, path, rdf_filter, 0, false, true);
for (x = rdf_files.begin(); x != rdf_files.end (); ++x) {
const string uri(string("file://") + *x);
@@ -628,14 +617,13 @@ static bool windows_vst_filter (const string& str, void * /*arg*/)
int
PluginManager::windows_vst_discover_from_path (string path, bool cache_only)
{
- PathScanner scanner;
vector<string> plugin_objects;
vector<string>::iterator x;
int ret = 0;
DEBUG_TRACE (DEBUG::PluginManager, string_compose ("detecting Windows VST plugins along %1\n", path));
- plugin_objects = scanner (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);
for (x = plugin_objects.begin(); x != plugin_objects.end (); ++x) {
ARDOUR::PluginScanMessage(_("VST"), *x, !cache_only && !cancelled());
@@ -744,7 +732,6 @@ static bool lxvst_filter (const string& str, void *)
int
PluginManager::lxvst_discover_from_path (string path, bool cache_only)
{
- PathScanner scanner;
vector<string> plugin_objects;
vector<string>::iterator x;
int ret = 0;
@@ -755,7 +742,7 @@ PluginManager::lxvst_discover_from_path (string path, bool cache_only)
DEBUG_TRACE (DEBUG::PluginManager, string_compose ("Discovering linuxVST plugins along %1\n", path));
- plugin_objects = scanner (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);
for (x = plugin_objects.begin(); x != plugin_objects.end (); ++x) {
ARDOUR::PluginScanMessage(_("LXVST"), *x, !cache_only && !cancelled());
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 9151ebf5eb..43d756d826 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -69,7 +69,6 @@
#include "pbd/error.h"
#include "pbd/file_utils.h"
#include "pbd/pathexpand.h"
-#include "pbd/pathscanner.h"
#include "pbd/pthread_utils.h"
#include "pbd/stacktrace.h"
#include "pbd/convert.h"
@@ -2319,8 +2318,8 @@ remove_end(string state)
vector<string>
Session::possible_states (string path)
{
- PathScanner scanner;
- vector<string> states = scanner (path, state_file_filter, 0, false, false);
+ vector<string> states;
+ find_files_matching_filter (states, path, state_file_filter, 0, false, false);
transform(states.begin(), states.end(), states.begin(), remove_end);
@@ -2553,7 +2552,6 @@ Session::find_all_sources (string path, set<string>& result)
int
Session::find_all_sources_across_snapshots (set<string>& result, bool exclude_this_snapshot)
{
- PathScanner scanner;
vector<string> state_files;
string ripped;
string this_snapshot_path;
@@ -2566,7 +2564,7 @@ Session::find_all_sources_across_snapshots (set<string>& result, bool exclude_th
ripped = ripped.substr (0, ripped.length() - 1);
}
- state_files = scanner (ripped, accept_all_state_files, (void *) 0, true, true);
+ find_files_matching_filter (state_files, ripped, accept_all_state_files, (void *) 0, true, true);
if (state_files.empty()) {
/* impossible! */
@@ -2633,13 +2631,11 @@ Session::cleanup_sources (CleanupReport& rep)
// FIXME: needs adaptation to midi
vector<boost::shared_ptr<Source> > dead_sources;
- PathScanner scanner;
string audio_path;
string midi_path;
vector<space_and_path>::iterator i;
vector<space_and_path>::iterator nexti;
vector<string> candidates;
- vector<string> candidates2;
vector<string> unused;
set<string> all_sources;
bool used;
@@ -2721,14 +2717,8 @@ Session::cleanup_sources (CleanupReport& rep)
i = nexti;
}
- candidates = scanner (audio_path, accept_all_audio_files, (void *) 0, true, true);
- candidates2 = scanner (midi_path, accept_all_midi_files, (void *) 0, true, true);
-
- /* merge them */
-
- for (vector<string>::iterator i = candidates2.begin(); i != candidates2.end(); ++i) {
- candidates.push_back (*i);
- }
+ find_files_matching_filter (candidates, audio_path, accept_all_audio_files, (void *) 0, true, true);
+ find_files_matching_filter (candidates, midi_path, accept_all_midi_files, (void *) 0, true, true);
/* find all sources, but don't use this snapshot because the
state file on disk still references sources we may have already
diff --git a/libs/ardour/template_utils.cc b/libs/ardour/template_utils.cc
index 20530ca9cc..64f6ce75ab 100644
--- a/libs/ardour/template_utils.cc
+++ b/libs/ardour/template_utils.cc
@@ -23,7 +23,7 @@
#include <glibmm.h>
#include "pbd/basename.h"
-#include "pbd/pathscanner.h"
+#include "pbd/file_utils.h"
#include "pbd/stl_delete.h"
#include "pbd/xml++.h"
@@ -82,10 +82,9 @@ void
find_session_templates (vector<TemplateInfo>& template_names)
{
vector<string> templates;
- PathScanner scanner;
Searchpath spath (template_search_path());
- templates = scanner (spath.to_string(), template_filter, 0, true, true);
+ find_files_matching_filter (templates, spath.to_string(), template_filter, 0, true, true);
if (templates.empty()) {
cerr << "Found nothing along " << spath.to_string() << endl;
@@ -116,10 +115,9 @@ void
find_route_templates (vector<TemplateInfo>& template_names)
{
vector<string> templates;
- PathScanner scanner;
Searchpath spath (route_template_search_path());
- templates = scanner (spath.to_string(), route_template_filter, 0, false, true);
+ find_files_matching_filter (templates, spath.to_string(), route_template_filter, 0, false, true);
if (templates.empty()) {
return;
diff --git a/libs/pbd/file_utils.cc b/libs/pbd/file_utils.cc
index 7e58f0fed5..dba185ba79 100644
--- a/libs/pbd/file_utils.cc
+++ b/libs/pbd/file_utils.cc
@@ -58,7 +58,6 @@
#include "pbd/file_utils.h"
#include "pbd/debug.h"
#include "pbd/error.h"
-#include "pbd/pathscanner.h"
#include "pbd/pathexpand.h"
#include "pbd/stl_delete.h"
@@ -354,8 +353,8 @@ bool accept_all_files (string const &, void *)
void
copy_files(const std::string & from_path, const std::string & to_dir)
{
- PathScanner scanner;
- vector<string> files = scanner (from_path, accept_all_files, 0, true, false);
+ vector<string> files;
+ find_files_matching_filter (files, from_path, accept_all_files, 0, true, false);
for (vector<string>::iterator i = files.begin(); i != files.end(); ++i) {
std::string from = Glib::build_filename (from_path, *i);
diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
index 7a9104cfdb..86b7f6e463 100644
--- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
+++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
@@ -28,7 +28,7 @@
#include "pbd/controllable_descriptor.h"
#include "pbd/error.h"
#include "pbd/failed_constructor.h"
-#include "pbd/pathscanner.h"
+#include "pbd/file_utils.h"
#include "pbd/xml++.h"
#include "midi++/port.h"
@@ -137,11 +137,10 @@ void
GenericMidiControlProtocol::reload_maps ()
{
vector<string> midi_maps;
- PathScanner scanner;
Searchpath spath (system_midi_map_search_path());
spath += user_midi_map_directory ();
- midi_maps = scanner (spath.to_string(), midi_map_filter, 0, false, true);
+ find_files_matching_filter (midi_maps, spath.to_string(), midi_map_filter, 0, false, true);
if (midi_maps.empty()) {
cerr << "No MIDI maps found using " << spath.to_string() << endl;
diff --git a/libs/surfaces/mackie/device_info.cc b/libs/surfaces/mackie/device_info.cc
index 672bb25511..c0675c8377 100644
--- a/libs/surfaces/mackie/device_info.cc
+++ b/libs/surfaces/mackie/device_info.cc
@@ -23,7 +23,7 @@
#include "pbd/xml++.h"
#include "pbd/error.h"
-#include "pbd/pathscanner.h"
+#include "pbd/file_utils.h"
#include "pbd/convert.h"
#include "pbd/stl_delete.h"
@@ -472,10 +472,9 @@ DeviceInfo::reload_device_info ()
DeviceInfo di;
vector<string> s;
vector<string> devinfos;
- PathScanner scanner;
Searchpath spath (devinfo_search_path());
- devinfos = scanner (spath.to_string(), devinfo_filter, 0, false, true);
+ find_files_matching_filter (devinfos, spath.to_string(), devinfo_filter, 0, false, true);
device_info.clear ();
if (devinfos.empty()) {
diff --git a/libs/surfaces/mackie/device_profile.cc b/libs/surfaces/mackie/device_profile.cc
index 42b70830cb..269ff36aca 100644
--- a/libs/surfaces/mackie/device_profile.cc
+++ b/libs/surfaces/mackie/device_profile.cc
@@ -24,7 +24,7 @@
#include "pbd/xml++.h"
#include "pbd/error.h"
-#include "pbd/pathscanner.h"
+#include "pbd/file_utils.h"
#include "pbd/stl_delete.h"
#include "pbd/replace_all.h"
@@ -91,10 +91,9 @@ DeviceProfile::reload_device_profiles ()
DeviceProfile dp;
vector<string> s;
vector<string> devprofiles;
- PathScanner scanner;
Searchpath spath (devprofile_search_path());
- devprofiles = scanner (spath.to_string(), devprofile_filter, 0, false, true);
+ find_files_matching_filter (devprofiles, spath.to_string(), devprofile_filter, 0, false, true);
device_profiles.clear ();
if (devprofiles.empty()) {