diff --git a/Demo/sgi/cd/cdaiff.py b/Demo/sgi/cd/cdaiff.py index b3b9bb07ae3..79a9328f8d5 100755 --- a/Demo/sgi/cd/cdaiff.py +++ b/Demo/sgi/cd/cdaiff.py @@ -1,44 +1,33 @@ -# Dump CD audio on disk (in AIFF format; stereo, 16 bit samples, 44.1 kHz). -# -# Each argument is either a track to play or a quoted 7-tuple: -# '(track, min1, sec1, frame1, min2, sec2, frame2)' -# to play the track from min1:sec1:frame1 to min2:sec2:frame2. -# If track is zero, times are absolute instead. - import sys -import string import readcd import aiff import AL import CD +Error = 'cdaiff.Error' + def writeaudio(a, type, data): a.writesampsraw(data) -def ptimecallback(a, type, (min, sec, frame)): - if frame == 0: - print 'T =', min, ':', sec - def main(): - a = aiff.Aiff().init(sys.argv[1], 'w') + if len(sys.argv) > 1: + a = aiff.Aiff().init(sys.argv[1], 'w') + else: + a = aiff.Aiff().init('@', 'w') a.sampwidth = AL.SAMPLE_16 a.nchannels = AL.STEREO a.samprate = AL.RATE_44100 r = readcd.Readcd().init() - l = [] for arg in sys.argv[2:]: x = eval(arg) try: - l = len(x) + if len(x) <> 2: + raise Error, 'bad argument' r.appendstretch(x[0], x[1]) except TypeError: r.appendtrack(x) r.setcallback(CD.AUDIO, writeaudio, a) - r.setcallback(CD.PTIME, ptimecallback, None) - try: - r.play() - except KeyboardInterrupt: - pass + r.play() a.destroy() main()