diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-11-28 17:58:15 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-11-28 17:58:15 +0000 |
commit | a296820cafc1745542bb5371f2613b283efa8a73 (patch) | |
tree | 816fed324c0e0c28a5400185b50a5c6ea604c8d7 /gtk2_ardour | |
parent | eee1151e555a268d78d76807330ba990b479338b (diff) |
convert all mixer strip buttons to ArdourButton; not entirely finished because colors in the name and comments buttons don't work as intended - needs a bit of thinking
git-svn-id: svn://localhost/ardour2/branches/3.0@10830 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour3_ui_default.conf | 47 | ||||
-rw-r--r-- | gtk2_ardour/ardour3_widget_list.rc | 14 | ||||
-rw-r--r-- | gtk2_ardour/canvas_vars.h | 3 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 93 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.h | 26 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.cc | 18 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.h | 4 |
7 files changed, 106 insertions, 99 deletions
diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/ardour3_ui_default.conf index 8c9c65ce1a..9669b20e38 100644 --- a/gtk2_ardour/ardour3_ui_default.conf +++ b/gtk2_ardour/ardour3_ui_default.conf @@ -495,6 +495,21 @@ <Option name="send alert button: text" value="ccccccff"/> <Option name="send alert button: text active" value="000000ff"/> <Option name="send alert button: text mid" value="00000000"/> + <Option name="midi input button: border start" value="9e9e9eff"/> + <Option name="midi input button: border end" value="070707ff"/> + <Option name="midi input button: border start selected" value="00000000"/> + <Option name="midi input button: border end selected" value="00000000"/> + <Option name="midi input button: fill start" value="656867ff"/> + <Option name="midi input button: fill end" value="333333ff"/> + <Option name="midi input button: fill start active" value="a1ff43ff"/> + <Option name="midi input button: fill end active" value="00a300ff"/> + <Option name="midi input button: fill start mid" value="000000ff"/> + <Option name="midi input button: fill end mid" value="00000000"/> + <Option name="midi input button: led" value="00000000"/> + <Option name="midi input button: led active" value="00000000"/> + <Option name="midi input button: led mid" value="00000000"/> + <Option name="midi input button: text" value="00000000"/> + <Option name="midi input button: text active" value="00000000"/> <Option name="transport button: border start" value="9e9e9eff"/> <Option name="transport button: border end" value="070707ff"/> <Option name="transport button: border start selected" value="00000000"/> @@ -639,6 +654,38 @@ <Option name="route button: text" value="c7c7d8ff"/> <Option name="route button: text active" value="c8c8d9ff"/> <Option name="route button: text mid" value="000000ff"/> + <Option name="mixer strip button: border start" value="b7b7d2ff"/> + <Option name="mixer strip button: border end" value="000000ff"/> + <Option name="mixer strip button: border start selected" value="8e8e9aff"/> + <Option name="mixer strip button: border end selected" value="5b5b67ff"/> + <Option name="mixer strip button: fill start" value="56565dff"/> + <Option name="mixer strip button: fill end" value="484856ff"/> + <Option name="mixer strip button: fill start active" value="4d4d4dff"/> + <Option name="mixer strip button: fill end active" value="121212ff"/> + <Option name="mixer strip button: fill start mid" value="57565dff"/> + <Option name="mixer strip button: fill end mid" value="484856ff"/> + <Option name="mixer strip button: led" value="4f3300ff"/> + <Option name="mixer strip button: led active" value="ffa500ff"/> + <Option name="mixer strip button: led mid" value="b87700ff"/> + <Option name="mixer strip button: text" value="c7c7d8ff"/> + <Option name="mixer strip button: text active" value="c8c8d9ff"/> + <Option name="mixer strip button: text mid" value="000000ff"/> + <Option name="mixer strip name button: border start" value="b7b7d2ff"/> + <Option name="mixer strip name button: border end" value="000000ff"/> + <Option name="mixer strip name button: border start selected" value="8e8e9aff"/> + <Option name="mixer strip name button: border end selected" value="5b5b67ff"/> + <Option name="mixer strip name button: fill start" value="56565dff"/> + <Option name="mixer strip name button: fill end" value="484856ff"/> + <Option name="mixer strip name button: fill start active" value="4d4d4dff"/> + <Option name="mixer strip name button: fill end active" value="121212ff"/> + <Option name="mixer strip name button: fill start mid" value="57565dff"/> + <Option name="mixer strip name button: fill end mid" value="484856ff"/> + <Option name="mixer strip name button: led" value="4f3300ff"/> + <Option name="mixer strip name button: led active" value="ffa500ff"/> + <Option name="mixer strip name button: led mid" value="b87700ff"/> + <Option name="mixer strip name button: text" value="c7c7d8ff"/> + <Option name="mixer strip name button: text active" value="c8c8d9ff"/> + <Option name="mixer strip name button: text mid" value="000000ff"/> <Option name="transport clock: background" value="000000ff"/> <Option name="transport clock: text" value="6bb620ff"/> <Option name="transport clock: edited text" value="ffa500ff"/> diff --git a/gtk2_ardour/ardour3_widget_list.rc b/gtk2_ardour/ardour3_widget_list.rc index 0f55f148df..a3c128ee1d 100644 --- a/gtk2_ardour/ardour3_widget_list.rc +++ b/gtk2_ardour/ardour3_widget_list.rc @@ -35,16 +35,9 @@ widget "*TrackVisualButton*" style:highest "default_button" widget "*TrackRemoveButton*" style:highest "default_button" widget "*BaseButton" style:highest "default_button" widget "*TakeButtonLabel" style:highest "default_button" -widget "*MixerWidthButton" style:highest "default_button" -widget "*MixerHideButton" style:highest "default_button" -widget "*MixerSendButton" style:highest "default_button" -widget "*MixerSendButtonLabel" style:highest "default_button" -widget "*MixerSendSwitch" style:highest "default_button" -widget "*MixerInsertButton" style:highest "default_button" -widget "*MixerInsertButtonLabel" style:highest "default_button" -widget "*MixerInsertSwitch" style:highest "default_button" -widget "*MixerIOButton" style:highest "very_small_button" -widget "*MixerIOButtonLabel" style:highest "very_small_button" + +widget "*mixer strip button" style:highest "very_small_button" + widget "*AddRouteDialogSpinner" style:highest "ardour_adjusters" widget "*AddRouteDialogRadioButton*" style:highest "preferences" widget "*OptionsNotebook" style:highest "preferences" @@ -367,7 +360,6 @@ widget "*TimeInfoPunchTitle" style:highest "very_small_text" widget "*TimeInfoPunchButton" style:highest "very_small_text" widget "*RouteNameEditorEntry" style:highest "text_cell_entry" widget "*RegionNameEditorEntry" style:highest "text_cell_entry" -widget "*MixerMidiInputEnableButton" style:highest "mouse_mode_button" widget "*EditorRouteGroupsAllGroupButton" style:highest "default_toggle_button" widget "*MidiSoundNotesButton" style:highest "default_toggle_button" widget "*MeasureLatencyButton" style:highest "default_toggle_button" diff --git a/gtk2_ardour/canvas_vars.h b/gtk2_ardour/canvas_vars.h index 7688f0c629..26d2c7585e 100644 --- a/gtk2_ardour/canvas_vars.h +++ b/gtk2_ardour/canvas_vars.h @@ -187,6 +187,9 @@ BUTTON_VARS(PunchButton, "punch button") BUTTON_VARS(MouseModeButton, "mouse mode button") BUTTON_VARS(ZoomButton, "zoom button") BUTTON_VARS(RouteButton, "route button") +BUTTON_VARS(MixerStripButton, "mixer strip button") +BUTTON_VARS(MixerStripNameButton, "mixer strip name button") +BUTTON_VARS(MidiInputButton, "midi input button") #define CLOCK_VARS(root,name) \ CANVAS_VARIABLE(canvasvar_ ## root ## Background, name ": background") \ diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index ac61ea9d29..3e829074c8 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -91,7 +91,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer) , top_button_table (1, 2) , middle_button_table (1, 2) , bottom_button_table (1, 2) - , meter_point_label (_("pre")) + , meter_point_button (_("pre")) , midi_input_enable_button (0) , _comment_button (_("Comments")) , _visibility (X_("mixer-strip-visibility")) @@ -119,7 +119,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr<Route> rt , button_table (3, 1) , middle_button_table (1, 2) , bottom_button_table (1, 2) - , meter_point_label (_("pre")) + , meter_point_button (_("pre")) , midi_input_enable_button (0) , _comment_button (_("Comments")) , _visibility (X_("mixer-strip-visibility")) @@ -145,43 +145,29 @@ MixerStrip::init () /* the length of this string determines the width of the mixer strip when it is set to `wide' */ longest_label = "longest label"; - Gtk::Image* img; - - img = manage (new Gtk::Image (::get_icon("strip_width"))); - img->show (); - string t = _("Click to toggle the width of this mixer strip."); if (_mixer_owned) { t += string_compose (_("\n%1-click to toggle the width of all strips."), Keyboard::tertiary_modifier_name ()); } - width_button.add (*img); + width_button.set_image (::get_icon("strip_width")); ARDOUR_UI::instance()->set_tip (width_button, t); - img = manage (new Gtk::Image (::get_icon("hide"))); - img->show (); - - hide_button.add (*img); + hide_button.set_image(::get_icon("hide")); ARDOUR_UI::instance()->set_tip (&hide_button, _("Hide this mixer strip")); - input_label.set_text (_("Input")); + input_button.set_text (_("Input")); ARDOUR_UI::instance()->set_tip (&input_button, _("Button 1 to choose inputs from a port matrix, button 3 to select inputs from a menu"), ""); - input_button.add (input_label); - input_button.set_name ("MixerIOButton"); - input_label.set_name ("MixerIOButtonLabel"); + input_button.set_name ("mixer strip button"); input_button_box.pack_start (input_button, true, true); - output_label.set_text (_("Output")); + output_button.set_text (_("Output")); ARDOUR_UI::instance()->set_tip (&output_button, _("Button 1 to choose outputs from a port matrix, button 3 to select inputs from a menu"), ""); - output_button.add (output_label); - output_button.set_name ("MixerIOButton"); - output_label.set_name ("MixerIOButtonLabel"); + output_button.set_name ("mixer strip button"); Gtkmm2ext::set_size_request_to_display_given_text (output_button, longest_label.c_str(), 4, 4); ARDOUR_UI::instance()->set_tip (&meter_point_button, _("Select metering point"), ""); - meter_point_button.add (meter_point_label); - meter_point_button.set_name ("MixerStripMeterPreButton"); - meter_point_label.set_name ("MixerStripMeterPreButton"); + meter_point_button.set_name ("mixer strip button"); /* TRANSLATORS: this string should be longest of the strings used to describe meter points. In english, it's "input". @@ -262,29 +248,25 @@ MixerStrip::init () bottom_button_table.set_homogeneous (true); bottom_button_table.attach (group_button, 0, 1, 0, 1); - name_button.add (name_label); - name_button.set_name ("MixerNameButton"); + name_button.set_name ("mixer strip name button"); Gtkmm2ext::set_size_request_to_display_given_text (name_button, longest_label.c_str(), 2, 2); - name_label.set_name ("MixerNameButtonLabel"); ARDOUR_UI::instance()->set_tip (&group_button, _("Mix group"), ""); - group_button.add (group_label); - group_button.set_name ("MixerGroupButton"); + group_button.set_name ("mixer strip button"); Gtkmm2ext::set_size_request_to_display_given_text (group_button, "Group", 2, 2); - group_label.set_name ("MixerGroupButtonLabel"); - _comment_button.set_name (X_("MixerCommentButton")); - _comment_button.signal_clicked().connect (sigc::mem_fun (*this, &MixerStrip::toggle_comment_editor)); + _comment_button.set_name (X_("mixer strip button")); + _comment_button.signal_clicked.connect (sigc::mem_fun (*this, &MixerStrip::toggle_comment_editor)); global_vpacker.set_border_width (0); global_vpacker.set_spacing (0); - width_button.set_name ("MixerWidthButton"); - hide_button.set_name ("MixerHideButton"); - top_event_box.set_name ("MixerTopEventBox"); + width_button.set_name ("mixer strip button"); + hide_button.set_name ("mixer strip button"); + top_event_box.set_name ("mixer strip button"); width_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::width_button_pressed), false); - hide_button.signal_clicked().connect (sigc::mem_fun(*this, &MixerStrip::hide_clicked)); + hide_button.signal_clicked.connect (sigc::mem_fun(*this, &MixerStrip::hide_clicked)); width_hide_box.pack_start (width_button, false, true); width_hide_box.pack_start (top_event_box, true, true); @@ -456,10 +438,9 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt) if (is_midi_track()) { if (midi_input_enable_button == 0) { - Image* img = manage (new Image (get_icon (X_("midi_socket_small")))); - midi_input_enable_button = manage (new StatefulToggleButton); - midi_input_enable_button->set_name ("MixerMidiInputEnableButton"); - midi_input_enable_button->set_image (*img); + midi_input_enable_button = manage (new ArdourButton); + midi_input_enable_button->set_name ("midi input button"); + midi_input_enable_button->set_image (::get_icon (X_("midi_socket_small"))); midi_input_enable_button->signal_button_press_event().connect (sigc::mem_fun (*this, &MixerStrip::input_active_button_press), false); midi_input_enable_button->signal_button_release_event().connect (sigc::mem_fun (*this, &MixerStrip::input_active_button_release), false); ARDOUR_UI::instance()->set_tip (midi_input_enable_button, _("Enable/Disable MIDI input")); @@ -506,7 +487,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt) } } - meter_point_label.set_text (meter_point_string (_route->meter_point())); + meter_point_button.set_text (meter_point_string (_route->meter_point())); delete route_ops_menu; route_ops_menu = 0; @@ -561,20 +542,12 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt) middle_button_table.show(); bottom_button_table.show(); gpm.show_all (); - gain_unit_button.show(); - gain_unit_label.show(); meter_point_button.show(); - meter_point_label.show(); - diskstream_button.show(); - diskstream_label.show(); input_button_box.show_all(); output_button.show(); - output_label.show(); - name_label.show(); name_button.show(); _comment_button.show(); group_button.show(); - group_label.show(); parameter_changed ("mixer-strip-visibility"); @@ -1231,9 +1204,9 @@ MixerStrip::update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width widt } if (for_input) { - input_label.set_text (label_string); + input_button.set_text (label_string); } else { - output_label.set_text (label_string); + output_button.set_text (label_string); } } @@ -1289,20 +1262,20 @@ MixerStrip::setup_comment_button () case Wide: if (_route->comment().empty ()) { _comment_button.unset_bg (STATE_NORMAL); - ((Gtk::Label *) _comment_button.get_child ())->set_text (_("Comments")); + _comment_button.set_text (_("Comments")); } else { _comment_button.modify_bg (STATE_NORMAL, color ()); - ((Gtk::Label *) _comment_button.get_child ())->set_text (_("*Comments*")); + _comment_button.set_text (_("*Comments*")); } break; case Narrow: if (_route->comment().empty ()) { _comment_button.unset_bg (STATE_NORMAL); - ((Gtk::Label *) _comment_button.get_child ())->set_text (_("Cmt")); + _comment_button.set_text (_("Cmt")); } else { _comment_button.modify_bg (STATE_NORMAL, color ()); - ((Gtk::Label *) _comment_button.get_child ())->set_text (_("*Cmt*")); + _comment_button.set_text (_("*Cmt*")); } break; } @@ -1421,14 +1394,14 @@ MixerStrip::route_group_changed () RouteGroup *rg = _route->route_group(); if (rg) { - group_label.set_text (PBD::short_version (rg->name(), 5)); + group_button.set_text (PBD::short_version (rg->name(), 5)); } else { switch (_width) { case Wide: - group_label.set_text (_("Grp")); + group_button.set_text (_("Grp")); break; case Narrow: - group_label.set_text (_("~G")); + group_button.set_text (_("~G")); break; } } @@ -1529,10 +1502,10 @@ MixerStrip::name_changed () { switch (_width) { case Wide: - RouteUI::property_changed (PropertyChange (ARDOUR::Properties::name)); + name_button.set_text (_route->name()); break; case Narrow: - name_label.set_text (PBD::short_version (_route->name(), 5)); + name_button.set_text (PBD::short_version (_route->name(), 5)); break; } } @@ -1716,7 +1689,7 @@ MixerStrip::meter_point_string (MeterPoint mp) void MixerStrip::meter_changed () { - meter_point_label.set_text (meter_point_string (_route->meter_point())); + meter_point_button.set_text (meter_point_string (_route->meter_point())); gpm.setup_meters (); // reset peak when meter point changes gpm.reset_peak_display(); diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h index 6ef282e697..09b5c150d0 100644 --- a/gtk2_ardour/mixer_strip.h +++ b/gtk2_ardour/mixer_strip.h @@ -149,8 +149,8 @@ class MixerStrip : public RouteUI, public Gtk::EventBox Width _width; void* _width_owner; - Gtk::Button hide_button; - Gtk::Button width_button; + ArdourButton hide_button; + ArdourButton width_button; Gtk::HBox width_hide_box; Gtk::VBox whvbox; Gtk::EventBox top_event_box; @@ -174,22 +174,15 @@ class MixerStrip : public RouteUI, public Gtk::EventBox Gtk::Table middle_button_table; Gtk::Table bottom_button_table; - Gtk::Button gain_unit_button; - Gtk::Label gain_unit_label; - Gtk::Button meter_point_button; - Gtk::Label meter_point_label; + ArdourButton meter_point_button; void meter_changed (); - Gtk::Button diskstream_button; - Gtk::Label diskstream_label; + ArdourButton input_button; + ArdourButton output_button; - Gtk::Button input_button; - Gtkmm2ext::StatefulToggleButton* midi_input_enable_button; + ArdourButton* midi_input_enable_button; Gtk::HBox input_button_box; - Gtk::Label input_label; - Gtk::Button output_button; - Gtk::Label output_label; std::string longest_label; @@ -200,11 +193,11 @@ class MixerStrip : public RouteUI, public Gtk::EventBox gint mark_update_safe (); guint32 mode_switch_in_progress; - Gtk::Button name_button; + ArdourButton name_button; ArdourWindow* comment_window; Gtk::TextView* comment_area; - Gtk::Button _comment_button; + ArdourButton _comment_button; void comment_editor_done_editing (); void setup_comment_editor (); @@ -212,8 +205,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox void toggle_comment_editor (); void setup_comment_button (); - Gtk::Button group_button; - Gtk::Label group_label; + ArdourButton group_button; RouteGroupMenu *group_menu; gint input_press (GdkEventButton *); diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 50d5cec5d7..a0f9364687 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -1765,7 +1765,7 @@ void RouteUI::setup_invert_buttons () { /* remove old invert buttons */ - for (list<BindableToggleButton*>::iterator i = _invert_buttons.begin(); i != _invert_buttons.end(); ++i) { + for (list<ArdourButton*>::iterator i = _invert_buttons.begin(); i != _invert_buttons.end(); ++i) { _invert_button_box.remove (**i); } @@ -1780,15 +1780,15 @@ RouteUI::setup_invert_buttons () uint32_t const to_add = (N <= _max_invert_buttons) ? N : 1; for (uint32_t i = 0; i < to_add; ++i) { - BindableToggleButton* b = manage (new BindableToggleButton); - b->signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::invert_toggled), i, b)); + ArdourButton* b = manage (new ArdourButton); + b->StateChanged.connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::invert_toggled), i, b)); b->signal_button_press_event().connect (sigc::mem_fun (*this, &RouteUI::invert_press)); - b->set_name (X_("MixerInvertButton")); + b->set_name (X_("mixer strip button")); if (to_add == 1) { - b->add (*manage (new Label (X_("Ø")))); + b->set_text (X_("Ø")); } else { - b->add (*manage (new Label (string_compose (X_("Ø%1"), i + 1)))); + b->set_text (string_compose (X_("Ø%1"), i + 1)); } if (N <= 4) { @@ -1817,7 +1817,7 @@ RouteUI::set_invert_button_state () } int j = 0; - for (list<BindableToggleButton*>::iterator i = _invert_buttons.begin(); i != _invert_buttons.end(); ++i, ++j) { + for (list<ArdourButton*>::iterator i = _invert_buttons.begin(); i != _invert_buttons.end(); ++i, ++j) { (*i)->set_active (_route->phase_invert (j)); } @@ -1825,7 +1825,7 @@ RouteUI::set_invert_button_state () } void -RouteUI::invert_toggled (uint32_t i, BindableToggleButton* b) +RouteUI::invert_toggled (uint32_t i, ArdourButton* b) { if (_i_am_the_modifier) { return; @@ -1884,7 +1884,7 @@ RouteUI::invert_menu_toggled (uint32_t c) void RouteUI::set_invert_sensitive (bool yn) { - for (list<BindableToggleButton*>::iterator b = _invert_buttons.begin(); b != _invert_buttons.end(); ++b) { + for (list<ArdourButton*>::iterator b = _invert_buttons.begin(); b != _invert_buttons.end(); ++b) { (*b)->set_sensitive (yn); } } diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 1240de8716..9420e4aa59 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -271,12 +271,12 @@ class RouteUI : public virtual AxisView void setup_invert_buttons (); void set_invert_button_state (); - void invert_toggled (uint32_t, BindableToggleButton *); + void invert_toggled (uint32_t, ArdourButton *); void invert_menu_toggled (uint32_t); bool invert_press (GdkEventButton *); int _i_am_the_modifier; - std::list<BindableToggleButton*> _invert_buttons; + std::list<ArdourButton*> _invert_buttons; Gtk::Menu* _invert_menu; static void set_showing_sends_to (boost::shared_ptr<ARDOUR::Route>); |