summaryrefslogtreecommitdiffstats
path: root/Demo/sgi
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1992-12-14 15:06:32 (GMT)
committerGuido van Rossum <guido@python.org>1992-12-14 15:06:32 (GMT)
commit8307443175f4c763b07c76763114b41f5896cb1c (patch)
treeb3aa33ab5cac1852c596206e6cca3327bee96af9 /Demo/sgi
parent2739c9cce8082a8380a83342e6c150bd6f6a82ba (diff)
downloadcpython-8307443175f4c763b07c76763114b41f5896cb1c.zip
cpython-8307443175f4c763b07c76763114b41f5896cb1c.tar.gz
cpython-8307443175f4c763b07c76763114b41f5896cb1c.tar.bz2
Initial revision
Diffstat (limited to 'Demo/sgi')
-rwxr-xr-xDemo/sgi/al/cmpaf.py65
-rwxr-xr-xDemo/sgi/al/cmpaf_form.fd90
2 files changed, 155 insertions, 0 deletions
diff --git a/Demo/sgi/al/cmpaf.py b/Demo/sgi/al/cmpaf.py
new file mode 100755
index 0000000..509f0aa
--- /dev/null
+++ b/Demo/sgi/al/cmpaf.py
@@ -0,0 +1,65 @@
+# Compare different audio compression schemes.
+#
+# This copies mono audio data from the input port to the output port,
+# and puts up a window with 4 toggle buttons:
+#
+# uLAW : convert the data to uLAW and back
+# ADPCM : convert the data to ADPCM and back
+# Difference : make only the difference between the converted and the
+# original data audible
+# Exit : quit from the program
+
+import fl
+import FL
+import flp
+import al
+import AL
+import audioop
+import sys
+
+class Cmpaf():
+ def init(self):
+ parsetree = flp.parse_form('cmpaf_form','form')
+ flp.create_full_form(self, parsetree)
+ c = al.newconfig()
+ c.setchannels(AL.MONO)
+ c.setqueuesize(1800)
+ self.iport = al.openport('cmpaf','r', c)
+ self.oport = al.openport('cmpaf','w', c)
+ self.do_adpcm = self.do_ulaw = self.do_diff = 0
+ self.acstate = None
+ self.form.show_form(FL.PLACE_SIZE, 1, 'compare audio formats')
+ return self
+
+ def run(self):
+ while 1:
+ olddata = data = self.iport.readsamps(600)
+ if self.do_ulaw:
+ data = audioop.lin2ulaw(data, 2)
+ data = audioop.ulaw2lin(data, 2)
+ if self.do_adpcm:
+ data, nacstate = audioop.lin2adpcm(data, 2, \
+ self.acstate)
+ data, dummy = audioop.adpcm2lin(data, 2, \
+ self.acstate)
+ self.acstate = nacstate
+ if self.do_diff:
+ olddata = audioop.mul(olddata, 2, -1)
+ data = audioop.add(olddata, data, 2)
+ self.oport.writesamps(data)
+ fl.check_forms()
+
+ def cb_exit(self, *args):
+ sys.exit(0)
+
+ def cb_adpcm(self, obj, val):
+ self.do_adpcm = obj.get_button()
+
+ def cb_ulaw(self, obj, val):
+ self.do_ulaw = obj.get_button()
+
+ def cb_diff(self, obj, val):
+ self.do_diff = obj.get_button()
+
+cmpaf = Cmpaf().init()
+cmpaf.run()
diff --git a/Demo/sgi/al/cmpaf_form.fd b/Demo/sgi/al/cmpaf_form.fd
new file mode 100755
index 0000000..6667405
--- /dev/null
+++ b/Demo/sgi/al/cmpaf_form.fd
@@ -0,0 +1,90 @@
+Magic: 12321
+
+Internal Form Definition File
+ (do not change)
+
+Number of forms: 1
+
+=============== FORM ===============
+Name: form
+Width: 230.000000
+Height: 80.000000
+Number of Objects: 5
+
+--------------------
+class: 1
+type: 1
+box: 0.000000 0.000000 230.000000 80.000000
+boxtype: 1
+colors: 47 47
+alignment: 4
+style: 0
+size: 11.000000
+lcol: 0
+label:
+name:
+callback:
+argument:
+
+--------------------
+class: 12
+type: 1
+box: 10.000000 40.000000 100.000000 30.000000
+boxtype: 1
+colors: 39 3
+alignment: 4
+style: 0
+size: 11.000000
+lcol: 0
+label: uLAW
+name: ulawbutton
+callback: cb_ulaw
+argument: 0
+
+--------------------
+class: 12
+type: 1
+box: 10.000000 10.000000 100.000000 30.000000
+boxtype: 1
+colors: 39 3
+alignment: 4
+style: 0
+size: 11.000000
+lcol: 0
+label: ADPCM
+name: adpcm_button
+callback: cb_adpcm
+argument: 0
+
+--------------------
+class: 11
+type: 0
+box: 170.000000 10.000000 50.000000 20.000000
+boxtype: 1
+colors: 47 47
+alignment: 4
+style: 0
+size: 11.000000
+lcol: 0
+label: EXIT
+name: exit_button
+callback: cb_exit
+argument: 0
+
+--------------------
+class: 12
+type: 1
+box: 120.000000 40.000000 100.000000 30.000000
+boxtype: 1
+colors: 39 3
+alignment: 4
+style: 0
+size: 11.000000
+lcol: 0
+label: Difference
+name: diffbutton
+callback: cb_diff
+argument: 0
+
+==============================
+create_the_forms