diff options
author | David Robillard <d@drobilla.net> | 2006-06-19 06:17:49 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-06-19 06:17:49 +0000 |
commit | 2db1897709eba0e80677bd09e8444e7320e15120 (patch) | |
tree | 8062b5ede632c1c084a2c3b43bbd1a3d9991734e /src/libs/client/ConnectionModel.cpp | |
parent | 4adc4f4a2b4f57f43affcd48f2c01c60f471b20a (diff) | |
download | ingen-2db1897709eba0e80677bd09e8444e7320e15120.tar.gz ingen-2db1897709eba0e80677bd09e8444e7320e15120.tar.bz2 ingen-2db1897709eba0e80677bd09e8444e7320e15120.zip |
Connecting of patch ports internally (seemingly anyway, data not flowing yet)
git-svn-id: http://svn.drobilla.net/lad/grauph@61 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client/ConnectionModel.cpp')
-rw-r--r-- | src/libs/client/ConnectionModel.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/libs/client/ConnectionModel.cpp b/src/libs/client/ConnectionModel.cpp index 1c7541b9..18b6fbd7 100644 --- a/src/libs/client/ConnectionModel.cpp +++ b/src/libs/client/ConnectionModel.cpp @@ -27,8 +27,8 @@ ConnectionModel::ConnectionModel(const Path& src_port, const Path& dst_port) m_dst_port(NULL) { // Be sure connection is within one patch - assert(m_src_port_path.parent().parent() - == m_dst_port_path.parent().parent()); + //assert(m_src_port_path.parent().parent() + // == m_dst_port_path.parent().parent()); } @@ -51,4 +51,24 @@ ConnectionModel::dst_port_path() const return m_dst_port->path(); } +const Path +ConnectionModel::patch_path() const +{ + const Path& src_node = m_src_port_path.parent(); + const Path& dst_node = m_dst_port_path.parent(); + Path patch_path = src_node.parent(); + + if (src_node.parent() != dst_node.parent()) { + // Connection to a patch port from inside the patch + assert(src_node.parent() == dst_node || dst_node.parent() == src_node); + if (src_node.parent() == dst_node) + patch_path = dst_node; + else + patch_path = src_node; + } + + return patch_path; +} + + } // namespace LibOmClient |