X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_region_importer.h;h=2187d921485ca9fb06e2bdf1b22c9bda646b61f5;hb=2b9dc7b380bb4e40171067f42b4010970869a57d;hp=a2205390ab7c1e0f4b05c16ef0810885f1eb4a3f;hpb=572fa80aa713e723f63e1e1822db614307eea6af;p=ardour.git diff --git a/libs/ardour/ardour/audio_region_importer.h b/libs/ardour/ardour/audio_region_importer.h index a2205390ab..2187d92148 100644 --- a/libs/ardour/ardour/audio_region_importer.h +++ b/libs/ardour/ardour/audio_region_importer.h @@ -27,12 +27,13 @@ #include -#include -#include -#include -#include -#include -#include +#include "pbd/xml++.h" +#include "pbd/id.h" +#include "pbd/filesystem.h" +#include "ardour/types.h" +#include "ardour/element_importer.h" +#include "ardour/element_import_handler.h" +#include "ardour/import_status.h" namespace ARDOUR { @@ -43,14 +44,14 @@ class AudioRegionImportHandler : public ElementImportHandler public: // Inerface implementation AudioRegionImportHandler (XMLTree const & source, Session & session); - string get_info () const; - + std::string get_info () const; + void create_regions_from_children (XMLNode const & node, ElementList & list); - + // Source management - bool check_source (string const & filename) const; - void add_source (string const & filename, boost::shared_ptr const & source); - boost::shared_ptr const & get_source (string const & filename) const; + bool check_source (std::string const & filename) const; + void add_source (std::string const & filename, boost::shared_ptr const & source); + boost::shared_ptr const & get_source (std::string const & filename) const; // Id management void register_id (PBD::ID & old_id, PBD::ID & new_id); @@ -58,8 +59,8 @@ class AudioRegionImportHandler : public ElementImportHandler private: // Source management - typedef std::map > SourceMap; - typedef std::pair > SourcePair; + typedef std::map > SourceMap; + typedef std::pair > SourcePair; SourceMap sources; // Id management @@ -72,29 +73,34 @@ class AudioRegionImporter : public ElementImporter { public: AudioRegionImporter (XMLTree const & source, Session & session, AudioRegionImportHandler & handler, XMLNode const & node); + ~AudioRegionImporter (); // Interface implementation - string get_info () const; - bool prepare_move (); - void cancel_move (); - void move (); - + std::string get_info () const; + ImportStatus * get_import_status () { return &status; } + // other stuff void add_sources_to_session (); XMLNode const & get_xml (); + protected: + bool _prepare_move (); + void _cancel_move (); + void _move (); + private: XMLNode xml_region; AudioRegionImportHandler & handler; PBD::ID old_id; PBD::ID id; - std::list filenames; - + std::list filenames; + ImportStatus status; + bool parse_xml_region (); bool parse_source_xml (); PBD::sys::path get_sound_dir (XMLTree const & tree); - + void prepare_region (); void prepare_sources (); std::vector > region;