summaryrefslogtreecommitdiffstats
path: root/src/JackDriver.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-06-08 02:17:40 +0000
committerDavid Robillard <d@drobilla.net>2007-06-08 02:17:40 +0000
commitc335e2b88b051a1a14b0806ffabb257c2a0d0e74 (patch)
treeb0a024b901f20254b3354cb7bb03f581b435c245 /src/JackDriver.cpp
parent5a2358e39602607757fedd08a7355bede3cb8739 (diff)
downloadpatchage-c335e2b88b051a1a14b0806ffabb257c2a0d0e74.tar.gz
patchage-c335e2b88b051a1a14b0806ffabb257c2a0d0e74.tar.bz2
patchage-c335e2b88b051a1a14b0806ffabb257c2a0d0e74.zip
Monitor/change ALSA connections without refreshing entire canvas (much faster).
Waiting on JACK to provide the notification to do the same.... git-svn-id: http://svn.drobilla.net/lad/patchage@531 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/JackDriver.cpp')
-rw-r--r--src/JackDriver.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/JackDriver.cpp b/src/JackDriver.cpp
index 5489905..47bfda1 100644
--- a/src/JackDriver.cpp
+++ b/src/JackDriver.cpp
@@ -39,7 +39,6 @@ using namespace FlowCanvas;
JackDriver::JackDriver(Patchage* app)
: _app(app)
, _client(NULL)
-, _events(1024) // FIXME: size?
, _is_activated(false)
, _xruns(0)
, _xrun_delay(0)
@@ -99,19 +98,17 @@ JackDriver::attach(bool launch_daemon)
void
JackDriver::detach()
{
- _mutex.lock();
-
if (_client) {
jack_deactivate(_client);
jack_client_close(_client);
+ _mutex.lock();
_client = NULL;
+ _mutex.unlock();
destroy_all_ports();
_is_activated = false;
signal_detached.emit();
_app->status_message("[JACK] Detached");
}
-
- _mutex.unlock();
}
@@ -182,6 +179,8 @@ JackDriver::shutdown()
void
JackDriver::refresh()
{
+ cerr << "JACK REFRESH" << endl;
+
const char** ports;
jack_port_t* port;