summaryrefslogtreecommitdiffstats
path: root/src/progs/ingenuity
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-01-06 19:39:56 +0000
committerDavid Robillard <d@drobilla.net>2007-01-06 19:39:56 +0000
commit69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f (patch)
tree68fd1ea83beedaaaa97846ed09240a3585b2d931 /src/progs/ingenuity
parent2122a857662203936a04a39df7d0e1ad1db82853 (diff)
downloadingen-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.cpp8
-rw-r--r--src/progs/ingenuity/NodeModule.h2
-rw-r--r--src/progs/ingenuity/PatchCanvas.cpp4
-rw-r--r--src/progs/ingenuity/PatchPortModule.cpp2
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