13
0

Transfer Monitor Box from ArdourUI

This commit is contained in:
Robin Gareus 2024-11-08 02:32:56 +01:00
parent e0e0eb09f3
commit c815ffcdb3
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
4 changed files with 45 additions and 48 deletions

View File

@ -203,6 +203,26 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
alert_box->pack_start (_auditioning_alert_button, true, true); alert_box->pack_start (_auditioning_alert_button, true, true);
alert_box->pack_start (_feedback_alert_button, true, true); alert_box->pack_start (_feedback_alert_button, true, true);
/* monitor section sub-group */
VBox* monitor_box = manage (new VBox);
monitor_box->set_homogeneous (true);
monitor_box->set_spacing (1);
monitor_box->set_border_width (0);
monitor_box->pack_start (_monitor_mono_button, true, true);
monitor_box->pack_start (_monitor_dim_button, true, true);
monitor_box->pack_start (_monitor_mute_button, true, true);
act = ActionManager::get_action (X_("Monitor Section"), X_("monitor-dim-all"));
_monitor_dim_button.set_related_action (act);
act = ActionManager::get_action (X_("Monitor Section"), X_("monitor-mono"));
_monitor_mono_button.set_related_action (act);
act = ActionManager::get_action (X_("Monitor Section"), X_("monitor-cut-all"));
_monitor_mute_button.set_related_action (act);
_monitor_dim_button.set_text (_("Dim All"));
_monitor_mono_button.set_text (_("Mono"));
_monitor_mute_button.set_text (_("Mute All"));
int vpadding = 1; int vpadding = 1;
int hpadding = 2; int hpadding = 2;
int col = 0; int col = 0;
@ -276,6 +296,9 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
_table.attach (_monitor_spacer, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0); _table.attach (_monitor_spacer, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
++col; ++col;
_table.attach (*monitor_box, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
++col;
_table.set_spacings (0); _table.set_spacings (0);
_table.set_row_spacings (4); _table.set_row_spacings (4);
_table.set_border_width (1); _table.set_border_width (1);
@ -312,6 +335,11 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
clock2_size_group->add_widget (*_secondary_clock.left_btn()); clock2_size_group->add_widget (*_secondary_clock.left_btn());
clock2_size_group->add_widget (*_secondary_clock.right_btn()); clock2_size_group->add_widget (*_secondary_clock.right_btn());
Glib::RefPtr<SizeGroup> monitor_button_size_group = SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL);
monitor_button_size_group->add_widget (_monitor_dim_button);
monitor_button_size_group->add_widget (_monitor_mono_button);
monitor_button_size_group->add_widget (_monitor_mute_button);
/* tooltips */ /* tooltips */
Gtkmm2ext::UI::instance()->set_tip (_punch_in_button, _("Start recording at auto-punch start")); Gtkmm2ext::UI::instance()->set_tip (_punch_in_button, _("Start recording at auto-punch start"));
Gtkmm2ext::UI::instance()->set_tip (_punch_out_button, _("Stop recording at auto-punch end")); Gtkmm2ext::UI::instance()->set_tip (_punch_out_button, _("Stop recording at auto-punch end"));
@ -324,6 +352,9 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
Gtkmm2ext::UI::instance()->set_tip (_solo_alert_button, _("When active, something is soloed.\nClick to de-solo everything")); Gtkmm2ext::UI::instance()->set_tip (_solo_alert_button, _("When active, something is soloed.\nClick to de-solo everything"));
Gtkmm2ext::UI::instance()->set_tip (_auditioning_alert_button, _("When active, auditioning is taking place.\nClick to stop the audition")); Gtkmm2ext::UI::instance()->set_tip (_auditioning_alert_button, _("When active, auditioning is taking place.\nClick to stop the audition"));
Gtkmm2ext::UI::instance()->set_tip (_feedback_alert_button, _("When lit, there is a ports connection issue, leading to feedback loop or ambiguous alignment.\nThis is caused by connecting an output back to some input (feedback), or by multiple connections from a source to the same output via different paths (ambiguous latency, record alignment).")); Gtkmm2ext::UI::instance()->set_tip (_feedback_alert_button, _("When lit, there is a ports connection issue, leading to feedback loop or ambiguous alignment.\nThis is caused by connecting an output back to some input (feedback), or by multiple connections from a source to the same output via different paths (ambiguous latency, record alignment)."));
Gtkmm2ext::UI::instance()->set_tip (_monitor_dim_button, _("Monitor section dim output"));
Gtkmm2ext::UI::instance()->set_tip (_monitor_mono_button, _("Monitor section mono output"));
Gtkmm2ext::UI::instance()->set_tip (_monitor_mute_button, _("Monitor section mute output"));
/* theming */ /* theming */
_sync_button.set_name ("transport active option button"); _sync_button.set_name ("transport active option button");
@ -336,6 +367,17 @@ ApplicationBar::on_parent_changed (Gtk::Widget*)
_solo_alert_button.set_name ("rude solo"); _solo_alert_button.set_name ("rude solo");
_auditioning_alert_button.set_name ("rude audition"); _auditioning_alert_button.set_name ("rude audition");
_feedback_alert_button.set_name ("feedback alert"); _feedback_alert_button.set_name ("feedback alert");
_monitor_dim_button.set_name ("monitor section dim");
_monitor_mono_button.set_name ("monitor section mono");
_monitor_mute_button.set_name ("mute button");
_monitor_dim_button.set_layout_font (UIConfiguration::instance().get_SmallerFont());
_monitor_mono_button.set_layout_font (UIConfiguration::instance().get_SmallerFont());
_monitor_mute_button.set_layout_font (UIConfiguration::instance().get_SmallerFont());
_monitor_dim_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text));
_monitor_mono_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text));
_monitor_mute_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text));
_solo_alert_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text)); _solo_alert_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text));
_auditioning_alert_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text)); _auditioning_alert_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text));

View File

@ -126,6 +126,9 @@ private:
ArdourWidgets::ArdourButton _feedback_alert_button; ArdourWidgets::ArdourButton _feedback_alert_button;
Gtk::VBox _alert_box; Gtk::VBox _alert_box;
ArdourWidgets::ArdourVSpacer _monitor_spacer; ArdourWidgets::ArdourVSpacer _monitor_spacer;
ArdourWidgets::ArdourButton _monitor_dim_button;
ArdourWidgets::ArdourButton _monitor_mono_button;
ArdourWidgets::ArdourButton _monitor_mute_button;
bool _feedback_exists; bool _feedback_exists;
bool _ambiguous_latency; bool _ambiguous_latency;

View File

@ -542,10 +542,6 @@ private:
ArdourWidgets::ArdourVSpacer scripts_spacer; ArdourWidgets::ArdourVSpacer scripts_spacer;
ArdourWidgets::ArdourVSpacer cuectrl_spacer; ArdourWidgets::ArdourVSpacer cuectrl_spacer;
ArdourWidgets::ArdourButton monitor_dim_button;
ArdourWidgets::ArdourButton monitor_mono_button;
ArdourWidgets::ArdourButton monitor_mute_button;
void toggle_external_sync (); void toggle_external_sync ();
void toggle_time_master (); void toggle_time_master ();
void toggle_video_sync (); void toggle_video_sync ();

View File

@ -205,12 +205,6 @@ ARDOUR_UI::setup_transport ()
trigger_page_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-trigger-visibility"))); trigger_page_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-trigger-visibility")));
application_bar = new ApplicationBar (); //TODO: move this to Editor, Cue, Rec, Mix //TODO: all transport, ui and monitor actions need to be instantiated before this application_bar = new ApplicationBar (); //TODO: move this to Editor, Cue, Rec, Mix //TODO: all transport, ui and monitor actions need to be instantiated before this
act = ActionManager::get_action (X_("Monitor Section"), X_("monitor-dim-all"));
monitor_dim_button.set_related_action (act);
act = ActionManager::get_action (X_("Monitor Section"), X_("monitor-mono"));
monitor_mono_button.set_related_action (act);
act = ActionManager::get_action (X_("Monitor Section"), X_("monitor-cut-all"));
monitor_mute_button.set_related_action (act);
/* connect signals */ /* connect signals */
ARDOUR_UI::Clock.connect (sigc::bind (sigc::mem_fun (primary_clock, &MainClock::set), false)); ARDOUR_UI::Clock.connect (sigc::bind (sigc::mem_fun (primary_clock, &MainClock::set), false));
@ -244,24 +238,8 @@ ARDOUR_UI::setup_transport ()
recorder_visibility_button.set_name (X_("page switch button")); recorder_visibility_button.set_name (X_("page switch button"));
trigger_page_visibility_button.set_name (X_("page switch button")); trigger_page_visibility_button.set_name (X_("page switch button"));
monitor_dim_button.set_name ("monitor section dim");
monitor_mono_button.set_name ("monitor section mono");
monitor_mute_button.set_name ("mute button");
monitor_dim_button.set_layout_font (UIConfiguration::instance().get_SmallerFont());
monitor_mono_button.set_layout_font (UIConfiguration::instance().get_SmallerFont());
monitor_mute_button.set_layout_font (UIConfiguration::instance().get_SmallerFont());
monitor_dim_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text));
monitor_mono_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text));
monitor_mute_button.set_elements (ArdourButton::Element(ArdourButton::Body|ArdourButton::Text));
/* and widget text */ /* and widget text */
monitor_dim_button.set_text (_("Dim All"));
monitor_mono_button.set_text (_("Mono"));
monitor_mute_button.set_text (_("Mute All"));
/* and tooltips */ /* and tooltips */
Gtkmm2ext::UI::instance()->set_tip (editor_visibility_button, Gtkmm2ext::UI::instance()->set_tip (editor_visibility_button,
@ -285,18 +263,8 @@ ARDOUR_UI::setup_transport ()
"Right-click to show more options"), trigger_page->name())); "Right-click to show more options"), trigger_page->name()));
/* monitor section */
Gtkmm2ext::UI::instance()->set_tip (monitor_dim_button, _("Monitor section dim output"));
Gtkmm2ext::UI::instance()->set_tip (monitor_mono_button, _("Monitor section mono output"));
Gtkmm2ext::UI::instance()->set_tip (monitor_mute_button, _("Monitor section mute output"));
/* transport control size-group */ /* transport control size-group */
Glib::RefPtr<SizeGroup> monitor_button_size_group = SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL);
monitor_button_size_group->add_widget (monitor_dim_button);
monitor_button_size_group->add_widget (monitor_mono_button);
monitor_button_size_group->add_widget (monitor_mute_button);
/* and now the layout... */ /* and now the layout... */
/* top level packing */ /* top level packing */
@ -319,15 +287,6 @@ ARDOUR_UI::setup_transport ()
transport_frame.add (*ebox); transport_frame.add (*ebox);
ebox->add (transport_table); ebox->add (transport_table);
/* monitor section sub-group */
VBox* monitor_box = manage (new VBox);
monitor_box->set_homogeneous (true);
monitor_box->set_spacing (1);
monitor_box->set_border_width (0);
monitor_box->pack_start (monitor_mono_button, true, true);
monitor_box->pack_start (monitor_dim_button, true, true);
monitor_box->pack_start (monitor_mute_button, true, true);
//tab selections //tab selections
button_height_size_group->add_widget (trigger_page_visibility_button); button_height_size_group->add_widget (trigger_page_visibility_button);
button_height_size_group->add_widget (recorder_visibility_button); button_height_size_group->add_widget (recorder_visibility_button);
@ -348,9 +307,6 @@ ARDOUR_UI::setup_transport ()
transport_table.attach (*application_bar, TCOL, 0, 2 , EXPAND|FILL, EXPAND|FILL, 3, 0); transport_table.attach (*application_bar, TCOL, 0, 2 , EXPAND|FILL, EXPAND|FILL, 3, 0);
++col; ++col;
transport_table.attach (*monitor_box, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
++col;
transport_table.attach (cuectrl_spacer, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0); transport_table.attach (cuectrl_spacer, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
++col; ++col;