X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_track_importer.h;h=683417de24d22f46baae6b5390fb4202100588b0;hb=cdfbec0eb1289c17159f3263c1e6256afdee67dc;hp=172776863e5c59c2f4b130feea89711675d29b77;hpb=23b1ff94b9b5058b98c0563bba04079c7cc88226;p=ardour.git diff --git a/libs/ardour/ardour/audio_track_importer.h b/libs/ardour/ardour/audio_track_importer.h index 172776863e..683417de24 100644 --- a/libs/ardour/ardour/audio_track_importer.h +++ b/libs/ardour/ardour/audio_track_importer.h @@ -21,44 +21,69 @@ #ifndef __ardour_audio_track_importer_h__ #define __ardour_audio_track_importer_h__ -#include +#include -#include -#include +#include "pbd/xml++.h" +#include "pbd/id.h" + +#include "ardour/element_importer.h" +#include "ardour/element_import_handler.h" namespace ARDOUR { +class AudioPlaylistImportHandler; +class AudioPlaylistImporter; class AudioTrackImportHandler : public ElementImportHandler { public: - AudioTrackImportHandler (XMLTree const & source, Session & session); + AudioTrackImportHandler (XMLTree const & source, Session & session, AudioPlaylistImportHandler & pl_handler); virtual ~AudioTrackImportHandler () {} - virtual string get_info () const; + virtual std::string get_info () const; + + private: + AudioPlaylistImportHandler & pl_handler; }; class AudioTrackImporter : public ElementImporter { public: - AudioTrackImporter (XMLTree const & source, Session & session, AudioTrackImportHandler & handler, XMLNode const & node); + AudioTrackImporter (XMLTree const & source, + Session & session, + AudioTrackImportHandler & track_handler, + XMLNode const & node, + AudioPlaylistImportHandler & pl_handler); + ~AudioTrackImporter (); - string get_info () const; - bool prepare_move (); - void cancel_move (); - void move (); + std::string get_info () const; + + protected: + bool _prepare_move (); + void _cancel_move (); + void _move (); private: + typedef boost::shared_ptr PlaylistPtr; + typedef std::list PlaylistList; + bool parse_route_xml (); bool parse_io (); - + bool parse_processor (XMLNode & node); bool parse_controllable (XMLNode & node); bool parse_automation (XMLNode & node); - + bool rate_convert_events (XMLNode & node); + + AudioTrackImportHandler & track_handler; XMLNode xml_track; - + + PBD::ID old_ds_id; + PBD::ID new_ds_id; + + PlaylistList playlists; + AudioPlaylistImportHandler & pl_handler; }; } // namespace ARDOUR