summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/engine/ConnectionImpl.cpp4
-rw-r--r--src/libs/engine/events/ConnectionEvent.cpp4
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;