Determining the number of simultaneous playback streams

Streaming sounds means playing long audio waveforms continuously while progressively loading their data.
For that reason, some reading buffers must be allocated to prevent the sound from being interrupted.
If many streams need to be played simultaneously, more buffers will be required.

Buffer management associated with streaming sound data is assured by an ADX module called D-BAS.
It is necessary to initialize the D-BAS module before the first stream playback is started, and to do so information such as the maximum number of simultaneous streams is required.
In order to play back streams, a loader module (for file access) is also required in addition to the buffer.
One loader is required for each voice compatible with streaming playback. The number of loaders managed by the file system is set during initialization.
You have to set the number of loaders by considering the maximum number of simultaneous streams, the number of voices corresponding to streams, and finally the number of file openings unrelated to sound etc.

craftv2_tips_program_decide_maxstream00.png

On the ADX system, the stream priority is higher for streaming playback and data read.
Therefore, streaming playback will not be interrupted.

Eliminating delays until the playback starts

By using the Prepare function, it is possible to avoid the delay that occurs at the start of streaming playback and which is due to data loading.
Normally, in streaming playback, the actual playback process is delayed until a sufficent amount of data has been loaded and is ready to be played.
This may be a problem in cases where the playback timing is especially important.
The Prepare function sets the Player in the pause state and starts loading audio buffers. Once the preparation is over, you can resume the Player and the playback starts with no delay.

craftv2_tips_program_decide_maxstream01.png