#define __ardour_export_channel_configuration_h__
#include <list>
-#include <glibmm/ustring.h>
+#include <string>
+#include <algorithm>
+
#include <boost/enable_shared_from_this.hpp>
#include "ardour/export_channel.h"
-#include "ardour/export_status.h"
-#include "ardour/ardour.h"
+#include "ardour/export_pointers.h"
#include "pbd/xml++.h"
namespace ARDOUR
{
-class ExportHandler;
-class AudioPort;
-class ExportChannel;
-class ExportFormatSpecification;
-class ExportFilename;
-class ExportProcessor;
-class ExportTimespan;
class Session;
-class ExportChannelConfiguration : public boost::enable_shared_from_this<ExportChannelConfiguration>
+class LIBARDOUR_API ExportChannelConfiguration : public boost::enable_shared_from_this<ExportChannelConfiguration>
{
private:
public:
bool operator== (ExportChannelConfiguration const & other) const { return channels == other.channels; }
bool operator!= (ExportChannelConfiguration const & other) const { return channels != other.channels; }
-
+
XMLNode & get_state ();
int set_state (const XMLNode &);
ChannelList const & get_channels () const { return channels; }
bool all_channels_have_ports () const;
- Glib::ustring name () const { return _name; }
- void set_name (Glib::ustring name) { _name = name; }
+ std::string name () const { return _name; }
+ void set_name (std::string name) { _name = name; }
void set_split (bool value) { split = value; }
+ RegionExportChannelFactory::Type region_processing_type() const { return region_type; }
+ void set_region_processing_type(RegionExportChannelFactory::Type type) { region_type = type; }
+
bool get_split () const { return split; }
uint32_t get_n_chans () const { return channels.size(); }
void register_channel (ExportChannelPtr channel) { channels.push_back (channel); }
+ void register_channels (ChannelList const & new_channels) {
+ std::copy (new_channels.begin(), new_channels.end(), std::back_inserter(channels));
+ }
void clear_channels () { channels.clear (); }
-
+
/** Returns a list of channel configurations that match the files created.
* I.e. many configurations if splitting is enabled, one if not. */
void configurations_for_files (std::list<boost::shared_ptr<ExportChannelConfiguration> > & configs);
ChannelList channels;
bool split; // Split to mono files
- Glib::ustring _name;
+ std::string _name;
+ RegionExportChannelFactory::Type region_type;
};
} // namespace ARDOUR