Remember 'length' is measured in *samples* not bytes, and mode is a bitfield using <br>
<ahref="../HTML/FSOUND_MODES.html">FSOUND_MODES</a> (see the help for a description of modes to describe the sample you are allocating)<br>
This will create you an empty sample to upload data into.<br>
</UL>
2. Upload your data to the sample.<br>
<UL>
Use <ahref="../HTML/FSOUND_Sample_Lock.html">FSOUND_Sample_Lock</a>()/<ahref="../HTML/FSOUND_Sample_Unlock.html">FSOUND_Sample_Unlock</a>() or <ahref="../HTML/FSOUND_Sample_Upload.html">FSOUND_Sample_Upload</a>() to get your data into the sample.<br>
With <ahref="../HTML/FSOUND_Sample_Lock.html">FSOUND_Sample_Lock</a>()/<ahref="../HTML/FSOUND_Sample_Unlock.html">FSOUND_Sample_Unlock</a>(), the data you copy in MUST be in signed format. <br>
FSOUND_Sample_Upload() is the favoured choice though, as you can describe the format, and it will convert it for you, but you have to pre-read the data into your own buffer first before passing it to <ahref="../HTML/FSOUND_Sample_Upload.html">FSOUND_Sample_Upload</a>(), which temporarily uses more memory. This converts from all types of sources.. unsigned, delta samples, even IT compressed. more types will come in the future.<br>
See <ahref="../HTML/FSOUND_Stream_Create.html">FSOUND_Stream_Create</a>. You can pass a callback function pointer and a length to this function.
When you start the stream with <ahref="../HTML/FSOUND_Stream_Play.html">FSOUND_Stream_Play</a> (as you would with any other stream), you start getting callbacks.