get_stripables and get_routelist are now presentationinfo aware
This commit is contained in:
parent
41abf75077
commit
80fd215a5c
@ -127,7 +127,9 @@ class LIBARDOUR_API PresentationInfo : public PBD::Stateful
|
||||
};
|
||||
|
||||
static const Flag AllStripables; /* mask to use for any route or VCA (but not auditioner) */
|
||||
static const Flag MixerStripables; /* mask to use for any route or VCA (but not auditioner or Listenbus) */
|
||||
static const Flag AllRoutes; /* mask to use for any route include master+monitor, but not auditioner */
|
||||
static const Flag MixerRoutes; /* mask to use for any route include master+monitor, but not auditioner or ListenBus*/
|
||||
static const Flag Route; /* mask for any route (bus or track */
|
||||
static const Flag Track; /* mask to use for any track */
|
||||
static const Flag Bus; /* mask to use for any bus */
|
||||
|
@ -287,7 +287,7 @@ public:
|
||||
|
||||
boost::shared_ptr<RTTaskList> rt_tasklist () { return _rt_tasklist; }
|
||||
|
||||
RouteList get_routelist (bool mixer_order = false) const;
|
||||
RouteList get_routelist (bool mixer_order = false, PresentationInfo::Flag fl = PresentationInfo::MixerRoutes) const;
|
||||
|
||||
CoreSelection& selection () { return *_selection; }
|
||||
|
||||
@ -298,7 +298,7 @@ public:
|
||||
* with get_routes()
|
||||
*/
|
||||
|
||||
void get_stripables (StripableList&) const;
|
||||
void get_stripables (StripableList&, PresentationInfo::Flag fl = PresentationInfo::MixerStripables) const;
|
||||
StripableList get_stripables () const;
|
||||
boost::shared_ptr<RouteList> get_tracks() const;
|
||||
boost::shared_ptr<RouteList> get_routes_with_internal_returns() const;
|
||||
|
@ -112,11 +112,13 @@ PresentationInfo::send_static_change (const PropertyChange& what_changed)
|
||||
}
|
||||
|
||||
const PresentationInfo::order_t PresentationInfo::max_order = UINT32_MAX;
|
||||
const PresentationInfo::Flag PresentationInfo::Bus = PresentationInfo::Flag (PresentationInfo::AudioBus|PresentationInfo::MidiBus|PresentationInfo::ListenBus);
|
||||
const PresentationInfo::Flag PresentationInfo::Bus = PresentationInfo::Flag (PresentationInfo::AudioBus|PresentationInfo::MidiBus);
|
||||
const PresentationInfo::Flag PresentationInfo::Track = PresentationInfo::Flag (PresentationInfo::AudioTrack|PresentationInfo::MidiTrack);
|
||||
const PresentationInfo::Flag PresentationInfo::Route = PresentationInfo::Flag (PresentationInfo::Bus|PresentationInfo::Track);
|
||||
const PresentationInfo::Flag PresentationInfo::AllRoutes = PresentationInfo::Flag (PresentationInfo::Route|PresentationInfo::MasterOut|PresentationInfo::MonitorOut);
|
||||
const PresentationInfo::Flag PresentationInfo::AllRoutes = PresentationInfo::Flag (PresentationInfo::Route|PresentationInfo::MasterOut|PresentationInfo::MonitorOut|PresentationInfo::ListenBus);
|
||||
const PresentationInfo::Flag PresentationInfo::MixerRoutes = PresentationInfo::Flag (PresentationInfo::Route|PresentationInfo::MasterOut|PresentationInfo::MonitorOut);
|
||||
const PresentationInfo::Flag PresentationInfo::AllStripables = PresentationInfo::Flag (PresentationInfo::AllRoutes|PresentationInfo::VCA);
|
||||
const PresentationInfo::Flag PresentationInfo::MixerStripables = PresentationInfo::Flag (PresentationInfo::MixerRoutes|PresentationInfo::VCA);
|
||||
|
||||
void
|
||||
PresentationInfo::make_property_quarks ()
|
||||
|
@ -4235,30 +4235,41 @@ Session::cancel_all_mute ()
|
||||
}
|
||||
|
||||
void
|
||||
Session::get_stripables (StripableList& sl) const
|
||||
Session::get_stripables (StripableList& sl, PresentationInfo::Flag fl) const
|
||||
{
|
||||
boost::shared_ptr<RouteList> r = routes.reader ();
|
||||
sl.insert (sl.end(), r->begin(), r->end());
|
||||
for (RouteList::iterator it = r->begin(); it != r->end(); ++it) {
|
||||
if ((*it)->presentation_info ().flags () & fl) {
|
||||
sl.push_back (*it);
|
||||
}
|
||||
}
|
||||
|
||||
VCAList v = _vca_manager->vcas ();
|
||||
sl.insert (sl.end(), v.begin(), v.end());
|
||||
if (fl & PresentationInfo::VCA) {
|
||||
VCAList v = _vca_manager->vcas ();
|
||||
sl.insert (sl.end(), v.begin(), v.end());
|
||||
}
|
||||
}
|
||||
|
||||
StripableList
|
||||
Session::get_stripables () const
|
||||
{
|
||||
PresentationInfo::Flag fl = PresentationInfo::AllStripables;
|
||||
StripableList rv;
|
||||
Session::get_stripables (rv);
|
||||
Session::get_stripables (rv, fl);
|
||||
rv.sort (Stripable::Sorter ());
|
||||
return rv;
|
||||
}
|
||||
|
||||
RouteList
|
||||
Session::get_routelist (bool mixer_order) const
|
||||
Session::get_routelist (bool mixer_order, PresentationInfo::Flag fl) const
|
||||
{
|
||||
boost::shared_ptr<RouteList> r = routes.reader ();
|
||||
RouteList rv;
|
||||
rv.insert (rv.end(), r->begin(), r->end());
|
||||
for (RouteList::iterator it = r->begin(); it != r->end(); ++it) {
|
||||
if ((*it)->presentation_info ().flags () & fl) {
|
||||
rv.push_back (*it);
|
||||
}
|
||||
}
|
||||
rv.sort (Stripable::Sorter (mixer_order));
|
||||
return rv;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user