blob: 83463a78fc5cedb8b12412c022d46c5512e09973 [file] [log] [blame]
Guido van Rossumf8b7e921992-04-15 17:52:27 +00001# Dump CD audio on disk (in AIFF format; stereo, 16 bit samples, 44.1 kHz).
2#
3# Each argument is either a track to play or a quoted 7-tuple:
4# '(track, min1, sec1, frame1, min2, sec2, frame2)'
5# to play the track from min1:sec1:frame1 to min2:sec2:frame2.
6# If track is zero, times are absolute instead.
7
8import sys
9import string
10import readcd
11import aiff
12import AL
13import CD
14
15def writeaudio(a, type, data):
16 a.writesampsraw(data)
17
18def ptimecallback(a, type, (min, sec, frame)):
19 if frame == 0:
20 print 'T =', min, ':', sec
21
22def main():
23 a = aiff.Aiff().init(sys.argv[1], 'w')
24 a.sampwidth = AL.SAMPLE_16
25 a.nchannels = AL.STEREO
26 a.samprate = AL.RATE_44100
27 l = []
28 for arg in sys.argv[2:]:
29 l.append(eval(arg))
30 print l
31 r = readcd.Readcd().init()
32 r.set(l)
33 r.setcallback(CD.AUDIO, writeaudio, a)
34 r.setcallback(CD.PTIME, ptimecallback, None)
35 r.play()
36 a.destroy()
37
38main()