home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pyos2bin.zip / Demo / sgi / al / listen.py < prev    next >
Text File  |  1991-09-15  |  800b  |  35 lines

  1. # Listen to the input on host argv[1].
  2.  
  3. import sys, al, AL, posix
  4.  
  5. BUFSIZE = 2000
  6. QSIZE = 4000
  7.  
  8. def main():
  9.     if len(sys.argv) <> 2:
  10.         sys.stderr.write('usage: ' + sys.argv[0] + ' hostname\n')
  11.         sys.exit(2)
  12.     hostname = sys.argv[1]
  13.     cmd = 'exec rsh </dev/null ' + hostname + \
  14.         ' "cd /ufs/guido/mm/demo/audio; ' + \
  15.         'exec /ufs/guido/bin/sgi/python record.py"'
  16.     pipe = posix.popen(cmd, 'r')
  17.     config = al.newconfig()
  18.     config.setchannels(AL.MONO)
  19.     config.setqueuesize(QSIZE)
  20.     port = al.openport('', 'w', config)
  21.     while 1:
  22.         data = pipe.read(BUFSIZE)
  23.         if not data:
  24.             sts = pipe.close()
  25.             sys.stderr.write(sys.argv[0] + ': end of data\n')
  26.             if sts: sys.stderr.write('rsh exit status '+`sts`+'\n')
  27.             sys.exit(1)
  28.         port.writesamps(data)
  29.         del data
  30.  
  31. try:
  32.     main()
  33. except KeyboardInterrupt:
  34.     sys.exit(1)
  35.