diff options
author | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-11-26 17:13:50 +0000 |
---|---|---|
committer | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-11-26 17:13:50 +0000 |
commit | 38382b792113cbf23881c1dca64e16c2d0207d45 (patch) | |
tree | 5fb1185a6f21ecc769a4c229fc0f6b7415eabaf5 /libs/ardour/ardour/audio_playlist_importer.h | |
parent | 95a86871c028ab7f0ae16608adb9b86495678d50 (diff) |
More work on track import and some cleaning up of ElementImporter interface
git-svn-id: svn://localhost/ardour2/branches/3.0@4265 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/audio_playlist_importer.h')
-rw-r--r-- | libs/ardour/ardour/audio_playlist_importer.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/libs/ardour/ardour/audio_playlist_importer.h b/libs/ardour/ardour/audio_playlist_importer.h index a3e72f18c8..b94523128f 100644 --- a/libs/ardour/ardour/audio_playlist_importer.h +++ b/libs/ardour/ardour/audio_playlist_importer.h @@ -38,16 +38,22 @@ namespace ARDOUR { class AudioRegionImportHandler; class AudioRegionImporter; +class AudioPlaylistImporter; class AudioPlaylistImportHandler : public ElementImportHandler { public: + typedef boost::shared_ptr<AudioPlaylistImporter> PlaylistPtr; + typedef std::list<PlaylistPtr> PlaylistList; + AudioPlaylistImportHandler (XMLTree const & source, Session & session, AudioRegionImportHandler & region_handler, const char * nodename = "Playlists"); virtual ~AudioPlaylistImportHandler () {} virtual string get_info () const; - void get_regions (XMLNode const & node, ElementList & list); + void get_regions (XMLNode const & node, ElementList & list) const; void update_region_id (XMLProperty* id_prop); + + void playlists_by_diskstream (PBD::ID const & id, PlaylistList & list) const; protected: AudioRegionImportHandler & region_handler; @@ -65,19 +71,27 @@ class AudioPlaylistImporter : public ElementImporter { public: AudioPlaylistImporter (XMLTree const & source, Session & session, AudioPlaylistImportHandler & handler, XMLNode const & node); + AudioPlaylistImporter (AudioPlaylistImporter const & other); string get_info () const; - bool prepare_move (); - void cancel_move (); - void move (); void set_diskstream (PBD::ID const & id); + PBD::ID const & orig_diskstream () const { return orig_diskstream_id; } + + protected: + bool _prepare_move (); + void _cancel_move (); + void _move (); private: typedef std::list<boost::shared_ptr<AudioRegionImporter> > RegionList; + void populate_region_list (); + AudioPlaylistImportHandler & handler; + XMLNode const & orig_node; XMLNode xml_playlist; + PBD::ID orig_diskstream_id; PBD::ID diskstream_id; RegionList regions; }; |