diff options
author | David Robillard <d@drobilla.net> | 2007-01-06 19:39:56 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-01-06 19:39:56 +0000 |
commit | 69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f (patch) | |
tree | 68fd1ea83beedaaaa97846ed09240a3585b2d931 /src/progs/ingenuity | |
parent | 2122a857662203936a04a39df7d0e1ad1db82853 (diff) | |
download | ingen-69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f.tar.gz ingen-69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f.tar.bz2 ingen-69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f.zip |
Added ability to get Raul Thread for current calling context.
Strong threading assertions.
Flowcanvas port removal fixes.
Patch port destruction.
Code cleanups, bug fixes.
git-svn-id: http://svn.drobilla.net/lad/ingen@234 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/ingenuity')
-rw-r--r-- | src/progs/ingenuity/NodeModule.cpp | 8 | ||||
-rw-r--r-- | src/progs/ingenuity/NodeModule.h | 2 | ||||
-rw-r--r-- | src/progs/ingenuity/PatchCanvas.cpp | 4 | ||||
-rw-r--r-- | src/progs/ingenuity/PatchPortModule.cpp | 2 |
4 files changed, 11 insertions, 5 deletions
diff --git a/src/progs/ingenuity/NodeModule.cpp b/src/progs/ingenuity/NodeModule.cpp index bec6e89c..95ab69e1 100644 --- a/src/progs/ingenuity/NodeModule.cpp +++ b/src/progs/ingenuity/NodeModule.cpp @@ -82,6 +82,14 @@ NodeModule::add_port(SharedPtr<PortModel> port, bool resize_to_fit) void +NodeModule::remove_port(SharedPtr<PortModel> port) +{ + SharedPtr<LibFlowCanvas::Port> p = Module::remove_port(port->path().name()); + p.reset(); +} + + +void NodeModule::show_control_window() { App::instance().window_factory()->present_controls(m_node); diff --git a/src/progs/ingenuity/NodeModule.h b/src/progs/ingenuity/NodeModule.h index 625241e7..12012f97 100644 --- a/src/progs/ingenuity/NodeModule.h +++ b/src/progs/ingenuity/NodeModule.h @@ -77,7 +77,7 @@ protected: void metadata_update(const string& key, const Atom& value); void add_port(SharedPtr<PortModel> port, bool resize=true); - void remove_port(SharedPtr<PortModel> port) { Module::remove_port(port->path().name()); } + void remove_port(SharedPtr<PortModel> port); SharedPtr<NodeModel> m_node; NodeMenu m_menu; diff --git a/src/progs/ingenuity/PatchCanvas.cpp b/src/progs/ingenuity/PatchCanvas.cpp index fe65a05f..f7c80987 100644 --- a/src/progs/ingenuity/PatchCanvas.cpp +++ b/src/progs/ingenuity/PatchCanvas.cpp @@ -152,9 +152,7 @@ PatchCanvas::add_port(SharedPtr<PortModel> pm) void PatchCanvas::remove_port(SharedPtr<PortModel> pm) { - cerr << "FIXME: PORT REMOVE" << endl; - //LibFlowCanvas::Module* module = get_module(pm->path().name()); - //delete module; + remove_module(pm->path().name()); // should cut all references } diff --git a/src/progs/ingenuity/PatchPortModule.cpp b/src/progs/ingenuity/PatchPortModule.cpp index e4c00130..53b56854 100644 --- a/src/progs/ingenuity/PatchPortModule.cpp +++ b/src/progs/ingenuity/PatchPortModule.cpp @@ -30,7 +30,7 @@ namespace Ingenuity { PatchPortModule::PatchPortModule(boost::shared_ptr<PatchCanvas> canvas, SharedPtr<PortModel> port) -: LibFlowCanvas::Module(canvas, "", 0, 0), // FIXME: coords? +: LibFlowCanvas::Module(canvas, port->path().name(), 0, 0, false), // FIXME: coords? m_port(port) { /*if (port_model()->polyphonic() && port_model()->parent() != NULL |