Initial revision
diff --git a/Demo/sgi/cd/cdaiff.py b/Demo/sgi/cd/cdaiff.py
new file mode 100755
index 0000000..83463a7
--- /dev/null
+++ b/Demo/sgi/cd/cdaiff.py
@@ -0,0 +1,38 @@
+# 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
+
+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')
+	a.sampwidth = AL.SAMPLE_16
+	a.nchannels = AL.STEREO
+	a.samprate = AL.RATE_44100
+	l = []
+	for arg in sys.argv[2:]:
+		l.append(eval(arg))
+	print l
+	r = readcd.Readcd().init()
+	r.set(l)
+	r.setcallback(CD.AUDIO, writeaudio, a)
+	r.setcallback(CD.PTIME, ptimecallback, None)
+	r.play()
+	a.destroy()
+
+main()