refine self-automating plugin interface
[ardour.git] / libs / ardour / ardour / chan_mapping.h
index f73408baec7071b423038b3cc0622534ac385ba9..ac546e3bbd6000b180ec22db4a20b1c600d307bb 100644 (file)
@@ -25,6 +25,7 @@
 #include <ostream>
 #include <utility>
 
+#include "pbd/xml++.h"
 #include "ardour/data_type.h"
 #include "ardour/chan_count.h"
 
@@ -42,6 +43,7 @@ public:
        ChanMapping() {}
        ChanMapping(ARDOUR::ChanCount identity);
        ChanMapping(const ChanMapping&);
+       ChanMapping(const XMLNode& node);
 
        uint32_t get(DataType t, uint32_t from, bool* valid) const;
 
@@ -86,6 +88,12 @@ public:
         */
        bool     is_monotonic () const;
 
+       uint32_t n_total () const;
+
+       ChanCount count () const;
+
+       XMLNode* state(const std::string& name) const;
+
        /** Test if this mapping is a subset
         * @param superset to test against
         * @returns true if all mapping are also present in the superset