Previous Topic Index Next Topic
[API function]

FSOUND_Sample_Alloc

Allocates a new empty sample. Used if you want to create a sample from scratch and fill the databuffer with your own data (using FSOUND_Sample_Lock or FSOUND_Sample_Upload), instead of just loading a file with FSOUND_Sample_Load.

FSOUND_SAMPLE * F_API FSOUND_Sample_Alloc(
int index,
int length,
unsigned int mode,
int deffreq,
int defvol,
int defpan,
int defpri
);

Parameters

index Sample pool index. See remarks for more on the sample pool.
0 or above - The absolute index into fsounds sample pool. The pool will grow as
the index gets larger. If a slot is already used it will be replaced.
FSOUND_FREE - Let FSOUND select an arbitrary sample slot.
FSOUND_UNMANAGED - Dont have fsound free this sample upon FSOUND_Close
length The length in of the sample buffer in SAMPLES.
mode Bitfield describing various characteristics of the sample. Valid parameters are
described in FSOUND_MODES.
deffreq Default frequency for this sample.
defvol Default volume for this sample.
defpan Default pan for this sample.
defpri Default priority for this sample.

Return Value

On success, a pointer to an allocated sample is returned.
On failure, NULL is returned.

Remarks

FMOD has a sample management system that holds onto any samples loaded or allocated, and
frees them all when you call FSOUND_Close. It takes the hassle out of having to keep hold
of a lot of sample handles and remember to free them all at the end of your application.
It is basically an expandle array of handles that holds each sample until FMOD closes down where it does
a cleanup. FSOUND_UNMANAGED can be used NOT to use the sample management system.
------------
FSOUND_Sample_Alloc is only nescessary for lower level operations with sample data. Usually
FSOUND_Load does the work for you. lower level operations mean such things as uploading data from memory or
your own compressed data for example.
You can create a new sample from scratch by doing the following operations
1. Allocate a new sample with FSOUND_Sample_Alloc
2. Write data to the sample buffer with FSOUND_Sample_Lock and FSOUND_Sample_Unlock, or
FSOUND_Sample_Upload.
Note FSOUND_Sample_Lock only returns a pointer to the sample data, whereas
FSOUND_Sample_Upload does a copy from data you give it, with format conversion to the
correct format.
___________________
Supported on the following platforms : Win32, WinCE, Linux, Macintosh, XBox, PlayStation 2, GameCube

See Also

FSOUND_Close , FSOUND_MODES , FSOUND_Sample_Alloc , FSOUND_Sample_Free , FSOUND_Sample_Load , FSOUND_Sample_Lock , FSOUND_Sample_SetDefaults , FSOUND_Sample_SetLoopPoints , FSOUND_Sample_Unlock , FSOUND_Sample_Upload

This document copyright ©Firelight Technologies, Pty, Ltd, 1999-2002. All rights reserved.
Generated Thu Dec 15 17:31:32 2005 by SourceDoc v0.10, the automated source code documenter.