{
level_meter = 0;
_strip_type = 0;
- strip.set_spacing(2);
+ _tick_bar = 0;
+ mtr_vbox.set_spacing(2);
+ nfo_vbox.set_spacing(2);
peakbx.set_size_request(-1, 14);
namebx.set_size_request(18, 52);
+ spacer.set_size_request(-1,0);
set_metric_mode(metricmode, mt);
meterbox.pack_start(meter_metric_area, true, false);
- strip.pack_start (peakbx, false, false);
- strip.pack_start (meterbox, true, true);
- strip.pack_start (btnbox, false, false);
- strip.pack_start (namebx, false, false);
- add(strip);
+ mtr_vbox.pack_start (peakbx, false, false);
+ mtr_vbox.pack_start (meterbox, true, true);
+ mtr_vbox.pack_start (spacer, false, false);
+ mtr_container.add(mtr_vbox);
+
+ mtr_hsep.set_size_request(-1,1);
+ mtr_hsep.set_name("BlackSeparator");
+
+ nfo_vbox.pack_start (mtr_hsep, false, false);
+ nfo_vbox.pack_start (btnbox, false, false);
+ nfo_vbox.pack_start (namebx, false, false);
+
+ pack_start (mtr_container, true, true);
+ pack_start (nfo_vbox, false, false);
peakbx.show();
btnbox.show();
meter_metric_area.show();
meterbox.show();
- strip.show();
+ spacer.show();
+ mtr_vbox.show();
+ mtr_container.show();
+ mtr_hsep.show();
+ nfo_vbox.show();
UI::instance()->theme_changed.connect (sigc::mem_fun(*this, &MeterStrip::on_theme_changed));
ColorsChanged.connect (sigc::mem_fun (*this, &MeterStrip::on_theme_changed));
, _route(rt)
, peak_display()
{
- strip.set_spacing(2);
+ mtr_vbox.set_spacing(2);
+ nfo_vbox.set_spacing(2);
RouteUI::set_route (rt);
SessionHandlePtr::set_session (sess);
_has_midi = false;
+ _tick_bar = 0;
int meter_width = 6;
if (_route->shared_peak_meter()->input_streams().n_total() == 1) {
}
// level meter + ticks
- level_meter = new LevelMeter(sess);
+ level_meter = new LevelMeterHBox(sess);
level_meter->set_meter (_route->shared_peak_meter().get());
level_meter->clear_meters();
level_meter->set_type (_route->meter_type());
mutebox.set_size_request(16, 16);
solobox.set_size_request(16, 16);
recbox.set_size_request(16, 16);
+ spacer.set_size_request(-1,0);
update_button_box();
update_name_box();
update_background (_route->meter_type());
- strip.pack_start (peakbx, false, false);
- strip.pack_start (meterbox, true, true);
- strip.pack_start (btnbox, false, false);
- strip.pack_start (namebx, false, false);
+ mtr_vbox.pack_start (peakbx, false, false);
+ mtr_vbox.pack_start (meterbox, true, true);
+ mtr_vbox.pack_start (spacer, false, false);
+ mtr_container.add(mtr_vbox);
+
+ mtr_hsep.set_size_request(-1,1);
+ mtr_hsep.set_name("BlackSeparator");
+
+ nfo_vbox.pack_start (mtr_hsep, false, false);
+ nfo_vbox.pack_start (btnbox, false, false);
+ nfo_vbox.pack_start (namebx, false, false);
+
+ pack_start (mtr_container, true, true);
+ pack_start (nfo_vbox, false, false);
+
name_label.show();
peak_display.show();
peakbx.show();
meter_ticks1_area.show();
meter_ticks2_area.show();
meterbox.show();
+ spacer.show();
level_meter->show();
meter_align.show();
peak_align.show();
btnbox.show();
- add(strip);
- strip.show();
+ mtr_vbox.show();
+ mtr_container.show();
+ mtr_hsep.show();
+ nfo_vbox.show();
_route->shared_peak_meter()->ConfigurationChanged.connect (
route_connections, invalidator (*this), boost::bind (&MeterStrip::meter_configuration_changed, this, _1), gui_context()
if (boost::dynamic_pointer_cast<AudioTrack>(_route) == 0
&& boost::dynamic_pointer_cast<MidiTrack>(_route) == 0
) {
- meter_ticks1_area.set_name ("AudioBusMetricsLeft");
- meter_ticks2_area.set_name ("AudioBusMetricsRight");
+ meter_ticks1_area.set_name ("MyAudioBusMetricsLeft");
+ meter_ticks2_area.set_name ("MyAudioBusMetricsRight");
_has_midi = false;
}
else if (type == (1 << DataType::AUDIO)) {
- meter_ticks1_area.set_name ("AudioTrackMetricsLeft");
- meter_ticks2_area.set_name ("AudioTrackMetricsRight");
+ meter_ticks1_area.set_name ("MyAudioTrackMetricsLeft");
+ meter_ticks2_area.set_name ("MyAudioTrackMetricsRight");
_has_midi = false;
}
else if (type == (1 << DataType::MIDI)) {
meter_ticks2_area.set_name ("AudioMidiTrackMetricsRight");
_has_midi = true;
}
+ set_tick_bar(_tick_bar);
on_theme_changed();
if (old_has_midi != _has_midi) MetricChanged();
else ConfigurationChanged();
}
+void
+MeterStrip::set_tick_bar (int m)
+{
+ std::string n;
+ _tick_bar = m;
+ if (_tick_bar & 1) {
+ n = meter_ticks1_area.get_name();
+ if (n.substr(0,3) != "Bar") {
+ meter_ticks1_area.set_name("Bar" + n);
+ }
+ } else {
+ n = meter_ticks1_area.get_name();
+ if (n.substr(0,3) == "Bar") {
+ meter_ticks1_area.set_name(n.substr(3,-1));
+ }
+ }
+ if (_tick_bar & 2) {
+ n = meter_ticks2_area.get_name();
+ if (n.substr(0,3) != "Bar") {
+ meter_ticks2_area.set_name("Bar" + n);
+ }
+ } else {
+ n = meter_ticks2_area.get_name();
+ if (n.substr(0,3) == "Bar") {
+ meter_ticks2_area.set_name(n.substr(3,-1));
+ }
+ }
+}
+
void
MeterStrip::on_size_request (Gtk::Requisition* r)
{
- EventBox::on_size_request(r);
+ VBox::on_size_request(r);
}
void
name_label.set_size_request(18, nh-2);
name_label.layout()->set_width((nh-4) * PANGO_SCALE);
}
- EventBox::on_size_allocate(a);
+ VBox::on_size_allocate(a);
}
gint
case MeterIEC2EBU:
case MeterK14:
case MeterK20:
- set_name ("meterstripPPM");
+ mtr_container.set_name ("meterstripPPM");
break;
case MeterVU:
- set_name ("meterstripVU");
+ mtr_container.set_name ("meterstripVU");
break;
default:
- set_name ("meterstripDPM");
+ mtr_container.set_name ("meterstripDPM");
}
}