summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_ed.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-11-14 13:48:24 +0000
committerCarl Hetherington <carl@carlh.net>2010-11-14 13:48:24 +0000
commit91d3ab7cec9f4699b5f0080dd5cb39c2df598ee9 (patch)
tree62f4a5bdbd3e522ca84bd4be2eb99274503ba644 /gtk2_ardour/ardour_ui_ed.cc
parentaff8e4e941f065c9ed221ea393084b13ba5ac4e2 (diff)
Add a clock to the menu bar in full-screen mode. Fixes #1273.
git-svn-id: svn://localhost/ardour2/branches/3.0@8024 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui_ed.cc')
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index c962c63f4e..042252a3a9 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -522,10 +522,15 @@ ARDOUR_UI::build_menu_bar ()
cpu_load_box.set_name ("CPULoad");
cpu_load_label.set_name ("CPULoad");
+ /* Set up some size requests here to stop the menu-bar clock jumping around in full-screen mode */
+
+ /* TRANSLATORS: just translate `Buffers' in this string */
+ set_size_request_to_display_given_text (buffer_load_label, _("Buffers p:100% c:100%"), 2, 0);
buffer_load_box.add (buffer_load_label);
buffer_load_box.set_name ("BufferLoad");
buffer_load_label.set_name ("BufferLoad");
+ set_size_request_to_display_given_text (sample_rate_label, X_("384 kHz / 1000 ms"), 2, 0);
sample_rate_box.add (sample_rate_label);
sample_rate_box.set_name ("SampleRate");
sample_rate_label.set_name ("SampleRate");
@@ -536,6 +541,9 @@ ARDOUR_UI::build_menu_bar ()
use_menubar_as_top_menubar ();
#endif
+ _menu_bar_clock.ValueChanged.connect (sigc::mem_fun(*this, &ARDOUR_UI::menu_bar_clock_value_changed));
+ menu_hbox.pack_start (_menu_bar_clock, false, false);
+
if (!Profile->get_small_screen()) {
#ifndef GTKOSX
// OSX provides its own wallclock, thank you very much
@@ -773,3 +781,25 @@ ARDOUR_UI::toggle_global_port_matrix (ARDOUR::DataType t)
}
}
+void
+ARDOUR_UI::show_menu_bar_clock ()
+{
+ _menu_bar_clock.show ();
+ _menu_bar_clock.set (_session->audible_frame (), true);
+ _menu_bar_clock_connection = ARDOUR_UI::Clock.connect (sigc::bind (sigc::mem_fun (_menu_bar_clock, &AudioClock::set), 'p'));
+}
+
+void
+ARDOUR_UI::hide_menu_bar_clock ()
+{
+ _menu_bar_clock.hide ();
+ _menu_bar_clock_connection.disconnect ();
+}
+
+void
+ARDOUR_UI::menu_bar_clock_value_changed ()
+{
+ if (_session) {
+ _session->request_locate (_menu_bar_clock.current_time ());
+ }
+}