summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorTaybin Rutkin <taybin@taybin.com>2006-07-27 03:30:03 +0000
committerTaybin Rutkin <taybin@taybin.com>2006-07-27 03:30:03 +0000
commitd23fec7b9a0f076256dbd71faae254a78efbe37a (patch)
tree2a00b13c9d4b15caa1025d30bd5a0d47eb79f7e9 /libs
parent690e04ed42c7f4f29feb53f54c759dbb7c64884c (diff)
sfdb paths are saved and restored.prercu
git-svn-id: svn://localhost/ardour2/trunk@700 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/audio_library.h2
-rw-r--r--libs/ardour/audio_library.cc12
-rw-r--r--libs/ardour/configuration.cc4
-rw-r--r--libs/ardour/globals.cc6
4 files changed, 13 insertions, 11 deletions
diff --git a/libs/ardour/ardour/audio_library.h b/libs/ardour/ardour/audio_library.h
index 3d4585fbd8..f5ac6da654 100644
--- a/libs/ardour/ardour/audio_library.h
+++ b/libs/ardour/ardour/audio_library.h
@@ -42,6 +42,8 @@ class AudioLibrary : public Stateful
AudioLibrary ();
~AudioLibrary ();
+ static string state_node_name;
+
XMLNode& get_state (void);
int set_state (const XMLNode&);
diff --git a/libs/ardour/audio_library.cc b/libs/ardour/audio_library.cc
index 1358ebd6d9..ad008f6312 100644
--- a/libs/ardour/audio_library.cc
+++ b/libs/ardour/audio_library.cc
@@ -46,6 +46,8 @@ using namespace PBD;
static char* SOUNDFILE = "http://ardour.org/ontology/Soundfile";
+string AudioLibrary::state_node_name = "AudioLibrary";
+
AudioLibrary::AudioLibrary ()
{
// sfdb_paths.push_back("/Users/taybin/sounds");
@@ -74,12 +76,6 @@ AudioLibrary::AudioLibrary ()
}
lrdf_free_statements(matches);
-
- XMLNode* state = instant_xml(X_("AudioLibrary"), get_user_ardour_path());
- if (state) {
- set_state(*state);
- }
- scan_paths();
}
AudioLibrary::~AudioLibrary ()
@@ -361,7 +357,7 @@ AudioLibrary::set_paths (vector<string> paths)
{
sfdb_paths = paths;
- add_instant_xml(get_state(), get_user_ardour_path());
+ scan_paths ();
}
vector<string>
@@ -478,7 +474,7 @@ AudioLibrary::set_state (const XMLNode& node)
}
}
- sfdb_paths = paths;
+ set_paths (paths);
return 0;
}
diff --git a/libs/ardour/configuration.cc b/libs/ardour/configuration.cc
index fc708f805d..58da77f933 100644
--- a/libs/ardour/configuration.cc
+++ b/libs/ardour/configuration.cc
@@ -25,6 +25,7 @@
#include <pbd/xml++.h>
#include <ardour/ardour.h>
+#include <ardour/audio_library.h>
#include <ardour/configuration.h>
#include <ardour/audio_diskstream.h>
#include <ardour/destructive_filesource.h>
@@ -178,6 +179,7 @@ Configuration::state (bool user_only)
}
root->add_child_nocopy (ControlProtocolManager::instance().get_state());
+ root->add_child_nocopy (Library->get_state());
return *root;
}
@@ -229,6 +231,8 @@ Configuration::set_state (const XMLNode& root)
} else if (node->name() == ControlProtocolManager::state_node_name) {
_control_protocol_state = new XMLNode (*node);
+ } else if (node->name() == AudioLibrary::state_node_name) {
+ Library->set_state (*node);
}
}
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index ffcc4ddb05..308f502d2a 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -198,6 +198,9 @@ ARDOUR::init (AudioEngine& engine, bool use_vst, bool try_optimization)
PBD::ID::init ();
+ lrdf_init();
+ Library = new AudioLibrary;
+
Config = new Configuration;
if (Config->load_state ()) {
@@ -296,9 +299,6 @@ ARDOUR::init (AudioEngine& engine, bool use_vst, bool try_optimization)
info << "No H/W specific optimizations in use" << endmsg;
}
- lrdf_init();
- Library = new AudioLibrary;
-
/* singleton - first object is "it" */
new PluginManager (engine);