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 +