Revert afedd2 and associated commits (method to generate initial tag file)
[ardour.git] / libs / ardour / ardour / playlist_source.h
index 8732870ec071a9dfb75f02795b569c41227906a6..6316b4dcdd6cc918ff102fdf94e7791231df573a 100644 (file)
@@ -31,25 +31,27 @@ namespace ARDOUR {
 
 class Playlist;
 
-class PlaylistSource : virtual public Source {
-  public:
-    virtual ~PlaylistSource ();
-    
-    int set_state (const XMLNode&, int version);
-    
-  protected:
-    boost::shared_ptr<Playlist>      _playlist;
-    frameoffset_t                    _playlist_offset;
-    framecnt_t                       _playlist_length;
-
-    PlaylistSource (Session&, const std::string& name, boost::shared_ptr<Playlist>, DataType,
-                   frameoffset_t begin, framecnt_t len, Source::Flag flags);
-    PlaylistSource (Session&, const XMLNode&);
-    
-    void add_state (XMLNode&);
+class LIBARDOUR_API PlaylistSource : virtual public Source {
+public:
+       virtual ~PlaylistSource ();
 
+       int set_state (const XMLNode&, int version);
+       boost::shared_ptr<const Playlist> playlist() const { return _playlist; }
+       const PBD::ID& original() const { return _original; }
+
+protected:
+       boost::shared_ptr<Playlist> _playlist;
+       PBD::ID                     _original;
+       sampleoffset_t               _playlist_offset;
+       samplecnt_t                  _playlist_length;
+
+       PlaylistSource (Session&, const PBD::ID&, const std::string& name, boost::shared_ptr<Playlist>, DataType,
+                       sampleoffset_t begin, samplecnt_t len, Source::Flag flags);
+       PlaylistSource (Session&, const XMLNode&);
+
+       void add_state (XMLNode&);
 };
-        
+
 } /* namespace */
 
 #endif /* __ardour_playlist_source_h__ */