diff options
Diffstat (limited to 'src/libs/engine')
-rw-r--r-- | src/libs/engine/ConnectionImpl.cpp | 4 | ||||
-rw-r--r-- | src/libs/engine/events/ConnectionEvent.cpp | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/libs/engine/ConnectionImpl.cpp b/src/libs/engine/ConnectionImpl.cpp index 019a051e..57d5e1ad 100644 --- a/src/libs/engine/ConnectionImpl.cpp +++ b/src/libs/engine/ConnectionImpl.cpp @@ -49,7 +49,9 @@ ConnectionImpl::ConnectionImpl(PortImpl* src_port, PortImpl* dst_port) assert(dst_port); assert(src_port != dst_port); assert(src_port->path() != dst_port->path()); - assert(src_port->type() == dst_port->type()); + assert(src_port->type() == dst_port->type() + || ( (src_port->type() == DataType::CONTROL || src_port->type() == DataType::AUDIO) + && (dst_port->type() == DataType::CONTROL || dst_port->type() == DataType::AUDIO) )); /*assert((src_port->parent_node()->poly() == dst_port->parent_node()->poly()) || (src_port->parent_node()->poly() == 1 || dst_port->parent_node()->poly() == 1));*/ diff --git a/src/libs/engine/events/ConnectionEvent.cpp b/src/libs/engine/events/ConnectionEvent.cpp index ee2c1694..fa8b0f17 100644 --- a/src/libs/engine/events/ConnectionEvent.cpp +++ b/src/libs/engine/events/ConnectionEvent.cpp @@ -69,7 +69,9 @@ ConnectionEvent::pre_process() return; } - if (_src_port->type() != _dst_port->type()) { + if (_src_port->type() != _dst_port->type() + && !( (_src_port->type() != DataType::AUDIO || _src_port->type() != DataType::CONTROL) + && (_dst_port->type() != DataType::AUDIO || _dst_port->type() != DataType::CONTROL) )) { _error = TYPE_MISMATCH; QueuedEvent::pre_process(); return; |