Mercurial > audio-send
diff 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 |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/org/device_details.org Tue Oct 25 13:03:35 2011 -0700 1.3 @@ -0,0 +1,37 @@ 1.4 +* a device has a two names, 1.5 + - *name*, which is the filename and which appears before all of the functions. 1.6 + - *trueName*, which is a string that is used to summon the device. 1.7 + 1.8 + 1.9 +Every device has the *<name>_data* struct, which is where all the 1.10 +device specific state is located. 1.11 + 1.12 +In the function *<name>_open_playback*, the device is initialized, 1.13 +here the trueName is set, and the devices data is initialized. 1.14 + 1.15 +The ALCdevice's ExtraData field must always be cast to to the actual 1.16 +data struct that the device uses. 1.17 + 1.18 + 1.19 + 1.20 +the =open_playback= function is where everything is initialized, 1.21 + 1.22 + 1.23 +but the =reset_playback= is where the actual thread which is the heart 1.24 +of the device is started. 1.25 + 1.26 + 1.27 +every device has a <name>Proc function which takes a pointer to an 1.28 +ALCdevice and is run in a separate thread. It is this procedure that 1.29 +actually does stuff with sound data. 1.30 + 1.31 + 1.32 +It is the ALContext which controls the particulars of a listener. 1.33 + 1.34 +The context contains the device. 1.35 + 1.36 +* so do we need a new context for each listener, alone with their own 1.37 +devices? 1.38 + 1.39 +However, the device also maintains a *list* of contexts... 1.40 +