Now that notify_length_changed() just calls
[ardour.git] / libs / ardour / ardour / session_playlists.h
index db29ee8c05fa281533a2007cd53f7efb354cb70e..5f69ba800135cff310864b64772ca000568b4e8a 100644 (file)
 
 class XMLNode;
 
+namespace PBD {
+       class ID;
+}
+
 namespace ARDOUR {
 
 class Playlist;
 class Region;
 class Source;
 class Session;
-       
+class Crossfade;
+class Track;
+
 class SessionPlaylists : public PBD::ScopedConnectionList
 {
 public:
        ~SessionPlaylists ();
-       
+
        boost::shared_ptr<Playlist> by_name (std::string name);
+       boost::shared_ptr<Playlist> by_id (const PBD::ID&);
        uint32_t source_use_count (boost::shared_ptr<const Source> src) const;
+       uint32_t region_use_count (boost::shared_ptr<Region> region) const;
        template<class T> void foreach (T *obj, void (T::*func)(boost::shared_ptr<Playlist>));
-       void get (std::vector<boost::shared_ptr<Playlist> >&);
+       void get (std::vector<boost::shared_ptr<Playlist> >&) const;
        void unassigned (std::list<boost::shared_ptr<Playlist> > & list);
+       void destroy_region (boost::shared_ptr<Region>);
+       boost::shared_ptr<Crossfade> find_crossfade (const PBD::ID &);
+       void sync_all_regions_with_regions ();
+       std::vector<boost::shared_ptr<Playlist> > playlists_for_track (boost::shared_ptr<Track>) const;
 
 private:
        friend class Session;
-       
+
        bool add (boost::shared_ptr<Playlist>);
        void remove (boost::shared_ptr<Playlist>);
+       void remove_weak (boost::weak_ptr<Playlist>);
        void track (bool, boost::weak_ptr<Playlist>);
-       
+
        uint32_t n_playlists() const;
        void find_equivalent_playlist_regions (boost::shared_ptr<Region>, std::vector<boost::shared_ptr<Region> >& result);
        void update_after_tempo_map_change ();