blob: 79a9328f8d516d22d523d6a4349333ddf2a170d2 [file] [log] [blame]
Guido van Rossumf8b7e921992-04-15 17:52:27 +00001import sys
Guido van Rossumf8b7e921992-04-15 17:52:27 +00002import readcd
3import aiff
4import AL
5import CD
6
Guido van Rossumb1ccc6a1992-06-03 16:49:44 +00007Error = 'cdaiff.Error'
8
Guido van Rossumf8b7e921992-04-15 17:52:27 +00009def writeaudio(a, type, data):
10 a.writesampsraw(data)
11
Guido van Rossumf8b7e921992-04-15 17:52:27 +000012def main():
Guido van Rossumb1ccc6a1992-06-03 16:49:44 +000013 if len(sys.argv) > 1:
14 a = aiff.Aiff().init(sys.argv[1], 'w')
15 else:
16 a = aiff.Aiff().init('@', 'w')
Guido van Rossumf8b7e921992-04-15 17:52:27 +000017 a.sampwidth = AL.SAMPLE_16
18 a.nchannels = AL.STEREO
19 a.samprate = AL.RATE_44100
Guido van Rossumd9feb591992-04-22 13:39:10 +000020 r = readcd.Readcd().init()
Guido van Rossumf8b7e921992-04-15 17:52:27 +000021 for arg in sys.argv[2:]:
Guido van Rossumd9feb591992-04-22 13:39:10 +000022 x = eval(arg)
23 try:
Guido van Rossumb1ccc6a1992-06-03 16:49:44 +000024 if len(x) <> 2:
25 raise Error, 'bad argument'
Guido van Rossumd9feb591992-04-22 13:39:10 +000026 r.appendstretch(x[0], x[1])
27 except TypeError:
28 r.appendtrack(x)
Guido van Rossumf8b7e921992-04-15 17:52:27 +000029 r.setcallback(CD.AUDIO, writeaudio, a)
Guido van Rossumb1ccc6a1992-06-03 16:49:44 +000030 r.play()
Guido van Rossumf8b7e921992-04-15 17:52:27 +000031 a.destroy()
32
33main()