Give mixer strips panners and a mono button based on the type of its outputs, not of its track.

git-svn-id: svn://localhost/ardour2/branches/3.0@7581 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2010-08-10 00:09:25 +00:00
parent eaed7cfe25
commit 3cce57d490
3 changed files with 11 additions and 4 deletions

View File

@ -408,12 +408,12 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
if (is_audio_track()) {
boost::shared_ptr<AudioTrack> at = audio_track();
at->FreezeChange.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::map_frozen, this), gui_context());
_mono_button.show ();
panners.show_all ();
}
if (is_midi_track()) {
if (has_audio_outputs ()) {
_mono_button.show ();
panners.show_all ();
} else {
_mono_button.hide ();
panners.hide_all ();
}

View File

@ -1508,6 +1508,12 @@ RouteUI::midi_track() const
return boost::dynamic_pointer_cast<MidiTrack>(_route);
}
bool
RouteUI::has_audio_outputs () const
{
return (_route->n_outputs().n_audio() > 0);
}
string
RouteUI::name() const
{

View File

@ -63,6 +63,7 @@ class RouteUI : public virtual AxisView
bool is_track() const;
bool is_audio_track() const;
bool is_midi_track() const;
bool has_audio_outputs () const;
boost::shared_ptr<ARDOUR::Route> route() const { return _route; }