From 316947f7dcbb21adab899a3b44de6b45f7ce8689 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 13 May 2025 19:18:32 -0600 Subject: [PATCH] move trigger rec-enable button above trigger box, for ergonomic reasons --- gtk2_ardour/trigger_page.cc | 26 ++++++++++++++------------ gtk2_ardour/trigger_strip.cc | 21 ++++++++++++--------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/gtk2_ardour/trigger_page.cc b/gtk2_ardour/trigger_page.cc index e06443c011..d7feb0b506 100644 --- a/gtk2_ardour/trigger_page.cc +++ b/gtk2_ardour/trigger_page.cc @@ -78,22 +78,24 @@ TriggerPage::TriggerPage () load_bindings (); register_actions (); - /* Match TriggerStrip::input_button height */ - ArdourButton* spacer = manage (new ArdourButton (ArdourButton::Text)); - spacer->set_name ("mixer strip button"); - spacer->set_sensitive (false); - spacer->set_text (" "); + /* Spacers to match height of TriggerStrip's input, name and toggle + * rec-enable buttons + */ - /* Match TriggerStrip::_name_button height */ - ArdourButton* spacer2 = manage (new ArdourButton (ArdourButton::Text)); - spacer2->set_name ("mixer strip button"); - spacer2->set_sensitive (false); - spacer2->set_text (" "); + ArdourButton* spacer[3]; + + for (std::size_t n = 0; n < sizeof (spacer) / sizeof (spacer[0]); ++n) { + spacer[n] = manage (new ArdourButton (ArdourButton::Text)); + spacer[n]->set_name ("mixer strip button"); + spacer[n]->set_sensitive (false); + spacer[n]->set_text (" "); + } /* left-side, fixed-size cue-box */ _cue_area_box.set_spacing (2); - _cue_area_box.pack_start (*spacer, Gtk::PACK_SHRINK); - _cue_area_box.pack_start (*spacer2, Gtk::PACK_SHRINK); + _cue_area_box.pack_start (*spacer[0], Gtk::PACK_SHRINK); + _cue_area_box.pack_start (*spacer[1], Gtk::PACK_SHRINK); + _cue_area_box.pack_start (*spacer[2], Gtk::PACK_SHRINK); _cue_area_box.pack_start (_cue_box, Gtk::PACK_SHRINK); _cue_area_box.pack_start (_master_widget, Gtk::PACK_SHRINK); diff --git a/gtk2_ardour/trigger_strip.cc b/gtk2_ardour/trigger_strip.cc index ec7a5170dd..cf09414455 100644 --- a/gtk2_ardour/trigger_strip.cc +++ b/gtk2_ardour/trigger_strip.cc @@ -136,6 +136,17 @@ TriggerStrip::init () global_vpacker.set_spacing (2); global_vpacker.pack_start (input_button, Gtk::PACK_SHRINK); global_vpacker.pack_start (_name_button, Gtk::PACK_SHRINK); + + /* rec toggle below name */ + + rec_toggle_button = manage (new ArdourButton); + rec_toggle_button->set_name ("record enable button"); + rec_toggle_button->set_icon (ArdourIcon::RecButton); + UI::instance()->set_tip (rec_toggle_button, _("Switch controls from cue launching to cue recording"), ""); + rec_toggle_button->show (); + rec_toggle_button->signal_button_press_event().connect (sigc::mem_fun(*this, &TriggerStrip::rec_toggle_press), false); + global_vpacker.pack_start (*rec_toggle_button, Gtk::PACK_SHRINK); + global_vpacker.pack_start (_trigger_display, Gtk::PACK_SHRINK); global_vpacker.pack_start (_tmaster_widget, Gtk::PACK_SHRINK); global_vpacker.pack_start (_processor_box, true, true); @@ -150,14 +161,6 @@ TriggerStrip::init () mute_solo_table.attach (*mute_button, 0, 1, 0, 1); mute_solo_table.attach (*solo_button, 1, 2, 0, 1); - rec_toggle_button = manage (new ArdourButton); - rec_toggle_button->set_name ("record enable button"); - rec_toggle_button->set_icon (ArdourIcon::RecButton); - UI::instance()->set_tip (rec_toggle_button, _("Switch controls from cue launching to cue recording"), ""); - rec_toggle_button->show (); - rec_toggle_button->signal_button_press_event().connect (sigc::mem_fun(*this, &TriggerStrip::rec_toggle_press), false); - mute_solo_table.attach (*rec_toggle_button, 0, 2, 1, 2); - volume_table.attach (_level_meter, 0, 1, 0, 1); /*Note: _gain_control is added in set_route */ @@ -194,7 +197,7 @@ TriggerStrip::init () show (); /* Width -- wide channel strip - * Note that panners require an ven number of horiz. pixels + * Note that panners require an ven number of horiz. pixels */ const float scale = std::max (1.f, UIConfiguration::instance ().get_ui_scale ()); int width = rintf (110.f * scale) + 1;