#include <boost/shared_ptr.hpp>
-#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 "pbd/xml++.h"
+#include "pbd/id.h"
+#include "ardour/element_importer.h"
+#include "ardour/element_import_handler.h"
+#include "ardour/import_status.h"
namespace ARDOUR {
class Region;
+class Session;
+class Source;
-class AudioRegionImportHandler : public ElementImportHandler
+class LIBARDOUR_API 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<Source> const & source);
- boost::shared_ptr<Source> 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<Source> const & source);
+ boost::shared_ptr<Source> const & get_source (std::string const & filename) const;
// Id management
void register_id (PBD::ID & old_id, PBD::ID & new_id);
private:
// Source management
- typedef std::map<string, boost::shared_ptr<Source> > SourceMap;
- typedef std::pair<string, boost::shared_ptr<Source> > SourcePair;
+ typedef std::map<std::string, boost::shared_ptr<Source> > SourceMap;
+ typedef std::pair<std::string, boost::shared_ptr<Source> > SourcePair;
SourceMap sources;
// Id management
IdMap id_map;
};
-class AudioRegionImporter : public ElementImporter
+class LIBARDOUR_API AudioRegionImporter : public ElementImporter
{
public:
AudioRegionImporter (XMLTree const & source, Session & session, AudioRegionImportHandler & handler, XMLNode const & node);
+ ~AudioRegionImporter ();
// Interface implementation
- string get_info () const;
-
+ std::string get_info () const;
+ ImportStatus * get_import_status () { return &status; }
+
// other stuff
void add_sources_to_session ();
XMLNode const & get_xml ();
AudioRegionImportHandler & handler;
PBD::ID old_id;
PBD::ID id;
- std::list<string> filenames;
-
+ std::list<std::string> filenames;
+ ImportStatus status;
+
bool parse_xml_region ();
bool parse_source_xml ();
- PBD::sys::path get_sound_dir (XMLTree const & tree);
-
+ std::string get_sound_dir (XMLTree const & tree);
+
void prepare_region ();
void prepare_sources ();
std::vector<boost::shared_ptr<Region> > region;