Guido van Rossum | f8b7e92 | 1992-04-15 17:52:27 +0000 | [diff] [blame] | 1 | import sys |
Guido van Rossum | f8b7e92 | 1992-04-15 17:52:27 +0000 | [diff] [blame] | 2 | import readcd |
| 3 | import aiff |
| 4 | import AL |
| 5 | import CD |
| 6 | |
Guido van Rossum | b1ccc6a | 1992-06-03 16:49:44 +0000 | [diff] [blame] | 7 | Error = 'cdaiff.Error' |
| 8 | |
Guido van Rossum | f8b7e92 | 1992-04-15 17:52:27 +0000 | [diff] [blame] | 9 | def writeaudio(a, type, data): |
| 10 | a.writesampsraw(data) |
| 11 | |
Guido van Rossum | f8b7e92 | 1992-04-15 17:52:27 +0000 | [diff] [blame] | 12 | def main(): |
Guido van Rossum | b1ccc6a | 1992-06-03 16:49:44 +0000 | [diff] [blame] | 13 | if len(sys.argv) > 1: |
| 14 | a = aiff.Aiff().init(sys.argv[1], 'w') |
| 15 | else: |
| 16 | a = aiff.Aiff().init('@', 'w') |
Guido van Rossum | f8b7e92 | 1992-04-15 17:52:27 +0000 | [diff] [blame] | 17 | a.sampwidth = AL.SAMPLE_16 |
| 18 | a.nchannels = AL.STEREO |
| 19 | a.samprate = AL.RATE_44100 |
Guido van Rossum | d9feb59 | 1992-04-22 13:39:10 +0000 | [diff] [blame] | 20 | r = readcd.Readcd().init() |
Guido van Rossum | f8b7e92 | 1992-04-15 17:52:27 +0000 | [diff] [blame] | 21 | for arg in sys.argv[2:]: |
Guido van Rossum | d9feb59 | 1992-04-22 13:39:10 +0000 | [diff] [blame] | 22 | x = eval(arg) |
| 23 | try: |
Guido van Rossum | b1ccc6a | 1992-06-03 16:49:44 +0000 | [diff] [blame] | 24 | if len(x) <> 2: |
| 25 | raise Error, 'bad argument' |
Guido van Rossum | d9feb59 | 1992-04-22 13:39:10 +0000 | [diff] [blame] | 26 | r.appendstretch(x[0], x[1]) |
| 27 | except TypeError: |
| 28 | r.appendtrack(x) |
Guido van Rossum | f8b7e92 | 1992-04-15 17:52:27 +0000 | [diff] [blame] | 29 | r.setcallback(CD.AUDIO, writeaudio, a) |
Guido van Rossum | b1ccc6a | 1992-06-03 16:49:44 +0000 | [diff] [blame] | 30 | r.play() |
Guido van Rossum | f8b7e92 | 1992-04-15 17:52:27 +0000 | [diff] [blame] | 31 | a.destroy() |
| 32 | |
| 33 | main() |