summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-12 00:42:24 +0000
committerDavid Robillard <d@drobilla.net>2012-03-12 00:42:24 +0000
commit7835b3d8c9b5b4a6f4959f56083d62826e6f7b8e (patch)
tree15be6c77744993d724c394159f4f3fd8d43fe6e3 /src
parent89272aef042d57d7be9dd50e8157849d192f13b1 (diff)
downloadingen-7835b3d8c9b5b4a6f4959f56083d62826e6f7b8e.tar.gz
ingen-7835b3d8c9b5b4a6f4959f56083d62826e6f7b8e.tar.bz2
ingen-7835b3d8c9b5b4a6f4959f56083d62826e6f7b8e.zip
Allow control and audio ports to be connected to CV ports.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4052 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src')
-rw-r--r--src/server/ConnectionImpl.cpp10
-rw-r--r--src/server/events/Connect.cpp2
2 files changed, 8 insertions, 4 deletions
diff --git a/src/server/ConnectionImpl.cpp b/src/server/ConnectionImpl.cpp
index a0205627..d752d4b2 100644
--- a/src/server/ConnectionImpl.cpp
+++ b/src/server/ConnectionImpl.cpp
@@ -162,9 +162,13 @@ ConnectionImpl::can_connect(const OutputPort* src, const InputPort* dst)
{
const Ingen::Shared::URIs& uris = src->bufs().uris();
return (
- // (Audio | Control) => (Audio | Control)
- ( (src->is_a(PortType::CONTROL) || src->is_a(PortType::AUDIO))
- && (dst->is_a(PortType::CONTROL) || dst->is_a(PortType::AUDIO)))
+ // (Audio | Control | CV) => (Audio | Control | CV)
+ ( (src->is_a(PortType::CONTROL) ||
+ src->is_a(PortType::AUDIO) ||
+ src->is_a(PortType::CV))
+ && (dst->is_a(PortType::CONTROL)
+ || dst->is_a(PortType::AUDIO)
+ || dst->is_a(PortType::CV)))
// (Events | Message) => (Events | Message)
|| ( (src->is_a(PortType::EVENTS) || src->is_a(PortType::MESSAGE))
diff --git a/src/server/events/Connect.cpp b/src/server/events/Connect.cpp
index 90a338dd..7a4dae0a 100644
--- a/src/server/events/Connect.cpp
+++ b/src/server/events/Connect.cpp
@@ -72,7 +72,7 @@ Connect::pre_process()
return;
}
- _dst_input_port = dynamic_cast<InputPort*>(dst_port);
+ _dst_input_port = dynamic_cast<InputPort*>(dst_port);
_src_output_port = dynamic_cast<OutputPort*>(src_port);
if (!_dst_input_port || !_src_output_port) {
_error = DIRECTION_MISMATCH;