get state saving working again
This was being bypassed due to misssing UI components in livetrax
This commit is contained in:
parent
3767754ec9
commit
55041ecd26
@ -940,16 +940,14 @@ ARDOUR_UI::use_menubar_as_top_menubar ()
|
||||
void
|
||||
ARDOUR_UI::save_ardour_state ()
|
||||
{
|
||||
if (!keyboard || !mixer || !editor || !meterbridge) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* XXX this is all a bit dubious. add_extra_xml() uses
|
||||
a different lifetime model from add_instant_xml().
|
||||
*/
|
||||
|
||||
if (keyboard) {
|
||||
XMLNode* node = new XMLNode (keyboard->get_state());
|
||||
Config->add_extra_xml (*node);
|
||||
}
|
||||
|
||||
XMLNode* window_node = new XMLNode (X_("UI"));
|
||||
window_node->set_property (_status_bar_visibility.get_state_name().c_str(), _status_bar_visibility.get_state_value ());
|
||||
@ -996,13 +994,6 @@ ARDOUR_UI::save_ardour_state ()
|
||||
|
||||
window_node->add_child_nocopy (*tearoff_node);
|
||||
|
||||
XMLNode& enode (editor->get_state());
|
||||
XMLNode& mnode (mixer->get_state());
|
||||
XMLNode& bnode (meterbridge->get_state());
|
||||
XMLNode& pnode (rc_option_editor->get_state());
|
||||
XMLNode& rnode (recorder->get_state());
|
||||
XMLNode& tnode (trigger_page->get_state());
|
||||
|
||||
/* store clock modes */
|
||||
XMLNode* cnode = new XMLNode(X_("ClockModes"));
|
||||
for (auto const& i: AudioClock::clocks) {
|
||||
@ -1022,14 +1013,54 @@ ARDOUR_UI::save_ardour_state ()
|
||||
|
||||
UIConfiguration::instance().save_state ();
|
||||
|
||||
XMLNode* enode (nullptr);
|
||||
XMLNode* mnode (nullptr);
|
||||
XMLNode* bnode (nullptr);
|
||||
XMLNode* pnode (nullptr);
|
||||
XMLNode* rnode (nullptr);
|
||||
XMLNode* tnode (nullptr);
|
||||
|
||||
if (editor) {
|
||||
enode = &editor->get_state();
|
||||
}
|
||||
if (mixer) {
|
||||
mnode = &mixer->get_state();
|
||||
}
|
||||
if (meterbridge) {
|
||||
bnode = &meterbridge->get_state();
|
||||
}
|
||||
if (rc_option_editor) {
|
||||
pnode = &rc_option_editor->get_state();
|
||||
}
|
||||
if (recorder) {
|
||||
rnode = &recorder->get_state();
|
||||
}
|
||||
if (trigger_page) {
|
||||
tnode = &trigger_page->get_state();
|
||||
}
|
||||
|
||||
if (_session) {
|
||||
|
||||
_session->add_instant_xml (main_window_node);
|
||||
_session->add_instant_xml (enode);
|
||||
_session->add_instant_xml (mnode);
|
||||
_session->add_instant_xml (pnode);
|
||||
_session->add_instant_xml (bnode);
|
||||
_session->add_instant_xml (rnode);
|
||||
_session->add_instant_xml (tnode);
|
||||
|
||||
if (enode) {
|
||||
_session->add_instant_xml (*enode);
|
||||
}
|
||||
if (mnode) {
|
||||
_session->add_instant_xml (*mnode);
|
||||
}
|
||||
if (bnode) {
|
||||
_session->add_instant_xml (*bnode);
|
||||
}
|
||||
if (pnode) {
|
||||
_session->add_instant_xml (*pnode);
|
||||
}
|
||||
if (rnode) {
|
||||
_session->add_instant_xml (*rnode);
|
||||
}
|
||||
if (tnode) {
|
||||
_session->add_instant_xml (*tnode);
|
||||
}
|
||||
_session->add_instant_xml (*cnode);
|
||||
if (location_ui) {
|
||||
_session->add_instant_xml (location_ui->ui().get_state ());
|
||||
@ -1044,13 +1075,26 @@ ARDOUR_UI::save_ardour_state ()
|
||||
/* save current Window settings and sizes for new sessions */
|
||||
{
|
||||
Config->add_instant_xml (main_window_node);
|
||||
Config->add_instant_xml (enode);
|
||||
Config->add_instant_xml (mnode);
|
||||
Config->add_instant_xml (pnode);
|
||||
Config->add_instant_xml (bnode);
|
||||
Config->add_instant_xml (rnode);
|
||||
Config->add_instant_xml (tnode);
|
||||
Config->add_instant_xml (*cnode);
|
||||
|
||||
if (enode) {
|
||||
Config->add_instant_xml (*enode);
|
||||
}
|
||||
if (mnode) {
|
||||
Config->add_instant_xml (*mnode);
|
||||
}
|
||||
if (bnode) {
|
||||
Config->add_instant_xml (*bnode);
|
||||
}
|
||||
if (pnode) {
|
||||
Config->add_instant_xml (*pnode);
|
||||
}
|
||||
if (rnode) {
|
||||
Config->add_instant_xml (*rnode);
|
||||
}
|
||||
if (tnode) {
|
||||
Config->add_instant_xml (*tnode);
|
||||
}
|
||||
|
||||
if (location_ui) {
|
||||
Config->add_instant_xml (location_ui->ui().get_state ());
|
||||
}
|
||||
@ -1061,13 +1105,12 @@ ARDOUR_UI::save_ardour_state ()
|
||||
}
|
||||
}
|
||||
|
||||
delete &enode;
|
||||
delete &mnode;
|
||||
delete &bnode;
|
||||
delete &pnode;
|
||||
delete &rnode;
|
||||
delete &tnode;
|
||||
delete cnode;
|
||||
delete enode;
|
||||
delete mnode;
|
||||
delete bnode;
|
||||
delete pnode;
|
||||
delete rnode;
|
||||
delete tnode;
|
||||
|
||||
Keyboard::save_keybindings ();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user