diff options
author | David Robillard <d@drobilla.net> | 2008-06-09 15:53:51 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-06-09 15:53:51 +0000 |
commit | 50b423ce8ea6d8cb6a8ab24d399770a3f697f03a (patch) | |
tree | 63d4ba0a9cac79143ec3f47d7e1ee99a5a059fe5 | |
parent | 6e1958dbf0a42d3fc61e50ef87144c6dccdaa5f9 (diff) | |
download | ingen-50b423ce8ea6d8cb6a8ab24d399770a3f697f03a.tar.gz ingen-50b423ce8ea6d8cb6a8ab24d399770a3f697f03a.tar.bz2 ingen-50b423ce8ea6d8cb6a8ab24d399770a3f697f03a.zip |
Fix internal Patch->Patch connection loading.
git-svn-id: http://svn.drobilla.net/lad/ingen@1241 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | src/libs/serialisation/Loader.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/libs/serialisation/Loader.cpp b/src/libs/serialisation/Loader.cpp index 162589b6..88b0a6a3 100644 --- a/src/libs/serialisation/Loader.cpp +++ b/src/libs/serialisation/Loader.cpp @@ -343,6 +343,29 @@ Loader::load(SharedPtr<EngineInterface> engine, engine->connect(src_port, dst_port); } + + + /* This Patch -> This Patch connections */ + + query = Redland::Query(*rdf_world, Glib::ustring( + "SELECT DISTINCT ?srcname ?dstname WHERE {\n") + + patch_uri + " ingen:port ?src ;\n" + " ingen:port ?dst .\n" + "?dst ingen:connectedTo ?src ;\n" + " ingen:name ?dstname .\n" + "?src ingen:name ?srcname .\n" + "}\n"); + + results = query.run(*rdf_world, model); + + for (Redland::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { + Path src_port = patch_path.base() + Path::nameify((*i)["srcname"].to_string()); + Path dst_port = patch_path.base() + Path::nameify((*i)["dstname"].to_string()); + + //cerr << patch_path << " 4 CONNECTION: " << src_port << " -> " << dst_port << endl; + + engine->connect(src_port, dst_port); + } /* Load variables */ |