1992-04-15 14:52:27 -03:00
|
|
|
import sys
|
|
|
|
import readcd
|
1993-07-10 09:11:56 -03:00
|
|
|
import aifc
|
1992-04-15 14:52:27 -03:00
|
|
|
import AL
|
|
|
|
import CD
|
|
|
|
|
1992-06-03 13:49:44 -03:00
|
|
|
Error = 'cdaiff.Error'
|
|
|
|
|
1992-04-15 14:52:27 -03:00
|
|
|
def writeaudio(a, type, data):
|
1993-07-10 09:11:56 -03:00
|
|
|
a.writeframesraw(data)
|
1992-04-15 14:52:27 -03:00
|
|
|
|
|
|
|
def main():
|
1992-06-03 13:49:44 -03:00
|
|
|
if len(sys.argv) > 1:
|
1993-07-10 09:11:56 -03:00
|
|
|
a = aifc.open(sys.argv[1], 'w')
|
1992-06-03 13:49:44 -03:00
|
|
|
else:
|
1993-07-10 09:11:56 -03:00
|
|
|
a = aifc.open('@', 'w')
|
|
|
|
a.setsampwidth(AL.SAMPLE_16)
|
|
|
|
a.setnchannels(AL.STEREO)
|
|
|
|
a.setframerate(AL.RATE_44100)
|
1994-10-07 07:25:49 -03:00
|
|
|
r = readcd.Readcd()
|
1992-04-15 14:52:27 -03:00
|
|
|
for arg in sys.argv[2:]:
|
1992-04-22 10:39:10 -03:00
|
|
|
x = eval(arg)
|
|
|
|
try:
|
1992-06-03 13:49:44 -03:00
|
|
|
if len(x) <> 2:
|
|
|
|
raise Error, 'bad argument'
|
1992-04-22 10:39:10 -03:00
|
|
|
r.appendstretch(x[0], x[1])
|
|
|
|
except TypeError:
|
|
|
|
r.appendtrack(x)
|
1992-04-15 14:52:27 -03:00
|
|
|
r.setcallback(CD.AUDIO, writeaudio, a)
|
1992-06-03 13:49:44 -03:00
|
|
|
r.play()
|
1993-07-10 09:11:56 -03:00
|
|
|
a.close()
|
1992-04-15 14:52:27 -03:00
|
|
|
|
|
|
|
main()
|