view org/device_details.org @ 26:56f83c170251

adding hard-to-compile artifacts for other systems
author Robert McIntyre <rlm@mit.edu>
date Sat, 19 Nov 2011 19:17:37 -0700
parents c41d773a85fb
children
line wrap: on
line source
1 * a device has a two names,
2 - *name*, which is the filename and which appears before all of the functions.
3 - *trueName*, which is a string that is used to summon the device.
6 Every device has the *<name>_data* struct, which is where all the
7 device specific state is located.
9 In the function *<name>_open_playback*, the device is initialized,
10 here the trueName is set, and the devices data is initialized.
12 The ALCdevice's ExtraData field must always be cast to to the actual
13 data struct that the device uses.
17 the =open_playback= function is where everything is initialized,
20 but the =reset_playback= is where the actual thread which is the heart
21 of the device is started.
24 every device has a <name>Proc function which takes a pointer to an
25 ALCdevice and is run in a separate thread. It is this procedure that
26 actually does stuff with sound data.
29 It is the ALContext which controls the particulars of a listener.
31 The context contains the device.
33 * so do we need a new context for each listener, alone with their own
34 devices?
36 However, the device also maintains a *list* of contexts...