diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-11-02 19:51:59 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-11-02 19:51:59 +0000 |
commit | bcac4f1c96c6c5d67a145c38d2cb56429f0040da (patch) | |
tree | 8bf82c292fed9a6cbe6df9a014c49b1d996595df /gtk2_ardour | |
parent | 11fdd6cd18a754ab39bf64965570bad932904e47 (diff) |
rec-enable buttons are now ArdourButtons, but with a minor graphical glitch that will be solved/fixed soon-ish
git-svn-id: svn://localhost/ardour2/branches/3.0@10402 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour3_ui_default.conf | 56 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/route_time_axis.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.cc | 43 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.h | 6 |
5 files changed, 42 insertions, 83 deletions
diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/ardour3_ui_default.conf index 60fd7e3bed..d92151e5da 100644 --- a/gtk2_ardour/ardour3_ui_default.conf +++ b/gtk2_ardour/ardour3_ui_default.conf @@ -414,39 +414,39 @@ <Option name="mute button led mid" value="00000000"/> <Option name="mute button text" value="d6d6d3ff"/> <Option name="mute button text active" value="484840ff"/> - <Option name="mute button text mid" value="00000000"/> - <Option name="solo button border start" value="00000000"/> - <Option name="solo button border end" value="00000000"/> + <Option name="mute button text mid" value="484840ff"/> + <Option name="solo button border start" value="adfa36ff"/> + <Option name="solo button border end" value="5d8c16ff"/> <Option name="solo button border start selected" value="00000000"/> <Option name="solo button border end selected" value="00000000"/> - <Option name="solo button fill start" value="00000000"/> - <Option name="solo button fill end" value="00000000"/> - <Option name="solo button fill start active" value="00000000"/> - <Option name="solo button fill end active" value="00000000"/> + <Option name="solo button fill start" value="636d5fff"/> + <Option name="solo button fill end" value="575f53ff"/> + <Option name="solo button fill start active" value="adfa36ff"/> + <Option name="solo button fill end active" value="9ce925ff"/> <Option name="solo button fill start mid" value="00000000"/> <Option name="solo button fill end mid" value="00000000"/> <Option name="solo button led" value="00000000"/> <Option name="solo button led active" value="00000000"/> <Option name="solo button led mid" value="00000000"/> - <Option name="solo button text" value="00000000"/> - <Option name="solo button text active" value="00000000"/> + <Option name="solo button text" value="b9bcb6ff"/> + <Option name="solo button text active" value="000000ff"/> <Option name="solo button text mid" value="00000000"/> - <Option name="record enable button border start" value="00000000"/> - <Option name="record enable button border end" value="00000000"/> + <Option name="record enable button border start" value="cc0909ff"/> + <Option name="record enable button border end" value="7a0d0dff"/> <Option name="record enable button border start selected" value="00000000"/> <Option name="record enable button border end selected" value="00000000"/> - <Option name="record enable button fill start" value="00000000"/> - <Option name="record enable button fill end" value="00000000"/> - <Option name="record enable button fill start active" value="00000000"/> - <Option name="record enable button fill end active" value="00000000"/> - <Option name="record enable button fill start mid" value="00000000"/> - <Option name="record enable button fill end mid" value="00000000"/> + <Option name="record enable button fill start" value="603f3fff"/> + <Option name="record enable button fill end" value="3d2828ff"/> + <Option name="record enable button fill start active" value="fb0c0cff"/> + <Option name="record enable button fill end active" value="b50f0fff"/> + <Option name="record enable button fill start mid" value="ffa8a8ff"/> + <Option name="record enable button fill end mid" value="fb7c7cff"/> <Option name="record enable button led" value="00000000"/> <Option name="record enable button led active" value="00000000"/> <Option name="record enable button led mid" value="00000000"/> - <Option name="record enable button text" value="00000000"/> + <Option name="record enable button text" value="c6c1c2ff"/> <Option name="record enable button text active" value="00000000"/> - <Option name="record enable button text mid" value="00000000"/> + <Option name="record enable button text mid" value="433232ff"/> <Option name="send alert button border start" value="9baa8dff"/> <Option name="send alert button border end" value="6d7762ff"/> <Option name="send alert button border start selected" value="00000000"/> @@ -463,23 +463,5 @@ <Option name="send alert button text" value="e4e4e2ff"/> <Option name="send alert button text active" value="696959ff"/> <Option name="send alert button text mid" value="00000000"/> - - <Option name="solo button border start" value="9baa8dff"/> - <Option name="solo button border end" value="6d7762ff"/> - <Option name="solo button border start selected" value="00000000"/> - <Option name="solo button border end selected" value="00000000"/> - <Option name="solo button fill start" value="4e5647ff"/> - <Option name="solo button fill end" value="43493cff"/> - <Option name="solo button fill start active" value="91f928ff"/> - <Option name="solo button fill end active" value="85e524ff"/> - <Option name="solo button fill start mid" value="00000000"/> - <Option name="solo button fill end mid" value="00000000"/> - <Option name="solo button led" value="00000000"/> - <Option name="solo button led active" value="00000000"/> - <Option name="solo button led mid" value="00000000"/> - <Option name="solo button text" value="e4e4e2ff"/> - <Option name="solo button text active" value="696959ff"/> - <Option name="solo button text mid" value="00000000"/> - </Canvas> </Ardour> diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 3b59b247dc..7021e06b4e 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -302,12 +302,6 @@ MixerStrip::init () input_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::input_press), false); output_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::output_press), false); - /* we don't need this if its not an audio track, but we don't know that yet and it doesn't - hurt (much). - */ - - rec_enable_button->set_name ("MixerRecordEnableButton"); - /* ditto for this button and busses */ name_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_press), false); @@ -1783,7 +1777,7 @@ MixerStrip::set_button_names () { switch (_width) { case Wide: - rec_enable_button_label.set_text (_("Rec")); + rec_enable_button->set_text (_("Rec")); mute_button->set_text (_("Mute")); monitor_input_button->set_text (_("In")); monitor_disk_button->set_text (_("Disk")); @@ -1812,7 +1806,7 @@ MixerStrip::set_button_names () break; default: - rec_enable_button_label.set_text (_("R")); + rec_enable_button->set_text (_("R")); mute_button->set_text (_("M")); monitor_input_button->set_text (_("I")); monitor_disk_button->set_text (_("D")); diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index f6a6a9c123..f273f73e2d 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -179,10 +179,10 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt) switch (track()->mode()) { case ARDOUR::Normal: case ARDOUR::NonLayered: - rec_enable_button->add (*(manage (new Image (::get_icon (X_("record_normal_red")))))); + rec_enable_button->set_image (::get_icon (X_("record_normal_red"))); break; case ARDOUR::Destructive: - rec_enable_button->add (*(manage (new Image (::get_icon (X_("record_tape_red")))))); + rec_enable_button->set_image (::get_icon (X_("record_tape_red"))); break; } rec_enable_button->show_all (); @@ -754,10 +754,10 @@ RouteTimeAxisView::set_track_mode (TrackMode mode, bool apply_to_selection) switch (mode) { case ARDOUR::NonLayered: case ARDOUR::Normal: - rec_enable_button->add (*(manage (new Image (::get_icon (X_("record_normal_red")))))); + rec_enable_button->set_image (::get_icon (X_("record_normal_red"))); break; case ARDOUR::Destructive: - rec_enable_button->add (*(manage (new Image (::get_icon (X_("record_tape_red")))))); + rec_enable_button->set_image (::get_icon (X_("record_tape_red"))); break; } @@ -2348,7 +2348,7 @@ RouteTimeAxisView::remove_underlay (StreamView* v) void RouteTimeAxisView::set_button_names () { - rec_enable_button_label.set_text (_("r")); + rec_enable_button->set_text (_("r")); if (_route && _route->solo_safe()) { solo_button->remove (); diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index c12658d973..9bedb9b521 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -119,10 +119,8 @@ RouteUI::init () UI::instance()->set_tip (solo_button, _("Mute other (non-soloed) tracks"), ""); solo_button->set_no_show_all (true); - rec_enable_button = manage (new BindableToggleButton); + rec_enable_button = manage (new ArdourButton); rec_enable_button->set_name ("record enable button"); - rec_enable_button->add (rec_enable_button_label); - rec_enable_button_label.show (); UI::instance()->set_tip (rec_enable_button, _("Enable recording on this track"), ""); show_sends_button = manage (new ArdourButton); @@ -541,6 +539,10 @@ RouteUI::rec_enable_press(GdkEventButton* ev) } } + cerr << name() << " re button press, i am " << _i_am_the_modifier << " active state = " + << rec_enable_button->active_state() + << endl; + if (!_i_am_the_modifier && is_track() && rec_enable_button) { if (Keyboard::is_button2_event (ev)) { @@ -550,7 +552,7 @@ RouteUI::rec_enable_press(GdkEventButton* ev) } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) { - _session->set_record_enabled (_session->get_routes(), !rec_enable_button->get_active()); + _session->set_record_enabled (_session->get_routes(), !rec_enable_button->active_state()); } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { @@ -558,7 +560,7 @@ RouteUI::rec_enable_press(GdkEventButton* ev) NOTE: Primary-button2 is MIDI learn. */ if (ev->button == 1 && _route->route_group()) { - _session->set_record_enabled (_route->route_group()->route_list(), !rec_enable_button->get_active(), Session::rt_cleanup, true); + _session->set_record_enabled (_route->route_group()->route_list(), !rec_enable_button->active_state(), Session::rt_cleanup, true); } } else if (Keyboard::is_context_menu_event (ev)) { @@ -569,7 +571,7 @@ RouteUI::rec_enable_press(GdkEventButton* ev) boost::shared_ptr<RouteList> rl (new RouteList); rl->push_back (route()); - _session->set_record_enabled (rl, !rec_enable_button->get_active()); + _session->set_record_enabled (rl, !rec_enable_button->active_state()); } } @@ -734,7 +736,7 @@ RouteUI::step_edit_changed (bool yn) { if (yn) { if (rec_enable_button) { - rec_enable_button->set_visual_state (3); + rec_enable_button->set_active_state (Active); } start_step_editing (); @@ -746,7 +748,7 @@ RouteUI::step_edit_changed (bool yn) } else { if (rec_enable_button) { - rec_enable_button->set_visual_state (0); + rec_enable_button->unset_active_state (); } stop_step_editing (); @@ -1126,30 +1128,15 @@ RouteUI::update_rec_display () return; } - bool model = _route->record_enabled(); - bool view = rec_enable_button->get_active(); - - /* first make sure the button's "depressed" visual - is correct. - */ - - if (model != view) { - ++_i_am_the_modifier; - rec_enable_button->set_active (model); - --_i_am_the_modifier; - } - - /* now make sure its color state is correct */ - - if (model) { + if (_route->record_enabled()) { switch (_session->record_status ()) { case Session::Recording: - rec_enable_button->set_visual_state (1); + rec_enable_button->set_active_state (Active); break; case Session::Disabled: case Session::Enabled: - rec_enable_button->set_visual_state (2); + rec_enable_button->set_active_state (Mid); break; } @@ -1159,7 +1146,7 @@ RouteUI::update_rec_display () } } else { - rec_enable_button->set_visual_state (0); + rec_enable_button->unset_active_state (); if (step_edit_item) { step_edit_item->set_sensitive (true); @@ -1699,7 +1686,7 @@ RouteUI::save_as_template () void RouteUI::check_rec_enable_sensitivity () { - if (_session->transport_rolling() && rec_enable_button->get_active() && Config->get_disable_disarm_during_roll()) { + if (_session->transport_rolling() && rec_enable_button->active_state() && Config->get_disable_disarm_during_roll()) { rec_enable_button->set_sensitive (false); } else { rec_enable_button->set_sensitive (true); diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index a14437b0bf..82b19c7b73 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -94,7 +94,7 @@ class RouteUI : public virtual AxisView Gtk::HBox _invert_button_box; ArdourButton* mute_button; ArdourButton* solo_button; - BindableToggleButton* rec_enable_button; /* audio tracks */ + ArdourButton* rec_enable_button; /* audio tracks */ ArdourButton* show_sends_button; /* busses */ ArdourButton* monitor_input_button; ArdourButton* monitor_disk_button; @@ -104,16 +104,12 @@ class RouteUI : public virtual AxisView ArdourButton* solo_safe_led; ArdourButton* solo_isolated_led; - Gtk::Label rec_enable_button_label; Gtk::Label monitor_input_button_label; Gtk::Label monitor_disk_button_label; void send_blink (bool); sigc::connection send_blink_connection; - virtual std::string solo_button_name () const { return "SoloButton"; } - virtual std::string safe_solo_button_name () const { return "SafeSoloButton"; } - Gtk::Menu* mute_menu; Gtk::Menu* solo_menu; Gtk::Menu* sends_menu; |