summaryrefslogtreecommitdiffstats
path: root/src/AlsaDriver.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-05-09 23:59:01 +0000
committerDavid Robillard <d@drobilla.net>2009-05-09 23:59:01 +0000
commit5465c4af1c7b18cba31fa3d15ab1741f2613e9d4 (patch)
treea7331689f196cef1e979afa313ba60122fa64a97 /src/AlsaDriver.hpp
parent43e673a183844709ecd41e08d97f96d9228a544c (diff)
downloadpatchage-5465c4af1c7b18cba31fa3d15ab1741f2613e9d4.tar.gz
patchage-5465c4af1c7b18cba31fa3d15ab1741f2613e9d4.tar.bz2
patchage-5465c4af1c7b18cba31fa3d15ab1741f2613e9d4.zip
Dramatically reduce resize overhead everywhere.
Make alsa driver create individual ports and do minimal work vs naive full refresh when anything changes. Fixes ticket #355. git-svn-id: http://svn.drobilla.net/lad/trunk/patchage@1967 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/AlsaDriver.hpp')
-rw-r--r--src/AlsaDriver.hpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/AlsaDriver.hpp b/src/AlsaDriver.hpp
index c39f8c4..51e2b57 100644
--- a/src/AlsaDriver.hpp
+++ b/src/AlsaDriver.hpp
@@ -63,6 +63,19 @@ private:
bool create_refresh_port();
static void* refresh_main(void* me);
void _refresh_main();
+
+ boost::shared_ptr<PatchageModule>
+ find_or_create_module(
+ Patchage* patchage,
+ const std::string& client_name,
+ ModuleType type);
+
+ void
+ create_port_view_internal(
+ Patchage* patchage,
+ snd_seq_addr_t addr,
+ boost::shared_ptr<PatchageModule>& parent,
+ boost::shared_ptr<PatchagePort>& port);
boost::shared_ptr<PatchagePort> create_port(
boost::shared_ptr<PatchageModule> parent,