Make Stateful::*instant_xml methods protected and non-virtual
Add add_instant_xml and instant_xml methods to the Session class which call the corresponding Stateful methods with the session directory for the directory argument Add add_instant_xml and instant_xml methods to the Configuration class which call the Stateful methods with ARDOUR::get_user_ardour_path() for the directory argument git-svn-id: svn://localhost/ardour2/trunk@2012 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
4b95621853
commit
36291eb399
|
@ -428,11 +428,11 @@ ARDOUR_UI::save_ardour_state ()
|
|||
XMLNode mnode(mixer->get_state());
|
||||
|
||||
if (session) {
|
||||
session->add_instant_xml (enode, session->path());
|
||||
session->add_instant_xml (mnode, session->path());
|
||||
session->add_instant_xml (enode);
|
||||
session->add_instant_xml (mnode);
|
||||
} else {
|
||||
Config->add_instant_xml (enode, get_user_ardour_path());
|
||||
Config->add_instant_xml (mnode, get_user_ardour_path());
|
||||
Config->add_instant_xml (enode);
|
||||
Config->add_instant_xml (mnode);
|
||||
}
|
||||
|
||||
save_keybindings ();
|
||||
|
@ -481,7 +481,7 @@ void
|
|||
ARDOUR_UI::no_memory_warning ()
|
||||
{
|
||||
XMLNode node (X_("no-memory-warning"));
|
||||
Config->add_instant_xml (node, get_user_ardour_path());
|
||||
Config->add_instant_xml (node);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -492,7 +492,7 @@ ARDOUR_UI::check_memory_locking ()
|
|||
return;
|
||||
#else // !__APPLE__
|
||||
|
||||
XMLNode* memory_warning_node = Config->instant_xml (X_("no-memory-warning"), get_user_ardour_path());
|
||||
XMLNode* memory_warning_node = Config->instant_xml (X_("no-memory-warning"));
|
||||
|
||||
if (engine->is_realtime() && memory_warning_node == 0) {
|
||||
|
||||
|
@ -2446,9 +2446,9 @@ ARDOUR_UI::mixer_settings () const
|
|||
XMLNode* node = 0;
|
||||
|
||||
if (session) {
|
||||
node = session->instant_xml(X_("Mixer"), session->path());
|
||||
node = session->instant_xml(X_("Mixer"));
|
||||
} else {
|
||||
node = Config->instant_xml(X_("Mixer"), get_user_ardour_path());
|
||||
node = Config->instant_xml(X_("Mixer"));
|
||||
}
|
||||
|
||||
if (!node) {
|
||||
|
@ -2464,9 +2464,9 @@ ARDOUR_UI::editor_settings () const
|
|||
XMLNode* node = 0;
|
||||
|
||||
if (session) {
|
||||
node = session->instant_xml(X_("Editor"), session->path());
|
||||
node = session->instant_xml(X_("Editor"));
|
||||
} else {
|
||||
node = Config->instant_xml(X_("Editor"), get_user_ardour_path());
|
||||
node = Config->instant_xml(X_("Editor"));
|
||||
}
|
||||
|
||||
if (!node) {
|
||||
|
|
|
@ -845,9 +845,9 @@ Editor::instant_save ()
|
|||
}
|
||||
|
||||
if (session) {
|
||||
session->add_instant_xml(get_state(), session->path());
|
||||
session->add_instant_xml(get_state());
|
||||
} else {
|
||||
Config->add_instant_xml(get_state(), get_user_ardour_path());
|
||||
Config->add_instant_xml(get_state());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -431,7 +431,7 @@ ExportDialog::connect_to_session (Session *s)
|
|||
void
|
||||
ExportDialog::set_state()
|
||||
{
|
||||
XMLNode* node = session->instant_xml(X_("ExportDialog"), session->path());
|
||||
XMLNode* node = session->instant_xml(X_("ExportDialog"));
|
||||
XMLProperty* prop;
|
||||
|
||||
if (node) {
|
||||
|
@ -582,7 +582,7 @@ ExportDialog::save_state()
|
|||
}
|
||||
node->add_child_nocopy(*tracks);
|
||||
|
||||
session->add_instant_xml(*node, session->path());
|
||||
session->add_instant_xml(*node);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -61,6 +61,11 @@ class Configuration : public PBD::Stateful
|
|||
int load_state ();
|
||||
int save_state ();
|
||||
|
||||
/// calls Stateful::*instant_xml methods using
|
||||
/// ARDOUR::get_user_ardour_path for the directory
|
||||
void add_instant_xml (XMLNode&);
|
||||
XMLNode * instant_xml (const std::string& str);
|
||||
|
||||
int set_state (const XMLNode&);
|
||||
XMLNode& get_state (void);
|
||||
XMLNode& get_variables (sigc::slot<bool,ConfigVariableBase::Owner>, std::string which_node = "Config");
|
||||
|
|
|
@ -440,8 +440,10 @@ class Session : public PBD::StatefulDestructible
|
|||
XMLNode& get_state();
|
||||
int set_state(const XMLNode& node); // not idempotent
|
||||
XMLNode& get_template();
|
||||
|
||||
void add_instant_xml (XMLNode&, const std::string& dir);
|
||||
|
||||
/// The instant xml file is written to the session directory
|
||||
void add_instant_xml (XMLNode&);
|
||||
XMLNode * instant_xml (const std::string& str);
|
||||
|
||||
enum StateOfTheState {
|
||||
Clean = 0x0,
|
||||
|
|
|
@ -156,6 +156,19 @@ Configuration::save_state()
|
|||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
Configuration::add_instant_xml(XMLNode& node)
|
||||
{
|
||||
Stateful::add_instant_xml (node, get_user_ardour_path());
|
||||
}
|
||||
|
||||
XMLNode*
|
||||
Configuration::instant_xml(const string& node_name)
|
||||
{
|
||||
return Stateful::instant_xml (node_name, get_user_ardour_path());
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
Configuration::save_config_options_predicate (ConfigVariableBase::Owner owner)
|
||||
{
|
||||
|
|
|
@ -2740,12 +2740,17 @@ Session::controllable_by_id (const PBD::ID& id)
|
|||
}
|
||||
|
||||
void
|
||||
Session::add_instant_xml (XMLNode& node, const std::string& dir)
|
||||
Session::add_instant_xml (XMLNode& node)
|
||||
{
|
||||
Stateful::add_instant_xml (node, dir);
|
||||
Config->add_instant_xml (node, get_user_ardour_path());
|
||||
Stateful::add_instant_xml (node, _path);
|
||||
Config->add_instant_xml (node);
|
||||
}
|
||||
|
||||
XMLNode*
|
||||
Session::instant_xml (const string& node_name)
|
||||
{
|
||||
return Stateful::instant_xml (node_name, _path);
|
||||
}
|
||||
|
||||
int
|
||||
Session::save_history (string snapshot_name)
|
||||
|
|
|
@ -41,11 +41,13 @@ class Stateful {
|
|||
void add_extra_xml (XMLNode&);
|
||||
XMLNode *extra_xml (const std::string& str);
|
||||
|
||||
virtual void add_instant_xml (XMLNode&, const std::string& dir);
|
||||
XMLNode *instant_xml (const std::string& str, const std::string& dir);
|
||||
const PBD::ID& id() const { return _id; }
|
||||
|
||||
protected:
|
||||
|
||||
void add_instant_xml (XMLNode&, const std::string& dir);
|
||||
XMLNode *instant_xml (const std::string& str, const std::string& dir);
|
||||
|
||||
XMLNode *_extra_xml;
|
||||
XMLNode *_instant_xml;
|
||||
PBD::ID _id;
|
||||
|
|
Loading…
Reference in New Issue