X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fsource.cc;h=74ca0afcd4bb932fe36605762cd43a7d7fe85f43;hb=f3e5450492109bb4fab898ae824e30ede28bf7b5;hp=7ade8a8573fdd7db1187520cd62cd6b3c0057dfc;hpb=ffdf5ada616d285fafb58f45c2e3d37b212a328a;p=ardour.git diff --git a/libs/ardour/source.cc b/libs/ardour/source.cc index 7ade8a8573..74ca0afcd4 100644 --- a/libs/ardour/source.cc +++ b/libs/ardour/source.cc @@ -34,6 +34,7 @@ #include #include +#include #include "i18n.h" @@ -47,12 +48,14 @@ Source::Source (Session& s, string name) { _name = name; _timestamp = 0; + _in_use = 0; } Source::Source (Session& s, const XMLNode& node) : _session (s) { _timestamp = 0; + _in_use = 0; if (set_state (node)) { throw failed_constructor(); @@ -106,3 +109,24 @@ Source::set_state (const XMLNode& node) return 0; } +void +Source::add_playlist (Playlist* pl) +{ + _playlists.insert (pl); +} + +void +Source::remove_playlist (Playlist* pl) +{ + std::set::iterator x; + + if ((x = _playlists.find (pl)) != _playlists.end()) { + _playlists.erase (x); + } +} + +uint32_t +Source::used () const +{ + return _playlists.size(); +}