From 7ca2e0c1a67c12954e04d2175cbb488efc426a85 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 13 Oct 2007 07:42:15 +0000 Subject: Fix audio->control connections. git-svn-id: http://svn.drobilla.net/lad/ingen@879 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/ConnectionImpl.cpp | 4 +++- src/libs/engine/events/ConnectionEvent.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/libs/engine') 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; -- cgit v1.2.1