# sequencer application.
import sys
-sys.path.insert(0, '../pyalsa')
+sys.path.insert(0, '..')
del sys
from alsamemdebug import debuginit, debug, debugdone
-import alsaseq
+from pyalsa import alsaseq
def dump_portinfo(dict):
def dl(dict, key):
- if dict.has_key(key):
+ if key in dict:
return "'" + str(dict[key]) + "'"
return "N/A"
def da(dict, key, search):
tmp = None
- if dict.has_key(key):
+ if key in dict:
for k in search:
if k & dict[key]:
if tmp == None:
def dump_list(connections, simple=True):
for clientports in connections:
clientname, clientid, portlist = clientports
- print " client: %3d %s" % (clientid, clientname),
+ print(" client: %3d %s" % (clientid, clientname))
if not simple:
clientinfo = sequencer.get_client_info(clientid)
- print "\t[%s]" % clientinfo
+ print("\t[%s]" % clientinfo)
else:
- print
+ print()
for port in portlist:
portname, portid, connections = port
- print " port: %3d:%-2d +-%s" % (clientid, portid, portname),
+ print(" port: %3d:%-2d +-%s" % (clientid, portid, portname))
if not simple:
portinfo = sequencer.get_port_info(portid, clientid)
- print "\t[%s]" % (dump_portinfo(portinfo))
+ print("\t[%s]" % (dump_portinfo(portinfo)))
else:
- print
+ print()
readconn, writeconn = connections
for c,p,i in readconn:
if not simple:
- print " connection to: %d:%d %s" % (c,p, i)
+ print(" connection to: %d:%d %s" % (c,p, i))
else:
- print " connection to: %d:%d" % (c,p)
+ print(" connection to: %d:%d" % (c,p))
for c,p,i in writeconn:
if not simple:
- print " connection to: %d:%d %s" % (c,p, i)
+ print(" connection to: %d:%d %s" % (c,p, i))
else:
- print " connection to: %d:%d" % (c,p)
+ print(" connection to: %d:%d" % (c,p))
debuginit()
-print "01:Creating Sequencer =============================="
+print("01:Creating Sequencer ==============================")
sequencer = alsaseq.Sequencer()
# other examples:
# sequencer = alsaseq.Sequencer("hw", "myfancyapplication", alsaseq.SEQ_OPEN_INPUT, alsaseq.SEQ_BLOCK)
# sequencer = alsaseq.Sequencer(clientname='python-test', streams=alsaseq.SEQ_OPEN_OUTPUT)
-print " sequencer: %s" % sequencer
-print " name: %s" % sequencer.name
-print " clientname: %s" % sequencer.clientname
-print " streams: %d (%s)" % (sequencer.streams, str(sequencer.streams))
-print " mode: %d (%s)" % (sequencer.mode, str(sequencer.mode))
-print " client_id: %s" % sequencer.client_id
-print
-
-print "02:Changing some parameters ========================"
+print(" sequencer: %s" % sequencer)
+print(" name: %s" % sequencer.name)
+print(" clientname: %s" % sequencer.clientname)
+print(" streams: %d (%s)" % (sequencer.streams, str(sequencer.streams)))
+print(" mode: %d (%s)" % (sequencer.mode, str(sequencer.mode)))
+print(" client_id: %s" % sequencer.client_id)
+print()
+
+print("02:Changing some parameters ========================")
sequencer.clientname = 'pepito'
sequencer.mode = alsaseq.SEQ_BLOCK
-print " clientname: %s" % sequencer.clientname
-print " mode: %d (%s)" % (sequencer.mode, str(sequencer.mode))
-print
+print(" clientname: %s" % sequencer.clientname)
+print(" mode: %d (%s)" % (sequencer.mode, str(sequencer.mode)))
+print()
-print "03:Creating simple port ============================"
+print("03:Creating simple port ============================")
port_id = sequencer.create_simple_port("myport", alsaseq.SEQ_PORT_TYPE_APPLICATION,alsaseq.SEQ_PORT_CAP_WRITE | alsaseq.SEQ_PORT_CAP_SUBS_WRITE)
-print " port_id: %s" % port_id
-print
+print(" port_id: %s" % port_id)
+print()
-print "04:Getting port info ==============================="
+print("04:Getting port info ===============================")
port_info = sequencer.get_port_info(port_id)
-print " --> %s" % dump_portinfo(port_info)
-print " --> %s" % port_info
-print
+print(" --> %s" % dump_portinfo(port_info))
+print(" --> %s" % port_info)
+print()
-print "05:Retrieving clients and connections (as list) ===="
+print("05:Retrieving clients and connections (as list) ====")
connections = sequencer.connection_list()
-print " %s" % (connections)
-print
+print(" %s" % (connections))
+print()
-print "06:Retrieving clients and connections (detailed) ==="
+print("06:Retrieving clients and connections (detailed) ===")
connections = sequencer.connection_list()
dump_list(connections, False)
-print
+print()
-print "07:Connecting 'arbitrary' ports... ================="
+print("07:Connecting 'arbitrary' ports... =================")
source = (alsaseq.SEQ_CLIENT_SYSTEM, alsaseq.SEQ_PORT_SYSTEM_ANNOUNCE)
dest = (sequencer.client_id, port_id)
-print "%s ---> %s" % (str(source), str(dest))
+print("%s ---> %s" % (str(source), str(dest)))
sequencer.connect_ports(source, dest)
-print
+print()
-print "08:Retrieving clients and connections (simple) ====="
+print("08:Retrieving clients and connections (simple) =====")
connections = sequencer.connection_list()
dump_list(connections)
-print
+print()
-print "09:Disconnecting previous 'arbitrary' port ========="
-print "%s -X-> %s" % (str(source), str(dest))
+print("09:Disconnecting previous 'arbitrary' port =========")
+print("%s -X-> %s" % (str(source), str(dest)))
sequencer.disconnect_ports(source, dest)
-print
+print()
-print "10:Retrieving clients and connections (simple) ====="
+print("10:Retrieving clients and connections (simple) =====")
connections = sequencer.connection_list()
dump_list(connections)
-print
+print()
-print "11:Listing known streams constants ================="
-print "%s" % alsaseq._dstreams.values()
-print
+print("11:Listing known streams constants =================")
+print("%s" % alsaseq._dstreams.values())
+print()
-print "12:Listing known mode constants ===================="
-print "%s" % alsaseq._dmode.values()
-print
+print("12:Listing known mode constants ====================")
+print("%s" % alsaseq._dmode.values())
+print()
-print "13:Listing known queue constants ==================="
-print "%s" % alsaseq._dqueue.values()
-print
+print("13:Listing known queue constants ===================")
+print("%s" % alsaseq._dqueue.values())
+print()
-print "14:Listing known client type constants ============="
-print "%s" % alsaseq._dclienttype.values()
-print
+print("14:Listing known client type constants =============")
+print("%s" % alsaseq._dclienttype.values())
+print()
-print "15:Listing known port caps constants ==============="
-print "%s" % alsaseq._dportcap.values()
-print
+print("15:Listing known port caps constants ===============")
+print("%s" % alsaseq._dportcap.values())
+print()
-print "16:Listing known port types constants =============="
-print "%s" % alsaseq._dporttype.values()
-print
+print("16:Listing known port types constants ==============")
+print("%s" % alsaseq._dporttype.values())
+print()
-print "17:Listing known event type constants =============="
-print "%s" % alsaseq._deventtype.values()
-print
+print("17:Listing known event type constants ==============")
+print("%s" % alsaseq._deventtype.values())
+print()
-print "18:Listing known event timestamp constants ========="
-print "%s" % alsaseq._deventtimestamp.values()
-print
+print("18:Listing known event timestamp constants =========")
+print("%s" % alsaseq._deventtimestamp.values())
+print()
-print "19:Listing known event timemode constants =========="
-print "%s" % alsaseq._deventtimemode.values()
-print
+print("19:Listing known event timemode constants ==========")
+print("%s" % alsaseq._deventtimemode.values())
+print()
-print "20:Listing known client addresses constants ========"
-print "%s" % alsaseq._dclient.values()
-print
+print("20:Listing known client addresses constants ========")
+print("%s" % alsaseq._dclient.values())
+print()
-print "21:Listing known port addresses constants =========="
-print "%s" % alsaseq._dport.values()
-print
+print("21:Listing known port addresses constants ==========")
+print("%s" % alsaseq._dport.values())
+print()
+print("22:SeqEvent repr ===================================")
+print("%s" % alsaseq.SeqEvent(alsaseq.SEQ_EVENT_NOTEON))
+print()
-print "98:Removing sequencer =============================="
+
+print("98:Removing sequencer ==============================")
debug([sequencer])
del sequencer
-print
+print()
-print "99:Listing sequencer (using new one) ==============="
+print("99:Listing sequencer (using new one) ===============")
dump_list(alsaseq.Sequencer().connection_list())
-print
+print()
debugdone()
-print "seqtest1.py done."
+print("seqtest1.py done.")