summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-11-28 17:58:15 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-11-28 17:58:15 +0000
commita296820cafc1745542bb5371f2613b283efa8a73 (patch)
tree816fed324c0e0c28a5400185b50a5c6ea604c8d7 /gtk2_ardour
parenteee1151e555a268d78d76807330ba990b479338b (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.conf47
-rw-r--r--gtk2_ardour/ardour3_widget_list.rc14
-rw-r--r--gtk2_ardour/canvas_vars.h3
-rw-r--r--gtk2_ardour/mixer_strip.cc93
-rw-r--r--gtk2_ardour/mixer_strip.h26
-rw-r--r--gtk2_ardour/route_ui.cc18
-rw-r--r--gtk2_ardour/route_ui.h4
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>);