return ! (*this == other);
}
+ ChanMapping operator+=(const ChanMapping& other) {
+ const ChanMapping::Mappings& mp (other.mappings());
+ for (Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) {
+ for (TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) {
+#if 0
+ bool valid; uint32_t x = get (tm->first, i->first, &valid);
+ assert (!valid || x == i->second);
+#endif
+ set (tm->first, i->first, i->second);
+ }
+ }
+ return *this;
+ }
+
private:
Mappings _mappings;
};
int set_block_size (pframes_t nframes);
- ChanMapping input_map (uint32_t num=0) const {
+ ChanMapping input_map (uint32_t num) const {
if (num < _in_map.size()) {
return _in_map.find (num)->second;
} else {
}
}
- ChanMapping output_map (uint32_t num=0) const {
+ ChanMapping output_map (uint32_t num) const {
if (num < _out_map.size()) {
return _out_map.find (num)->second;
} else {
}
}
+ ChanMapping input_map () const {
+ ChanMapping rv;
+ for (PinMappings::const_iterator i = _in_map.begin (); i != _in_map.end (); ++i) {
+ rv += i->second;
+ }
+ return rv;
+ }
+
+ ChanMapping output_map () const {
+ ChanMapping rv;
+ for (PinMappings::const_iterator i = _out_map.begin (); i != _out_map.end (); ++i) {
+ rv += i->second;
+ }
+ return rv;
+ }
+
void set_input_map (uint32_t, ChanMapping);
void set_output_map (uint32_t, ChanMapping);
.addFunction ("deactivate", &PluginInsert::deactivate)
.addFunction ("strict_io_configured", &PluginInsert::strict_io_configured)
.addFunction ("no_inplace", &PluginInsert::no_inplace)
- .addFunction ("input_map", &PluginInsert::input_map)
- .addFunction ("output_map", &PluginInsert::output_map)
+ .addFunction ("input_map", (ARDOUR::ChanMapping (PluginInsert::*)(uint32_t) const)&PluginInsert::input_map)
+ .addFunction ("output_map", (ARDOUR::ChanMapping (PluginInsert::*)(uint32_t) const)&PluginInsert::output_map)
.addFunction ("set_no_inplace", &PluginInsert::set_no_inplace) // XXX
.addFunction ("set_input_map", &PluginInsert::set_input_map)
.addFunction ("set_output_map", &PluginInsert::set_output_map)