FusionSound Reference Manual
FusionSound Types

FSSampleFormat
  FSSF_UNKNOWN Unknown or invalid format.
  FSSF_S16 Signed 16 bit (linear).
  FSSF_U8 Unsigned 8 bit (linear).
The sample format is the way of storing audible information.

Data is always stored in native endian. This keeps the library and applications simple and clean. Always access sample buffers like arrays of 8 bit or 16 bit integers depending on the sample format, unless data is written with endianness being taken care of. This does not excuse from endian conversion that might be necessary when reading data from files.

FSBufferDescriptionFlags
  FSBDF_NONE None of these.
  FSBDF_LENGTH Buffer length is set.
  FSBDF_CHANNELS Number of channels is set.
  FSBDF_SAMPLEFORMAT Sample format is set.
  FSBDF_SAMPLERATE Sample rate is set.
  FSBDF_ALL All of these.
Each buffer description flag validates one field of the buffer description.

FSBufferDescription
  FSBufferDescriptionFlags flags; Defines which fields are set.
  int length; Buffer length specified as number of samples per channel.
  int channels; Number of channels.
  FSSampleFormat sampleformat; Format of each sample.
  int samplerate; Number of samples per second.
The buffer description is used to create static sound buffers.

FSStreamDescriptionFlags
  FSSDF_NONE None of these.
  FSSDF_BUFFERSIZE Ring buffer size is set.
  FSSDF_CHANNELS Number of channels is set.
  FSSDF_SAMPLEFORMAT Sample format is set.
  FSSDF_SAMPLERATE Sample rate is set.
  FSSDF_PREBUFFER Prebuffer amount is set.
  FSSDF_ALL All of these.
Each stream description flag validates one field of the stream description.

FSStreamDescription
  FSStreamDescriptionFlags flags; Defines which fields are set.
  int buffersize; Ring buffer size specified as a number of samples (per channel).
  int channels; Number of channels.
  FSSampleFormat sampleformat; Format of each sample.
  int samplerate; Number of samples per second (per channel).
  int prebuffer; Samples to buffer before starting the playback. A negative value disables auto start of playback.
The stream description is used to create streaming sound buffers.

FSMusicProviderCapabilities
  FMCAPS_BASIC basic ops (PlayTo, Stop)
  FMCAPS_SEEK supports SeekTo
Information about an IFusionSoundMusicProvider.

FSBufferPlayFlags
  FSPLAY_NOFX No effects are applied.
  FSPLAY_LOOPING Playback will continue at the beginning of the buffer as soon as the end is reached. There's no gap produced by concatenation. Only one looping playback at a time is supported by the simple playback. See also CreatePlayback().
  FSPLAY_PAN Use value passed to SetPan() to control the balance between left and right speakers.
  FSPLAY_ALL All of these.
Flags for simple playback using
IFusionSoundBuffer::Play().