Refactor|Audio|Client: Began revising audio system, object-orientation
The plan here is to move away from the idea of having logical audio channels which issue playback events, instead using a set of sound object instances which can be asked to 'play' themselves using some means (e.g., using an external, Driver-managed data buffer and API).
Ultimately, a "channel" will merely be a mapping to a sound object. Naturally this means that it should be possible to fully virtualize the channels, so that the engine can use as many (or as few) as the user desires. (Note: A driver may restrict this, so we should query the maximum number of concurrent sounds for a given interface).
Refactor|Audio|Client: Began revising audio system, object-orientation
The plan here is to move away from the idea of having logical audio
channels which issue playback events, instead using a set of sound
object instances which can be asked to 'play' themselves using some
means (e.g., using an external, Driver-managed data buffer and API).
Ultimately, a "channel" will merely be a mapping to a sound object.
Naturally this means that it should be possible to fully virtualize
the channels, so that the engine can use as many (or as few) as the
user desires. (Note: A driver may restrict this, so we should query
the maximum number of concurrent sounds for a given interface).