summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-07-06 20:14:12 +0200
committerRobin Gareus <robin@gareus.org>2014-07-06 20:14:12 +0200
commit40d377c288e8fe3630aa2c2cef978ac018c622a7 (patch)
tree9474a6c80b3ba2df2ae2a3b584e722a640772082 /gtk2_ardour
parent381b6848fc23ae49fabb23cf6b1e0f641034ee84 (diff)
add number-label at top of mixer-strip
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/mixer_strip.cc24
-rw-r--r--gtk2_ardour/mixer_strip.h1
2 files changed, 23 insertions, 2 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 9767707e6a..d21efb2a75 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -292,6 +292,14 @@ MixerStrip::init ()
width_hide_box.pack_start (top_event_box, true, true);
width_hide_box.pack_end (hide_button, false, true);
+ number_label.set_text ("-");
+ number_label.set_no_show_all ();
+ number_label.set_name ("tracknumber label");
+ number_label.set_fixed_colors (0x80808080, 0x80808080);
+ number_label.set_elements (ArdourButton::Element(ArdourButton::Body | ArdourButton::Text));
+ number_label.set_alignment (.5, .5);
+ top_event_box.add (number_label);
+
whvbox.pack_start (width_hide_box, true, true);
global_vpacker.set_spacing (2);
@@ -335,6 +343,7 @@ MixerStrip::init ()
/* ditto for this button and busses */
+ number_label.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_press), false);
name_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_press), false);
group_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::select_route_group), false);
@@ -586,6 +595,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
if (!route()->is_master() && !route()->is_monitor()) {
/* we don't allow master or control routes to be hidden */
hide_button.show();
+ number_label.show();
}
gpm.reset_peak_display ();
@@ -1500,6 +1510,7 @@ MixerStrip::route_color_changed ()
{
name_button.modify_bg (STATE_NORMAL, color());
top_event_box.modify_bg (STATE_NORMAL, color());
+ number_label.set_fixed_colors (gdk_color_to_rgba (color()), gdk_color_to_rgba (color()));
reset_strip_style ();
}
@@ -1605,12 +1616,21 @@ MixerStrip::name_changed ()
switch (_width) {
case Wide:
if (_session->config.get_track_name_number()) {
- name_button.set_markup(track_number_to_string (_route->track_number (), " ", _route->name ()));
+ const int64_t track_number = _route->track_number ();
+ if (track_number == 0) {
+ number_label.set_text ("-");
+ number_label.hide();
+ } else {
+ number_label.set_text (PBD::to_string (abs(_route->track_number ()), std::dec));
+ number_label.show();
+ }
} else {
- name_button.set_text (_route->name());
+ number_label.hide();
}
+ name_button.set_text (_route->name());
break;
case Narrow:
+ number_label.hide();
if (_session->config.get_track_name_number()) {
name_button.set_markup(track_number_to_string (_route->track_number (), " ",
PBD::short_version (_route->name (), 5)));
diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h
index afb165f36a..4286cfbbe3 100644
--- a/gtk2_ardour/mixer_strip.h
+++ b/gtk2_ardour/mixer_strip.h
@@ -151,6 +151,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
ArdourButton hide_button;
ArdourButton width_button;
+ ArdourButton number_label;
Gtk::HBox width_hide_box;
Gtk::VBox whvbox;
Gtk::EventBox top_event_box;