From 1b18c3e76ca5e985a303f5502f3897250dbf20e8 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Mon, 7 Oct 2024 08:32:27 -0500 Subject: [PATCH] Use Transport Bar in top-level pages --- gtk2_ardour/editor.cc | 1 + gtk2_ardour/editor.h | 2 ++ gtk2_ardour/mixer_ui.cc | 2 ++ gtk2_ardour/mixer_ui.h | 3 +++ gtk2_ardour/recorder_ui.cc | 21 +-------------------- gtk2_ardour/recorder_ui.h | 5 ++--- gtk2_ardour/trigger_page.cc | 2 ++ gtk2_ardour/trigger_page.h | 3 +++ 8 files changed, 16 insertions(+), 23 deletions(-) diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index b6cd29b96f..4e33e25aef 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -1225,6 +1225,7 @@ Editor::set_session (Session *t) * before the visible state has been loaded from instant.xml */ _leftmost_sample = session_gui_extents().first.samples(); + _application_bar.set_session (_session); nudge_clock->set_session (_session); _summary->set_session (_session); _group_tabs->set_session (_session); diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 1e77445dad..f665ffb46f 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -66,6 +66,7 @@ #include "widgets/ardour_spacer.h" #include "widgets/pane.h" +#include "application_bar.h" #include "ardour_dialog.h" #include "public_editor.h" #include "editing.h" @@ -773,6 +774,7 @@ private: Gdk::Cursor* which_trim_cursor (bool left_side) const; Gdk::Cursor* which_canvas_cursor (ItemType type) const; + ApplicationBar _application_bar; ArdourCanvas::GtkCanvas* _track_canvas; ArdourCanvas::GtkCanvasViewport* _track_canvas_viewport; diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 9f9840d66c..2630f68d59 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -1280,6 +1280,8 @@ Mixer_UI::set_session (Session* sess) _group_tabs->set_session (sess); + _application_bar.set_session (_session); + update_scene_buttons(); RefPtr surround_action = ActionManager::get_toggle_action (X_("Mixer"), "ToggleSurroundMaster"); diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index 21de26ebe2..fe1042c56e 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -55,6 +55,7 @@ #include "widgets/tabbable.h" #include "widgets/ardour_dropdown.h" +#include "application_bar.h" #include "axis_provider.h" #include "enums.h" #include "monitor_section.h" @@ -334,6 +335,8 @@ private: void track_column_click (gint); void build_track_menu (); + ApplicationBar _application_bar; + MonitorSection _monitor_section; PluginSelector* _plugin_selector; SurroundStrip* _surround_strip; diff --git a/gtk2_ardour/recorder_ui.cc b/gtk2_ardour/recorder_ui.cc index 0cd62b76f2..7d5f3d2021 100644 --- a/gtk2_ardour/recorder_ui.cc +++ b/gtk2_ardour/recorder_ui.cc @@ -101,12 +101,6 @@ RecorderUI::RecorderUI () load_bindings (); register_actions (); - _transport_ctrl.setup (ARDOUR_UI::instance ()); - _transport_ctrl.map_actions (); - _transport_ctrl.set_no_show_all (); - - signal_tabbed_changed.connect (sigc::mem_fun (*this, &RecorderUI::tabbed_changed)); - /* monitoring */ _auto_input_button.set_related_action (ActionManager::get_action ("Transport", "ToggleAutoInput")); _auto_input_button.set_name ("transport option button"); @@ -209,9 +203,6 @@ RecorderUI::RecorderUI () int spacepad = 3; int col = 0; - _button_table.attach (_transport_ctrl, col, col + 1, 0, 1, FILL, FILL, hpadding, vpadding); - col += 1; - _button_table.attach (_duration_info_box, col, col + 1, 0, 1, FILL, FILL, hpadding, vpadding); _button_table.attach (_xrun_info_box, col + 1, col + 2, 0, 1, FILL, FILL, hpadding, vpadding); _button_table.attach (_btn_rec_forget, col, col + 2, 1, 2, FILL, SHRINK, hpadding, vpadding); @@ -356,16 +347,6 @@ RecorderUI::use_own_window (bool and_fill_it) return win; } -void -RecorderUI::tabbed_changed (bool tabbed) -{ - if (tabbed) { - _transport_ctrl.hide (); - } else { - _transport_ctrl.show (); - } -} - XMLNode& RecorderUI::get_state () const { @@ -408,7 +389,7 @@ RecorderUI::set_session (Session* s) _duration_info_box.set_session (s); _xrun_info_box.set_session (s); _remain_info_box.set_session (s); - _transport_ctrl.set_session (s); + _application_bar.set_session (s); _rec_group_tabs->set_session (s); update_sensitivity (); diff --git a/gtk2_ardour/recorder_ui.h b/gtk2_ardour/recorder_ui.h index 8d3eee18e5..a466ff2376 100644 --- a/gtk2_ardour/recorder_ui.h +++ b/gtk2_ardour/recorder_ui.h @@ -43,10 +43,10 @@ #include "widgets/pane.h" #include "widgets/tabbable.h" +#include "application_bar.h" #include "input_port_monitor.h" #include "rec_info_box.h" #include "shuttle_control.h" -#include "transport_control_ui.h" namespace ARDOUR { class SoloMuteRelease; @@ -99,7 +99,6 @@ private: void tra_name_edit (TrackRecordAxis*, bool); void update_rec_table_layout (); void update_spacer_width (Gtk::Allocation&, TrackRecordAxis*); - void tabbed_changed (bool); void set_connections (std::string const&); void port_connected_or_disconnected (std::string, std::string); @@ -154,7 +153,7 @@ private: DurationInfoBox _duration_info_box; XrunInfoBox _xrun_info_box; RemainInfoBox _remain_info_box; - TransportControlUI _transport_ctrl; + ApplicationBar _application_bar; Glib::RefPtr _toolbar_button_height; Glib::RefPtr _toolbar_recarm_width; Glib::RefPtr _toolbar_monitoring_width; diff --git a/gtk2_ardour/trigger_page.cc b/gtk2_ardour/trigger_page.cc index 4b9fcd26b3..03e9826579 100644 --- a/gtk2_ardour/trigger_page.cc +++ b/gtk2_ardour/trigger_page.cc @@ -42,6 +42,7 @@ #include "ardour/stripable.h" #include "actions.h" +#include "application_bar.h" #include "ardour_ui.h" #include "editor.h" #include "gui_thread.h" @@ -256,6 +257,7 @@ TriggerPage::set_session (Session* s) { SessionHandlePtr::set_session (s); + _application_bar.set_session (_session); _cue_box.set_session (s); _trigger_clip_picker.set_session (s); _master.set_session (s); diff --git a/gtk2_ardour/trigger_page.h b/gtk2_ardour/trigger_page.h index cdf94ad44c..210b33a91c 100644 --- a/gtk2_ardour/trigger_page.h +++ b/gtk2_ardour/trigger_page.h @@ -28,6 +28,7 @@ #include "widgets/pane.h" #include "widgets/tabbable.h" +#include "application_bar.h" #include "audio_region_operations_box.h" #include "audio_region_properties_box.h" #include "audio_trigger_properties_box.h" @@ -104,6 +105,8 @@ private: gint stop_updating (); void fast_update_strips (); + ApplicationBar _application_bar; + Gtkmm2ext::Bindings* bindings; ArdourWidgets::VPane _content;