Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9d8fe64

Browse files
committed
rather ugly temporary hacks to make it work in grail & restricted mode
1 parent 6a0691a commit 9d8fe64

1 file changed

Lines changed: 14 additions & 11 deletions

File tree

Lib/audiodev.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
class Play_Audio_sgi:
44
# Private instance variables
5-
access frameratelist, nchannelslist, sampwidthlist, oldparams, \
5+
if 0: access frameratelist, nchannelslist, sampwidthlist, oldparams, \
66
params, config, inited_outrate, inited_width, \
77
inited_nchannels, port, converter, classinited: private
88

@@ -11,7 +11,7 @@ class Play_Audio_sgi:
1111

1212
def initclass(self):
1313
import AL
14-
Play_Audio_sgi.frameratelist = [
14+
self.frameratelist = [
1515
(48000, AL.RATE_48000),
1616
(44100, AL.RATE_44100),
1717
(32000, AL.RATE_32000),
@@ -20,16 +20,16 @@ def initclass(self):
2020
(11025, AL.RATE_11025),
2121
( 8000, AL.RATE_8000),
2222
]
23-
Play_Audio_sgi.nchannelslist = [
23+
self.nchannelslist = [
2424
(1, AL.MONO),
2525
(2, AL.STEREO),
2626
]
27-
Play_Audio_sgi.sampwidthlist = [
27+
self.sampwidthlist = [
2828
(1, AL.SAMPLE_8),
2929
(2, AL.SAMPLE_16),
3030
(3, AL.SAMPLE_24),
3131
]
32-
Play_Audio_sgi.classinited = 1
32+
self.classinited = 1
3333

3434
def __init__(self):
3535
import al, AL
@@ -129,14 +129,14 @@ def getfillable(self):
129129
return self.config.getqueuesize()
130130

131131
# private methods
132-
access *: private
132+
if 0: access *: private
133133

134134
def ulaw2lin(self, data):
135135
import audioop
136136
return audioop.ulaw2lin(data, 2)
137137

138138
class Play_Audio_sun:
139-
access outrate, sampwidth, nchannels, inited_outrate, inited_width, \
139+
if 0: access outrate, sampwidth, nchannels, inited_outrate, inited_width, \
140140
inited_nchannels, converter: private
141141

142142
def __init__(self):
@@ -176,11 +176,12 @@ def writeframes(self, data):
176176
info.o_channels = self.nchannels
177177
if self.sampwidth == 0:
178178
info.o_precision = 8
179-
self.o_encoding = ENCODING_ULAW
179+
self.o_encoding = SUNAUDIODEV.ENCODING_ULAW
180+
# XXX Hack, hack -- leave defaults
180181
else:
181182
info.o_precision = 8 * self.sampwidth
182183
info.o_encoding = SUNAUDIODEV.ENCODING_LINEAR
183-
self.port.setinfo(info)
184+
self.port.setinfo(info)
184185
if self.converter:
185186
data = self.converter(data)
186187
self.port.write(data)
@@ -209,17 +210,19 @@ def getfillable(self):
209210
def AudioDev():
210211
try:
211212
import al
212-
return Play_Audio_sgi()
213213
except ImportError:
214214
try:
215215
import sunaudiodev
216216
return Play_Audio_sun()
217217
except ImportError:
218218
try:
219219
import Audio_mac
220-
return Audio_mac.Play_Audio_mac()
221220
except ImportError:
222221
raise error, 'no audio device'
222+
else:
223+
return Audio_mac.Play_Audio_mac()
224+
else:
225+
return Play_Audio_sgi()
223226

224227
def test(fn = 'f:just samples:just.aif'):
225228
import aifc

0 commit comments

Comments
 (0)