Vega strike Python Modules doc
0.5.1
Documentation of the " Modules " folder of Vega strike
Main Page
Namespaces
Data Structures
Files
File List
All
Data Structures
Namespaces
Files
Functions
Variables
sunaudio.py
Go to the documentation of this file.
1
"""Interpret sun audio headers."""
2
3
MAGIC =
'.snd'
4
5
class
error
(Exception):
6
pass
7
8
9
def
get_long_be
(s):
10
"""Convert a 4-char value to integer."""
11
return
(ord(s[0])<<24) | (ord(s[1])<<16) | (ord(s[2])<<8) | ord(s[3])
12
13
14
def
gethdr
(fp):
15
"""Read a sound header from an open file."""
16
if
fp.read(4) != MAGIC:
17
raise
error,
'gethdr: bad magic word'
18
hdr_size =
get_long_be
(fp.read(4))
19
data_size =
get_long_be
(fp.read(4))
20
encoding =
get_long_be
(fp.read(4))
21
sample_rate =
get_long_be
(fp.read(4))
22
channels =
get_long_be
(fp.read(4))
23
excess = hdr_size - 24
24
if
excess < 0:
25
raise
error,
'gethdr: bad hdr_size'
26
if
excess > 0:
27
info = fp.read(excess)
28
else
:
29
info =
''
30
return
(data_size, encoding, sample_rate, channels, info)
31
32
33
def
printhdr
(file):
34
"""Read and print the sound header of a named file."""
35
hdr =
gethdr
(
open
(file,
'
r'))
36
data_size, encoding, sample_rate, channels, info = hdr
37
while
info[-1:] ==
'\0'
:
38
info = info[:-1]
39
print
'File name: '
, file
40
print
'Data size: '
, data_size
41
print
'Encoding: '
, encoding
42
print
'Sample rate:'
, sample_rate
43
print
'Channels: '
, channels
44
print
'Info: '
, `info`
builtin
sunaudio.py
Generated on Mon Feb 17 2014 12:38:43 for Vega strike Python Modules doc by
1.8.4