summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-08 16:24:17 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:14 +0200
commit7121e194374ca6687b38b1dfaaa2bd2b8c555d2b (patch)
tree460880b161481505fbba8533d54744371a61a240
parentc47afaab7463dd3e34cbea35d134c6b78ce7c7d5 (diff)
meterbridge: if track-name starts with number, display only number
-rw-r--r--gtk2_ardour/ardour3_widget_list.rc1
-rw-r--r--gtk2_ardour/meter_strip.cc33
-rw-r--r--gtk2_ardour/meter_strip.h2
-rw-r--r--gtk2_ardour/meterbridge.cc6
4 files changed, 41 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour3_widget_list.rc b/gtk2_ardour/ardour3_widget_list.rc
index 05ebde9421..4a0b7aad9d 100644
--- a/gtk2_ardour/ardour3_widget_list.rc
+++ b/gtk2_ardour/ardour3_widget_list.rc
@@ -352,6 +352,7 @@ widget "*ProcessorList*" style:highest "processor_list"
widget "*PortMatrixLabel*" style:highest "small_text"
widget "*MidiTracerTextView" style:highest "midi_tracer_textview"
widget "*solo isolate" style:highest "solo_isolate"
+widget "meterbridge numlabel" style:highest "larger_text"
widget "*meterbridge label" style:highest "meterbridge_label"
widget "*solo safe" style:highest "solo_safe"
widget "*ContrastingPopup" style:highest "contrasting_popup"
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index 6c3f1abd95..15b208461c 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -147,8 +147,23 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
name_label.set_size_request(18, 50);
name_label.set_alignment(-1.0, .5);
+ number_label.set_alignment(1.0, .5);
+ number_label.set_name("meterbridge numlabel");
+
+ if (atoi(_route->name().c_str()) > 0) {
+ char buf[16];
+ snprintf(buf, 15, "%d", atoi(_route->name().c_str()));
+ number_label.set_text(buf);
+ number_label.show();
+ name_label.hide();
+ } else {
+ name_label.show();
+ number_label.hide();
+ }
+
namebx.set_size_request(18, 52);
namebx.pack_start(name_label, true, false, 3);
+ namebx.pack_start(number_label, true, false, 0);
// rec-enable button
btnbox.pack_start(*rec_enable_button, true, false);
@@ -169,7 +184,6 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
meter_align.show();
peak_align.show();
btnbox.show();
- name_label.show();
namebx.show();
_route->shared_peak_meter()->ConfigurationChanged.connect (
@@ -254,6 +268,17 @@ MeterStrip::strip_property_changed (const PropertyChange& what_changed)
}
ENSURE_GUI_THREAD (*this, &MeterStrip::strip_name_changed, what_changed)
name_label.set_text(_route->name());
+
+ if (atoi(_route->name().c_str()) > 0) {
+ char buf[16];
+ snprintf(buf, 15, "%d", atoi(_route->name().c_str()));
+ number_label.set_text(buf);
+ number_label.show();
+ name_label.hide();
+ } else {
+ name_label.show();
+ number_label.hide();
+ }
}
void
@@ -378,6 +403,12 @@ MeterStrip::set_metric_mode (int metricmode)
meter_metric_area.queue_draw ();
}
+void
+MeterStrip::set_pos (int pos)
+{
+ number_label.set_alignment(1.0, pos%2 ? .2 : .8 );
+}
+
gint
MeterStrip::meter_ticks1_expose (GdkEventExpose *ev)
{
diff --git a/gtk2_ardour/meter_strip.h b/gtk2_ardour/meter_strip.h
index 6a44d19d58..8474d3cf72 100644
--- a/gtk2_ardour/meter_strip.h
+++ b/gtk2_ardour/meter_strip.h
@@ -63,6 +63,7 @@ class MeterStrip : public Gtk::VBox, public RouteUI
void set_meter_type_multi (int, ARDOUR::RouteGroup*, ARDOUR::MeterType);
void set_metric_mode (int);
+ void set_pos(int);
bool has_midi() { return _has_midi; }
protected:
@@ -89,6 +90,7 @@ class MeterStrip : public Gtk::VBox, public RouteUI
Gtk::HBox meterbox;
Gtk::HBox namebx;
ArdourButton name_label;
+ Gtk::Label number_label;
Gtk::DrawingArea meter_metric_area;
Gtk::DrawingArea meter_ticks1_area;
Gtk::DrawingArea meter_ticks2_area;
diff --git a/gtk2_ardour/meterbridge.cc b/gtk2_ardour/meterbridge.cc
index 6a8819d88e..35df88e76a 100644
--- a/gtk2_ardour/meterbridge.cc
+++ b/gtk2_ardour/meterbridge.cc
@@ -587,6 +587,7 @@ Meterbridge::sync_order_keys (RouteSortOrderKey src)
strips.sort(sorter);
int pos = 0;
+ int vis = 0;
for (list<MeterBridgeStrip>::iterator i = strips.begin(); i != strips.end(); ++i) {
@@ -598,6 +599,7 @@ Meterbridge::sync_order_keys (RouteSortOrderKey src)
if (_show_master) {
(*i).s->show();
(*i).visible = true;
+ vis++;
} else {
(*i).s->hide();
(*i).visible = false;
@@ -610,6 +612,7 @@ Meterbridge::sync_order_keys (RouteSortOrderKey src)
if (_show_busses) {
(*i).s->show();
(*i).visible = true;
+ vis++;
} else {
(*i).s->hide();
(*i).visible = false;
@@ -619,6 +622,7 @@ Meterbridge::sync_order_keys (RouteSortOrderKey src)
if (_show_midi) {
(*i).s->show();
(*i).visible = true;
+ vis++;
} else {
(*i).s->hide();
(*i).visible = false;
@@ -627,7 +631,9 @@ Meterbridge::sync_order_keys (RouteSortOrderKey src)
else {
(*i).s->show();
(*i).visible = true;
+ vis++;
}
+ (*i).s->set_pos(vis);
meterarea.reorder_child(*((*i).s), pos++);
}
}