summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-01-07 22:10:36 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-01-07 22:10:36 +0000
commitb46af2167fbf4763595385fb9be46762ab3c3d07 (patch)
tree30d79dbdf5ce8ff01b6cb9111ef5adc12f3b27e7 /gtk2_ardour/ardour_ui.cc
parent27e84e85f2dfa25f4c2c1a1f65fbe6d2abf0ac9e (diff)
fix startup order (ARDOUR::init() vs. AudioEngine creation); start work on clock state saving
git-svn-id: svn://localhost/ardour2/trunk@1281 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc34
1 files changed, 34 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 6f4d50aa02..e47acd1e2f 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -35,6 +35,7 @@
#include <pbd/compose.h>
#include <pbd/pathscanner.h>
#include <pbd/failed_constructor.h>
+#include <pbd/enumwriter.h>
#include <gtkmm2ext/gtk_ui.h>
#include <gtkmm2ext/utils.h>
#include <gtkmm2ext/click_box.h>
@@ -2429,3 +2430,36 @@ ARDOUR_UI::first_idle ()
can_save_keybindings = true;
return false;
}
+
+void
+ARDOUR_UI::store_clock_modes ()
+{
+ XMLNode* node = new XMLNode(X_("ClockModes"));
+
+ node->add_property (X_("primary"), enum_2_string (primary_clock.mode()));
+ node->add_property (X_("secondary"), enum_2_string (secondary_clock.mode()));
+
+ session->add_extra_xml (*node);
+ session->set_dirty ();
+}
+
+void
+ARDOUR_UI::restore_clock_modes ()
+{
+ XMLProperty* prop;
+ XMLNode * node = session->extra_xml (X_("ClockModes"));
+ AudioClock::Mode mode;
+
+ if (node) {
+ if ((prop = node->property ("primary")) != 0) {
+ mode = AudioClock::Mode (string_2_enum (prop->value(), mode));
+ primary_clock.set_mode (mode);
+ }
+
+ if ((prop = node->property ("secondary")) != 0) {
+ mode = AudioClock::Mode (string_2_enum (prop->value(), mode));
+ secondary_clock.set_mode (mode);
+ }
+ }
+}
+