Browse Source

add session_save with new command_t struct to libjack.py

tags/0.120.1
Torben Hohn 15 years ago
parent
commit
13c1d8930b
1 changed files with 23 additions and 1 deletions
  1. +23
    -1
      python/libjack.py

+ 23
- 1
python/libjack.py View File

@@ -49,7 +49,7 @@ rename_client.argtypes = [ client_p, c_char_p, c_char_p ]
rename_client.restype = c_int

class jack_session_command_t( Structure ):
_fields_ = [ ("uuid", 16*c_char ), ("command", 256*c_char ) ]
_fields_ = [ ("uuid", 16*c_char ), ("client_name", 33*c_char), ("command", 256*c_char ) ]

session_notify = libjack.jack_session_notify
session_notify.argtypes = [ client_p, c_uint, c_char_p ]
@@ -102,6 +102,10 @@ JackPortIsPhysical = 0x4
JackPortCanMonitor = 0x8
JackPortIsTerminal = 0x10

JackSessionSave = 1
JackSessionQuit = 2



class Port( object ):
def __init__( self, client, name ):
@@ -220,6 +224,11 @@ class JackGraph( object ):
# also needs to lock
client.rename( "%s-%d"%(cname_prefix,num ) )

class NotifyReply(object):
def __init__( self, uuid, clientname, commandline ):
self.uuid = uuid
self.clientname = clientname
self.commandline = commandline


class JackClient(object):
@@ -249,6 +258,19 @@ class JackClient(object):
self.port_queue.put( (port_p,reg) )


def session_save( self, path ):
commands = session_notify( self.client, JackSessionSave, path )
i=0
retval = []
while( commands[i].uuid[0] != 0 ):
retval.append( NotifyReply( commands[i].uuid, commands[i].clientname, commands[i].commandline ) )
jack_free( commands )








Loading…
Cancel
Save