Mercurial > audio-send
comparison org/device_details.org @ 1:c41d773a85fb
moved org files, ignored html files
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Tue, 25 Oct 2011 13:03:35 -0700 |
parents | device_details.org@f9476ff7637e |
children |
comparison
equal
deleted
inserted
replaced
0:f9476ff7637e | 1:c41d773a85fb |
---|---|
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. | |
4 | |
5 | |
6 Every device has the *<name>_data* struct, which is where all the | |
7 device specific state is located. | |
8 | |
9 In the function *<name>_open_playback*, the device is initialized, | |
10 here the trueName is set, and the devices data is initialized. | |
11 | |
12 The ALCdevice's ExtraData field must always be cast to to the actual | |
13 data struct that the device uses. | |
14 | |
15 | |
16 | |
17 the =open_playback= function is where everything is initialized, | |
18 | |
19 | |
20 but the =reset_playback= is where the actual thread which is the heart | |
21 of the device is started. | |
22 | |
23 | |
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. | |
27 | |
28 | |
29 It is the ALContext which controls the particulars of a listener. | |
30 | |
31 The context contains the device. | |
32 | |
33 * so do we need a new context for each listener, alone with their own | |
34 devices? | |
35 | |
36 However, the device also maintains a *list* of contexts... | |
37 |