summaryrefslogtreecommitdiff
path: root/python/jackd.py
diff options
context:
space:
mode:
authortorben <torben@0c269be4-1314-0410-8aa9-9f06e86f4224>2011-06-27 20:25:06 +0000
committertorben <torben@0c269be4-1314-0410-8aa9-9f06e86f4224>2011-06-27 20:25:06 +0000
commit3cc3f1734a06cc7e1072ef8b0bc65672e6d3d732 (patch)
tree9a5dfd3a9ed0a8e9292133a35bd4be7ea1ea9b89 /python/jackd.py
parent7ddfeafd84b25b10e8b04d01d18bc2585cb3d636 (diff)
downloadjack1-3cc3f1734a06cc7e1072ef8b0bc65672e6d3d732.tar.gz
port the dbus reservation code back to jack
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@4472 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'python/jackd.py')
-rwxr-xr-x[-rw-r--r--]python/jackd.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/python/jackd.py b/python/jackd.py
index 594c3bd..02d9413 100644..100755
--- a/python/jackd.py
+++ b/python/jackd.py
@@ -1,10 +1,12 @@
#!/usr/bin/env python
import sys
-from mygetopt import my_getopt
-import jackctl
+from pyjackd.mygetopt import my_getopt
+from pyjackd import jackctl
import readline
+import time
+import reserve_audio
argv = sys.argv[1:]
@@ -75,8 +77,18 @@ def driver_parse_args( drv, argv ):
else:
p.value = optarg
+def acquire_dev(cardname):
+ reserve_audio.reserve_dev(cardname,20,None)
+ time.sleep(0.1)
+ return True
+
+def release_dev(cardname):
+ reserve_audio.rr.unreserve()
+ reserve_audio.rr = None
srv = jackctl.Server()
+srv.acquire_card_cb = acquire_dev
+srv.release_card_cb = release_dev
drv, argv = server_parse_ags( srv, argv )
driver_parse_args( drv, argv )
@@ -90,7 +102,16 @@ driver_parse_args( drv, argv )
#for p in drv.params.values():
# print p.name, "-> ", p.value
-srv.start( drv )
+started = srv.start( drv )
+
+if not started:
+ print "failed to start with driver " + drv.name
+ print "trying to start with dummy driver, switch to the right master yourself"
+
+ started = srv.start( srv.drivers["dummy"] )
+
+ if not started:
+ sys.exit(20)
quit = False
while not quit: