Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
Au_read Class Reference

Public Member Functions

def __init__
 
def __del__
 
def initfp
 
def getfp
 
def getnchannels
 
def getsampwidth
 
def getframerate
 
def getnframes
 
def getcomptype
 
def getcompname
 
def getparams
 
def getmarkers
 
def getmark
 
def readframes
 
def rewind
 
def tell
 
def setpos
 
def close
 

Detailed Description

Definition at line 152 of file sunau.py.

Constructor & Destructor Documentation

def __init__ (   self,
  f 
)

Definition at line 154 of file sunau.py.

155  def __init__(self, f):
156  if type(f) == type(''):
157  import __builtin__
158  f = __builtin__.open(f, 'rb')
159  self.initfp(f)
def __del__ (   self)

Definition at line 160 of file sunau.py.

161  def __del__(self):
162  if self._file:
163  self.close()

Member Function Documentation

def close (   self)

Definition at line 278 of file sunau.py.

279  def close(self):
280  self._file = None
def getcompname (   self)

Definition at line 234 of file sunau.py.

235  def getcompname(self):
236  if self._encoding == AUDIO_FILE_ENCODING_MULAW_8:
237  return 'CCITT G.711 u-law'
238  elif self._encoding == AUDIO_FILE_ENCODING_ALAW_8:
239  return 'CCITT G.711 A-law'
240  else:
241  return 'not compressed'
def getcomptype (   self)

Definition at line 226 of file sunau.py.

227  def getcomptype(self):
228  if self._encoding == AUDIO_FILE_ENCODING_MULAW_8:
229  return 'ULAW'
230  elif self._encoding == AUDIO_FILE_ENCODING_ALAW_8:
231  return 'ALAW'
232  else:
233  return 'NONE'
def getfp (   self)

Definition at line 207 of file sunau.py.

208  def getfp(self):
209  return self._file
def getframerate (   self)

Definition at line 216 of file sunau.py.

217  def getframerate(self):
218  return self._framerate
def getmark (   self,
  id 
)

Definition at line 250 of file sunau.py.

251  def getmark(self, id):
252  raise Error, 'no marks'
def getmarkers (   self)

Definition at line 247 of file sunau.py.

248  def getmarkers(self):
249  return None
def getnchannels (   self)

Definition at line 210 of file sunau.py.

211  def getnchannels(self):
212  return self._nchannels
def getnframes (   self)

Definition at line 219 of file sunau.py.

220  def getnframes(self):
221  if self._data_size == AUDIO_UNKNOWN_SIZE:
222  return AUDIO_UNKNOWN_SIZE
223  if self._encoding in _simple_encodings:
224  return self._data_size / self._framesize
225  return 0 # XXX--must do some arithmetic here
def getparams (   self)

Definition at line 242 of file sunau.py.

243  def getparams(self):
244  return self.getnchannels(), self.getsampwidth(), \
245  self.getframerate(), self.getnframes(), \
246  self.getcomptype(), self.getcompname()
def getsampwidth (   self)

Definition at line 213 of file sunau.py.

214  def getsampwidth(self):
215  return self._sampwidth
def initfp (   self,
  file 
)

Definition at line 164 of file sunau.py.

165  def initfp(self, file):
166  self._file = file
167  self._soundpos = 0
168  magic = int(_read_u32(file))
169  if magic != AUDIO_FILE_MAGIC:
170  raise Error, 'bad magic number'
171  self._hdr_size = int(_read_u32(file))
172  if self._hdr_size < 24:
173  raise Error, 'header size too small'
174  if self._hdr_size > 100:
175  raise Error, 'header size ridiculously large'
176  self._data_size = _read_u32(file)
177  if self._data_size != AUDIO_UNKNOWN_SIZE:
178  self._data_size = int(self._data_size)
179  self._encoding = int(_read_u32(file))
180  if self._encoding not in _simple_encodings:
181  raise Error, 'encoding not (yet) supported'
182  if self._encoding in (AUDIO_FILE_ENCODING_MULAW_8,
183  AUDIO_FILE_ENCODING_ALAW_8):
184  self._sampwidth = 2
185  self._framesize = 1
186  elif self._encoding == AUDIO_FILE_ENCODING_LINEAR_8:
187  self._framesize = self._sampwidth = 1
188  elif self._encoding == AUDIO_FILE_ENCODING_LINEAR_16:
189  self._framesize = self._sampwidth = 2
190  elif self._encoding == AUDIO_FILE_ENCODING_LINEAR_24:
191  self._framesize = self._sampwidth = 3
192  elif self._encoding == AUDIO_FILE_ENCODING_LINEAR_32:
193  self._framesize = self._sampwidth = 4
194  else:
195  raise Error, 'unknown encoding'
196  self._framerate = int(_read_u32(file))
197  self._nchannels = int(_read_u32(file))
198  self._framesize = self._framesize * self._nchannels
199  if self._hdr_size > 24:
200  self._info = file.read(self._hdr_size - 24)
201  for i in range(len(self._info)):
202  if self._info[i] == '\0':
203  self._info = self._info[:i]
204  break
205  else:
206  self._info = ''
def readframes (   self,
  nframes 
)

Definition at line 253 of file sunau.py.

254  def readframes(self, nframes):
255  if self._encoding in _simple_encodings:
256  if nframes == AUDIO_UNKNOWN_SIZE:
257  data = self._file.read()
258  else:
259  data = self._file.read(nframes * self._framesize * self._nchannels)
260  if self._encoding == AUDIO_FILE_ENCODING_MULAW_8:
261  import audioop
262  data = audioop.ulaw2lin(data, self._sampwidth)
263  return data
264  return None # XXX--not implemented yet
def rewind (   self)

Definition at line 265 of file sunau.py.

266  def rewind(self):
267  self._soundpos = 0
268  self._file.seek(self._hdr_size)
def setpos (   self,
  pos 
)

Definition at line 272 of file sunau.py.

273  def setpos(self, pos):
274  if pos < 0 or pos > self.getnframes():
275  raise Error, 'position not in range'
276  self._file.seek(pos * self._framesize + self._hdr_size)
277  self._soundpos = pos
def tell (   self)

Definition at line 269 of file sunau.py.

270  def tell(self):
271  return self._soundpos

The documentation for this class was generated from the following file: