projects
/
ardour.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6afcfe6
)
fix d3447dfd1 Mixbus special case.
author
Robin Gareus
<robin@gareus.org>
Mon, 4 Apr 2016 23:24:51 +0000
(
01:24
+0200)
committer
Robin Gareus
<robin@gareus.org>
Mon, 4 Apr 2016 23:24:51 +0000
(
01:24
+0200)
libs/ardour/plugin_insert.cc
patch
|
blob
|
history
diff --git
a/libs/ardour/plugin_insert.cc
b/libs/ardour/plugin_insert.cc
index dd99e981ef097268e9034e3a1a75103f17439548..eebd07a2c5e55ab5aecfe6c2ca0cb4dcda5c8f88 100644
(file)
--- a/
libs/ardour/plugin_insert.cc
+++ b/
libs/ardour/plugin_insert.cc
@@
-294,12
+294,22
@@
PluginInsert::internal_input_streams() const
ChanCount
PluginInsert::natural_output_streams() const
{
ChanCount
PluginInsert::natural_output_streams() const
{
+#ifdef MIXBUS
+ if (is_channelstrip ()) {
+ return _configured_out;
+ }
+#endif
return _plugins[0]->get_info()->n_outputs;
}
ChanCount
PluginInsert::natural_input_streams() const
{
return _plugins[0]->get_info()->n_outputs;
}
ChanCount
PluginInsert::natural_input_streams() const
{
+#ifdef MIXBUS
+ if (is_channelstrip ()) {
+ return _configured_in;
+ }
+#endif
return _plugins[0]->get_info()->n_inputs;
}
return _plugins[0]->get_info()->n_inputs;
}
@@
-1229,6
+1239,9
@@
PluginInsert::configure_io (ChanCount in, ChanCount out)
} else if (_match.custom_cfg && _configured) {
mapping_changed = sanitize_maps ();
} else {
} else if (_match.custom_cfg && _configured) {
mapping_changed = sanitize_maps ();
} else {
+#ifdef MIXBUS
+ if (is_channelstrip ()) { _maps_from_state = false; }
+#endif
if (_maps_from_state) {
_maps_from_state = false;
mapping_changed = true;
if (_maps_from_state) {
_maps_from_state = false;
mapping_changed = true;
@@
-1325,6
+1338,13
@@
PluginInsert::private_can_support_io_configuration (ChanCount const & inx, ChanC
return Match();
}
return Match();
}
+#ifdef MIXBUS
+ if (is_channelstrip ()) {
+ out = inx;
+ return Match (ExactMatch, 1);
+ }
+#endif
+
/* if a user specified a custom cfg, so be it. */
if (_custom_cfg) {
out = _custom_out;
/* if a user specified a custom cfg, so be it. */
if (_custom_cfg) {
out = _custom_out;
@@
-1380,12
+1400,6
@@
PluginInsert::private_can_support_io_configuration (ChanCount const & inx, ChanC
return m;
}
return m;
}
-#ifdef MIXBUS
- if (is_channelstrip ()) {
- return Match (Replicate, 1, _strict_io);
- }
-#endif
-
ChanCount ns_inputs = inputs - sidechain_input_pins ();
DEBUG_TRACE (DEBUG::ChanMapping, string_compose ("resolving 'Impossible' match for %1\n", name()));
ChanCount ns_inputs = inputs - sidechain_input_pins ();
DEBUG_TRACE (DEBUG::ChanMapping, string_compose ("resolving 'Impossible' match for %1\n", name()));
@@
-1514,11
+1528,6
@@
PluginInsert::automatic_can_support_io_configuration (ChanCount const & inx, Cha
uint32_t f = 0;
bool can_replicate = true;
uint32_t f = 0;
bool can_replicate = true;
-#ifdef MIXBUS
- if (is_channelstrip ()) {
- can_replicate = false;
- }
-#endif
for (DataType::iterator t = DataType::begin(); t != DataType::end() && can_replicate; ++t) {
// ignore side-chains
for (DataType::iterator t = DataType::begin(); t != DataType::end() && can_replicate; ++t) {
// ignore side-chains