13
0

Remove remnants from AudioMidi Tracks

This fixes meter faceplace background color when adding
a MIDI port to an audio track.
This commit is contained in:
Robin Gareus 2022-12-10 02:34:42 +01:00
parent b2fddeb43d
commit dcf981fe07
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
3 changed files with 28 additions and 43 deletions

View File

@ -1154,19 +1154,15 @@ widget "*MidiTrackStripBaseInactive" style:highest "track_header_inactive"
widget "*AudioTrackMetrics" style:highest "audio_track_metrics"
widget "*MidiTrackMetrics" style:highest "midi_track_metrics"
widget "*AudioBusMetrics" style:highest "audio_bus_metrics"
widget "*AudioMidiTrackMetrics" style:highest "midi_track_metrics"
widget "*AudioTrackMetricsLeft" style:highest "audio_track_metrics"
widget "*MidiTrackMetricsLeft" style:highest "midi_track_metrics"
widget "*AudioBusMetricsLeft" style:highest "audio_bus_metrics"
widget "*AudioMidiTrackMetricsLeft" style:highest "midi_track_metrics"
widget "*AudioTrackMetricsRight" style:highest "audio_track_metrics"
widget "*MidiTrackMetricsRight" style:highest "midi_track_metrics"
widget "*AudioBusMetricsRight" style:highest "audio_bus_metrics"
widget "*AudioMidiTrackMetricsRight" style:highest "midi_track_metrics"
widget "*AudioTrackMetricsInactive" style:highest "audio_track_metrics_inactive"
widget "*MidiTrackMetricsInactive" style:highest "midi_track_metrics_inactive"
widget "*AudioBusMetricsInactive" style:highest "audio_bus_metrics_inactive"
widget "*AudioMidiTrackMetricsInactive" style:highest "midi_track_metrics_inactive"
widget "*TimeAxisViewControlsBaseUnselected" style:highest "audio_track_base"
widget "*AudioTrackControlsBaseUnselected" style:highest "audio_track_base"

View File

@ -1124,38 +1124,30 @@ GainMeter::meter_configuration_changed (ChanCount c)
}
}
if (_route
&& boost::dynamic_pointer_cast<AudioTrack>(_route) == 0
&& boost::dynamic_pointer_cast<MidiTrack>(_route) == 0
) {
if (_route->active()) {
set_meter_strip_name ("AudioBusMetrics");
} else {
set_meter_strip_name ("AudioBusMetricsInactive");
}
}
else if (
(type == (1 << DataType::MIDI))
|| (_route && boost::dynamic_pointer_cast<MidiTrack>(_route))
) {
bool is_audio_track = _route && boost::dynamic_pointer_cast<AudioTrack>(_route) != 0;
bool is_midi_track = _route && boost::dynamic_pointer_cast<MidiTrack>(_route) != 0;
if (!is_audio_track && (is_midi_track || /* MIDI Bus */ (type == (1 << DataType::MIDI)))) {
if (!_route || _route->active()) {
set_meter_strip_name ("MidiTrackMetrics");
} else {
set_meter_strip_name ("MidiTrackMetricsInactive");
}
}
else if (type == (1 << DataType::AUDIO)) {
else if (_route && (!is_audio_track && !is_midi_track)) {
/* Bus */
if (_route->active()) {
set_meter_strip_name ("AudioBusMetrics");
} else {
set_meter_strip_name ("AudioBusMetricsInactive");
}
}
else {
if (!_route || _route->active()) {
set_meter_strip_name ("AudioTrackMetrics");
} else {
set_meter_strip_name ("AudioTrackMetricsInactive");
}
} else {
if (!_route || _route->active()) {
set_meter_strip_name ("AudioMidiTrackMetrics");
} else {
set_meter_strip_name ("AudioMidiTrackMetricsInactive");
}
}
setup_meters();

View File

@ -475,29 +475,26 @@ MeterStrip::meter_configuration_changed (ChanCount c)
}
}
if (boost::dynamic_pointer_cast<AudioTrack>(_route) == 0
&& boost::dynamic_pointer_cast<MidiTrack>(_route) == 0
) {
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 ("MyAudioTrackMetricsLeft");
meter_ticks2_area.set_name ("MyAudioTrackMetricsRight");
_has_midi = false;
}
else if (type == (1 << DataType::MIDI)) {
bool is_audio_track = _route && boost::dynamic_pointer_cast<AudioTrack>(_route) != 0;
bool is_midi_track = _route && boost::dynamic_pointer_cast<MidiTrack>(_route) != 0;
if (!is_audio_track && (is_midi_track || /* MIDI Bus */ (type == (1 << DataType::MIDI)))) {
meter_ticks1_area.set_name ("MidiTrackMetricsLeft");
meter_ticks2_area.set_name ("MidiTrackMetricsRight");
_has_midi = true;
} else {
meter_ticks1_area.set_name ("AudioMidiTrackMetricsLeft");
meter_ticks2_area.set_name ("AudioMidiTrackMetricsRight");
_has_midi = true;
}
else if (_route && (!is_audio_track && !is_midi_track)) {
meter_ticks1_area.set_name ("AudioBusMetricsLeft");
meter_ticks2_area.set_name ("AudioBusMetricsRight");
}
else {
meter_ticks1_area.set_name ("AudioTrackMetricsLeft");
meter_ticks2_area.set_name ("AudioTrackMetricsRight");
}
set_tick_bar(_tick_bar);
_has_midi = 0 != (type & (1 << DataType::MIDI));
on_theme_changed();
if (old_has_midi != _has_midi) {
MetricChanged(); /* EMIT SIGNAL */