diff options
author | David Robillard <d@drobilla.net> | 2007-07-25 01:06:22 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-07-25 01:06:22 +0000 |
commit | 5837be3b45c83bd5743735de8cf451c5bdf3541d (patch) | |
tree | 3a0331f2a5391726efbb7b6362004a06050f50f1 /src/JackDriver.cpp | |
parent | 35b1c7c0683a72978f646c883f411e1eabd595ae (diff) | |
download | patchage-5837be3b45c83bd5743735de8cf451c5bdf3541d.tar.gz patchage-5837be3b45c83bd5743735de8cf451c5bdf3541d.tar.bz2 patchage-5837be3b45c83bd5743735de8cf451c5bdf3541d.zip |
Avoid some canvas text measuring overhead in Patchage (module resizing).
Fix duplex Alsa Sequencer ports (fix ticket 12).
git-svn-id: http://svn.drobilla.net/lad/patchage@617 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/JackDriver.cpp')
-rw-r--r-- | src/JackDriver.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/JackDriver.cpp b/src/JackDriver.cpp index 5572769..761c1c2 100644 --- a/src/JackDriver.cpp +++ b/src/JackDriver.cpp @@ -18,6 +18,7 @@ #include <cassert> #include <cstring> #include <string> +#include <set> #include <iostream> #include "config.h" #include <jack/jack.h> @@ -202,6 +203,8 @@ JackDriver::refresh() string port1_name; string client2_name; string port2_name; + + set<SharedPtr<PatchageModule> > resized_modules; // Add all ports if (ports) @@ -258,7 +261,7 @@ JackDriver::refresh() m->add_port(create_port(m, port)); } - m->resize(); + resized_modules.insert(m); } // Add all connections @@ -320,6 +323,10 @@ JackDriver::refresh() free(connected_ports); } } + + for (set<SharedPtr<PatchageModule> >::const_iterator i = resized_modules.begin(); + i != resized_modules.end(); ++i) + (*i)->resize(); free(ports); } |