summaryrefslogtreecommitdiffstats
path: root/src/libs/client/ConnectionModel.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-06-19 06:17:49 +0000
committerDavid Robillard <d@drobilla.net>2006-06-19 06:17:49 +0000
commit2db1897709eba0e80677bd09e8444e7320e15120 (patch)
tree8062b5ede632c1c084a2c3b43bbd1a3d9991734e /src/libs/client/ConnectionModel.cpp
parent4adc4f4a2b4f57f43affcd48f2c01c60f471b20a (diff)
downloadingen-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.cpp24
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