mixer metric background color fix (MIDI & inactive)
fixes http://tracker.ardour.org/view.php?id=5594
This commit is contained in:
parent
55c5a76e8b
commit
d2c39db64d
|
@ -950,6 +950,8 @@ GainMeter::GainMeter (Session* s, int fader_length)
|
|||
meter_hbox.pack_start (meter_metric_area, false, false);
|
||||
}
|
||||
|
||||
GainMeter::~GainMeter () { }
|
||||
|
||||
void
|
||||
GainMeter::set_controls (boost::shared_ptr<Route> r,
|
||||
boost::shared_ptr<PeakMeter> meter,
|
||||
|
@ -977,6 +979,10 @@ GainMeter::set_controls (boost::shared_ptr<Route> r,
|
|||
}
|
||||
|
||||
|
||||
if (_route) {
|
||||
_route->active_changed.connect (model_connections, invalidator (*this), boost::bind (&GainMeter::route_active_changed, this), gui_context ());
|
||||
}
|
||||
|
||||
/*
|
||||
if we have a non-hidden route (ie. we're not the click or the auditioner),
|
||||
pack some route-dependent stuff.
|
||||
|
@ -1067,19 +1073,22 @@ GainMeter::meter_configuration_changed (ChanCount c)
|
|||
set_meter_strip_name ("AudioBusMetricsInactive");
|
||||
}
|
||||
}
|
||||
else if (
|
||||
(type == (1 << DataType::MIDI))
|
||||
|| (_route && boost::dynamic_pointer_cast<MidiTrack>(_route))
|
||||
) {
|
||||
if (!_route || _route->active()) {
|
||||
set_meter_strip_name ("MidiTrackMetrics");
|
||||
} else {
|
||||
set_meter_strip_name ("MidiTrackMetricsInactive");
|
||||
}
|
||||
}
|
||||
else if (type == (1 << DataType::AUDIO)) {
|
||||
if (!_route || _route->active()) {
|
||||
set_meter_strip_name ("AudioTrackMetrics");
|
||||
} else {
|
||||
set_meter_strip_name ("AudioTrackMetricsInactive");
|
||||
}
|
||||
}
|
||||
else if (type == (1 << DataType::MIDI)) {
|
||||
if (!_route || _route->active()) {
|
||||
set_meter_strip_name ("MidiTrackMetrics");
|
||||
} else {
|
||||
set_meter_strip_name ("MidiTrackMetricsInactive");
|
||||
}
|
||||
} else {
|
||||
if (!_route || _route->active()) {
|
||||
set_meter_strip_name ("AudioMidiTrackMetrics");
|
||||
|
@ -1090,6 +1099,14 @@ GainMeter::meter_configuration_changed (ChanCount c)
|
|||
meter_clear_pattern_cache(4);
|
||||
}
|
||||
|
||||
void
|
||||
GainMeter::route_active_changed ()
|
||||
{
|
||||
if (_meter) {
|
||||
meter_configuration_changed (_meter->input_streams ());
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
GainMeter::meter_type_changed (MeterType t)
|
||||
{
|
||||
|
|
|
@ -201,7 +201,7 @@ class GainMeter : public GainMeterBase, public Gtk::VBox
|
|||
{
|
||||
public:
|
||||
GainMeter (ARDOUR::Session*, int);
|
||||
~GainMeter () {}
|
||||
virtual ~GainMeter ();
|
||||
|
||||
virtual void set_controls (boost::shared_ptr<ARDOUR::Route> route,
|
||||
boost::shared_ptr<ARDOUR::PeakMeter> meter,
|
||||
|
@ -210,6 +210,7 @@ class GainMeter : public GainMeterBase, public Gtk::VBox
|
|||
int get_gm_width ();
|
||||
void setup_meters (int len=0);
|
||||
void set_type (ARDOUR::MeterType);
|
||||
void route_active_changed ();
|
||||
|
||||
protected:
|
||||
void hide_all_meters ();
|
||||
|
|
Loading…
Reference in New Issue