summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-12-19 03:42:30 +0000
committerDavid Robillard <d@drobilla.net>2013-12-19 03:42:30 +0000
commita07a3a6218471e5f301515b31032d92b0b900d4e (patch)
treea8a3e8a78e01fc41a2d5147dc1072b9562ba5577 /src
parent30e4c33ba733360dcc571547dfab2fb56d2e191d (diff)
downloadpatchage-a07a3a6218471e5f301515b31032d92b0b900d4e.tar.gz
patchage-a07a3a6218471e5f301515b31032d92b0b900d4e.tar.bz2
patchage-a07a3a6218471e5f301515b31032d92b0b900d4e.zip
FDGL: Improve flow-directed layout.
Allow apps to specify nodes as sources to improve layout. git-svn-id: http://svn.drobilla.net/lad/trunk/patchage@5186 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src')
-rw-r--r--src/JackDriver.cpp3
-rw-r--r--src/PatchageModule.cpp19
-rw-r--r--src/PatchageModule.hpp3
3 files changed, 6 insertions, 19 deletions
diff --git a/src/JackDriver.cpp b/src/JackDriver.cpp
index a893a3b..b60a5e1 100644
--- a/src/JackDriver.cpp
+++ b/src/JackDriver.cpp
@@ -167,6 +167,9 @@ JackDriver::create_port_view(Patchage* patchage,
PatchagePort* port = create_port(*parent, jack_port, id);
port->show();
+ if (port->is_input()) {
+ parent->set_is_source(false);
+ }
return port;
}
diff --git a/src/PatchageModule.cpp b/src/PatchageModule.cpp
index b02a052..3c16352 100644
--- a/src/PatchageModule.cpp
+++ b/src/PatchageModule.cpp
@@ -32,6 +32,9 @@ PatchageModule::PatchageModule(
signal_moved().connect(
sigc::mem_fun(this, &PatchageModule::store_location));
+
+ // Set as source by default, turned off if input ports added
+ set_is_source(true);
}
PatchageModule::~PatchageModule()
@@ -134,22 +137,6 @@ PatchageModule::join()
}
void
-PatchageModule::add_port(Ganv::Port* port)
-{
- std::cerr << "FIXME: add port" << std::endl;
- //Ganv::Module::add_port(port);
- update_menu();
-}
-
-void
-PatchageModule::remove_port(Ganv::Port* port)
-{
- std::cerr << "FIXME: remove port" << std::endl;
- //Ganv::Module::remove_port(port);
- update_menu();
-}
-
-void
PatchageModule::menu_disconnect_all()
{
for (iterator p = begin(); p != end(); ++p)
diff --git a/src/PatchageModule.hpp b/src/PatchageModule.hpp
index 23a5f4a..c46cc2c 100644
--- a/src/PatchageModule.hpp
+++ b/src/PatchageModule.hpp
@@ -57,9 +57,6 @@ public:
protected:
bool on_event(GdkEvent* ev);
- void add_port(Ganv::Port* port);
- void remove_port(Ganv::Port* port);
-
Patchage* _app;
Gtk::Menu* _menu;
std::string _name;