Simple Sound for Small Devices
last updated: 14 JUN 2003 (v0.6)

Function Name: sssd_copySample...

   Copy a pre-loaded sample to sssd's sample memory.  If the sample is in a differnt format than the currently running sssd player thread, the sample will be converted.   Once a sample is registered with a copySample function, the memory holding the original source sample data can be freed.

C Prototype:

int sssd_copySampleStereo( struct sssdaudio* ga, void* data, int channels, int freq, int bits, int samples, int flags )


#define sssd_copySample(a,b,c,d,e,f,g) sssd_copySampleStereo(a,b,c,d,e,f,LOAD_STEREO|g)
#define sssd_copySampleLeft(a,b,c,d,e,f,g) sssd_copySampleStereo(a,b,c,d,e,f,LOAD_LEFT|g)
#define sssd_copySampleRight(a,b,c,d,e,f,g) sssd_copySampleStereo(a,b,c,d,e,f,LOAD_RIGHT|g)

  Other Prototypes:


struct gameaudio *ga

    Pointer to an initialized sssdaudio structure (returned by sssd_initAudio)

void *data

    Pointer to the digital audio sample data.  (Must be unsigned 8-bit or signed 16-bit.)

int channels

    Number of channels present in the sample data (currently only 1 or 2 for mono or stereo are supported)

int frequency

    Sample frequency of the sound data. (See also frequency hints)

int bits

    Number of bits per sample value (currently only 8 and 16 are supported)

int samples

    Number of samples in the sample data.  (sometimes called 'frames')

int flags

    A series of or'ed {|} flags

    Override sample parameters: one of LOAD_STEREO, LOAD_RIGHT, LOAD_LEFT will force the sample to load as stereo, load only the right channel (left channel will be blank), or load only the left channel (right channel will be blank).   These should be used when you want a sample to pan.

   LOAD_DONT_RESAMPLE will prevent sssd from resampling the loaded sample if the sample frequency differs from the sssd subsystem frequency.


    Successful copy returns the sample_id of the sample.  This ID number is used to control and play the sample.

    SSSD system has not been initialized.

    No open sample slots are available to create a new SSSD sample.

    Could not allocate memory for sample.

libsssd (c)2003 Patrick Roberts created from libgaudio (c) 1999-2000 A. Schiffler.  Release as open source under MPL 1.1.  Documentation (c)2003 Patrick Roberts.