summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_ui.cc1
-rw-r--r--gtk2_ardour/ardour_ui.h3
-rw-r--r--gtk2_ardour/ardour_ui2.cc30
-rw-r--r--gtk2_ardour/ardour_ui_options.cc2
-rw-r--r--gtk2_ardour/rc_option_editor.cc10
-rw-r--r--gtk2_ardour/ui_config_vars.h1
6 files changed, 44 insertions, 3 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 7925dac7d0..5e2af4bbb4 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -272,6 +272,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
, _mixer_on_top (false)
, _initial_verbose_plugin_scan (false)
, first_time_engine_run (true)
+ , secondary_clock_spacer (0)
, roll_controllable (new TransportControllable ("transport roll", *this, TransportControllable::Roll))
, stop_controllable (new TransportControllable ("transport stop", *this, TransportControllable::Stop))
, goto_start_controllable (new TransportControllable ("transport goto start", *this, TransportControllable::GotoStart))
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 6d8ae8f29d..04e9208fcc 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -101,6 +101,7 @@
class About;
class AddRouteDialog;
class AddVideoDialog;
+class ArdourVSpacer;
class BigClockWindow;
class BundleManager;
class EngineControl;
@@ -478,7 +479,9 @@ private:
Gtk::Frame transport_frame;
Gtk::HBox transport_hbox;
+ ArdourVSpacer *secondary_clock_spacer;
void repack_transport_hbox ();
+ void update_clock_visibility ();
struct TransportControllable : public PBD::Controllable {
enum ToggleType {
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index e850c406a5..bb1b6fb000 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -214,6 +214,25 @@ ARDOUR_UI::repack_transport_hbox ()
}
}
+void
+ARDOUR_UI::update_clock_visibility ()
+{
+ if (ARDOUR::Profile->get_small_screen()) {
+ return;
+ }
+ if (UIConfiguration::instance().get_show_secondary_clock ()) {
+ secondary_clock->show();
+ secondary_clock->left_btn()->show();
+ secondary_clock->right_btn()->show();
+ secondary_clock_spacer->show();
+ } else {
+ secondary_clock->hide();
+ secondary_clock->left_btn()->hide();
+ secondary_clock->right_btn()->hide();
+ secondary_clock_spacer->hide();
+ }
+}
+
bool
ARDOUR_UI::transport_expose (GdkEventExpose* ev)
{
@@ -543,11 +562,15 @@ ARDOUR_UI::setup_transport ()
transport_table.attach (*secondary_clock, col, col + 2, 0, 1 , FILL, SHRINK, 2, 0);
transport_table.attach (*secondary_clock->left_btn(), col, col + 1, 1, 2 , FILL, SHRINK, 2, 0);
transport_table.attach (*secondary_clock->right_btn(), col + 1, col + 2, 1, 2 , FILL, SHRINK, 2, 0);
+ secondary_clock->set_no_show_all (true);
+ secondary_clock->left_btn()->set_no_show_all (true);
+ secondary_clock->right_btn()->set_no_show_all (true);
col += 2;
- }
- transport_table.attach (*(manage (new ArdourVSpacer ())), TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
- ++col;
+ secondary_clock_spacer = manage (new ArdourVSpacer ());
+ transport_table.attach (*secondary_clock_spacer, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
+ ++col;
+ }
transport_table.attach (*alert_box, TCOL, 0, 2, SHRINK, EXPAND|FILL, 2, 0);
++col;
@@ -569,6 +592,7 @@ ARDOUR_UI::setup_transport ()
++col;
repack_transport_hbox ();
+ update_clock_visibility ();
/* desensitize */
feedback_alert_button.set_sensitive (false);
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index e49cc01eaa..dc149de553 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -409,6 +409,8 @@ ARDOUR_UI::parameter_changed (std::string p)
repack_transport_hbox ();
} else if (p == "show-editor-meter") {
repack_transport_hbox ();
+ } else if (p == "show-secondary-clock") {
+ update_clock_visibility ();
} else if (p == "waveform-scale") {
ArdourCanvas::WaveView::set_global_logscaled (UIConfiguration::instance().get_waveform_scale() == Logarithmic);
} else if (p == "widget-prelight") {
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc
index f9244c0abd..db6699e9ad 100644
--- a/gtk2_ardour/rc_option_editor.cc
+++ b/gtk2_ardour/rc_option_editor.cc
@@ -3489,6 +3489,16 @@ if (!ARDOUR::Profile->get_mixbus()) {
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_toolbar_selclock)
));
+ if (!ARDOUR::Profile->get_small_screen()) {
+ add_option (_("GUI/Toolbar"),
+ new BoolOption (
+ "show-secondary-clock",
+ _("Display Secondary Clock in the Toolbar"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_show_secondary_clock),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_secondary_clock)
+ ));
+ }
+
add_option (_("GUI/Toolbar"),
new BoolOption (
"show-mini-timeline",
diff --git a/gtk2_ardour/ui_config_vars.h b/gtk2_ardour/ui_config_vars.h
index 06fadee3d3..6b90aedbf1 100644
--- a/gtk2_ardour/ui_config_vars.h
+++ b/gtk2_ardour/ui_config_vars.h
@@ -74,6 +74,7 @@ UI_CONFIG_VARIABLE (bool, meter_style_led, "meter-style-led", false)
UI_CONFIG_VARIABLE (bool, show_editor_meter, "show-editor-meter", true)
UI_CONFIG_VARIABLE (bool, show_toolbar_selclock, "show-toolbar-selclock", false)
UI_CONFIG_VARIABLE (bool, show_mini_timeline, "show-mini-timeline", true)
+UI_CONFIG_VARIABLE (bool, show_secondary_clock, "show-secondary-clock", true)
UI_CONFIG_VARIABLE (double, waveform_clip_level, "waveform-clip-level", -0.0933967) /* units of dB */
UI_CONFIG_VARIABLE (bool, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true)
UI_CONFIG_VARIABLE (bool, no_new_session_dialog, "no-new-session-dialog", false)