Fixes to bundle manager to make it vaguely usable.
[ardour.git] / libs / ardour / ardour / export_channel_configuration.h
index 80ad29b4353dae17bdc03e42d77e37bc59529d7c..7223e2911070ad27c2925ad0d2746230667db52d 100644 (file)
 #ifndef __ardour_export_channel_configuration_h__
 #define __ardour_export_channel_configuration_h__
 
-#include <set>
 #include <list>
 
 #include <glibmm/ustring.h>
 #include <sigc++/signal.h>
 
+#include <ardour/export_channel.h>
 #include <ardour/export_status.h>
 #include <ardour/ardour.h>
 
@@ -46,13 +46,6 @@ class ExportProcessor;
 class ExportTimespan;
 class Session;
 
-class ExportChannel : public std::set<AudioPort *>
-{
-  public:
-       void add_port (AudioPort * port) { if (port) { insert (port); } }
-       void read_ports (float * data, nframes_t frames) const;
-};
-
 class ExportChannelConfiguration
 {
   private:
@@ -86,20 +79,19 @@ class ExportChannelConfiguration
        XMLNode & get_state ();
        int set_state (const XMLNode &);
        
-       typedef boost::shared_ptr<ExportChannel const> ChannelPtr;
-       typedef std::list<ChannelPtr> ChannelList;
+       typedef std::list<ExportChannelPtr> ChannelList;
        
-       ChannelList const & get_channels () { return channels; }
-       bool all_channels_have_ports ();
+       ChannelList const & get_channels () const { return channels; }
+       bool all_channels_have_ports () const;
        
        ustring name () const { return _name; }
        void set_name (ustring name) { _name = name; }
        void set_split (bool value) { split = value; }
        
-       bool get_split () { return split; }
-       uint32_t get_n_chans () { return channels.size(); }
+       bool get_split () const { return split; }
+       uint32_t get_n_chans () const { return channels.size(); }
        
-       void register_channel (ChannelPtr channel) { channels.push_back (channel); }
+       void register_channel (ExportChannelPtr channel) { channels.push_back (channel); }
        void register_file_config (FormatPtr format, FilenamePtr filename) { file_configs.push_back (FileConfig (format, filename)); }
        
        void clear_channels () { channels.clear (); }