Staging
v0.5.1
https://github.com/python/cpython
Revision caa63808861d4e92d4dc1005fc01de0f2e4a8fd0 authored by Guido van Rossum on 12 January 1995, 11:45:45 UTC, committed by Guido van Rossum on 12 January 1995, 11:45:45 UTC
use the new names exclusively, and the linker will see the new names.
Files that import "Python.h" also only see the new names.  Files that
import "allobjects.h" will continue to be able to use the old names,
due to the inclusion (in allobjects.h) of "rename2.h".
1 parent 94390ec
Raw File
Tip revision: caa63808861d4e92d4dc1005fc01de0f2e4a8fd0 authored by Guido van Rossum on 12 January 1995, 11:45:45 UTC
The great renaming, phase two: all header files have been updated to
Tip revision: caa6380
sunaudio.py
# Module 'sunaudio' -- interpret sun audio headers

MAGIC = '.snd'

error = 'sunaudio sound header conversion error'


# convert a 4-char value to integer

def get_long_be(s):
	return (ord(s[0])<<24) | (ord(s[1])<<16) | (ord(s[2])<<8) | ord(s[3])


# read a sound header from an open file

def gethdr(fp):
	if fp.read(4) <> MAGIC:
		raise error, 'gethdr: bad magic word'
	hdr_size = get_long_be(fp.read(4))
	data_size = get_long_be(fp.read(4))
	encoding = get_long_be(fp.read(4))
	sample_rate = get_long_be(fp.read(4))
	channels = get_long_be(fp.read(4))
	excess = hdr_size - 24
	if excess < 0:
		raise error, 'gethdr: bad hdr_size'
	if excess > 0:
		info = fp.read(excess)
	else:
		info = ''
	return (data_size, encoding, sample_rate, channels, info)


# read and print the sound header of a named file

def printhdr(file):
	hdr = gethdr(open(file, 'r'))
	data_size, encoding, sample_rate, channels, info = hdr
	while info[-1:] == '\0':
		info = info[:-1]
	print 'File name:  ', file
	print 'Data size:  ', data_size
	print 'Encoding:   ', encoding
	print 'Sample rate:', sample_rate
	print 'Channels:   ', channels
	print 'Info:       ', `info`
back to top