X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui2.cc;h=e7cac302f7051888e0ae1dc03db91a30575d8936;hb=28112bfb7f0f1f689310716b8feea1b4e52e5b1f;hp=8dc25f00045502ffdb8b9ada17c7cf5d02153802;hpb=32869e2c31888ca7a1af56391ab1e3cebf374da9;p=ardour.git diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 8dc25f0004..e7cac302f7 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -132,6 +132,7 @@ ARDOUR_UI::setup_tooltips () set_tip (goto_start_button, _("Go to start of session")); set_tip (goto_end_button, _("Go to end of session")); set_tip (auto_loop_button, _("Play loop range")); + set_tip (midi_panic_button, _("MIDI Panic\nSend note off and reset controller messages on all MIDI channels")); set_tip (auto_return_button, _("Return to last playback start when stopped")); set_tip (auto_play_button, _("Start playback after any locate")); @@ -253,10 +254,14 @@ ARDOUR_UI::setup_transport () auto_return_button.set_name ("transport option button"); auto_play_button.set_name ("transport option button"); auto_input_button.set_name ("transport option button"); - click_button.set_name ("transport option button"); + time_master_button.set_name ("transport option button"); - time_master_button.set_name ("TransportButton"); - sync_button.set_name ("TransportSyncButton"); + /* these have to provide a clear indication of active state */ + + click_button.set_name ("transport active option button"); + sync_button.set_name ("transport active option button"); + + time_master_button.set_text (_("time master")); stop_button.set_active_state (Active); @@ -269,6 +274,10 @@ ARDOUR_UI::setup_transport () auto_loop_button.set_image (get_icon (X_("transport_loop"))); join_play_range_button.set_image (get_icon (X_("tool_object_range"))); + midi_panic_button.set_image (get_icon (X_("midi_panic"))); + /* the icon for this has an odd aspect ratio, so fatten up the button */ + midi_panic_button.set_size_request (25, -1); + act = ActionManager::get_action (X_("Transport"), X_("Stop")); stop_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("Roll")); @@ -283,13 +292,13 @@ ARDOUR_UI::setup_transport () auto_loop_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("PlaySelection")); play_selection_button.set_related_action (act); - + act = ActionManager::get_action (X_("MIDI"), X_("panic")); + midi_panic_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("ToggleTimeMaster")); - act->connect_proxy (time_master_button); + time_master_button.set_related_action (act); act = ActionManager::get_action (X_("Transport"), X_("ToggleExternalSync")); - act->connect_proxy (sync_button); - + sync_button.set_related_action (act); /* clocks, etc. */ @@ -311,9 +320,9 @@ ARDOUR_UI::setup_transport () /* CANNOT sigc::bind these to clicked or toggled, must use pressed or released */ - solo_alert_button.set_name ("TransportSoloAlert"); + solo_alert_button.set_name ("rude solo"); solo_alert_button.signal_button_press_event().connect (sigc::mem_fun(*this,&ARDOUR_UI::solo_alert_press), false); - auditioning_alert_button.set_name ("TransportAuditioningAlert"); + auditioning_alert_button.set_name ("rude audition"); auditioning_alert_button.signal_button_press_event().connect (sigc::mem_fun(*this,&ARDOUR_UI::audition_alert_press), false); alert_box.pack_start (solo_alert_button, true, false); @@ -322,6 +331,7 @@ ARDOUR_UI::setup_transport () HBox* tbox = manage (new HBox); tbox->set_spacing (2); + tbox->pack_start (midi_panic_button, false, false); tbox->pack_start (goto_start_button, false, false); tbox->pack_start (goto_end_button, false, false); @@ -402,20 +412,19 @@ ARDOUR_UI::setup_transport () } transport_tearoff_hbox.pack_start (*toggle_box, false, false); - Table* time_controls_table = manage (new Table (2, 2)); - time_controls_table->set_col_spacings (6); - time_controls_table->attach (sync_button, 0, 1, 0, 1, Gtk::AttachOptions(FILL|EXPAND), Gtk::AttachOptions(0)); - time_controls_table->attach (time_master_button, 0, 1, 1, 2, Gtk::AttachOptions(FILL|EXPAND), Gtk::AttachOptions(0)); - - time_controls_table->attach (click_button, 1, 2, 0, 2, Gtk::AttachOptions(FILL|EXPAND), FILL); + VBox* time_controls = manage (new VBox); + time_controls->set_spacing (2); + time_controls->set_homogeneous (true); + time_controls->pack_start (sync_button, true, false); + time_controls->pack_start (time_master_button, true, false); transport_tearoff_hbox.pack_start (*clock_box, false, false); - transport_tearoff_hbox.pack_start (*time_controls_table, false, false); + transport_tearoff_hbox.pack_start (*time_controls, false, false); + transport_tearoff_hbox.pack_start (click_button, false, false); time_info_box = manage (new TimeInfoBox); transport_tearoff_hbox.pack_start (*time_info_box, false, false); - if (Profile->get_small_screen()) { transport_tearoff_hbox.pack_start (_editor_transport_box, false, false); } @@ -527,7 +536,7 @@ ARDOUR_UI::sync_blink (bool onoff) { if (_session == 0 || !_session->config.get_external_sync()) { /* internal sync */ - sync_button.set_visual_state (0); + sync_button.unset_active_state (); return; } @@ -535,13 +544,13 @@ ARDOUR_UI::sync_blink (bool onoff) /* not locked, so blink on and off according to the onoff argument */ if (onoff) { - sync_button.set_visual_state (1); // "-active" + sync_button.set_active_state (Gtkmm2ext::Active); // "-active" } else { - sync_button.set_visual_state (0); // normal + sync_button.unset_active_state (); // normal } } else { /* locked */ - sync_button.set_visual_state (1); // "-active" + sync_button.set_active_state (Gtkmm2ext::Active); // "-active" } } @@ -554,13 +563,12 @@ ARDOUR_UI::audition_blink (bool onoff) if (_session->is_auditioning()) { if (onoff) { - auditioning_alert_button.set_state (STATE_ACTIVE); + auditioning_alert_button.set_active_state (Gtkmm2ext::Active); } else { - auditioning_alert_button.set_state (STATE_NORMAL); + auditioning_alert_button.unset_active_state(); } } else { - auditioning_alert_button.set_active (false); - auditioning_alert_button.set_state (STATE_NORMAL); + auditioning_alert_button.unset_active_state (); } }