diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 99 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 22 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui2.cc | 76 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_dialogs.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/canvas_vars.h | 2 |
5 files changed, 77 insertions, 124 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index cc173c80e3..64a54741a3 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -138,13 +138,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[]) , gui_object_state (new GUIObjectState) , primary_clock (new AudioClock (X_("primary"), false, X_("TransportClockDisplay"), true, true, false, true)) , secondary_clock (new AudioClock (X_("secondary"), false, X_("SecondaryClockDisplay"), true, true, false, true)) - , preroll_clock (new AudioClock (X_("preroll"), false, X_("PreRollClock"), true, false, true)) - , postroll_clock (new AudioClock (X_("postroll"), false, X_("PostRollClock"), true, false, true)) - - /* preroll stuff */ - - , preroll_button (_("pre\nroll")) - , postroll_button (_("post\nroll")) /* big clock */ @@ -160,14 +153,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[]) , play_selection_controllable (new TransportControllable ("transport play selection", *this, TransportControllable::PlaySelection)) , rec_controllable (new TransportControllable ("transport rec-enable", *this, TransportControllable::RecordEnable)) - , roll_button (roll_controllable) - , stop_button (stop_controllable) - , goto_start_button (goto_start_controllable) - , goto_end_button (goto_end_controllable) - , auto_loop_button (auto_loop_controllable) - , play_selection_button (play_selection_controllable) - , rec_button (rec_controllable) - , auto_return_button (_("Auto Return")) , auto_play_button (_("Auto Play")) , auto_input_button (_("Auto Input")) @@ -235,14 +220,22 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[]) original_big_clock_height = -1; original_big_clock_font_size = 0; - roll_button.unset_flags (Gtk::CAN_FOCUS); - stop_button.unset_flags (Gtk::CAN_FOCUS); - goto_start_button.unset_flags (Gtk::CAN_FOCUS); - goto_end_button.unset_flags (Gtk::CAN_FOCUS); - auto_loop_button.unset_flags (Gtk::CAN_FOCUS); - play_selection_button.unset_flags (Gtk::CAN_FOCUS); - rec_button.unset_flags (Gtk::CAN_FOCUS); - join_play_range_button.unset_flags (Gtk::CAN_FOCUS); + roll_button.set_controllable (roll_controllable); + stop_button.set_controllable (stop_controllable); + goto_start_button.set_controllable (goto_start_controllable); + goto_end_button.set_controllable (goto_end_controllable); + auto_loop_button.set_controllable (auto_loop_controllable); + play_selection_button.set_controllable (play_selection_controllable); + rec_button.set_controllable (rec_controllable); + + roll_button.set_name ("transport button"); + stop_button.set_name ("transport button"); + goto_start_button.set_name ("transport button"); + goto_end_button.set_name ("transport button"); + auto_loop_button.set_name ("transport button"); + play_selection_button.set_name ("transport button"); + rec_button.set_name ("transport recenable button"); + last_configure_time= 0; last_peak_grab = 0; @@ -1714,12 +1707,12 @@ ARDOUR_UI::transport_roll () if (!Config->get_seamless_loop()) { _session->request_play_loop (false, true); } - } else if (_session->get_play_range () && !join_play_range_button.get_active()) { + } else if (_session->get_play_range () && !join_play_range_button.active_state()) { /* stop playing a range if we currently are */ _session->request_play_range (0, true); } - if (join_play_range_button.get_active()) { + if (join_play_range_button.active_state()) { _session->request_play_range (&editor->get_selection().time, true); } @@ -1778,7 +1771,7 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode) if (rolling) { _session->request_stop (with_abort, true); } else { - if (join_play_range_button.get_active()) { + if (join_play_range_button.active_state()) { _session->request_play_range (&editor->get_selection().time, true); } @@ -1909,10 +1902,10 @@ void ARDOUR_UI::map_transport_state () { if (!_session) { - auto_loop_button.set_visual_state (0); - play_selection_button.set_visual_state (0); - roll_button.set_visual_state (0); - stop_button.set_visual_state (1); + auto_loop_button.unset_active_state (); + play_selection_button.unset_active_state (); + roll_button.unset_active_state (); + stop_button.set_active_state (Gtkmm2ext::Active); return; } @@ -1926,37 +1919,37 @@ ARDOUR_UI::map_transport_state () if (_session->get_play_range()) { - play_selection_button.set_visual_state (1); - roll_button.set_visual_state (0); - auto_loop_button.set_visual_state (0); + play_selection_button.set_active_state (Gtkmm2ext::Active); + roll_button.unset_active_state (); + auto_loop_button.unset_active_state (); } else if (_session->get_play_loop ()) { - auto_loop_button.set_visual_state (1); - play_selection_button.set_visual_state (0); - roll_button.set_visual_state (0); + auto_loop_button.set_active_state (Gtkmm2ext::Active); + play_selection_button.unset_active_state (); + roll_button.unset_active_state (); } else { - roll_button.set_visual_state (1); - play_selection_button.set_visual_state (0); - auto_loop_button.set_visual_state (0); + roll_button.set_active_state (Gtkmm2ext::Active); + play_selection_button.unset_active_state (); + auto_loop_button.unset_active_state (); } - if (join_play_range_button.get_active()) { + if (join_play_range_button.active_state()) { /* light up both roll and play-selection if they are joined */ - roll_button.set_visual_state (1); - play_selection_button.set_visual_state (1); + roll_button.set_active_state (Gtkmm2ext::Active); + play_selection_button.set_active_state (Gtkmm2ext::Active); } - stop_button.set_visual_state (0); + stop_button.unset_active_state (); } else { - stop_button.set_visual_state (1); - roll_button.set_visual_state (0); - play_selection_button.set_visual_state (0); - auto_loop_button.set_visual_state (0); + stop_button.set_active_state (Gtkmm2ext::Active); + roll_button.unset_active_state (); + play_selection_button.unset_active_state (); + auto_loop_button.unset_active_state (); update_disk_space (); } } @@ -2382,14 +2375,14 @@ ARDOUR_UI::transport_rec_enable_blink (bool onoff) if (r == Session::Enabled || (r == Session::Recording && !h)) { if (onoff) { - rec_button.set_visual_state (2); + rec_button.set_active_state (Active); } else { - rec_button.set_visual_state (0); + rec_button.set_active_state (Mid); } } else if (r == Session::Recording && h) { - rec_button.set_visual_state (1); + rec_button.set_active_state (Mid); } else { - rec_button.set_visual_state (0); + rec_button.unset_active_state (); } } @@ -3607,10 +3600,10 @@ ARDOUR_UI::step_edit_status_change (bool yn) // we make insensitive if (yn) { - rec_button.set_visual_state (3); + rec_button.set_active_state (Mid); rec_button.set_sensitive (false); } else { - rec_button.set_visual_state (0); + rec_button.unset_active_state ();; rec_button.set_sensitive (true); } } diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index c6dc7ba0b0..f29f06ce94 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -64,6 +64,7 @@ #include "ardour/session_handle.h" #include "ardour_dialog.h" +#include "ardour_button.h" #include "editing.h" #include "ui_config.h" #include "window_proxy.h" @@ -201,8 +202,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr AudioClock* primary_clock; AudioClock* secondary_clock; - AudioClock* preroll_clock; - AudioClock* postroll_clock; TimeInfoBox* time_info_box; @@ -301,9 +300,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void toggle_mixer_window (); void toggle_mixer_on_top (); - Gtk::ToggleButton preroll_button; - Gtk::ToggleButton postroll_button; - int setup_windows (); void setup_transport (); void setup_clock (); @@ -424,14 +420,14 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void set_transport_controllable_state (const XMLNode&); XMLNode& get_transport_controllable_state (); - BindableButton roll_button; - BindableButton stop_button; - BindableButton goto_start_button; - BindableButton goto_end_button; - BindableButton auto_loop_button; - BindableButton play_selection_button; - BindableButton rec_button; - BindableToggleButton join_play_range_button; + ArdourButton roll_button; + ArdourButton stop_button; + ArdourButton goto_start_button; + ArdourButton goto_end_button; + ArdourButton auto_loop_button; + ArdourButton play_selection_button; + ArdourButton rec_button; + ArdourButton join_play_range_button; void toggle_external_sync (); void toggle_time_master (); diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 00d0341603..2b3ee34ffb 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -236,15 +236,6 @@ ARDOUR_UI::setup_transport () transport_tearoff->Visible.connect (sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::reattach_tearoff), static_cast<Box*> (&top_packer), static_cast<Widget*> (&transport_frame), 1)); - goto_start_button.set_name ("TransportButton"); - goto_end_button.set_name ("TransportButton"); - roll_button.set_name ("TransportButton"); - stop_button.set_name ("TransportButton"); - play_selection_button.set_name ("TransportButton"); - rec_button.set_name ("TransportRecButton"); - auto_loop_button.set_name ("TransportButton"); - join_play_range_button.set_name ("TransportButton"); - auto_return_button.set_name ("TransportButton"); auto_play_button.set_name ("TransportButton"); auto_input_button.set_name ("TransportButton"); @@ -262,49 +253,36 @@ ARDOUR_UI::setup_transport () Widget* w; - stop_button.set_visual_state (1); - - w = manage (new Image (get_icon (X_("transport_start")))); - w->show(); - goto_start_button.add (*w); - w = manage (new Image (get_icon (X_("transport_end")))); - w->show(); - goto_end_button.add (*w); - w = manage (new Image (get_icon (X_("transport_play")))); - w->show(); - roll_button.add (*w); - w = manage (new Image (get_icon (X_("transport_stop")))); - w->show(); - stop_button.add (*w); - w = manage (new Image (get_icon (X_("transport_range")))); - w->show(); - play_selection_button.add (*w); - w = manage (new Image (get_icon (X_("transport_record")))); - w->show(); - rec_button.add (*w); - w = manage (new Image (get_icon (X_("transport_loop")))); - w->show(); - auto_loop_button.add (*w); - w = manage (new Image (get_icon (X_("tool_object_range")))); - w->show (); - join_play_range_button.add (*w); + stop_button.set_active_state (Active); + + + goto_start_button.set_image (get_icon (X_("transport_start"))); + goto_end_button.set_image (get_icon (X_("transport_end"))); + roll_button.set_image (get_icon (X_("transport_play"))); + stop_button.set_image (get_icon (X_("transport_stop"))); + play_selection_button.set_image (get_icon (X_("transport_range"))); + rec_button.set_image (get_icon (X_("transport_record"))); + auto_loop_button.set_image (get_icon (X_("transport_loop"))); + join_play_range_button.set_image (get_icon (X_("tool_object_range"))); RefPtr<Action> act; act = ActionManager::get_action (X_("Transport"), X_("Stop")); - act->connect_proxy (stop_button); + stop_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("Roll")); - act->connect_proxy (roll_button); + roll_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("Record")); - act->connect_proxy (rec_button); + rec_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("GotoStart")); - act->connect_proxy (goto_start_button); + goto_start_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("GotoEnd")); - act->connect_proxy (goto_end_button); + goto_end_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("Loop")); - act->connect_proxy (auto_loop_button); + auto_loop_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("PlaySelection")); - act->connect_proxy (play_selection_button); + play_selection_button.set_related_action (act); + + act = ActionManager::get_action (X_("Transport"), X_("ToggleTimeMaster")); act->connect_proxy (time_master_button); act = ActionManager::get_action (X_("Transport"), X_("ToggleExternalSync")); @@ -324,14 +302,6 @@ ARDOUR_UI::setup_transport () ActionManager::get_action ("Transport", "ToggleAutoPlay")->connect_proxy (auto_play_button); ActionManager::get_action ("Transport", "ToggleAutoInput")->connect_proxy (auto_input_button); - preroll_button.set_name ("TransportButton"); - postroll_button.set_name ("TransportButton"); - - preroll_clock->set_mode (AudioClock::MinSec); - preroll_clock->set_name ("TransportClockDisplay"); - postroll_clock->set_mode (AudioClock::MinSec); - postroll_clock->set_name ("TransportClockDisplay"); - /* alerts */ /* CANNOT sigc::bind these to clicked or toggled, must use pressed or released */ @@ -440,12 +410,6 @@ ARDOUR_UI::setup_transport () set_transport_sensitivity (false); -// toggle_box->pack_start (preroll_button, false, false); -// toggle_box->pack_start (preroll_clock, false, false); - -// toggle_box->pack_start (postroll_button, false, false); -// toggle_box->pack_start (postroll_clock, false, false); - transport_tearoff_hbox.pack_start (*toggle_box, false, false, 4); if (Profile->get_small_screen()) { transport_tearoff_hbox.pack_start (_editor_transport_box, false, false, 4); diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index 917d76e57c..8534e874ca 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -109,8 +109,6 @@ ARDOUR_UI::set_session (Session *s) primary_clock->set_session (s); secondary_clock->set_session (s); big_clock->set_session (s); - preroll_clock->set_session (s); - postroll_clock->set_session (s); time_info_box->set_session (s); /* sensitize menu bar options that are now valid */ diff --git a/gtk2_ardour/canvas_vars.h b/gtk2_ardour/canvas_vars.h index 71418e9b23..c4a64eb6e8 100644 --- a/gtk2_ardour/canvas_vars.h +++ b/gtk2_ardour/canvas_vars.h @@ -177,4 +177,6 @@ BUTTON_VARS(MuteButton, "mute button") BUTTON_VARS(SoloButton, "solo button") BUTTON_VARS(RecEnableButton, "record enable button") BUTTON_VARS(SendButton, "send alert button") +BUTTON_VARS(TransportButton, "transport button") +BUTTON_VARS(TransportRecenableButton, "transport recenable button") |