fmod.h   fmod.h 
skipping to change at line 19 skipping to change at line 19
/* ======================================================================== ==================== */ /* ======================================================================== ==================== */
#ifndef _FMOD_H #ifndef _FMOD_H
#define _FMOD_H #define _FMOD_H
/* /*
FMOD version number. Check this against FMOD::System::getVersion. FMOD version number. Check this against FMOD::System::getVersion.
0xaaaabbcc -> aaaa = major version number. bb = minor version number. cc = development version number. 0xaaaabbcc -> aaaa = major version number. bb = minor version number. cc = development version number.
*/ */
#define FMOD_VERSION 0x00043500 #define FMOD_VERSION 0x00043501
/* /*
Compiler specific settings. Compiler specific settings.
*/ */
#if defined(__CYGWIN32__) #if defined(__CYGWIN32__)
#define F_CDECL __cdecl #define F_CDECL __cdecl
#define F_STDCALL __stdcall #define F_STDCALL __stdcall
#define F_DECLSPEC __declspec #define F_DECLSPEC __declspec
#define F_DLLEXPORT ( dllexport ) #define F_DLLEXPORT ( dllexport )
skipping to change at line 92 skipping to change at line 92
/*$ fmod result start $*/ /*$ fmod result start $*/
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
error codes. Returned from every function. error codes. Returned from every function.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_OK, /* No errors. */ FMOD_OK, /* No errors. */
FMOD_ERR_ALREADYLOCKED, /* Tried to call lock a second time bef ore unlock was called. */ FMOD_ERR_ALREADYLOCKED, /* Tried to call lock a second time bef ore unlock was called. */
FMOD_ERR_BADCOMMAND, /* Tried to call a function on a data t ype that does not allow this type of functionality (ie calling Sound::lock on a streaming sound). */ FMOD_ERR_BADCOMMAND, /* Tried to call a function on a data t ype that does not allow this type of functionality (ie calling Sound::lock on a streaming sound). */
FMOD_ERR_CDDA_DRIVERS, /* Neither NTSCSI nor ASPI could be ini tialised. */ FMOD_ERR_CDDA_DRIVERS, /* Neither NTSCSI nor ASPI could be ini tialised. */
skipping to change at line 141 skipping to change at line 141
FMOD_ERR_INITIALIZED, /* Cannot call this command after Syste m::init. */ FMOD_ERR_INITIALIZED, /* Cannot call this command after Syste m::init. */
FMOD_ERR_INTERNAL, /* An error occured that wasn't suppose d to. Contact support. */ FMOD_ERR_INTERNAL, /* An error occured that wasn't suppose d to. Contact support. */
FMOD_ERR_INVALID_ADDRESS, /* On Xbox 360, this memory address pas sed to FMOD must be physical, (ie allocated with XPhysicalAlloc.) */ FMOD_ERR_INVALID_ADDRESS, /* On Xbox 360, this memory address pas sed to FMOD must be physical, (ie allocated with XPhysicalAlloc.) */
FMOD_ERR_INVALID_FLOAT, /* Value passed in was a NaN, Inf or de normalized float. */ FMOD_ERR_INVALID_FLOAT, /* Value passed in was a NaN, Inf or de normalized float. */
FMOD_ERR_INVALID_HANDLE, /* An invalid object handle was used. * / FMOD_ERR_INVALID_HANDLE, /* An invalid object handle was used. * /
FMOD_ERR_INVALID_PARAM, /* An invalid parameter was passed to t his function. */ FMOD_ERR_INVALID_PARAM, /* An invalid parameter was passed to t his function. */
FMOD_ERR_INVALID_POSITION, /* An invalid seek position was passed to this function. */ FMOD_ERR_INVALID_POSITION, /* An invalid seek position was passed to this function. */
FMOD_ERR_INVALID_SPEAKER, /* An invalid speaker was passed to thi s function based on the current speaker mode. */ FMOD_ERR_INVALID_SPEAKER, /* An invalid speaker was passed to thi s function based on the current speaker mode. */
FMOD_ERR_INVALID_SYNCPOINT, /* The syncpoint did not come from this sound handle. */ FMOD_ERR_INVALID_SYNCPOINT, /* The syncpoint did not come from this sound handle. */
FMOD_ERR_INVALID_VECTOR, /* The vectors passed in are not unit l ength, or perpendicular. */ FMOD_ERR_INVALID_VECTOR, /* The vectors passed in are not unit l ength, or perpendicular. */
FMOD_ERR_IRX, /* PS2 only. fmodex.irx failed to init ialize. This is most likely because you forgot to load it. */
FMOD_ERR_MAXAUDIBLE, /* Reached maximum audible playback cou nt for this sound's soundgroup. */ FMOD_ERR_MAXAUDIBLE, /* Reached maximum audible playback cou nt for this sound's soundgroup. */
FMOD_ERR_MEMORY, /* Not enough memory or resources. */ FMOD_ERR_MEMORY, /* Not enough memory or resources. */
FMOD_ERR_MEMORY_CANTPOINT, /* Can't use FMOD_OPENMEMORY_POINT on n on PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPL E was used. */ FMOD_ERR_MEMORY_CANTPOINT, /* Can't use FMOD_OPENMEMORY_POINT on n on PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPL E was used. */
FMOD_ERR_MEMORY_IOP, /* PS2 only. Not enough memory or reso urces on PlayStation 2 IOP ram. */
FMOD_ERR_MEMORY_SRAM, /* Not enough memory or resources on co nsole sound ram. */ FMOD_ERR_MEMORY_SRAM, /* Not enough memory or resources on co nsole sound ram. */
FMOD_ERR_NEEDS2D, /* Tried to call a command on a 3d soun d when the command was meant for 2d sound. */ FMOD_ERR_NEEDS2D, /* Tried to call a command on a 3d soun d when the command was meant for 2d sound. */
FMOD_ERR_NEEDS3D, /* Tried to call a command on a 2d soun d when the command was meant for 3d sound. */ FMOD_ERR_NEEDS3D, /* Tried to call a command on a 2d soun d when the command was meant for 3d sound. */
FMOD_ERR_NEEDSHARDWARE, /* Tried to use a feature that requires hardware support. (ie trying to play a VAG compressed sound in software o n PS2). */ FMOD_ERR_NEEDSHARDWARE, /* Tried to use a feature that requires hardware support. (ie trying to play a GCADPCM compressed sound in softwa re on Wii). */
FMOD_ERR_NEEDSSOFTWARE, /* Tried to use a feature that requires the software engine. Software engine has either been turned off, or comma nd was executed on a hardware channel which does not support this feature. */ FMOD_ERR_NEEDSSOFTWARE, /* Tried to use a feature that requires the software engine. Software engine has either been turned off, or comma nd was executed on a hardware channel which does not support this feature. */
FMOD_ERR_NET_CONNECT, /* Couldn't connect to the specified ho st. */ FMOD_ERR_NET_CONNECT, /* Couldn't connect to the specified ho st. */
FMOD_ERR_NET_SOCKET_ERROR, /* A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere. */ FMOD_ERR_NET_SOCKET_ERROR, /* A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere. */
FMOD_ERR_NET_URL, /* The specified URL couldn't be resolv ed. */ FMOD_ERR_NET_URL, /* The specified URL couldn't be resolv ed. */
FMOD_ERR_NET_WOULD_BLOCK, /* Operation on a non-blocking socket c ould not complete immediately. */ FMOD_ERR_NET_WOULD_BLOCK, /* Operation on a non-blocking socket c ould not complete immediately. */
FMOD_ERR_NOTREADY, /* Operation could not be performed bec ause specified sound/DSP connection is not ready. */ FMOD_ERR_NOTREADY, /* Operation could not be performed bec ause specified sound/DSP connection is not ready. */
FMOD_ERR_OUTPUT_ALLOCATED, /* Error initializing output device, bu t more specifically, the output device is already in use and cannot be reus ed. */ FMOD_ERR_OUTPUT_ALLOCATED, /* Error initializing output device, bu t more specifically, the output device is already in use and cannot be reus ed. */
FMOD_ERR_OUTPUT_CREATEBUFFER, /* Error creating hardware sound buffer . */ FMOD_ERR_OUTPUT_CREATEBUFFER, /* Error creating hardware sound buffer . */
FMOD_ERR_OUTPUT_DRIVERCALL, /* A call to a standard soundcard drive r failed, which could possibly mean a bug in the driver or resources were m issing or exhausted. */ FMOD_ERR_OUTPUT_DRIVERCALL, /* A call to a standard soundcard drive r failed, which could possibly mean a bug in the driver or resources were m issing or exhausted. */
FMOD_ERR_OUTPUT_ENUMERATION, /* Error enumerating the available driv er list. List may be inconsistent due to a recent device addition or remova l. */ FMOD_ERR_OUTPUT_ENUMERATION, /* Error enumerating the available driv er list. List may be inconsistent due to a recent device addition or remova l. */
skipping to change at line 172 skipping to change at line 170
FMOD_ERR_OUTPUT_NOHARDWARE, /* FMOD_HARDWARE was specified but the sound card does not have the resources necessary to play it. */ FMOD_ERR_OUTPUT_NOHARDWARE, /* FMOD_HARDWARE was specified but the sound card does not have the resources necessary to play it. */
FMOD_ERR_OUTPUT_NOSOFTWARE, /* Attempted to create a software sound but no software channels were specified in System::init. */ FMOD_ERR_OUTPUT_NOSOFTWARE, /* Attempted to create a software sound but no software channels were specified in System::init. */
FMOD_ERR_PAN, /* Panning only works with mono or ster eo sound sources. */ FMOD_ERR_PAN, /* Panning only works with mono or ster eo sound sources. */
FMOD_ERR_PLUGIN, /* An unspecified error has been return ed from a 3rd party plugin. */ FMOD_ERR_PLUGIN, /* An unspecified error has been return ed from a 3rd party plugin. */
FMOD_ERR_PLUGIN_INSTANCES, /* The number of allowed instances of a plugin has been exceeded. */ FMOD_ERR_PLUGIN_INSTANCES, /* The number of allowed instances of a plugin has been exceeded. */
FMOD_ERR_PLUGIN_MISSING, /* A requested output, dsp unit type or codec was not available. */ FMOD_ERR_PLUGIN_MISSING, /* A requested output, dsp unit type or codec was not available. */
FMOD_ERR_PLUGIN_RESOURCE, /* A resource that the plugin requires cannot be found. (ie the DLS file for MIDI playback) */ FMOD_ERR_PLUGIN_RESOURCE, /* A resource that the plugin requires cannot be found. (ie the DLS file for MIDI playback) */
FMOD_ERR_PRELOADED, /* The specified sound is still in use by the event system, call EventSystem::unloadFSB before trying to release i t. */ FMOD_ERR_PRELOADED, /* The specified sound is still in use by the event system, call EventSystem::unloadFSB before trying to release i t. */
FMOD_ERR_PROGRAMMERSOUND, /* The specified sound is still in use by the event system, wait for the event which is using it finish with it. * / FMOD_ERR_PROGRAMMERSOUND, /* The specified sound is still in use by the event system, wait for the event which is using it finish with it. * /
FMOD_ERR_RECORD, /* An error occured trying to initializ e the recording device. */ FMOD_ERR_RECORD, /* An error occured trying to initializ e the recording device. */
FMOD_ERR_REVERB_INSTANCE, /* Specified Instance in FMOD_REVERB_PR OPERTIES couldn't be set. Most likely because it is an invalid instance num ber, or another application has locked the EAX4 FX slot. */ FMOD_ERR_REVERB_INSTANCE, /* Specified Instance in FMOD_REVERB_PR OPERTIES couldn't be set. Most likely because it is an invalid instance num ber. */
FMOD_ERR_SUBSOUND_ALLOCATED, /* This subsound is already being used by another sound, you cannot have more than one parent to a sound. Null ou t the other parent's entry first. */ FMOD_ERR_SUBSOUND_ALLOCATED, /* This subsound is already being used by another sound, you cannot have more than one parent to a sound. Null ou t the other parent's entry first. */
FMOD_ERR_SUBSOUND_CANTMOVE, /* Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file. */ FMOD_ERR_SUBSOUND_CANTMOVE, /* Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file. */
FMOD_ERR_SUBSOUND_MODE, /* The subsound's mode bits do not matc h with the parent sound's mode bits. See documentation for function that i t was called with. */ FMOD_ERR_SUBSOUND_MODE, /* The subsound's mode bits do not matc h with the parent sound's mode bits. See documentation for function that i t was called with. */
FMOD_ERR_SUBSOUNDS, /* The error occured because the sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be p erformed on a parent sound, or a parent sound was played without setting up a sentence first. */ FMOD_ERR_SUBSOUNDS, /* The error occured because the sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be p erformed on a parent sound, or a parent sound was played without setting up a sentence first. */
FMOD_ERR_TAGNOTFOUND, /* The specified tag could not be found or there are no tags. */ FMOD_ERR_TAGNOTFOUND, /* The specified tag could not be found or there are no tags. */
FMOD_ERR_TOOMANYCHANNELS, /* The sound created exceeds the allowa ble input channel count. This can be increased using the maxinputchannels parameter in System::setSoftwareFormat. */ FMOD_ERR_TOOMANYCHANNELS, /* The sound created exceeds the allowa ble input channel count. This can be increased using the maxinputchannels parameter in System::setSoftwareFormat. */
FMOD_ERR_UNIMPLEMENTED, /* Something in FMOD hasn't been implem ented when it should be! contact support! */ FMOD_ERR_UNIMPLEMENTED, /* Something in FMOD hasn't been implem ented when it should be! contact support! */
FMOD_ERR_UNINITIALIZED, /* This command failed because System:: init or System::setDriver was not called. */ FMOD_ERR_UNINITIALIZED, /* This command failed because System:: init or System::setDriver was not called. */
FMOD_ERR_UNSUPPORTED, /* A command issued was not supported b y this object. Possibly a plugin without certain callbacks specified. */ FMOD_ERR_UNSUPPORTED, /* A command issued was not supported b y this object. Possibly a plugin without certain callbacks specified. */
FMOD_ERR_UPDATE, /* An error caused by System::update oc cured. */ FMOD_ERR_UPDATE, /* An error caused by System::update oc cured. */
skipping to change at line 215 skipping to change at line 213
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure describing a point in 3D space. Structure describing a point in 3D space.
[REMARKS] [REMARKS]
FMOD uses a left handed co-ordinate system by default.<br> FMOD uses a left handed co-ordinate system by default.<br>
To use a right handed co-ordinate system specify FMOD_INIT_3D_RIGHTHAND ED from FMOD_INITFLAGS in System::init. To use a right handed co-ordinate system specify FMOD_INIT_3D_RIGHTHAND ED from FMOD_INITFLAGS in System::init.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::set3DListenerAttributes System::set3DListenerAttributes
System::get3DListenerAttributes System::get3DListenerAttributes
Channel::set3DAttributes Channel::set3DAttributes
Channel::get3DAttributes Channel::get3DAttributes
Channel::set3DCustomRolloff Channel::set3DCustomRolloff
Channel::get3DCustomRolloff Channel::get3DCustomRolloff
Sound::set3DCustomRolloff Sound::set3DCustomRolloff
Sound::get3DCustomRolloff Sound::get3DCustomRolloff
skipping to change at line 254 skipping to change at line 252
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure describing a globally unique identifier. Structure describing a globally unique identifier.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::getDriverInfo System::getDriverInfo
] ]
*/ */
typedef struct typedef struct
{ {
unsigned int Data1; /* Specifies the first 8 hexadecimal digits of the GUID */ unsigned int Data1; /* Specifies the first 8 hexadecimal digits of the GUID */
unsigned short Data2; /* Specifies the first group of 4 hexadecim al digits. */ unsigned short Data2; /* Specifies the first group of 4 hexadecim al digits. */
unsigned short Data3; /* Specifies the second group of 4 hexadeci mal digits. */ unsigned short Data3; /* Specifies the second group of 4 hexadeci mal digits. */
skipping to change at line 288 skipping to change at line 286
Instructions: write to 'buffer', and 'bytesread' <b>BEFORE</b> setting 'result'.<br> Instructions: write to 'buffer', and 'bytesread' <b>BEFORE</b> setting 'result'.<br>
As soon as result is set, FMOD will asynchronously continue internally using the data provided in this structure.<br> As soon as result is set, FMOD will asynchronously continue internally using the data provided in this structure.<br>
<br> <br>
Set 'result' to the result expected from a normal file read callback.<b r> Set 'result' to the result expected from a normal file read callback.<b r>
If the read was successful, set it to FMOD_OK.<br> If the read was successful, set it to FMOD_OK.<br>
If it read some data but hit the end of the file, set it to FMOD_ERR_FI LE_EOF.<br> If it read some data but hit the end of the file, set it to FMOD_ERR_FI LE_EOF.<br>
If a bad error occurred, return FMOD_ERR_FILE_BAD<br> If a bad error occurred, return FMOD_ERR_FILE_BAD<br>
If a disk was ejected, return FMOD_ERR_FILE_DISKEJECTED.<br> If a disk was ejected, return FMOD_ERR_FILE_DISKEJECTED.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_FILE_ASYNCREADCALLBACK FMOD_FILE_ASYNCREADCALLBACK
FMOD_FILE_ASYNCCANCELCALLBACK FMOD_FILE_ASYNCCANCELCALLBACK
] ]
*/ */
typedef struct typedef struct
{ {
void *handle; /* [r] The file handle that was filled out in the open callback. */ void *handle; /* [r] The file handle that was filled out in the open callback. */
unsigned int offset; /* [r] Seek position, make sure you rea d from this file offset. */ unsigned int offset; /* [r] Seek position, make sure you rea d from this file offset. */
skipping to change at line 320 skipping to change at line 318
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
These output types are used with System::setOutput / System::getOutput, to choose which output method to use. These output types are used with System::setOutput / System::getOutput, to choose which output method to use.
[REMARKS] [REMARKS]
To pass information to the driver when initializing fmod use the extrad riverdata parameter in System::init for the following reasons.<br> To pass information to the driver when initializing fmod use the extrad riverdata parameter in System::init for the following reasons.<br>
<li>FMOD_OUTPUTTYPE_WAVWRITER - extradriverdata is a pointer to a char * filename that the wav writer will output to. <li>FMOD_OUTPUTTYPE_WAVWRITER - extradriverdata is a pointer to a char * filename that the wav writer will output to.
<li>FMOD_OUTPUTTYPE_WAVWRITER_NRT - extradriverdata is a pointer to a c har * filename that the wav writer will output to. <li>FMOD_OUTPUTTYPE_WAVWRITER_NRT - extradriverdata is a pointer to a c har * filename that the wav writer will output to.
<li>FMOD_OUTPUTTYPE_DSOUND - extradriverdata is a pointer to a HWND so that FMOD can set the focus on the audio for a particular window. <li>FMOD_OUTPUTTYPE_DSOUND - extradriverdata is a pointer to a HWND so that FMOD can set the focus on the audio for a particular window.
<li>FMOD_OUTPUTTYPE_PS2 - extradriverdata is a pointer to a FMOD_PS2_EX TRADRIVERDATA struct. This can be found in fmodps2.h.
<li>FMOD_OUTPUTTYPE_PS3 - extradriverdata is a pointer to a FMOD_PS3_EX TRADRIVERDATA struct. This can be found in fmodps3.h. <li>FMOD_OUTPUTTYPE_PS3 - extradriverdata is a pointer to a FMOD_PS3_EX TRADRIVERDATA struct. This can be found in fmodps3.h.
<li>FMOD_OUTPUTTYPE_GC - extradriverdata is a pointer to a FMOD_GC_INFO struct. This can be found in fmodgc.h. <li>FMOD_OUTPUTTYPE_GC - extradriverdata is a pointer to a FMOD_GC_INFO struct. This can be found in fmodgc.h.
<li>FMOD_OUTPUTTYPE_WII - extradriverdata is a pointer to a FMOD_WII_IN FO struct. This can be found in fmodwii.h. <li>FMOD_OUTPUTTYPE_WII - extradriverdata is a pointer to a FMOD_WII_IN FO struct. This can be found in fmodwii.h.
<li>FMOD_OUTPUTTYPE_ALSA - extradriverdata is a pointer to a FMOD_LINUX _EXTRADRIVERDATA struct. This can be found in fmodlinux.h.<br> <li>FMOD_OUTPUTTYPE_ALSA - extradriverdata is a pointer to a FMOD_LINUX _EXTRADRIVERDATA struct. This can be found in fmodlinux.h.<br>
<br> <br>
Currently these are the only FMOD drivers that take extra information. Other unknown plugins may have different requirements. Currently these are the only FMOD drivers that take extra information. Other unknown plugins may have different requirements.
<br><br> <br><br>
Note! If FMOD_OUTPUTTYPE_WAVWRITER_NRT or FMOD_OUTPUTTYPE_NOSOUND_NRT a re used, and if the System::update function is being called Note! If FMOD_OUTPUTTYPE_WAVWRITER_NRT or FMOD_OUTPUTTYPE_NOSOUND_NRT a re used, and if the System::update function is being called
very quickly (ie for a non realtime decode) it may be being called too quickly for the FMOD streamer thread to respond to. very quickly (ie for a non realtime decode) it may be being called too quickly for the FMOD streamer thread to respond to.
The result will be a skipping/stuttering output in the captured audio.< br> The result will be a skipping/stuttering output in the captured audio.< br>
<br> <br>
To remedy this, disable the FMOD Ex streamer thread, and use FMOD_INIT_ STREAM_FROM_UPDATE to avoid skipping in the output stream, To remedy this, disable the FMOD Ex streamer thread, and use FMOD_INIT_ STREAM_FROM_UPDATE to avoid skipping in the output stream,
as it will lock the mixer and the streamer together in the same thread. as it will lock the mixer and the streamer together in the same thread.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::setOutput System::setOutput
System::getOutput System::getOutput
System::setSoftwareFormat System::setSoftwareFormat
System::getSoftwareFormat System::getSoftwareFormat
System::init System::init
System::update System::update
FMOD_INITFLAGS FMOD_INITFLAGS
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_OUTPUTTYPE_AUTODETECT, /* Picks the best output mode for the platform. This is the default. */ FMOD_OUTPUTTYPE_AUTODETECT, /* Picks the best output mode for the platform. This is the default. */
FMOD_OUTPUTTYPE_UNKNOWN, /* All - 3rd party p FMOD_OUTPUTTYPE_UNKNOWN, /* All - 3rd party plugin,
lugin, unknown. This is for use with System::getOutput only. */ unknown. This is for use with System::getOutput only. */
FMOD_OUTPUTTYPE_NOSOUND, /* All - All calls i FMOD_OUTPUTTYPE_NOSOUND, /* All - All calls in this
n this mode succeed but make no sound. */ mode succeed but make no sound. */
FMOD_OUTPUTTYPE_WAVWRITER, /* All - Writes outp FMOD_OUTPUTTYPE_WAVWRITER, /* All - Writes output to
ut to fmodoutput.wav by default. Use the 'extradriverdata' parameter in Sy fmodoutput.wav by default. Use the 'extradriverdata' parameter in System::
stem::init, by simply passing the filename as a string, to set the wav file init, by simply passing the filename as a string, to set the wav filename.
name. */ */
FMOD_OUTPUTTYPE_NOSOUND_NRT, /* All - Non-realtim FMOD_OUTPUTTYPE_NOSOUND_NRT, /* All - Non-realtime vers
e version of FMOD_OUTPUTTYPE_NOSOUND. User can drive mixer with System::up ion of FMOD_OUTPUTTYPE_NOSOUND. User can drive mixer with System::update a
date at whatever rate they want. */ t whatever rate they want. */
FMOD_OUTPUTTYPE_WAVWRITER_NRT, /* All - Non-realtim FMOD_OUTPUTTYPE_WAVWRITER_NRT, /* All - Non-realtime vers
e version of FMOD_OUTPUTTYPE_WAVWRITER. User can drive mixer with System:: ion of FMOD_OUTPUTTYPE_WAVWRITER. User can drive mixer with System::update
update at whatever rate they want. */ at whatever rate they want. */
FMOD_OUTPUTTYPE_DSOUND, /* Win32/Win64 - DirectSound FMOD_OUTPUTTYPE_DSOUND, /* Win32/Win64 - DirectSound outpu
output. (Default on Windows OS earlier than Vista) */ t. (Default on Windows XP and below) */
FMOD_OUTPUTTYPE_WINMM, /* Win32/Win64 - Windows Mul FMOD_OUTPUTTYPE_WINMM, /* Win32/Win64 - Windows Multimedi
timedia output. (Older audio interface, larger latency on output) */ a output. */
FMOD_OUTPUTTYPE_WASAPI, /* Win32 - Windows Aud FMOD_OUTPUTTYPE_WASAPI, /* Win32 - Windows Audio Ses
io Session API. (Default on Windows Vista/Windows 7) */ sion API. (Default on Windows Vista and above) */
FMOD_OUTPUTTYPE_ASIO, /* Win32 - Low latency FMOD_OUTPUTTYPE_ASIO, /* Win32 - Low latency ASIO
ASIO 2.0 driver. */ 2.0 driver. */
FMOD_OUTPUTTYPE_OSS, /* Linux/Linux64 - Open Sound FMOD_OUTPUTTYPE_OSS, /* Linux/Linux64 - Open Sound System
System output. (Default on Linux/Linux64) */ output. (Default on Linux, third preference) */
FMOD_OUTPUTTYPE_ALSA, /* Linux/Linux64 - Advanced Li FMOD_OUTPUTTYPE_ALSA, /* Linux/Linux64 - Advanced Linux So
nux Sound Architecture output. */ und Architecture output. (Default on Linux, second preference if available)
FMOD_OUTPUTTYPE_ESD, /* Linux/Linux64 - Enlightment */
Sound Daemon output. */ FMOD_OUTPUTTYPE_ESD, /* Linux/Linux64 - Enlightment Sound
FMOD_OUTPUTTYPE_PULSEAUDIO, /* Linux/Linux64 - PulseAudio Daemon output. */
output. */ FMOD_OUTPUTTYPE_PULSEAUDIO, /* Linux/Linux64 - PulseAudio output
FMOD_OUTPUTTYPE_COREAUDIO, /* Mac - Macintosh C . (Default on Linux, first preference if available)
oreAudio output. (Default on Mac) */ */
FMOD_OUTPUTTYPE_PS2, /* PS2 - Native hard FMOD_OUTPUTTYPE_COREAUDIO, /* Mac - Macintosh CoreAud
ware output. (Default on PS2) */ io output. (Default on Mac) */
FMOD_OUTPUTTYPE_PS3, /* PS3 - Native hard FMOD_OUTPUTTYPE_XBOX360, /* Xbox 360 - Native Xbox360 ou
ware output. (Default on PS3) */ tput. (Default on Xbox 360) */
FMOD_OUTPUTTYPE_XBOX360, /* Xbox 360 - Native hard FMOD_OUTPUTTYPE_PSP, /* PSP - Native PSP output
ware output. (Default on Xbox 360) */ . (Default on PSP) */
FMOD_OUTPUTTYPE_PSP, /* PSP - Native hard FMOD_OUTPUTTYPE_PS3, /* PS3 - Native PS3 output
ware output. (Default on PSP) */ . (Default on PS3) */
FMOD_OUTPUTTYPE_WII, /* Wii FMOD_OUTPUTTYPE_NGP, /* NGP - Native NGP output
- Native hardware output. (Default on Wii) */ . (Default on NGP) */
FMOD_OUTPUTTYPE_ANDROID, /* Android - Native andr FMOD_OUTPUTTYPE_WII, /* Wii
oid output. */ - Native Wii output. (Default on Wii) */
FMOD_OUTPUTTYPE_3DS, /* 3DS - Native 3DS FMOD_OUTPUTTYPE_3DS, /* 3DS - Native 3DS output
output */ (Default on 3DS) */
FMOD_OUTPUTTYPE_NGP, /* NGP - Native NGP FMOD_OUTPUTTYPE_AUDIOTRACK, /* Android - Java Audio Track
output. */ output. (Default on Android 2.2 and below) */
FMOD_OUTPUTTYPE_OPENSL, /* Android - OpenSL ES output.
(Default on Android 2.3 and above) */
FMOD_OUTPUTTYPE_MAX, /* Maximum number of output types supp orted. */ FMOD_OUTPUTTYPE_MAX, /* Maximum number of output types supp orted. */
FMOD_OUTPUTTYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bi t. */ FMOD_OUTPUTTYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bi t. */
} FMOD_OUTPUTTYPE; } FMOD_OUTPUTTYPE;
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
FMOD_CAPS FMOD_CAPS
[DESCRIPTION] [DESCRIPTION]
Bit fields to use with System::getDriverCaps to determine the capabilit ies of a card / output device. Bit fields to use with System::getDriverCaps to determine the capabilit ies of a card / output device.
[REMARKS] [REMARKS]
It is important to check FMOD_CAPS_HARDWARE_EMULATED on windows machine s, to then adjust System::setDSPBufferSize to (1024, 10) to compensate for the higher latency. It is important to check FMOD_CAPS_HARDWARE_EMULATED on windows machine s, to then adjust System::setDSPBufferSize to (1024, 10) to compensate for the higher latency.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::getDriverCaps System::getDriverCaps
System::setDSPBufferSize System::setDSPBufferSize
] ]
*/ */
#define FMOD_CAPS_NONE 0x00000000 /* Device has no speci al capabilities. */ #define FMOD_CAPS_NONE 0x00000000 /* Device has no speci al capabilities. */
#define FMOD_CAPS_HARDWARE 0x00000001 /* Device supports har dware mixing. */ #define FMOD_CAPS_HARDWARE 0x00000001 /* Device supports har dware mixing. */
#define FMOD_CAPS_HARDWARE_EMULATED 0x00000002 /* User has device set to 'Hardware acceleration = off' in control panel, and now extra 200ms lat ency is incurred. */ #define FMOD_CAPS_HARDWARE_EMULATED 0x00000002 /* User has device set to 'Hardware acceleration = off' in control panel, and now extra 200ms lat ency is incurred. */
#define FMOD_CAPS_OUTPUT_MULTICHANNEL 0x00000004 /* Device can do multi channel output, ie greater than 2 channels. */ #define FMOD_CAPS_OUTPUT_MULTICHANNEL 0x00000004 /* Device can do multi channel output, ie greater than 2 channels. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCM8 0x00000008 /* Device can output t o 8bit integer PCM. */ #define FMOD_CAPS_OUTPUT_FORMAT_PCM8 0x00000008 /* Device can output t o 8bit integer PCM. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCM16 0x00000010 /* Device can output t o 16bit integer PCM. */ #define FMOD_CAPS_OUTPUT_FORMAT_PCM16 0x00000010 /* Device can output t o 16bit integer PCM. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCM24 0x00000020 /* Device can output t o 24bit integer PCM. */ #define FMOD_CAPS_OUTPUT_FORMAT_PCM24 0x00000020 /* Device can output t o 24bit integer PCM. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCM32 0x00000040 /* Device can output t o 32bit integer PCM. */ #define FMOD_CAPS_OUTPUT_FORMAT_PCM32 0x00000040 /* Device can output t o 32bit integer PCM. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCMFLOAT 0x00000080 /* Device can output t o 32bit floating point PCM. */ #define FMOD_CAPS_OUTPUT_FORMAT_PCMFLOAT 0x00000080 /* Device can output t o 32bit floating point PCM. */
#define FMOD_CAPS_REVERB_EAX2 0x00000100 /* Device supports EAX
2 reverb. */
#define FMOD_CAPS_REVERB_EAX3 0x00000200 /* Device supports EAX
3 reverb. */
#define FMOD_CAPS_REVERB_EAX4 0x00000400 /* Device supports EAX
4 reverb */
#define FMOD_CAPS_REVERB_EAX5 0x00000800 /* Device suppo
rts EAX5 reverb */
#define FMOD_CAPS_REVERB_I3DL2 0x00001000 /* Device supports I3D
L2 reverb. */
#define FMOD_CAPS_REVERB_LIMITED 0x00002000 /* Device supports som e form of limited hardware reverb, maybe parameterless and only selectable by environment. */ #define FMOD_CAPS_REVERB_LIMITED 0x00002000 /* Device supports som e form of limited hardware reverb, maybe parameterless and only selectable by environment. */
/* [DEFINE_END] */ /* [DEFINE_END] */
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
FMOD_DEBUGLEVEL FMOD_DEBUGLEVEL
[DESCRIPTION] [DESCRIPTION]
Bit fields to use with FMOD::Debug_SetLevel / FMOD::Debug_GetLevel to c ontrol the level of tty debug output with logging versions of FMOD (fmodL). Bit fields to use with FMOD::Debug_SetLevel / FMOD::Debug_GetLevel to c ontrol the level of tty debug output with logging versions of FMOD (fmodL).
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Debug_SetLevel Debug_SetLevel
Debug_GetLevel Debug_GetLevel
] ]
*/ */
#define FMOD_DEBUG_LEVEL_NONE 0x00000000 #define FMOD_DEBUG_LEVEL_NONE 0x00000000
#define FMOD_DEBUG_LEVEL_LOG 0x00000001 /* Will display gen eric logging messages. */ #define FMOD_DEBUG_LEVEL_LOG 0x00000001 /* Will display gen eric logging messages. */
#define FMOD_DEBUG_LEVEL_ERROR 0x00000002 /* Will display err ors. */ #define FMOD_DEBUG_LEVEL_ERROR 0x00000002 /* Will display err ors. */
#define FMOD_DEBUG_LEVEL_WARNING 0x00000004 /* Will display war nings that are not fatal. */ #define FMOD_DEBUG_LEVEL_WARNING 0x00000004 /* Will display war nings that are not fatal. */
skipping to change at line 470 skipping to change at line 462
FMOD_MEMORY_TYPE FMOD_MEMORY_TYPE
[DESCRIPTION] [DESCRIPTION]
Bit fields for memory allocation type being passed into FMOD memory cal lbacks. Bit fields for memory allocation type being passed into FMOD memory cal lbacks.
[REMARKS] [REMARKS]
Remember this is a bitfield. You may get more than 1 bit set (ie physi cal + persistent) so do not simply switch on the types! You must check eac h bit individually or clear out the bits that you do not want within the ca llback.<br> Remember this is a bitfield. You may get more than 1 bit set (ie physi cal + persistent) so do not simply switch on the types! You must check eac h bit individually or clear out the bits that you do not want within the ca llback.<br>
Bits can be excluded if you want during Memory_Initialize so that you n ever get them. Bits can be excluded if you want during Memory_Initialize so that you n ever get them.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_MEMORY_ALLOCCALLBACK FMOD_MEMORY_ALLOCCALLBACK
FMOD_MEMORY_REALLOCCALLBACK FMOD_MEMORY_REALLOCCALLBACK
FMOD_MEMORY_FREECALLBACK FMOD_MEMORY_FREECALLBACK
Memory_Initialize Memory_Initialize
] ]
*/ */
#define FMOD_MEMORY_NORMAL 0x00000000 /* Standard memory. */ #define FMOD_MEMORY_NORMAL 0x00000000 /* Standard memory. */
skipping to change at line 584 skipping to change at line 576
This mode is for mono, stereo, 5.1 and 7.1 speaker arrangements, as it is backwards and forwards compatible with stereo, This mode is for mono, stereo, 5.1 and 7.1 speaker arrangements, as it is backwards and forwards compatible with stereo,
but to get a surround effect a Dolby Prologic or Prologic 2 hardware de coder / amplifier is needed.<br> but to get a surround effect a Dolby Prologic or Prologic 2 hardware de coder / amplifier is needed.<br>
Pan behavior is the same as FMOD_SPEAKERMODE_5POINT1.<br> Pan behavior is the same as FMOD_SPEAKERMODE_5POINT1.<br>
<br> <br>
If this function is called the numoutputchannels setting in System::set SoftwareFormat is overwritten.<br> If this function is called the numoutputchannels setting in System::set SoftwareFormat is overwritten.<br>
<br> <br>
For 3D sounds, panning is determined at runtime by the 3D subsystem bas ed on the speaker mode to determine which speaker the For 3D sounds, panning is determined at runtime by the 3D subsystem bas ed on the speaker mode to determine which speaker the
sound should be placed in.<br> sound should be placed in.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::setSpeakerMode System::setSpeakerMode
System::getSpeakerMode System::getSpeakerMode
System::getDriverCaps System::getDriverCaps
System::setSoftwareFormat System::setSoftwareFormat
Channel::setSpeakerLevels Channel::setSpeakerLevels
] ]
*/ */
typedef enum typedef enum
skipping to change at line 626 skipping to change at line 618
[REMARKS] [REMARKS]
If you are using FMOD_SPEAKERMODE_RAW and speaker assignments are meani ngless, just cast a raw integer value to this type.<br> If you are using FMOD_SPEAKERMODE_RAW and speaker assignments are meani ngless, just cast a raw integer value to this type.<br>
For example (FMOD_SPEAKER)7 would use the 7th speaker (also the same as FMOD_SPEAKER_SIDE_RIGHT).<br> For example (FMOD_SPEAKER)7 would use the 7th speaker (also the same as FMOD_SPEAKER_SIDE_RIGHT).<br>
Values higher than this can be used if an output system has more than 8 speaker types / output channels. 15 is the current maximum.<br> Values higher than this can be used if an output system has more than 8 speaker types / output channels. 15 is the current maximum.<br>
<br> <br>
NOTE: On Playstation 3 in 7.1, the extra 2 speakers are not side left/s ide right, they are 'surround back left'/'surround back right' which NOTE: On Playstation 3 in 7.1, the extra 2 speakers are not side left/s ide right, they are 'surround back left'/'surround back right' which
locate the speakers behind the listener instead of to the sides like on PC. FMOD_SPEAKER_SBL/FMOD_SPEAKER_SBR are provided to make it locate the speakers behind the listener instead of to the sides like on PC. FMOD_SPEAKER_SBL/FMOD_SPEAKER_SBR are provided to make it
clearer what speaker is being addressed on that platform. clearer what speaker is being addressed on that platform.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_SPEAKERMODE FMOD_SPEAKERMODE
Channel::setSpeakerLevels Channel::setSpeakerLevels
Channel::getSpeakerLevels Channel::getSpeakerLevels
System::set3DSpeakerPosition System::set3DSpeakerPosition
System::get3DSpeakerPosition System::get3DSpeakerPosition
] ]
*/ */
typedef enum typedef enum
skipping to change at line 665 skipping to change at line 657
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
These are plugin types defined for use with the System::getNumPlugins, These are plugin types defined for use with the System::getNumPlugins,
System::getPluginInfo and System::unloadPlugin functions. System::getPluginInfo and System::unloadPlugin functions.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::getNumPlugins System::getNumPlugins
System::getPluginInfo System::getPluginInfo
System::unloadPlugin System::unloadPlugin
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_PLUGINTYPE_OUTPUT, /* The plugin type is an output module . FMOD mixed audio will play through one of these devices */ FMOD_PLUGINTYPE_OUTPUT, /* The plugin type is an output module . FMOD mixed audio will play through one of these devices */
skipping to change at line 696 skipping to change at line 688
[NAME] [NAME]
FMOD_INITFLAGS FMOD_INITFLAGS
[DESCRIPTION] [DESCRIPTION]
Initialization flags. Use them with System::init in the flags paramete r to change various behavior. Initialization flags. Use them with System::init in the flags paramete r to change various behavior.
[REMARKS] [REMARKS]
Use System::setAdvancedSettings to adjust settings for some of the feat ures that are enabled by these flags. Use System::setAdvancedSettings to adjust settings for some of the feat ures that are enabled by these flags.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::init System::init
System::update System::update
System::setAdvancedSettings System::setAdvancedSettings
Channel::set3DOcclusion Channel::set3DOcclusion
] ]
*/ */
#define FMOD_INIT_NORMAL 0x00000000 /* All platforms - Initialize normally */ #define FMOD_INIT_NORMAL 0x00000000 /* All platforms - Initialize normally */
#define FMOD_INIT_STREAM_FROM_UPDATE 0x00000001 /* All platforms - No stream thread is created internally. Streams are driven from System::up date. Mainly used with non-realtime outputs. */ #define FMOD_INIT_STREAM_FROM_UPDATE 0x00000001 /* All platforms - No stream thread is created internally. Streams are driven from System::up date. Mainly used with non-realtime outputs. */
#define FMOD_INIT_3D_RIGHTHANDED 0x00000002 /* All platforms - FMOD will treat +X as right, +Y as up and +Z as backwards (towards you). */ #define FMOD_INIT_3D_RIGHTHANDED 0x00000002 /* All platforms - FMOD will treat +X as right, +Y as up and +Z as backwards (towards you). */
#define FMOD_INIT_SOFTWARE_DISABLE 0x00000004 /* All platforms - Disable software mixer to save memory. Anything created with FMOD_SOFTWARE will fail and DSP will not work. */ #define FMOD_INIT_SOFTWARE_DISABLE 0x00000004 /* All platforms - Disable software mixer to save memory. Anything created with FMOD_SOFTWARE will fail and DSP will not work. */
#define FMOD_INIT_SOFTWARE_OCCLUSION 0x00000008 /* All platforms - All FMOD_SOFTWARE with FMOD_3D based voices will add a software lowpass fil ter effect into the DSP chain which is automatically used when Channel::set 3DOcclusion is used or the geometry API. */ #define FMOD_INIT_SOFTWARE_OCCLUSION 0x00000008 /* All platforms - All FMOD_SOFTWARE with FMOD_3D based voices will add a software lowpass fil ter effect into the DSP chain which is automatically used when Channel::set 3DOcclusion is used or the geometry API. */
#define FMOD_INIT_SOFTWARE_HRTF 0x00000010 /* All platforms - All FMOD_SOFTWARE with FMOD_3D based voices will add a software lowpass fil ter effect into the DSP chain which causes sounds to sound duller when the sound goes behind the listener. Use System::setAdvancedSettings to adjust cutoff frequency. */ #define FMOD_INIT_SOFTWARE_HRTF 0x00000010 /* All platforms - All FMOD_SOFTWARE with FMOD_3D based voices will add a software lowpass fil ter effect into the DSP chain which causes sounds to sound duller when the sound goes behind the listener. Use System::setAdvancedSettings to adjust cutoff frequency. */
#define FMOD_INIT_SOFTWARE_REVERB_LOWMEM 0x00000040 /* All platforms - SFX reverb is run using 22/24khz delay buffers, halving the memory required . */ #define FMOD_INIT_SOFTWARE_REVERB_LOWMEM 0x00000040 /* All platforms - SFX reverb is run using 22/24khz delay buffers, halving the memory required . */
#define FMOD_INIT_ENABLE_PROFILE 0x00000020 /* All platforms - Enable TCP/IP based host which allows FMOD Designer or FMOD Profiler to con nect to it, and view memory, CPU and the DSP network graph in real-time. */ #define FMOD_INIT_ENABLE_PROFILE 0x00000020 /* All platforms - Enable TCP/IP based host which allows FMOD Designer or FMOD Profiler to con nect to it, and view memory, CPU and the DSP network graph in real-time. */
#define FMOD_INIT_VOL0_BECOMES_VIRTUAL 0x00000080 /* All platforms - Any sounds that are 0 volume will go virtual and not be processed except fo r having their positions updated virtually. Use System::setAdvancedSetting s to adjust what volume besides zero to switch to virtual at. */ #define FMOD_INIT_VOL0_BECOMES_VIRTUAL 0x00000080 /* All platforms - Any sounds that are 0 volume will go virtual and not be processed except fo r having their positions updated virtually. Use System::setAdvancedSetting s to adjust what volume besides zero to switch to virtual at. */
#define FMOD_INIT_WASAPI_EXCLUSIVE 0x00000100 /* Win32 Vista only - for WASAPI output - Enable exclusive access to hardware, lower latency a t the expense of excluding other applications from accessing the audio hard ware. */ #define FMOD_INIT_WASAPI_EXCLUSIVE 0x00000100 /* Win32 Vista only - for WASAPI output - Enable exclusive access to hardware, lower latency a t the expense of excluding other applications from accessing the audio hard ware. */
#define FMOD_INIT_PS2_DISABLECORE0REVERB 0x00010000 /* PS2 only - Disab
le reverb on CORE 0 to regain 256k SRAM. */
#define FMOD_INIT_PS2_DISABLECORE1REVERB 0x00020000 /* PS2 only - Disab
le reverb on CORE 1 to regain 256k SRAM. */
#define FMOD_INIT_PS2_DONTUSESCRATCHPAD 0x00040000 /* PS2 only - Disab
le FMOD's usage of the scratchpad. */
#define FMOD_INIT_PS2_SWAPDMACHANNELS 0x00080000 /* PS2 only - Chang
es FMOD from using SPU DMA channel 0 for software mixing, and 1 for sound d
ata upload/file streaming, to 1 and 0 respectively. */
#define FMOD_INIT_PS3_PREFERDTS 0x00800000 /* PS3 only - Prefe r DTS over Dolby Digital if both are supported. Note: 8 and 6 channel LPCM is always preferred over both DTS and Dolby Digital. */ #define FMOD_INIT_PS3_PREFERDTS 0x00800000 /* PS3 only - Prefe r DTS over Dolby Digital if both are supported. Note: 8 and 6 channel LPCM is always preferred over both DTS and Dolby Digital. */
#define FMOD_INIT_PS3_FORCE2CHLPCM 0x01000000 /* PS3 only - Force PS3 system output mode to 2 channel LPCM. */ #define FMOD_INIT_PS3_FORCE2CHLPCM 0x01000000 /* PS3 only - Force PS3 system output mode to 2 channel LPCM. */
#define FMOD_INIT_DISABLEDOLBY 0x00100000 /* Wii / 3DS - Disa ble Dolby Pro Logic surround. Speakermode will be set to STEREO even if use r has selected surround in the system settings. */ #define FMOD_INIT_DISABLEDOLBY 0x00100000 /* Wii / 3DS - Disa ble Dolby Pro Logic surround. Speakermode will be set to STEREO even if use r has selected surround in the system settings. */
#define FMOD_INIT_SYSTEM_MUSICMUTENOTPAUSE 0x00200000 /* Xbox 360 / PS3 - The "music" channelgroup which by default pauses when custom 360 dashboard / PS3 BGM music is played, can be changed to mute (therefore continues pla ying) instead of pausing, by using this flag. */ #define FMOD_INIT_SYSTEM_MUSICMUTENOTPAUSE 0x00200000 /* Xbox 360 / PS3 - The "music" channelgroup which by default pauses when custom 360 dashboard / PS3 BGM music is played, can be changed to mute (therefore continues pla ying) instead of pausing, by using this flag. */
#define FMOD_INIT_SYNCMIXERWITHUPDATE 0x00400000 /* Win32/Wii/PS3/Xb ox/Xbox 360 - FMOD Mixer thread is woken up to do a mix when System::update is called rather than waking periodically on its own timer. */ #define FMOD_INIT_SYNCMIXERWITHUPDATE 0x00400000 /* Win32/Wii/PS3/Xb ox/Xbox 360 - FMOD Mixer thread is woken up to do a mix when System::update is called rather than waking periodically on its own timer. */
#define FMOD_INIT_DTS_NEURALSURROUND 0x02000000 /* Win32/Mac/Linux/ PS3/Xbox360 - Use DTS Neural surround downmixing from 7.1 if speakermode se t to FMOD_SPEAKERMODE_STEREO or FMOD_SPEAKERMODE_5POINT1. Always 7.1 -> 5.1 downmix for Xbox360 and PS3. Internal DSP structure will be set to 7.1. * / #define FMOD_INIT_DTS_NEURALSURROUND 0x02000000 /* Win32/Mac/Linux/ PS3/Xbox360 - Use DTS Neural surround downmixing from 7.1 if speakermode se t to FMOD_SPEAKERMODE_STEREO or FMOD_SPEAKERMODE_5POINT1. Always 7.1 -> 5.1 downmix for Xbox360 and PS3. Internal DSP structure will be set to 7.1. * /
#define FMOD_INIT_GEOMETRY_USECLOSEST 0x04000000 /* All platforms - With the geometry engine, only process the closest polygon rather than accu mulating all polygons the sound to listener line intersects. */ #define FMOD_INIT_GEOMETRY_USECLOSEST 0x04000000 /* All platforms - With the geometry engine, only process the closest polygon rather than accu mulating all polygons the sound to listener line intersects. */
#define FMOD_INIT_DISABLE_MYEARS 0x08000000 /* Win32 - Disables MyEars HRTF 7.1 downmixing. MyEars will otherwise be disbaled if speakerm ode is not set to FMOD_SPEAKERMODE_STEREO or the data file is missing. */ #define FMOD_INIT_DISABLE_MYEARS 0x08000000 /* Win32 - Disables MyEars HRTF 7.1 downmixing. MyEars will otherwise be disbaled if speakerm ode is not set to FMOD_SPEAKERMODE_STEREO or the data file is missing. */
/* [DEFINE_END] */ /* [DEFINE_END] */
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
These definitions describe the type of song being played. These definitions describe the type of song being played.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Sound::getFormat Sound::getFormat
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_SOUND_TYPE_UNKNOWN, /* 3rd party / unknown plugin format. */ FMOD_SOUND_TYPE_UNKNOWN, /* 3rd party / unknown plugin format. */
FMOD_SOUND_TYPE_AAC, /* AAC. Currently unsupported. */
FMOD_SOUND_TYPE_AIFF, /* AIFF. */ FMOD_SOUND_TYPE_AIFF, /* AIFF. */
FMOD_SOUND_TYPE_ASF, /* Microsoft Advanced Systems Format ( ie WMA/ASF/WMV). */ FMOD_SOUND_TYPE_ASF, /* Microsoft Advanced Systems Format ( ie WMA/ASF/WMV). */
FMOD_SOUND_TYPE_AT3, /* Sony ATRAC 3 format */ FMOD_SOUND_TYPE_AT3, /* Sony ATRAC 3 format */
FMOD_SOUND_TYPE_CDDA, /* Digital CD audio. */ FMOD_SOUND_TYPE_CDDA, /* Digital CD audio. */
FMOD_SOUND_TYPE_DLS, /* Sound font / downloadable sound ban k. */ FMOD_SOUND_TYPE_DLS, /* Sound font / downloadable sound ban k. */
FMOD_SOUND_TYPE_FLAC, /* FLAC lossless codec. */ FMOD_SOUND_TYPE_FLAC, /* FLAC lossless codec. */
FMOD_SOUND_TYPE_FSB, /* FMOD Sample Bank. */ FMOD_SOUND_TYPE_FSB, /* FMOD Sample Bank. */
FMOD_SOUND_TYPE_GCADPCM, /* GameCube ADPCM */ FMOD_SOUND_TYPE_GCADPCM, /* Nintendo GameCube/Wii ADPCM */
FMOD_SOUND_TYPE_IT, /* Impulse Tracker. */ FMOD_SOUND_TYPE_IT, /* Impulse Tracker. */
FMOD_SOUND_TYPE_MIDI, /* MIDI. extracodecdata is a pointer t o an FMOD_MIDI_EXTRACODECDATA structure. */ FMOD_SOUND_TYPE_MIDI, /* MIDI. extracodecdata is a pointer t o an FMOD_MIDI_EXTRACODECDATA structure. */
FMOD_SOUND_TYPE_MOD, /* Protracker / Fasttracker MOD. */ FMOD_SOUND_TYPE_MOD, /* Protracker / Fasttracker MOD. */
FMOD_SOUND_TYPE_MPEG, /* MP2/MP3 MPEG. */ FMOD_SOUND_TYPE_MPEG, /* MP2/MP3 MPEG. */
FMOD_SOUND_TYPE_OGGVORBIS, /* Ogg vorbis. */ FMOD_SOUND_TYPE_OGGVORBIS, /* Ogg vorbis. */
FMOD_SOUND_TYPE_PLAYLIST, /* Information only from ASX/PLS/M3U/W AX playlists */ FMOD_SOUND_TYPE_PLAYLIST, /* Information only from ASX/PLS/M3U/W AX playlists */
FMOD_SOUND_TYPE_RAW, /* Raw PCM data. */ FMOD_SOUND_TYPE_RAW, /* Raw PCM data. */
FMOD_SOUND_TYPE_S3M, /* ScreamTracker 3. */ FMOD_SOUND_TYPE_S3M, /* ScreamTracker 3. */
FMOD_SOUND_TYPE_SF2, /* Sound font 2 format. */ FMOD_SOUND_TYPE_SF2, /* Sound font 2 format. */
FMOD_SOUND_TYPE_USER, /* User created sound. */ FMOD_SOUND_TYPE_USER, /* User created sound. */
FMOD_SOUND_TYPE_WAV, /* Microsoft WAV. */ FMOD_SOUND_TYPE_WAV, /* Microsoft WAV. */
FMOD_SOUND_TYPE_XM, /* FastTracker 2 XM. */ FMOD_SOUND_TYPE_XM, /* FastTracker 2 XM. */
FMOD_SOUND_TYPE_XMA, /* Xbox360 XMA */ FMOD_SOUND_TYPE_XMA, /* Xbox360 XMA */
FMOD_SOUND_TYPE_VAG, /* PlayStation 2 / PlayStation Portabl e adpcm VAG format. */ FMOD_SOUND_TYPE_VAG, /* PlayStation Portable ADPCM VAG form at. */
FMOD_SOUND_TYPE_AUDIOQUEUE, /* iPhone hardware decoder, supports A AC, ALAC and MP3. extracodecdata is a pointer to an FMOD_AUDIOQUEUE_EXTRACO DECDATA structure. */ FMOD_SOUND_TYPE_AUDIOQUEUE, /* iPhone hardware decoder, supports A AC, ALAC and MP3. extracodecdata is a pointer to an FMOD_AUDIOQUEUE_EXTRACO DECDATA structure. */
FMOD_SOUND_TYPE_XWMA, /* Xbox360 XWMA */ FMOD_SOUND_TYPE_XWMA, /* Xbox360 XWMA */
FMOD_SOUND_TYPE_BCWAV, /* 3DS BCWAV container format for DSP ADPCM and PCM */ FMOD_SOUND_TYPE_BCWAV, /* 3DS BCWAV container format for DSP ADPCM and PCM */
FMOD_SOUND_TYPE_AT9, /* NGP ATRAC 9 format */ FMOD_SOUND_TYPE_AT9, /* NGP ATRAC 9 format */
FMOD_SOUND_TYPE_MAX, /* Maximum number of sound types suppo rted. */ FMOD_SOUND_TYPE_MAX, /* Maximum number of sound types suppo rted. */
FMOD_SOUND_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bi t. */ FMOD_SOUND_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bi t. */
} FMOD_SOUND_TYPE; } FMOD_SOUND_TYPE;
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
These definitions describe the native format of the hardware or softwar e buffer that will be used. These definitions describe the native format of the hardware or softwar e buffer that will be used.
[REMARKS] [REMARKS]
This is the format the native hardware or software buffer will be or is created in. This is the format the native hardware or software buffer will be or is created in.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::createSound System::createSound
Sound::getFormat Sound::getFormat
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_SOUND_FORMAT_NONE, /* Unitialized / unknown. */ FMOD_SOUND_FORMAT_NONE, /* Unitialized / unknown. */
FMOD_SOUND_FORMAT_PCM8, /* 8bit integer PCM data. */ FMOD_SOUND_FORMAT_PCM8, /* 8bit integer PCM data. */
FMOD_SOUND_FORMAT_PCM16, /* 16bit integer PCM data. */ FMOD_SOUND_FORMAT_PCM16, /* 16bit integer PCM data. */
FMOD_SOUND_FORMAT_PCM24, /* 24bit integer PCM data. */ FMOD_SOUND_FORMAT_PCM24, /* 24bit integer PCM data. */
FMOD_SOUND_FORMAT_PCM32, /* 32bit integer PCM data. */ FMOD_SOUND_FORMAT_PCM32, /* 32bit integer PCM data. */
FMOD_SOUND_FORMAT_PCMFLOAT, /* 32bit floating point PCM data. * / FMOD_SOUND_FORMAT_PCMFLOAT, /* 32bit floating point PCM data. * /
FMOD_SOUND_FORMAT_GCADPCM, /* Compressed GameCube DSP data. */ FMOD_SOUND_FORMAT_GCADPCM, /* Compressed Nintendo GameCube/Wii DSP data. */
FMOD_SOUND_FORMAT_IMAADPCM, /* Compressed IMA ADPCM / Xbox ADPC M data. */ FMOD_SOUND_FORMAT_IMAADPCM, /* Compressed IMA ADPCM / Xbox ADPC M data. */
FMOD_SOUND_FORMAT_VAG, /* Compressed PlayStation 2 / PlayS tation Portable ADPCM data. */ FMOD_SOUND_FORMAT_VAG, /* Compressed PlayStation Portable ADPCM data. */
FMOD_SOUND_FORMAT_HEVAG, /* Compressed NGP ADPCM data. */ FMOD_SOUND_FORMAT_HEVAG, /* Compressed NGP ADPCM data. */
FMOD_SOUND_FORMAT_XMA, /* Compressed Xbox360 data. */ FMOD_SOUND_FORMAT_XMA, /* Compressed Xbox360 data. */
FMOD_SOUND_FORMAT_MPEG, /* Compressed MPEG layer 2 or 3 dat a. */ FMOD_SOUND_FORMAT_MPEG, /* Compressed MPEG layer 2 or 3 dat a. */
FMOD_SOUND_FORMAT_CELT, /* Compressed CELT data. */ FMOD_SOUND_FORMAT_CELT, /* Compressed CELT data. */
FMOD_SOUND_FORMAT_AT9, /* Compressed ATRAC9 data. */ FMOD_SOUND_FORMAT_AT9, /* Compressed ATRAC9 data. */
FMOD_SOUND_FORMAT_MAX, /* Maximum number of sound formats supported. */ FMOD_SOUND_FORMAT_MAX, /* Maximum number of sound formats supported. */
FMOD_SOUND_FORMAT_FORCEINT = 65536 /* Makes sure this enum is signed 3 2bit. */ FMOD_SOUND_FORMAT_FORCEINT = 65536 /* Makes sure this enum is signed 3 2bit. */
} FMOD_SOUND_FORMAT; } FMOD_SOUND_FORMAT;
skipping to change at line 832 skipping to change at line 819
[DESCRIPTION] [DESCRIPTION]
Sound description bitfields, bitwise OR them together for loading and d escribing sounds. Sound description bitfields, bitwise OR them together for loading and d escribing sounds.
[REMARKS] [REMARKS]
By default a sound will open as a static sound that is decompressed ful ly into memory to PCM. (ie equivalent of FMOD_CREATESAMPLE)<br> By default a sound will open as a static sound that is decompressed ful ly into memory to PCM. (ie equivalent of FMOD_CREATESAMPLE)<br>
To have a sound stream instead, use FMOD_CREATESTREAM, or use the wrapp er function System::createStream.<br> To have a sound stream instead, use FMOD_CREATESTREAM, or use the wrapp er function System::createStream.<br>
Some opening modes (ie FMOD_OPENUSER, FMOD_OPENMEMORY, FMOD_OPENMEMORY_ POINT, FMOD_OPENRAW) will need extra information.<br> Some opening modes (ie FMOD_OPENUSER, FMOD_OPENMEMORY, FMOD_OPENMEMORY_ POINT, FMOD_OPENRAW) will need extra information.<br>
This can be provided using the FMOD_CREATESOUNDEXINFO structure. This can be provided using the FMOD_CREATESOUNDEXINFO structure.
<br> <br>
On Playstation 2, non VAG formats will default to FMOD_SOFTWARE if FMOD
_HARDWARE is not specified.<br>
This is due to PS2 hardware not supporting PCM data.<br>
<br>
Specifying FMOD_OPENMEMORY_POINT will POINT to your memory rather alloc ating its own sound buffers and duplicating it internally.<br> Specifying FMOD_OPENMEMORY_POINT will POINT to your memory rather alloc ating its own sound buffers and duplicating it internally.<br>
<b><u>This means you cannot free the memory while FMOD is using it, unt il after Sound::release is called.</b></u> <b><u>This means you cannot free the memory while FMOD is using it, unt il after Sound::release is called.</b></u>
With FMOD_OPENMEMORY_POINT, for PCM formats, only WAV, FSB, and RAW are supported. For compressed formats, only those formats supported by FMOD_C REATECOMPRESSEDSAMPLE are supported.<br> With FMOD_OPENMEMORY_POINT, for PCM formats, only WAV, FSB, and RAW are supported. For compressed formats, only those formats supported by FMOD_C REATECOMPRESSEDSAMPLE are supported.<br>
With FMOD_OPENMEMORY_POINT and FMOD_OPENRAW or PCM, if using them toget her, note that you must pad the data on each side by 16 bytes. This is so fmod can modify the ends of the data for looping/interpolation/mixing purpo ses. If a wav file, you will need to insert silence, and then reset loop p oints to stop the playback from playing that silence.<br> With FMOD_OPENMEMORY_POINT and FMOD_OPENRAW or PCM, if using them toget her, note that you must pad the data on each side by 16 bytes. This is so fmod can modify the ends of the data for looping/interpolation/mixing purpo ses. If a wav file, you will need to insert silence, and then reset loop p oints to stop the playback from playing that silence.<br>
With FMOD_OPENMEMORY_POINT, For Wii/PSP FMOD_HARDWARE supports this fla g for the GCADPCM/VAG formats. On other platforms FMOD_SOFTWARE must be us ed.<br> With FMOD_OPENMEMORY_POINT, For Wii/PSP FMOD_HARDWARE supports this fla g for the GCADPCM/VAG formats. On other platforms FMOD_SOFTWARE must be us ed.<br>
<br> <br>
<b>Xbox 360 memory</b> On Xbox 360 Specifying FMOD_OPENMEMORY_POINT to a virtual memory address will cause FMOD_ERR_INVALID_ADDRESS <b>Xbox 360 memory</b> On Xbox 360 Specifying FMOD_OPENMEMORY_POINT to a virtual memory address will cause FMOD_ERR_INVALID_ADDRESS
to be returned. Use physical memory only for this functionality.<br> to be returned. Use physical memory only for this functionality.<br>
<br> <br>
FMOD_LOWMEM is used on a sound if you want to minimize the memory overh ead, by having FMOD not allocate memory for certain FMOD_LOWMEM is used on a sound if you want to minimize the memory overh ead, by having FMOD not allocate memory for certain
features that are not likely to be used in a game environment. These a re :<br> features that are not likely to be used in a game environment. These a re :<br>
1. Sound::getName functionality is removed. 256 bytes per sound is sav ed.<br> 1. Sound::getName functionality is removed. 256 bytes per sound is sav ed.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::createSound System::createSound
System::createStream System::createStream
Sound::setMode Sound::setMode
Sound::getMode Sound::getMode
Channel::setMode Channel::setMode
Channel::getMode Channel::getMode
Sound::set3DCustomRolloff Sound::set3DCustomRolloff
Channel::set3DCustomRolloff Channel::set3DCustomRolloff
Sound::getOpenState Sound::getOpenState
] ]
*/ */
#define FMOD_DEFAULT 0x00000000 /* FMOD_DEFAULT is a def ault sound type. Equivalent to all the defaults listed below. FMOD_LOOP_O FF, FMOD_2D, FMOD_HARDWARE. (Note - only Windows with a high spec soundcar d, PS2, PSP, and Wii support FMOD_HARDWARE) */ #define FMOD_DEFAULT 0x00000000 /* FMOD_DEFAULT is a def ault sound type. Equivalent to all the defaults listed below. FMOD_LOOP_O FF, FMOD_2D, FMOD_HARDWARE. (Note - only Windows with a high spec soundcar d, PSP, and Wii support FMOD_HARDWARE) */
#define FMOD_LOOP_OFF 0x00000001 /* For non looping sound s. (DEFAULT). Overrides FMOD_LOOP_NORMAL / FMOD_LOOP_BIDI. */ #define FMOD_LOOP_OFF 0x00000001 /* For non looping sound s. (DEFAULT). Overrides FMOD_LOOP_NORMAL / FMOD_LOOP_BIDI. */
#define FMOD_LOOP_NORMAL 0x00000002 /* For forward looping s ounds. */ #define FMOD_LOOP_NORMAL 0x00000002 /* For forward looping s ounds. */
#define FMOD_LOOP_BIDI 0x00000004 /* For bidirectional loo ping sounds. (only works on software mixed static sounds). */ #define FMOD_LOOP_BIDI 0x00000004 /* For bidirectional loo ping sounds. (only works on software mixed static sounds). */
#define FMOD_2D 0x00000008 /* Ignores any 3d proces sing. (DEFAULT). */ #define FMOD_2D 0x00000008 /* Ignores any 3d proces sing. (DEFAULT). */
#define FMOD_3D 0x00000010 /* Makes the sound posit ionable in 3D. Overrides FMOD_2D. */ #define FMOD_3D 0x00000010 /* Makes the sound posit ionable in 3D. Overrides FMOD_2D. */
#define FMOD_HARDWARE 0x00000020 /* Attempts to make soun ds use hardware acceleration. (DEFAULT). Note on platforms that don't supp ort FMOD_HARDWARE (only Windows with a high spec soundcard, PS2, PSP, and W ii support FMOD_HARDWARE), this will be internally treated as FMOD_SOFTWARE . */ #define FMOD_HARDWARE 0x00000020 /* Attempts to make soun ds use hardware acceleration. (DEFAULT). Note on platforms that don't supp ort FMOD_HARDWARE (only Windows with a high spec soundcard, PSP, and Wii su pport FMOD_HARDWARE), this will be internally treated as FMOD_SOFTWARE. */
#define FMOD_SOFTWARE 0x00000040 /* Makes the sound be mi xed by the FMOD CPU based software mixer. Overrides FMOD_HARDWARE. Use th is for FFT, DSP, compressed sample support, 2D multi-speaker support and ot her software related features. */ #define FMOD_SOFTWARE 0x00000040 /* Makes the sound be mi xed by the FMOD CPU based software mixer. Overrides FMOD_HARDWARE. Use th is for FFT, DSP, compressed sample support, 2D multi-speaker support and ot her software related features. */
#define FMOD_CREATESTREAM 0x00000080 /* Decompress at runtime , streaming from the source provided (ie from disk). Overrides FMOD_CREATE SAMPLE and FMOD_CREATECOMPRESSEDSAMPLE. Note a stream can only be played o nce at a time due to a stream only having 1 stream buffer and file handle. Open multiple streams to have them play concurrently. */ #define FMOD_CREATESTREAM 0x00000080 /* Decompress at runtime , streaming from the source provided (ie from disk). Overrides FMOD_CREATE SAMPLE and FMOD_CREATECOMPRESSEDSAMPLE. Note a stream can only be played o nce at a time due to a stream only having 1 stream buffer and file handle. Open multiple streams to have them play concurrently. */
#define FMOD_CREATESAMPLE 0x00000100 /* Decompress at loadtim e, decompressing or decoding whole file into memory as the target sample fo rmat (ie PCM). Fastest for FMOD_SOFTWARE based playback and most flexible. */ #define FMOD_CREATESAMPLE 0x00000100 /* Decompress at loadtim e, decompressing or decoding whole file into memory as the target sample fo rmat (ie PCM). Fastest for FMOD_SOFTWARE based playback and most flexible. */
#define FMOD_CREATECOMPRESSEDSAMPLE 0x00000200 /* Load MP2, MP3, IMAADP CM or XMA into memory and leave it compressed. During playback the FMOD so ftware mixer will decode it in realtime as a 'compressed sample'. Can only be used in combination with FMOD_SOFTWARE. Overrides FMOD_CREATESAMPLE. If the sound data is not ADPCM, MPEG or XMA it will behave as if it was cre ated with FMOD_CREATESAMPLE and decode the sound into PCM. */ #define FMOD_CREATECOMPRESSEDSAMPLE 0x00000200 /* Load MP2, MP3, IMAADP CM or XMA into memory and leave it compressed. During playback the FMOD so ftware mixer will decode it in realtime as a 'compressed sample'. Can only be used in combination with FMOD_SOFTWARE. Overrides FMOD_CREATESAMPLE. If the sound data is not ADPCM, MPEG or XMA it will behave as if it was cre ated with FMOD_CREATESAMPLE and decode the sound into PCM. */
#define FMOD_OPENUSER 0x00000400 /* Opens a user created static sample or stream. Use FMOD_CREATESOUNDEXINFO to specify format and/o r read callbacks. If a user created 'sample' is created with no read callb ack, the sample will be empty. Use Sound::lock and Sound::unlock to place sound data into the sound if this is the case. */ #define FMOD_OPENUSER 0x00000400 /* Opens a user created static sample or stream. Use FMOD_CREATESOUNDEXINFO to specify format and/o r read callbacks. If a user created 'sample' is created with no read callb ack, the sample will be empty. Use Sound::lock and Sound::unlock to place sound data into the sound if this is the case. */
#define FMOD_OPENMEMORY 0x00000800 /* "name_or_data" will b e interpreted as a pointer to memory instead of filename for creating sound s. Use FMOD_CREATESOUNDEXINFO to specify length. If used with FMOD_CREATE SAMPLE or FMOD_CREATECOMPRESSEDSAMPLE, FMOD duplicates the memory into its own buffers. Your own buffer can be freed after open. If used with FMOD_C REATESTREAM, FMOD will stream out of the buffer whose pointer you passed in . In this case, your own buffer should not be freed until you have finishe d with and released the stream.*/ #define FMOD_OPENMEMORY 0x00000800 /* "name_or_data" will b e interpreted as a pointer to memory instead of filename for creating sound s. Use FMOD_CREATESOUNDEXINFO to specify length. If used with FMOD_CREATE SAMPLE or FMOD_CREATECOMPRESSEDSAMPLE, FMOD duplicates the memory into its own buffers. Your own buffer can be freed after open. If used with FMOD_C REATESTREAM, FMOD will stream out of the buffer whose pointer you passed in . In this case, your own buffer should not be freed until you have finishe d with and released the stream.*/
#define FMOD_OPENMEMORY_POINT 0x10000000 /* "name_or_data" will b e interpreted as a pointer to memory instead of filename for creating sound s. Use FMOD_CREATESOUNDEXINFO to specify length. This differs to FMOD_OPE NMEMORY in that it uses the memory as is, without duplicating the memory in to its own buffers. For Wii/PSP FMOD_HARDWARE supports this flag for the G CADPCM/VAG formats. On other platforms FMOD_SOFTWARE must be used, as soun d hardware on the other platforms (ie PC) cannot access main ram. Cannot b e freed after open, only after Sound::release. Will not work if the data is compressed and FMOD_CREATECOMPRESSEDSAMPLE is not used. */ #define FMOD_OPENMEMORY_POINT 0x10000000 /* "name_or_data" will b e interpreted as a pointer to memory instead of filename for creating sound s. Use FMOD_CREATESOUNDEXINFO to specify length. This differs to FMOD_OPE NMEMORY in that it uses the memory as is, without duplicating the memory in to its own buffers. For Wii/PSP FMOD_HARDWARE supports this flag for the G CADPCM/VAG formats. On other platforms FMOD_SOFTWARE must be used, as soun d hardware on the other platforms (ie PC) cannot access main ram. Cannot b e freed after open, only after Sound::release. Will not work if the data is compressed and FMOD_CREATECOMPRESSEDSAMPLE is not used. */
#define FMOD_OPENRAW 0x00001000 /* Will ignore file form at and treat as raw pcm. Use FMOD_CREATESOUNDEXINFO to specify format. Re quires at least defaultfrequency, numchannels and format to be specified be fore it will open. Must be little endian data. */ #define FMOD_OPENRAW 0x00001000 /* Will ignore file form at and treat as raw pcm. Use FMOD_CREATESOUNDEXINFO to specify format. Re quires at least defaultfrequency, numchannels and format to be specified be fore it will open. Must be little endian data. */
#define FMOD_OPENONLY 0x00002000 /* Just open the file, d ont prebuffer or read. Good for fast opens for info, or when sound::readDa ta is to be used. */ #define FMOD_OPENONLY 0x00002000 /* Just open the file, d ont prebuffer or read. Good for fast opens for info, or when sound::readDa ta is to be used. */
#define FMOD_ACCURATETIME 0x00004000 /* For System::createSou nd - for accurate Sound::getLength/Channel::setPosition on VBR MP3, and MOD /S3M/XM/IT/MIDI files. Scans file first, so takes longer to open. FMOD_OPE NONLY does not affect this. */ #define FMOD_ACCURATETIME 0x00004000 /* For System::createSou nd - for accurate Sound::getLength/Channel::setPosition on VBR MP3, and MOD /S3M/XM/IT/MIDI files. Scans file first, so takes longer to open. FMOD_OPE NONLY does not affect this. */
skipping to change at line 909 skipping to change at line 893
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
These values describe what state a sound is in after FMOD_NONBLOCKING h as been used to open it. These values describe what state a sound is in after FMOD_NONBLOCKING h as been used to open it.
[REMARKS] [REMARKS]
With streams, if you are using FMOD_NONBLOCKING, note that if the user calls Sound::getSubSound, a stream will go into FMOD_OPENSTATE_SEEKING stat e and sound related commands will return FMOD_ERR_NOTREADY.<br> With streams, if you are using FMOD_NONBLOCKING, note that if the user calls Sound::getSubSound, a stream will go into FMOD_OPENSTATE_SEEKING stat e and sound related commands will return FMOD_ERR_NOTREADY.<br>
With streams, if you are using FMOD_NONBLOCKING, note that if the user calls Channel::getPosition, a stream will go into FMOD_OPENSTATE_SETPOSITIO N state and sound related commands will return FMOD_ERR_NOTREADY.<br> With streams, if you are using FMOD_NONBLOCKING, note that if the user calls Channel::getPosition, a stream will go into FMOD_OPENSTATE_SETPOSITIO N state and sound related commands will return FMOD_ERR_NOTREADY.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Sound::getOpenState Sound::getOpenState
FMOD_MODE FMOD_MODE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_OPENSTATE_READY = 0, /* Opened and ready to play. */ FMOD_OPENSTATE_READY = 0, /* Opened and ready to play. */
FMOD_OPENSTATE_LOADING, /* Initial load in progress. */ FMOD_OPENSTATE_LOADING, /* Initial load in progress. */
skipping to change at line 943 skipping to change at line 927
[ [
[DESCRIPTION] [DESCRIPTION]
These flags are used with SoundGroup::setMaxAudibleBehavior to determin e what happens when more sounds These flags are used with SoundGroup::setMaxAudibleBehavior to determin e what happens when more sounds
are played than are specified with SoundGroup::setMaxAudible. are played than are specified with SoundGroup::setMaxAudible.
[REMARKS] [REMARKS]
When using FMOD_SOUNDGROUP_BEHAVIOR_MUTE, SoundGroup::setMuteFadeSpeed can be used to stop a sudden transition. When using FMOD_SOUNDGROUP_BEHAVIOR_MUTE, SoundGroup::setMuteFadeSpeed can be used to stop a sudden transition.
Instead, the time specified will be used to cross fade between the soun ds that go silent and the ones that become audible. Instead, the time specified will be used to cross fade between the soun ds that go silent and the ones that become audible.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
SoundGroup::setMaxAudibleBehavior SoundGroup::setMaxAudibleBehavior
SoundGroup::getMaxAudibleBehavior SoundGroup::getMaxAudibleBehavior
SoundGroup::setMaxAudible SoundGroup::setMaxAudible
SoundGroup::getMaxAudible SoundGroup::getMaxAudible
SoundGroup::setMuteFadeSpeed SoundGroup::setMuteFadeSpeed
SoundGroup::getMuteFadeSpeed SoundGroup::getMuteFadeSpeed
] ]
*/ */
skipping to change at line 977 skipping to change at line 961
[DESCRIPTION] [DESCRIPTION]
These callback types are used with Channel::setCallback. These callback types are used with Channel::setCallback.
[REMARKS] [REMARKS]
Each callback has commanddata parameters passed as int unique to the ty pe of callback.<br> Each callback has commanddata parameters passed as int unique to the ty pe of callback.<br>
See reference to FMOD_CHANNEL_CALLBACK to determine what they might mea n for each type of callback.<br> See reference to FMOD_CHANNEL_CALLBACK to determine what they might mea n for each type of callback.<br>
<br> <br>
<b>Note!</b> Currently the user must call System::update for these cal lbacks to trigger! <b>Note!</b> Currently the user must call System::update for these cal lbacks to trigger!
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Channel::setCallback Channel::setCallback
FMOD_CHANNEL_CALLBACK FMOD_CHANNEL_CALLBACK
System::update System::update
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_CHANNEL_CALLBACKTYPE_END, /* Called when a sound ends. */ FMOD_CHANNEL_CALLBACKTYPE_END, /* Called when a sound ends. */
skipping to change at line 1009 skipping to change at line 993
[DESCRIPTION] [DESCRIPTION]
These callback types are used with System::setCallback. These callback types are used with System::setCallback.
[REMARKS] [REMARKS]
Each callback has commanddata parameters passed as void* unique to the type of callback.<br> Each callback has commanddata parameters passed as void* unique to the type of callback.<br>
See reference to FMOD_SYSTEM_CALLBACK to determine what they might mean for each type of callback.<br> See reference to FMOD_SYSTEM_CALLBACK to determine what they might mean for each type of callback.<br>
<br> <br>
<b>Note!</b> Using FMOD_SYSTEM_CALLBACKTYPE_DEVICELISTCHANGED (on Mac o nly) requires the application to be running an event loop which will allow external changes to device list to be detected by FMOD. <b>Note!</b> Using FMOD_SYSTEM_CALLBACKTYPE_DEVICELISTCHANGED (on Mac o nly) requires the application to be running an event loop which will allow external changes to device list to be detected by FMOD.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::setCallback System::setCallback
FMOD_SYSTEM_CALLBACK FMOD_SYSTEM_CALLBACK
System::update System::update
DSP::addInput DSP::addInput
] ]
*/ */
typedef enum typedef enum
{ {
skipping to change at line 1090 skipping to change at line 1074
<img src="..\static\hanning.gif"></img><br> <img src="..\static\hanning.gif"></img><br>
<br> <br>
FMOD_DSP_FFT_WINDOW_BLACKMAN.<br> FMOD_DSP_FFT_WINDOW_BLACKMAN.<br>
<img src="..\static\blackman.gif"></img><br> <img src="..\static\blackman.gif"></img><br>
<br> <br>
FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS.<br> FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS.<br>
<img src="..\static\blackmanharris.gif"></img> <img src="..\static\blackmanharris.gif"></img>
</exclude> </exclude>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::getSpectrum System::getSpectrum
Channel::getSpectrum Channel::getSpectrum
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_FFT_WINDOW_RECT, /* w[n] = 1.0 */ FMOD_DSP_FFT_WINDOW_RECT, /* w[n] = 1.0 */
FMOD_DSP_FFT_WINDOW_TRIANGLE, /* w[n] = TRI(2n/N) */ FMOD_DSP_FFT_WINDOW_TRIANGLE, /* w[n] = TRI(2n/N) */
skipping to change at line 1121 skipping to change at line 1105
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
List of interpolation types that the FMOD Ex software mixer supports. List of interpolation types that the FMOD Ex software mixer supports.
[REMARKS] [REMARKS]
The default resampler type is FMOD_DSP_RESAMPLER_LINEAR.<br> The default resampler type is FMOD_DSP_RESAMPLER_LINEAR.<br>
Use System::setSoftwareFormat to tell FMOD the resampling quality you r equire for FMOD_SOFTWARE based sounds. Use System::setSoftwareFormat to tell FMOD the resampling quality you r equire for FMOD_SOFTWARE based sounds.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::setSoftwareFormat System::setSoftwareFormat
System::getSoftwareFormat System::getSoftwareFormat
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_RESAMPLER_NOINTERP, /* No interpolation. High frequenc y aliasing hiss will be audible depending on the sample rate of the sound. */ FMOD_DSP_RESAMPLER_NOINTERP, /* No interpolation. High frequenc y aliasing hiss will be audible depending on the sample rate of the sound. */
FMOD_DSP_RESAMPLER_LINEAR, /* Linear interpolation (default me thod). Fast and good quality, causes very slight lowpass effect on low fre quency sounds. */ FMOD_DSP_RESAMPLER_LINEAR, /* Linear interpolation (default me thod). Fast and good quality, causes very slight lowpass effect on low fre quency sounds. */
skipping to change at line 1148 skipping to change at line 1132
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
List of tag types that could be stored within a sound. These include i d3 tags, metadata from netstreams and vorbis/asf data. List of tag types that could be stored within a sound. These include i d3 tags, metadata from netstreams and vorbis/asf data.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Sound::getTag Sound::getTag
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_TAGTYPE_UNKNOWN = 0, FMOD_TAGTYPE_UNKNOWN = 0,
FMOD_TAGTYPE_ID3V1, FMOD_TAGTYPE_ID3V1,
FMOD_TAGTYPE_ID3V2, FMOD_TAGTYPE_ID3V2,
skipping to change at line 1181 skipping to change at line 1165
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
List of data types that can be returned by Sound::getTag List of data types that can be returned by Sound::getTag
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Sound::getTag Sound::getTag
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_TAGDATATYPE_BINARY = 0, FMOD_TAGDATATYPE_BINARY = 0,
FMOD_TAGDATATYPE_INT, FMOD_TAGDATATYPE_INT,
FMOD_TAGDATATYPE_FLOAT, FMOD_TAGDATATYPE_FLOAT,
skipping to change at line 1219 skipping to change at line 1203
If you haven't called Channel::setDelay yet, if you call Channel::getDe lay with FMOD_DELAYTYPE_DSPCLOCK_START it will return the If you haven't called Channel::setDelay yet, if you call Channel::getDe lay with FMOD_DELAYTYPE_DSPCLOCK_START it will return the
equivalent global DSP clock value to determine when a channel started, so that you can use it for other channels to sync against.<br> equivalent global DSP clock value to determine when a channel started, so that you can use it for other channels to sync against.<br>
<br> <br>
Use System::getDSPClock to also get the current dspclock time, a base f or future calls to Channel::setDelay.<br> Use System::getDSPClock to also get the current dspclock time, a base f or future calls to Channel::setDelay.<br>
<br> <br>
Use FMOD_64BIT_ADD or FMOD_64BIT_SUB to add a hi/lo combination togethe r and cope with wraparound. Use FMOD_64BIT_ADD or FMOD_64BIT_SUB to add a hi/lo combination togethe r and cope with wraparound.
<br> <br>
If FMOD_DELAYTYPE_END_MS is specified, the value is not treated as a 64 bit number, just the delayhi value is used and it is treated as millisecon ds. If FMOD_DELAYTYPE_END_MS is specified, the value is not treated as a 64 bit number, just the delayhi value is used and it is treated as millisecon ds.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Channel::setDelay Channel::setDelay
Channel::getDelay Channel::getDelay
System::getDSPClock System::getDSPClock
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DELAYTYPE_END_MS, /* Delay at the end of the sound in milliseconds. Use delayhi only. Channel::isPlaying will remain true unt il this delay has passed even though the sound itself has stopped playing.* / FMOD_DELAYTYPE_END_MS, /* Delay at the end of the sound in milliseconds. Use delayhi only. Channel::isPlaying will remain true unt il this delay has passed even though the sound itself has stopped playing.* /
skipping to change at line 1252 skipping to change at line 1236
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure describing a piece of tag data. Structure describing a piece of tag data.
[REMARKS] [REMARKS]
Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br> Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br>
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Sound::getTag Sound::getTag
FMOD_TAGTYPE FMOD_TAGTYPE
FMOD_TAGDATATYPE FMOD_TAGDATATYPE
] ]
*/ */
typedef struct FMOD_TAG typedef struct FMOD_TAG
{ {
FMOD_TAGTYPE type; /* [r] The type of this tag. */ FMOD_TAGTYPE type; /* [r] The type of this tag. */
skipping to change at line 1281 skipping to change at line 1265
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure describing a CD/DVD table of contents Structure describing a CD/DVD table of contents
[REMARKS] [REMARKS]
Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br> Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br>
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Sound::getTag Sound::getTag
] ]
*/ */
typedef struct FMOD_CDTOC typedef struct FMOD_CDTOC
{ {
int numtracks; /* [r] The number of tracks on the CD * / int numtracks; /* [r] The number of tracks on the CD * /
int min[100]; /* [r] The start offset of each track i n minutes */ int min[100]; /* [r] The start offset of each track i n minutes */
int sec[100]; /* [r] The start offset of each track i n seconds */ int sec[100]; /* [r] The start offset of each track i n seconds */
skipping to change at line 1309 skipping to change at line 1293
FMOD_TIMEUNIT FMOD_TIMEUNIT
[DESCRIPTION] [DESCRIPTION]
List of time types that can be returned by Sound::getLength and used wi th Channel::setPosition or Channel::getPosition. List of time types that can be returned by Sound::getLength and used wi th Channel::setPosition or Channel::getPosition.
[REMARKS] [REMARKS]
FMOD_TIMEUNIT_SENTENCE_MS, FMOD_TIMEUNIT_SENTENCE_PCM, FMOD_TIMEUNIT_SE NTENCE_PCMBYTES, FMOD_TIMEUNIT_SENTENCE and FMOD_TIMEUNIT_SENTENCE_SUBSOUND are only supported by Channel functions. FMOD_TIMEUNIT_SENTENCE_MS, FMOD_TIMEUNIT_SENTENCE_PCM, FMOD_TIMEUNIT_SE NTENCE_PCMBYTES, FMOD_TIMEUNIT_SENTENCE and FMOD_TIMEUNIT_SENTENCE_SUBSOUND are only supported by Channel functions.
Do not combine flags except FMOD_TIMEUNIT_BUFFERED. Do not combine flags except FMOD_TIMEUNIT_BUFFERED.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Sound::getLength Sound::getLength
Channel::setPosition Channel::setPosition
Channel::getPosition Channel::getPosition
] ]
*/ */
#define FMOD_TIMEUNIT_MS 0x00000001 /* Milliseconds. */ #define FMOD_TIMEUNIT_MS 0x00000001 /* Milliseconds. */
#define FMOD_TIMEUNIT_PCM 0x00000002 /* PCM samples, related to milliseconds * samplerate / 1000. */ #define FMOD_TIMEUNIT_PCM 0x00000002 /* PCM samples, related to milliseconds * samplerate / 1000. */
#define FMOD_TIMEUNIT_PCMBYTES 0x00000004 /* Bytes, related to PC M samples * channels * datawidth (ie 16bit = 2 bytes). */ #define FMOD_TIMEUNIT_PCMBYTES 0x00000004 /* Bytes, related to PC M samples * channels * datawidth (ie 16bit = 2 bytes). */
skipping to change at line 1346 skipping to change at line 1330
[DESCRIPTION] [DESCRIPTION]
When creating a multichannel sound, FMOD will pan them to their default speaker locations, for example a 6 channel sound will default to one chann el per 5.1 output speaker.<br> When creating a multichannel sound, FMOD will pan them to their default speaker locations, for example a 6 channel sound will default to one chann el per 5.1 output speaker.<br>
Another example is a stereo sound. It will default to left = front lef t, right = front right.<br> Another example is a stereo sound. It will default to left = front lef t, right = front right.<br>
<br> <br>
This is for sounds that are not 'default'. For example you might have a sound that is 6 channels but actually made up of 3 stereo pairs, that sho uld all be located in front left, front right only. This is for sounds that are not 'default'. For example you might have a sound that is 6 channels but actually made up of 3 stereo pairs, that sho uld all be located in front left, front right only.
[REMARKS] [REMARKS]
For full flexibility of speaker assignments, use Channel::setSpeakerLev els. For full flexibility of speaker assignments, use Channel::setSpeakerLev els.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_CREATESOUNDEXINFO FMOD_CREATESOUNDEXINFO
Channel::setSpeakerLevels Channel::setSpeakerLevels
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_SPEAKERMAPTYPE_DEFAULT, /* This is the default, and just means FMOD decides which speakers it puts the source channels. */ FMOD_SPEAKERMAPTYPE_DEFAULT, /* This is the default, and just means FMOD decides which speakers it puts the source channels. */
FMOD_SPEAKERMAPTYPE_ALLMONO, /* This means the sound is made up of all mono sounds. All voices will be panned to the front center by default in this case. */ FMOD_SPEAKERMAPTYPE_ALLMONO, /* This means the sound is made up of all mono sounds. All voices will be panned to the front center by default in this case. */
skipping to change at line 1430 skipping to change at line 1414
<br> <br>
FSB codec. If inclusionlist and numsubsounds are used together, this w ill trigger a special mode where subsounds are shuffled down to save memory . (useful for large FSB FSB codec. If inclusionlist and numsubsounds are used together, this w ill trigger a special mode where subsounds are shuffled down to save memory . (useful for large FSB
files where you only want to load 1 sound). There will be no gaps, ie no null subsounds. As an example, if there are 10,000 subsounds and there is an inclusionlist with only 1 entry, files where you only want to load 1 sound). There will be no gaps, ie no null subsounds. As an example, if there are 10,000 subsounds and there is an inclusionlist with only 1 entry,
and numsubsounds = 1, then subsound 0 will be that entry, and there wil l only be the memory allocated for 1 subsound. Previously there would stil l be 10,000 subsound pointers and other and numsubsounds = 1, then subsound 0 will be that entry, and there wil l only be the memory allocated for 1 subsound. Previously there would stil l be 10,000 subsound pointers and other
associated codec entries allocated along with it multiplied by 10,000.< br> associated codec entries allocated along with it multiplied by 10,000.< br>
<br> <br>
Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br> Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br>
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::createSound System::createSound
System::setStreamBufferSize System::setStreamBufferSize
FMOD_MODE FMOD_MODE
FMOD_SOUND_FORMAT FMOD_SOUND_FORMAT
FMOD_SOUND_TYPE FMOD_SOUND_TYPE
FMOD_SPEAKERMAPTYPE FMOD_SPEAKERMAPTYPE
] ]
*/ */
skipping to change at line 1483 skipping to change at line 1467
int cddaforceaspi; /* [w] Optional. Spe cify 0 to ignore. For CDDA sounds only - if non-zero use ASPI instead of NT SCSI to access the specified CD/DVD device. */ int cddaforceaspi; /* [w] Optional. Spe cify 0 to ignore. For CDDA sounds only - if non-zero use ASPI instead of NT SCSI to access the specified CD/DVD device. */
unsigned int audioqueuepolicy; /* [w] Optional. Spe cify 0 or FMOD_AUDIOQUEUE_CODECPOLICY_DEFAULT to ignore. Policy used to det ermine whether hardware or software is used for decoding, see FMOD_AUDIOQUE UE_CODECPOLICY for options (iOS >= 3.0 required, otherwise only hardware is available) */ unsigned int audioqueuepolicy; /* [w] Optional. Spe cify 0 or FMOD_AUDIOQUEUE_CODECPOLICY_DEFAULT to ignore. Policy used to det ermine whether hardware or software is used for decoding, see FMOD_AUDIOQUE UE_CODECPOLICY for options (iOS >= 3.0 required, otherwise only hardware is available) */
unsigned int minmidigranularity; /* [w] Optional. Spe cify 0 to ignore. Allows you to set a minimum desired MIDI mixer granularit y. Values smaller than 512 give greater than default accuracy at the cost o f more CPU and vise versa. Specify 0 for default (512 samples). */ unsigned int minmidigranularity; /* [w] Optional. Spe cify 0 to ignore. Allows you to set a minimum desired MIDI mixer granularit y. Values smaller than 512 give greater than default accuracy at the cost o f more CPU and vise versa. Specify 0 for default (512 samples). */
} FMOD_CREATESOUNDEXINFO; } FMOD_CREATESOUNDEXINFO;
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure defining a reverb environment.<br> Structure defining a reverb environment.<br>
<br>
For more indepth descriptions of the reverb properties under win32, ple
ase see the EAX2 and EAX3
documentation at http://developer.creative.com/ under the 'downloads' s
ection.<br>
If they do not have the EAX3 documentation, then most information can b
e attained from
the EAX2 documentation, as EAX3 only adds some more parameters and func
tionality on top of
EAX2.
[REMARKS] [REMARKS]
Note the default reverb properties are the same as the FMOD_PRESET_GENE RIC preset.<br> Note the default reverb properties are the same as the FMOD_PRESET_GENE RIC preset.<br>
Note that integer values that typically range from -10,000 to 1000 are represented in Note that integer values that typically range from -10,000 to 1000 are represented in
decibels, and are of a logarithmic scale, not linear, wheras float valu es are always linear.<br> decibels, and are of a logarithmic scale, not linear, wheras float valu es are always linear.<br>
<br> <br>
The numerical values listed below are the maximum, minimum and default values for each variable respectively.<br> The numerical values listed below are the maximum, minimum and default values for each variable respectively.<br>
<br> <br>
<b>SUPPORTED</b> next to each parameter means the platform the paramete r can be set on. Some platforms support all parameters and some don't.<br> <b>SUPPORTED</b> next to each parameter means the platform the paramete r can be set on. Some platforms support all parameters and some don't.<br>
EAX means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only (
must use FMOD_HARDWARE), on soundcards that support EAX 1 to 4.<br>
EAX4 means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only (
must use FMOD_HARDWARE), on soundcards that support EAX 4.<br>
I3DL2 means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only (
must use FMOD_HARDWARE), on soundcards that support I3DL2 non EAX native re
verb.<br>
WII means Nintendo Wii hardware reverb (must use FMOD_HARDWARE).<br> WII means Nintendo Wii hardware reverb (must use FMOD_HARDWARE).<br>
PS2 means Playstation 2 hardware reverb (must use FMOD_HARDWARE).<br> PSP means Playstation Portable hardware reverb (must use FMOD_HARDWAR E).<br>
SFX means FMOD SFX software reverb. This works on any platform that uses FMOD_SOFTWARE for loading sounds.<br> SFX means FMOD SFX software reverb. This works on any platform that uses FMOD_SOFTWARE for loading sounds.<br>
--- means unsupported/deprecated. Will either be removed or supporte d by SFX in the future.
<br> <br>
Nintendo Wii Notes:<br> Nintendo Wii Notes:<br>
This structure supports only limited parameters, and maps them to the W ii hardware reverb as follows.<br> This structure supports only limited parameters, and maps them to the W ii hardware reverb as follows.<br>
DecayTime = 'time'<br> DecayTime = 'time'<br>
ReverbDelay = 'predelay'<br> ReverbDelay = 'predelay'<br>
ModulationDepth = 'damping'<br> ModulationDepth = 'damping'<br>
Reflections = 'coloration'<br> Reflections = 'coloration'<br>
EnvDiffusion = 'crosstalk'<br> EnvDiffusion = 'crosstalk'<br>
Room = 'mix'<br> Room = 'mix'<br>
<br> <br>
Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br> Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br>
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
Members marked with [r/w] are either read or write depending on if you are using System::setReverbProperties (w) or System::getReverbProperties (r ). Members marked with [r/w] are either read or write depending on if you are using System::setReverbProperties (w) or System::getReverbProperties (r ).
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::setReverbProperties System::setReverbProperties
System::getReverbProperties System::getReverbProperties
FMOD_REVERB_PRESETS FMOD_REVERB_PRESETS
FMOD_REVERB_FLAGS FMOD_REVERB_FLAGS
] ]
*/ */
typedef struct FMOD_REVERB_PROPERTIES typedef struct FMOD_REVERB_PROPERTIES
{ /* MIN MAX DEFAULT DESCR { /* MIN MAX DEFAULT DESCRIPT
IPTION */ ION */
int Instance; /* [w] 0 , 3 , 0 , Envir int Instance; /* [w] 0 3 0 Environm
onment Instance. Simultaneous HW reverbs are possible on some platforms. (S ent Instance. (SUPPORTED:SF
UPPORTED:EAX4/SFX(4 instances) and Wii (3 instances)) */ X(4 instances) and Wii (3 instances)) */
int Environment; /* [r/w] -1 , 25 , -1 , sets int Environment; /* [r/w] -1 25 -1 Sets all
all listener properties. -1 = OFF. (S listener properties. -1 = OFF. (SUPPORTED:SF
UPPORTED:EAX/PS2) */ X(-1 only)/PSP) */
float EnvSize; /* [r/w] 1.0 , 100.0 , 7.5 , envir float EnvDiffusion; /* [r/w] 0.0 1.0 1.0 Environm
onment size in meters (S ent diffusion (SUPPORTED:WI
UPPORTED:EAX) */ I) */
float EnvDiffusion; /* [r/w] 0.0 , 1.0 , 1.0 , envir int Room; /* [r/w] -10000 0 -1000 Room eff
onment diffusion (S ect level (at mid frequencies) (SUPPORTED:SF
UPPORTED:EAX/WII) */ X/WII) */
int Room; /* [r/w] -10000, 0 , -1000 , room int RoomHF; /* [r/w] -10000 0 -100 Relative
effect level (at mid frequencies) (S room effect level at high frequencies (SUPPORTED:SF
UPPORTED:EAX/I3DL2/SFX/WII) */ X) */
int RoomHF; /* [r/w] -10000, 0 , -100 , relat int RoomLF; /* [r/w] -10000 0 0 Relative
ive room effect level at high frequencies (S room effect level at low frequencies (SUPPORTED:SF
UPPORTED:EAX/I3DL2/SFX) */ X) */
int RoomLF; /* [r/w] -10000, 0 , 0 , relat float DecayTime; /* [r/w] 0.1 20.0 1.49 Reverber
ive room effect level at low frequencies (S ation decay time at mid frequencies (SUPPORTED:SF
UPPORTED:EAX/SFX) */ X/WII) */
float DecayTime; /* [r/w] 0.1 , 20.0 , 1.49 , rever float DecayHFRatio; /* [r/w] 0.1 2.0 0.83 High-fre
beration decay time at mid frequencies (S quency to mid-frequency decay time ratio (SUPPORTED:SF
UPPORTED:EAX/I3DL2/SFX/WII) */ X) */
float DecayHFRatio; /* [r/w] 0.1 , 2.0 , 0.83 , high- float DecayLFRatio; /* [r/w] 0.1 2.0 1.0 Low-freq
frequency to mid-frequency decay time ratio (S uency to mid-frequency decay time ratio (SUPPORTED:--
UPPORTED:EAX/I3DL2/SFX) */ -) */
float DecayLFRatio; /* [r/w] 0.1 , 2.0 , 1.0 , low-f int Reflections; /* [r/w] -10000 1000 -2602 Early re
requency to mid-frequency decay time ratio (S flections level relative to room effect (SUPPORTED:SF
UPPORTED:EAX) */ X/WII) */
int Reflections; /* [r/w] -10000, 1000 , -2602 , early float ReflectionsDelay; /* [r/w] 0.0 0.3 0.007 Initial
reflections level relative to room effect (S reflection delay time (SUPPORTED:SF
UPPORTED:EAX/I3DL2/SFX/WII) */ X) */
float ReflectionsDelay; /* [r/w] 0.0 , 0.3 , 0.007 , initi int Reverb; /* [r/w] -10000 2000 200 Late rev
al reflection delay time (S erberation level relative to room effect (SUPPORTED:SF
UPPORTED:EAX/I3DL2/SFX) */ X) */
float ReflectionsPan[3]; /* [r/w] , , [0,0,0], early float ReverbDelay; /* [r/w] 0.0 0.1 0.011 Late rev
reflections panning vector (S erberation delay time relative to initial reflection (SUPPORTED:SF
UPPORTED:EAX) */ X/WII) */
int Reverb; /* [r/w] -10000, 2000 , 200 , late float EchoTime; /* [r/w] .075 0.25 0.25 Echo tim
reverberation level relative to room effect (S e (SUPPORTED:PS
UPPORTED:EAX/I3DL2/SFX) */ P(FMOD_PRESET_PSP_ECHO/FMOD_PRESET_PSP_DELAY only) */
float ReverbDelay; /* [r/w] 0.0 , 0.1 , 0.011 , late float EchoDepth; /* [r/w] 0.0 1.0 0.0 Echo dep
reverberation delay time relative to initial reflection (S th (SUPPORTED:PS
UPPORTED:EAX/I3DL2/SFX/WII) */ P(FMOD_PRESET_PSP_ECHO only) */
float ReverbPan[3]; /* [r/w] , , [0,0,0], late float ModulationTime; /* [r/w] 0.04 4.0 0.25 Modulati
reverberation panning vector (S on time (SUPPORTED:--
UPPORTED:EAX) */ -) */
float EchoTime; /* [r/w] .075 , 0.25 , 0.25 , echo float ModulationDepth; /* [r/w] 0.0 1.0 0.0 Modulati
time (S on depth (SUPPORTED:WI
UPPORTED:EAX/PS2(FMOD_PRESET_PS2_ECHO/FMOD_PRESET_PS2_DELAY only) */ I) */
float EchoDepth; /* [r/w] 0.0 , 1.0 , 0.0 , echo float HFReference; /* [r/w] 1000.0 20000 5000.0 Referenc
depth (S e high frequency (hz) (SUPPORTED:SF
UPPORTED:EAX/PS2(FMOD_PRESET_PS2_ECHO only) */ X) */
float ModulationTime; /* [r/w] 0.04 , 4.0 , 0.25 , modul float LFReference; /* [r/w] 20.0 1000.0 250.0 Referenc
ation time (S e low frequency (hz) (SUPPORTED:SF
UPPORTED:EAX) */ X) */
float ModulationDepth; /* [r/w] 0.0 , 1.0 , 0.0 , modul float Diffusion; /* [r/w] 0.0 100.0 100.0 Value th
ation depth (S at controls the echo density in the late reverberation decay. (SUPPORTED:SF
UPPORTED:EAX/WII) */ X) */
float AirAbsorptionHF; /* [r/w] -100 , 0.0 , -5.0 , chang float Density; /* [r/w] 0.0 100.0 100.0 Value th
e in level per meter at high frequencies (S at controls the modal density in the late reverberation decay (SUPPORTED:SF
UPPORTED:EAX) */ X) */
float HFReference; /* [r/w] 1000.0, 20000 , 5000.0 , refer unsigned int Flags; /* [r/w] FMOD_REVERB_FLAGS - modifies t
ence high frequency (hz) (S he behavior of above properties (SUPPORTED:WI
UPPORTED:EAX/I3DL2/SFX) */ I) */
float LFReference; /* [r/w] 20.0 , 1000.0, 250.0 , refer
ence low frequency (hz) (S
UPPORTED:EAX/SFX) */
float RoomRolloffFactor; /* [r/w] 0.0 , 10.0 , 0.0 , like
rolloffscale in System::set3DSettings but for reverb room size effect (S
UPPORTED:EAX/I3DL2) */
float Diffusion; /* [r/w] 0.0 , 100.0 , 100.0 , Value
that controls the echo density in the late reverberation decay. (S
UPPORTED:I3DL2/SFX) */
float Density; /* [r/w] 0.0 , 100.0 , 100.0 , Value
that controls the modal density in the late reverberation decay (S
UPPORTED:I3DL2/SFX) */
unsigned int Flags; /* [r/w] FMOD_REVERB_FLAGS - modifies t
he behavior of above properties (S
UPPORTED:EAX/PS2/WII) */
} FMOD_REVERB_PROPERTIES; } FMOD_REVERB_PROPERTIES;
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
FMOD_REVERB_FLAGS FMOD_REVERB_FLAGS
[DESCRIPTION] [DESCRIPTION]
Values for the Flags member of the FMOD_REVERB_PROPERTIES structure. Values for the Flags member of the FMOD_REVERB_PROPERTIES structure.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_REVERB_PROPERTIES FMOD_REVERB_PROPERTIES
] ]
*/ */
#define FMOD_REVERB_FLAGS_DECAYTIMESCALE 0x00000001 /* 'EnvSize' aff #define FMOD_REVERB_FLAGS_HIGHQUALITYREVERB 0x00000400 /* Wii. Use high
ects reverberation decay time */ quality reverb */
#define FMOD_REVERB_FLAGS_REFLECTIONSSCALE 0x00000002 /* 'EnvSize' aff #define FMOD_REVERB_FLAGS_HIGHQUALITYDPL2REVERB 0x00000800 /* Wii. Use high
ects reflection level */ quality DPL2 reverb */
#define FMOD_REVERB_FLAGS_REFLECTIONSDELAYSCALE 0x00000004 /* 'EnvSize' aff #define FMOD_REVERB_FLAGS_DEFAULT 0x00000000
ects initial reflection delay time */
#define FMOD_REVERB_FLAGS_REVERBSCALE 0x00000008 /* 'EnvSize' aff
ects reflections level */
#define FMOD_REVERB_FLAGS_REVERBDELAYSCALE 0x00000010 /* 'EnvSize' aff
ects late reverberation delay time */
#define FMOD_REVERB_FLAGS_DECAYHFLIMIT 0x00000020 /* AirAbsorption
HF affects DecayHFRatio */
#define FMOD_REVERB_FLAGS_ECHOTIMESCALE 0x00000040 /* 'EnvSize' aff
ects echo time */
#define FMOD_REVERB_FLAGS_MODULATIONTIMESCALE 0x00000080 /* 'EnvSize' aff
ects modulation time */
#define FMOD_REVERB_FLAGS_CORE0 0x00000100 /* PS2 Only - Re
verb is applied to CORE0 (hw voices 0-23) */
#define FMOD_REVERB_FLAGS_CORE1 0x00000200 /* PS2 Only - Re
verb is applied to CORE1 (hw voices 24-47) */
#define FMOD_REVERB_FLAGS_HIGHQUALITYREVERB 0x00000400 /* GameCube/Wii.
Use high quality reverb */
#define FMOD_REVERB_FLAGS_HIGHQUALITYDPL2REVERB 0x00000800 /* GameCube/Wii.
Use high quality DPL2 reverb */
#define FMOD_REVERB_FLAGS_DEFAULT (FMOD_REVERB_FLAGS_DECAYTIME
SCALE | \
FMOD_REVERB_FLAGS_REFLECTIO
NSSCALE | \
FMOD_REVERB_FLAGS_REFLECTIO
NSDELAYSCALE | \
FMOD_REVERB_FLAGS_REVERBSCA
LE | \
FMOD_REVERB_FLAGS_REVERBDEL
AYSCALE | \
FMOD_REVERB_FLAGS_DECAYHFLI
MIT | \
FMOD_REVERB_FLAGS_CORE0 |
\
FMOD_REVERB_FLAGS_CORE1)
/* [DEFINE_END] */ /* [DEFINE_END] */
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
FMOD_REVERB_PRESETS FMOD_REVERB_PRESETS
[DESCRIPTION] [DESCRIPTION]
A set of predefined environment PARAMETERS, created by Creative Labs A set of predefined environment PARAMETERS.<br>
These are used to initialize an FMOD_REVERB_PROPERTIES structure static These are used to initialize an FMOD_REVERB_PROPERTIES structure static
ally. ally.<br>
ie i.e.<br>
FMOD_REVERB_PROPERTIES prop = FMOD_PRESET_GENERIC; FMOD_REVERB_PROPERTIES prop = FMOD_PRESET_GENERIC;
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::setReverbProperties System::setReverbProperties
] ]
*/ */
/* Inst Env Size Diffus Room Room /* Inst Env Diffus Room RoomHF RmLF
HF RmLF DecTm DecHF DecLF Refl RefDel RefPan Revb Re DecTm DecHF DecLF Refl RefDel Revb RevDel ModTm ModDp HFRef
vDel ReverbPan EchoTm EchDp ModTm ModDp AirAbs HFRef LFR LFRef Diffus Densty FLAGS */
ef RRlOff Diffus Densty FLAGS */ #define FMOD_PRESET_OFF { 0, -1, 1.00f, -10000, -10000, 0,
#define FMOD_PRESET_OFF { 0, -1, 7.5f, 1.00f, -10000, -100 1.00f, 1.00f, 1.0f, -2602, 0.007f, 200, 0.011f, 0.25f, 0.000f, 5000.0f
00, 0, 1.00f, 1.00f, 1.0f, -2602, 0.007f, { 0.0f,0.0f,0.0f }, 200, 0. , 250.0f, 0.0f, 0.0f, 0x33f }
011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 #define FMOD_PRESET_GENERIC { 0, 0, 1.00f, -1000, -100, 0,
.0f, 0.0f, 0.0f, 0.0f, 0x33f } 1.49f, 0.83f, 1.0f, -2602, 0.007f, 200, 0.011f, 0.25f, 0.000f, 5000.0f
#define FMOD_PRESET_GENERIC { 0, 0, 7.5f, 1.00f, -1000, -100 , 250.0f, 100.0f, 100.0f, 0x3f }
, 0, 1.49f, 0.83f, 1.0f, -2602, 0.007f, { 0.0f,0.0f,0.0f }, 200, 0. #define FMOD_PRESET_PADDEDCELL { 0, 1, 1.00f, -1000, -6000, 0,
011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 0.17f, 0.10f, 1.0f, -1204, 0.001f, 207, 0.002f, 0.25f, 0.000f, 5000.0f
.0f, 0.0f, 100.0f, 100.0f, 0x3f } , 250.0f, 100.0f, 100.0f, 0x3f }
#define FMOD_PRESET_PADDEDCELL { 0, 1, 1.4f, 1.00f, -1000, -600 #define FMOD_PRESET_ROOM { 0, 2, 1.00f, -1000, -454, 0,
0, 0, 0.17f, 0.10f, 1.0f, -1204, 0.001f, { 0.0f,0.0f,0.0f }, 207, 0. 0.40f, 0.83f, 1.0f, -1646, 0.002f, 53, 0.003f, 0.25f, 0.000f, 5000.0f
002f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 , 250.0f, 100.0f, 100.0f, 0x3f }
.0f, 0.0f, 100.0f, 100.0f, 0x3f } #define FMOD_PRESET_BATHROOM { 0, 3, 1.00f, -1000, -1200, 0,
#define FMOD_PRESET_ROOM { 0, 2, 1.9f, 1.00f, -1000, -454 1.49f, 0.54f, 1.0f, -370, 0.007f, 1030, 0.011f, 0.25f, 0.000f, 5000.0f
, 0, 0.40f, 0.83f, 1.0f, -1646, 0.002f, { 0.0f,0.0f,0.0f }, 53, 0. , 250.0f, 100.0f, 60.0f, 0x3f }
003f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 #define FMOD_PRESET_LIVINGROOM { 0, 4, 1.00f, -1000, -6000, 0,
.0f, 0.0f, 100.0f, 100.0f, 0x3f } 0.50f, 0.10f, 1.0f, -1376, 0.003f, -1104, 0.004f, 0.25f, 0.000f, 5000.0f
#define FMOD_PRESET_BATHROOM { 0, 3, 1.4f, 1.00f, -1000, -120 , 250.0f, 100.0f, 100.0f, 0x3f }
0, 0, 1.49f, 0.54f, 1.0f, -370, 0.007f, { 0.0f,0.0f,0.0f }, 1030, 0. #define FMOD_PRESET_STONEROOM { 0, 5, 1.00f, -1000, -300, 0,
011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 2.31f, 0.64f, 1.0f, -711, 0.012f, 83, 0.017f, 0.25f, 0.000f, 5000.0f
.0f, 0.0f, 100.0f, 60.0f, 0x3f } , 250.0f, 100.0f, 100.0f, 0x3f }
#define FMOD_PRESET_LIVINGROOM { 0, 4, 2.5f, 1.00f, -1000, -600 #define FMOD_PRESET_AUDITORIUM { 0, 6, 1.00f, -1000, -476, 0,
0, 0, 0.50f, 0.10f, 1.0f, -1376, 0.003f, { 0.0f,0.0f,0.0f }, -1104, 0. 4.32f, 0.59f, 1.0f, -789, 0.020f, -289, 0.030f, 0.25f, 0.000f, 5000.0f
004f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 , 250.0f, 100.0f, 100.0f, 0x3f }
.0f, 0.0f, 100.0f, 100.0f, 0x3f } #define FMOD_PRESET_CONCERTHALL { 0, 7, 1.00f, -1000, -500, 0,
#define FMOD_PRESET_STONEROOM { 0, 5, 11.6f, 1.00f, -1000, -300 3.92f, 0.70f, 1.0f, -1230, 0.020f, -2, 0.029f, 0.25f, 0.000f, 5000.0f
, 0, 2.31f, 0.64f, 1.0f, -711, 0.012f, { 0.0f,0.0f,0.0f }, 83, 0. , 250.0f, 100.0f, 100.0f, 0x3f }
017f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 #define FMOD_PRESET_CAVE { 0, 8, 1.00f, -1000, 0, 0,
.0f, 0.0f, 100.0f, 100.0f, 0x3f } 2.91f, 1.30f, 1.0f, -602, 0.015f, -302, 0.022f, 0.25f, 0.000f, 5000.0f
#define FMOD_PRESET_AUDITORIUM { 0, 6, 21.6f, 1.00f, -1000, -476 , 250.0f, 100.0f, 100.0f, 0x1f }
, 0, 4.32f, 0.59f, 1.0f, -789, 0.020f, { 0.0f,0.0f,0.0f }, -289, 0. #define FMOD_PRESET_ARENA { 0, 9, 1.00f, -1000, -698, 0,
030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 7.24f, 0.33f, 1.0f, -1166, 0.020f, 16, 0.030f, 0.25f, 0.000f, 5000.0f
.0f, 0.0f, 100.0f, 100.0f, 0x3f } , 250.0f, 100.0f, 100.0f, 0x3f }
#define FMOD_PRESET_CONCERTHALL { 0, 7, 19.6f, 1.00f, -1000, -500 #define FMOD_PRESET_HANGAR { 0, 10, 1.00f, -1000, -1000, 0,
, 0, 3.92f, 0.70f, 1.0f, -1230, 0.020f, { 0.0f,0.0f,0.0f }, -2, 0. 10.05f, 0.23f, 1.0f, -602, 0.020f, 198, 0.030f, 0.25f, 0.000f, 5000.0f
029f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 , 250.0f, 100.0f, 100.0f, 0x3f }
.0f, 0.0f, 100.0f, 100.0f, 0x3f } #define FMOD_PRESET_CARPETTEDHALLWAY { 0, 11, 1.00f, -1000, -4000, 0,
#define FMOD_PRESET_CAVE { 0, 8, 14.6f, 1.00f, -1000, 0, 0.30f, 0.10f, 1.0f, -1831, 0.002f, -1630, 0.030f, 0.25f, 0.000f, 5000.0f
0, 2.91f, 1.30f, 1.0f, -602, 0.015f, { 0.0f,0.0f,0.0f }, -302, 0. , 250.0f, 100.0f, 100.0f, 0x3f }
022f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 #define FMOD_PRESET_HALLWAY { 0, 12, 1.00f, -1000, -300, 0,
.0f, 0.0f, 100.0f, 100.0f, 0x1f } 1.49f, 0.59f, 1.0f, -1219, 0.007f, 441, 0.011f, 0.25f, 0.000f, 5000.0f
#define FMOD_PRESET_ARENA { 0, 9, 36.2f, 1.00f, -1000, -698 , 250.0f, 100.0f, 100.0f, 0x3f }
, 0, 7.24f, 0.33f, 1.0f, -1166, 0.020f, { 0.0f,0.0f,0.0f }, 16, 0. #define FMOD_PRESET_STONECORRIDOR { 0, 13, 1.00f, -1000, -237, 0,
030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 2.70f, 0.79f, 1.0f, -1214, 0.013f, 395, 0.020f, 0.25f, 0.000f, 5000.0f
.0f, 0.0f, 100.0f, 100.0f, 0x3f } , 250.0f, 100.0f, 100.0f, 0x3f }
#define FMOD_PRESET_HANGAR { 0, 10, 50.3f, 1.00f, -1000, -100 #define FMOD_PRESET_ALLEY { 0, 14, 0.30f, -1000, -270, 0,
0, 0, 10.05f, 0.23f, 1.0f, -602, 0.020f, { 0.0f,0.0f,0.0f }, 198, 0. 1.49f, 0.86f, 1.0f, -1204, 0.007f, -4, 0.011f, 0.25f, 0.000f, 5000.0f
030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 , 250.0f, 100.0f, 100.0f, 0x3f }
.0f, 0.0f, 100.0f, 100.0f, 0x3f } #define FMOD_PRESET_FOREST { 0, 15, 0.30f, -1000, -3300, 0,
#define FMOD_PRESET_CARPETTEDHALLWAY { 0, 11, 1.9f, 1.00f, -1000, -400 1.49f, 0.54f, 1.0f, -2560, 0.162f, -229, 0.088f, 0.25f, 0.000f, 5000.0f
0, 0, 0.30f, 0.10f, 1.0f, -1831, 0.002f, { 0.0f,0.0f,0.0f }, -1630, 0. , 250.0f, 79.0f, 100.0f, 0x3f }
030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 #define FMOD_PRESET_CITY { 0, 16, 0.50f, -1000, -800, 0,
.0f, 0.0f, 100.0f, 100.0f, 0x3f } 1.49f, 0.67f, 1.0f, -2273, 0.007f, -1691, 0.011f, 0.25f, 0.000f, 5000.0f
#define FMOD_PRESET_HALLWAY { 0, 12, 1.8f, 1.00f, -1000, -300 , 250.0f, 50.0f, 100.0f, 0x3f }
, 0, 1.49f, 0.59f, 1.0f, -1219, 0.007f, { 0.0f,0.0f,0.0f }, 441, 0. #define FMOD_PRESET_MOUNTAINS { 0, 17, 0.27f, -1000, -2500, 0,
011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 1.49f, 0.21f, 1.0f, -2780, 0.300f, -1434, 0.100f, 0.25f, 0.000f, 5000.0f
.0f, 0.0f, 100.0f, 100.0f, 0x3f } , 250.0f, 27.0f, 100.0f, 0x1f }
#define FMOD_PRESET_STONECORRIDOR { 0, 13, 13.5f, 1.00f, -1000, -237 #define FMOD_PRESET_QUARRY { 0, 18, 1.00f, -1000, -1000, 0,
, 0, 2.70f, 0.79f, 1.0f, -1214, 0.013f, { 0.0f,0.0f,0.0f }, 395, 0. 1.49f, 0.83f, 1.0f, -10000, 0.061f, 500, 0.025f, 0.25f, 0.000f, 5000.0f
020f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 , 250.0f, 100.0f, 100.0f, 0x3f }
.0f, 0.0f, 100.0f, 100.0f, 0x3f } #define FMOD_PRESET_PLAIN { 0, 19, 0.21f, -1000, -2000, 0,
#define FMOD_PRESET_ALLEY { 0, 14, 7.5f, 0.30f, -1000, -270 1.49f, 0.50f, 1.0f, -2466, 0.179f, -1926, 0.100f, 0.25f, 0.000f, 5000.0f
, 0, 1.49f, 0.86f, 1.0f, -1204, 0.007f, { 0.0f,0.0f,0.0f }, -4, 0. , 250.0f, 21.0f, 100.0f, 0x3f }
011f, { 0.0f,0.0f,0.0f }, 0.125f, 0.95f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 #define FMOD_PRESET_PARKINGLOT { 0, 20, 1.00f, -1000, 0, 0,
.0f, 0.0f, 100.0f, 100.0f, 0x3f } 1.65f, 1.50f, 1.0f, -1363, 0.008f, -1153, 0.012f, 0.25f, 0.000f, 5000.0f
#define FMOD_PRESET_FOREST { 0, 15, 38.0f, 0.30f, -1000, -330 , 250.0f, 100.0f, 100.0f, 0x1f }
0, 0, 1.49f, 0.54f, 1.0f, -2560, 0.162f, { 0.0f,0.0f,0.0f }, -229, 0. #define FMOD_PRESET_SEWERPIPE { 0, 21, 0.80f, -1000, -1000, 0,
088f, { 0.0f,0.0f,0.0f }, 0.125f, 1.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 2.81f, 0.14f, 1.0f, 429, 0.014f, 1023, 0.021f, 0.25f, 0.000f, 5000.0f
.0f, 0.0f, 79.0f, 100.0f, 0x3f } , 250.0f, 80.0f, 60.0f, 0x3f }
#define FMOD_PRESET_CITY { 0, 16, 7.5f, 0.50f, -1000, -800 #define FMOD_PRESET_UNDERWATER { 0, 22, 1.00f, -1000, -4000, 0,
, 0, 1.49f, 0.67f, 1.0f, -2273, 0.007f, { 0.0f,0.0f,0.0f }, -1691, 0. 1.49f, 0.10f, 1.0f, -449, 0.007f, 1700, 0.011f, 1.18f, 0.348f, 5000.0f
011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 , 250.0f, 100.0f, 100.0f, 0x3f }
.0f, 0.0f, 50.0f, 100.0f, 0x3f }
#define FMOD_PRESET_MOUNTAINS { 0, 17, 100.0f, 0.27f, -1000, -250
0, 0, 1.49f, 0.21f, 1.0f, -2780, 0.300f, { 0.0f,0.0f,0.0f }, -1434, 0.
100f, { 0.0f,0.0f,0.0f }, 0.250f, 1.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250
.0f, 0.0f, 27.0f, 100.0f, 0x1f }
#define FMOD_PRESET_QUARRY { 0, 18, 17.5f, 1.00f, -1000, -100
0, 0, 1.49f, 0.83f, 1.0f, -10000, 0.061f, { 0.0f,0.0f,0.0f }, 500, 0.
025f, { 0.0f,0.0f,0.0f }, 0.125f, 0.70f, 0.25f, 0.000f, -5.0f, 5000.0f, 250
.0f, 0.0f, 100.0f, 100.0f, 0x3f }
#define FMOD_PRESET_PLAIN { 0, 19, 42.5f, 0.21f, -1000, -200
0, 0, 1.49f, 0.50f, 1.0f, -2466, 0.179f, { 0.0f,0.0f,0.0f }, -1926, 0.
100f, { 0.0f,0.0f,0.0f }, 0.250f, 1.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250
.0f, 0.0f, 21.0f, 100.0f, 0x3f }
#define FMOD_PRESET_PARKINGLOT { 0, 20, 8.3f, 1.00f, -1000, 0,
0, 1.65f, 1.50f, 1.0f, -1363, 0.008f, { 0.0f,0.0f,0.0f }, -1153, 0.
012f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250
.0f, 0.0f, 100.0f, 100.0f, 0x1f }
#define FMOD_PRESET_SEWERPIPE { 0, 21, 1.7f, 0.80f, -1000, -100
0, 0, 2.81f, 0.14f, 1.0f, 429, 0.014f, { 0.0f,0.0f,0.0f }, 1023, 0.
021f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250
.0f, 0.0f, 80.0f, 60.0f, 0x3f }
#define FMOD_PRESET_UNDERWATER { 0, 22, 1.8f, 1.00f, -1000, -400
0, 0, 1.49f, 0.10f, 1.0f, -449, 0.007f, { 0.0f,0.0f,0.0f }, 1700, 0.
011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 1.18f, 0.348f, -5.0f, 5000.0f, 250
.0f, 0.0f, 100.0f, 100.0f, 0x3f }
/* Non I3DL2 presets */
#define FMOD_PRESET_DRUGGED { 0, 23, 1.9f, 0.50f, -1000, 0,
0, 8.39f, 1.39f, 1.0f, -115, 0.002f, { 0.0f,0.0f,0.0f }, 985, 0.
030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 1.000f, -5.0f, 5000.0f, 250
.0f, 0.0f, 100.0f, 100.0f, 0x1f }
#define FMOD_PRESET_DIZZY { 0, 24, 1.8f, 0.60f, -1000, -400
, 0, 17.23f, 0.56f, 1.0f, -1713, 0.020f, { 0.0f,0.0f,0.0f }, -613, 0.
030f, { 0.0f,0.0f,0.0f }, 0.250f, 1.00f, 0.81f, 0.310f, -5.0f, 5000.0f, 250
.0f, 0.0f, 100.0f, 100.0f, 0x1f }
#define FMOD_PRESET_PSYCHOTIC { 0, 25, 1.0f, 0.50f, -1000, -151
, 0, 7.56f, 0.91f, 1.0f, -626, 0.020f, { 0.0f,0.0f,0.0f }, 774, 0.
030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 4.00f, 1.000f, -5.0f, 5000.0f, 250
.0f, 0.0f, 100.0f, 100.0f, 0x1f }
/* PlayStation 2 / PlayStation Portable Only presets */
#define FMOD_PRESET_PS2_ROOM { 0, 1, 0, 0, 0, 0, /* PlayStation Portable Only presets */
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0. #define FMOD_PRESET_PSP_ROOM { 0, 1, 0, 0, 0, 0,
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
.0f, 0.0f, 0.0f, 0.0f, 0x31f } , 0.0f, 0.0f, 0.0f, 0x31f }
#define FMOD_PRESET_PS2_STUDIO_A { 0, 2, 0, 0, 0, 0, #define FMOD_PRESET_PSP_STUDIO_A { 0, 2, 0, 0, 0, 0,
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0. 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0 , 0.0f, 0.0f, 0.0f, 0x31f }
.0f, 0.0f, 0.0f, 0.0f, 0x31f } #define FMOD_PRESET_PSP_STUDIO_B { 0, 3, 0, 0, 0, 0,
#define FMOD_PRESET_PS2_STUDIO_B { 0, 3, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0. , 0.0f, 0.0f, 0.0f, 0x31f }
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0 #define FMOD_PRESET_PSP_STUDIO_C { 0, 4, 0, 0, 0, 0,
.0f, 0.0f, 0.0f, 0.0f, 0x31f } 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
#define FMOD_PRESET_PS2_STUDIO_C { 0, 4, 0, 0, 0, 0, , 0.0f, 0.0f, 0.0f, 0x31f }
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0. #define FMOD_PRESET_PSP_HALL { 0, 5, 0, 0, 0, 0,
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
.0f, 0.0f, 0.0f, 0.0f, 0x31f } , 0.0f, 0.0f, 0.0f, 0x31f }
#define FMOD_PRESET_PS2_HALL { 0, 5, 0, 0, 0, 0, #define FMOD_PRESET_PSP_SPACE { 0, 6, 0, 0, 0, 0,
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0. 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0 , 0.0f, 0.0f, 0.0f, 0x31f }
.0f, 0.0f, 0.0f, 0.0f, 0x31f } #define FMOD_PRESET_PSP_ECHO { 0, 7, 0, 0, 0, 0,
#define FMOD_PRESET_PS2_SPACE { 0, 6, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0. , 0.0f, 0.0f, 0.0f, 0x31f }
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0 #define FMOD_PRESET_PSP_DELAY { 0, 8, 0, 0, 0, 0,
.0f, 0.0f, 0.0f, 0.0f, 0x31f } 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
#define FMOD_PRESET_PS2_ECHO { 0, 7, 0, 0, 0, 0, , 0.0f, 0.0f, 0.0f, 0x31f }
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0. #define FMOD_PRESET_PSP_PIPE { 0, 9, 0, 0, 0, 0,
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.75f, 0.00f, 0.000f, 0.0f, 0000.0f, 0 0.0f, 0.0f, 0.0f, 0, 0.000f, 0, 0.000f, 0.00f, 0.000f, 0000.0f
.0f, 0.0f, 0.0f, 0.0f, 0x31f } , 0.0f, 0.0f, 0.0f, 0x31f }
#define FMOD_PRESET_PS2_DELAY { 0, 8, 0, 0, 0, 0,
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0
.0f, 0.0f, 0.0f, 0.0f, 0x31f }
#define FMOD_PRESET_PS2_PIPE { 0, 9, 0, 0, 0, 0,
0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.
000f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0
.0f, 0.0f, 0.0f, 0.0f, 0x31f }
/* [DEFINE_END] */ /* [DEFINE_END] */
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure defining the properties for a reverb source, related to a FMO D channel.<br> Structure defining the properties for a reverb source, related to a FMO D channel.<br>
<br> <br>
For more indepth descriptions of the reverb properties under win32, ple
ase see the EAX3
documentation at http://developer.creative.com/ under the 'downloads' s
ection.<br>
If they do not have the EAX3 documentation, then most information can b
e attained from
the EAX2 documentation, as EAX3 only adds some more parameters and func
tionality on top of
EAX2.<br>
<br>
Note the default reverb properties are the same as the FMOD_PRESET_GENE RIC preset.<br> Note the default reverb properties are the same as the FMOD_PRESET_GENE RIC preset.<br>
Note that integer values that typically range from -10,000 to 1000 are represented in Note that integer values that typically range from -10,000 to 1000 are represented in
decibels, and are of a logarithmic scale, not linear, wheras float valu es are typically linear.<br> decibels, and are of a logarithmic scale, not linear, wheras float valu es are typically linear.<br>
PORTABILITY: Each member has the platform it supports in braces ie (win PORTABILITY: Each member has the platform it supports in braces ie (win
32/Xbox).<br> 32/wii).<br>
Some reverb parameters are only supported in win32 and some only on Xbo
x. If all parameters are set then
the reverb should product a similar effect on either platform.<br>
<br> <br>
The numerical values listed below are the maximum, minimum and default values for each variable respectively.<br> The numerical values listed below are the maximum, minimum and default values for each variable respectively.<br>
[REMARKS] [REMARKS]
<b>SUPPORTED</b> next to each parameter means the platform the paramete r can be set on. Some platforms support all parameters and some don't.<br> <b>SUPPORTED</b> next to each parameter means the platform the paramete r can be set on. Some platforms support all parameters and some don't.<br>
EAX means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only (
must use FMOD_HARDWARE), on soundcards that support EAX 1 to 4.<br>
EAX4 means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only (
must use FMOD_HARDWARE), on soundcards that support EAX 4.<br>
I3DL2 means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only (
must use FMOD_HARDWARE), on soundcards that support I3DL2 non EAX native re
verb.<br>
WII means Nintendo Wii hardware reverb (must use FMOD_HARDWARE).<br> WII means Nintendo Wii hardware reverb (must use FMOD_HARDWARE).<br>
PS2 means Playstation 2 hardware reverb (must use FMOD_HARDWARE).<br> PSP means Playstation Portable hardware reverb (must use FMOD_HARDWAR E).<br>
SFX means FMOD SFX software reverb. This works on any platform that uses FMOD_SOFTWARE for loading sounds.<br> SFX means FMOD SFX software reverb. This works on any platform that uses FMOD_SOFTWARE for loading sounds.<br>
--- means unsupported/deprecated. Will either be removed or supporte d by SFX in the future.
<br> <br>
<br> <br>
<b>'ConnectionPoint' Parameter.</b> This parameter is for the FMOD sof tware reverb only (known as SFX in the list above).<br> <b>'ConnectionPoint' Parameter.</b> This parameter is for the FMOD sof tware reverb only (known as SFX in the list above).<br>
By default the dsp network connection for a channel and its reverb is b etween the 'SFX Reverb' unit, and the channel's wavetable/resampler/dspcode c/oscillator unit (the unit below the channel DSP head). NULL can be used for this parameter to make it use this default behaviour.<br> By default the dsp network connection for a channel and its reverb is b etween the 'SFX Reverb' unit, and the channel's wavetable/resampler/dspcode c/oscillator unit (the unit below the channel DSP head). NULL can be used for this parameter to make it use this default behaviour.<br>
This parameter allows the user to connect the SFX reverb to somewhere e lse internally, for example the channel DSP head, or a related channelgroup . The event system uses this so that it can have the output of an event go ing to the reverb, instead of just the output of the event's channels (ther eby ignoring event effects/submixes etc).<br> This parameter allows the user to connect the SFX reverb to somewhere e lse internally, for example the channel DSP head, or a related channelgroup . The event system uses this so that it can have the output of an event go ing to the reverb, instead of just the output of the event's channels (ther eby ignoring event effects/submixes etc).<br>
Do not use if you are unaware of DSP network connection issues. Leave it at the default of NULL instead.<br> Do not use if you are unaware of DSP network connection issues. Leave it at the default of NULL instead.<br>
<br> <br>
Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br> Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br>
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
Members marked with [r/w] are either read or write depending on if you are using Channel::setReverbProperties (w) or Channel::getReverbProperties (r). Members marked with [r/w] are either read or write depending on if you are using Channel::setReverbProperties (w) or Channel::getReverbProperties (r).
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
Channel::setReverbProperties Channel::setReverbProperties
Channel::getReverbProperties Channel::getReverbProperties
FMOD_REVERB_CHANNELFLAGS FMOD_REVERB_CHANNELFLAGS
] ]
*/ */
typedef struct FMOD_REVERB_CHANNELPROPERTIES typedef struct FMOD_REVERB_CHANNELPROPERTIES
{ /* MIN MAX DEFAULT DES { /* MIN MAX DEFAULT DESCRI
CRIPTION */ PTION */
int Direct; /* [r/w] -10000, 1000, 0, dir int Direct; /* [r/w] -10000 1000 0 Direct
ect path level (at low and mid frequencies) (SUPPORTED:EAX/I3D path level (SUPPORTED:SFX) */
L2/SFX) */ int Room; /* [r/w] -10000 1000 0 Room e
int DirectHF; /* [r/w] -10000, 0, 0, rel ffect level (SUPPORTED:SFX) */
ative direct path level at high frequencies (SUPPORTED:EAX/I3D unsigned int Flags; /* [r/w] FMOD_REVERB_CHANNELFLAGS -
L2) */ modifies the behavior of properties (SUPPORTED:SFX) */
int Room; /* [r/w] -10000, 1000, 0, roo FMOD_DSP *ConnectionPoint; /* [r/w] See remarks. DSP ne
m effect level (at low and mid frequencies) (SUPPORTED:EAX/I3D twork location to connect reverb for this channel. (SUPPORTED:SFX).*/
L2/SFX) */
int RoomHF; /* [r/w] -10000, 0, 0, rel
ative room effect level at high frequencies (SUPPORTED:EAX/I3D
L2) */
int Obstruction; /* [r/w] -10000, 0, 0, mai
n obstruction control (attenuation at high frequencies) (SUPPORTED:EAX/I3D
L2) */
float ObstructionLFRatio; /* [r/w] 0.0, 1.0, 0.0, obs
truction low-frequency level re. main control (SUPPORTED:EAX/I3D
L2) */
int Occlusion; /* [r/w] -10000, 0, 0, mai
n occlusion control (attenuation at high frequencies) (SUPPORTED:EAX/I3D
L2) */
float OcclusionLFRatio; /* [r/w] 0.0, 1.0, 0.25, occ
lusion low-frequency level re. main control (SUPPORTED:EAX/I3D
L2) */
float OcclusionRoomRatio; /* [r/w] 0.0, 10.0, 1.5, rel
ative occlusion control for room effect (SUPPORTED:EAX onl
y) */
float OcclusionDirectRatio; /* [r/w] 0.0, 10.0, 1.0, rel
ative occlusion control for direct path (SUPPORTED:EAX onl
y) */
int Exclusion; /* [r/w] -10000, 0, 0, mai
n exlusion control (attenuation at high frequencies) (SUPPORTED:EAX onl
y) */
float ExclusionLFRatio; /* [r/w] 0.0, 1.0, 1.0, exc
lusion low-frequency level re. main control (SUPPORTED:EAX onl
y) */
int OutsideVolumeHF; /* [r/w] -10000, 0, 0, out
side sound cone level at high frequencies (SUPPORTED:EAX onl
y) */
float DopplerFactor; /* [r/w] 0.0, 10.0, 0.0, lik
e DS3D flDopplerFactor but per source (SUPPORTED:EAX onl
y) */
float RolloffFactor; /* [r/w] 0.0, 10.0, 0.0, lik
e DS3D flRolloffFactor but per source (SUPPORTED:EAX onl
y) */
float RoomRolloffFactor; /* [r/w] 0.0, 10.0, 0.0, lik
e DS3D flRolloffFactor but for room effect (SUPPORTED:EAX/I3D
L2) */
float AirAbsorptionFactor; /* [r/w] 0.0, 10.0, 1.0, mul
tiplies AirAbsorptionHF member of FMOD_REVERB_PROPERTIES (SUPPORTED:EAX onl
y) */
unsigned int Flags; /* [r/w] FMOD_REVERB_CHANNELFLAGS -
modifies the behavior of properties (SUPPORTED:EAX/SFX
) */
FMOD_DSP *ConnectionPoint; /* [r/w] See remarks. DSP
network location to connect reverb for this channel. (SUPPORTED:SFX onl
y).*/
} FMOD_REVERB_CHANNELPROPERTIES; } FMOD_REVERB_CHANNELPROPERTIES;
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
FMOD_REVERB_CHANNELFLAGS FMOD_REVERB_CHANNELFLAGS
[DESCRIPTION] [DESCRIPTION]
Values for the Flags member of the FMOD_REVERB_CHANNELPROPERTIES struct ure. Values for the Flags member of the FMOD_REVERB_CHANNELPROPERTIES struct ure.
[REMARKS] [REMARKS]
For EAX4,EAX5 and SFX, there is support for multiple reverb environment s.<br> For SFX Reverb, there is support for multiple reverb environments.<br>
Use FMOD_REVERB_CHANNELFLAGS_ENVIRONMENT0 to FMOD_REVERB_CHANNELFLAGS_E NVIRONMENT3 in the flags member Use FMOD_REVERB_CHANNELFLAGS_ENVIRONMENT0 to FMOD_REVERB_CHANNELFLAGS_E NVIRONMENT3 in the flags member
of FMOD_REVERB_CHANNELPROPERTIES to specify which environment instance( s) to target. <br> of FMOD_REVERB_CHANNELPROPERTIES to specify which environment instance( s) to target. <br>
- If you do not specify any instance the first reverb instance will be used.<br> - If you do not specify any instance the first reverb instance will be used.<br>
- If you specify more than one instance with getReverbProperties, the f irst instance will be used.<br> - If you specify more than one instance with getReverbProperties, the f irst instance will be used.<br>
- If you specify more than one instance with setReverbProperties, it wi ll set more than 1 instance at once.<br> - If you specify more than one instance with setReverbProperties, it wi ll set more than 1 instance at once.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_REVERB_CHANNELPROPERTIES FMOD_REVERB_CHANNELPROPERTIES
] ]
*/ */
#define FMOD_REVERB_CHANNELFLAGS_DIRECTHFAUTO 0x00000001 /* Automatic sett #define FMOD_REVERB_CHANNELFLAGS_INSTANCE0 0x00000010 /* SFX/Wii. Speci
ing of 'Direct' due to distance from listener */ fy channel to target reverb instance 0. Default target. */
#define FMOD_REVERB_CHANNELFLAGS_ROOMAUTO 0x00000002 /* Automatic sett #define FMOD_REVERB_CHANNELFLAGS_INSTANCE1 0x00000020 /* SFX/Wii. Speci
ing of 'Room' due to distance from listener */ fy channel to target reverb instance 1. */
#define FMOD_REVERB_CHANNELFLAGS_ROOMHFAUTO 0x00000004 /* Automatic sett #define FMOD_REVERB_CHANNELFLAGS_INSTANCE2 0x00000040 /* SFX/Wii. Speci
ing of 'RoomHF' due to distance from listener */ fy channel to target reverb instance 2. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE0 0x00000010 /* EAX4/SFX/Wii. #define FMOD_REVERB_CHANNELFLAGS_INSTANCE3 0x00000080 /* SFX. Specify c
Specify channel to target reverb instance 0. Default target. */ hannel to target reverb instance 3. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE1 0x00000020 /* EAX4/SFX/Wii.
Specify channel to target reverb instance 1. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE2 0x00000040 /* EAX4/SFX/Wii.
Specify channel to target reverb instance 2. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE3 0x00000080 /* EAX5/SFX. Spec
ify channel to target reverb instance 3. */
#define FMOD_REVERB_CHANNELFLAGS_DEFAULT (FMOD_REVERB_CHANNELFLAGS_DI #define FMOD_REVERB_CHANNELFLAGS_DEFAULT FMOD_REVERB_CHANNELFLAGS_INS
RECTHFAUTO | \ TANCE0
FMOD_REVERB_CHANNELFLAGS_RO
OMAUTO| \
FMOD_REVERB_CHANNELFLAGS_RO
OMHFAUTO| \
FMOD_REVERB_CHANNELFLAGS_IN
STANCE0)
/* [DEFINE_END] */ /* [DEFINE_END] */
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Settings for advanced features like configuring memory and cpu usage fo r the FMOD_CREATECOMPRESSEDSAMPLE feature. Settings for advanced features like configuring memory and cpu usage fo r the FMOD_CREATECOMPRESSEDSAMPLE feature.
[REMARKS] [REMARKS]
maxMPEGcodecs / maxADPCMcodecs / maxXMAcodecs will determine the maximu m cpu usage of playing realtime samples. Use this to lower potential exces s cpu usage and also control memory usage.<br> maxMPEGcodecs / maxADPCMcodecs / maxXMAcodecs will determine the maximu m cpu usage of playing realtime samples. Use this to lower potential exces s cpu usage and also control memory usage.<br>
skipping to change at line 1797 skipping to change at line 1712
<br> <br>
Memory will be allocated for codecs 'up front' (during System::init) if these values are specified as non zero. If any are zero, it allocates mem ory for the codec whenever a file of the type in question is loaded. So if maxMPEGcodecs is 0 for example, it will allocate memory for the mpeg codec s the first time an mp3 is loaded or an mp3 based .FSB file is loaded.<br> Memory will be allocated for codecs 'up front' (during System::init) if these values are specified as non zero. If any are zero, it allocates mem ory for the codec whenever a file of the type in question is loaded. So if maxMPEGcodecs is 0 for example, it will allocate memory for the mpeg codec s the first time an mp3 is loaded or an mp3 based .FSB file is loaded.<br>
<br> <br>
Due to inefficient encoding techniques on certain .wav based ADPCM file s, FMOD can can need an extra 29720 bytes per codec. This means for lowest memory consumption. Use FSB as it uses an optimal/small ADPCM block size. <br> Due to inefficient encoding techniques on certain .wav based ADPCM file s, FMOD can can need an extra 29720 bytes per codec. This means for lowest memory consumption. Use FSB as it uses an optimal/small ADPCM block size. <br>
<br> <br>
Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br> Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br>
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
Members marked with [r/w] are either read or write depending on if you are using System::setAdvancedSettings (w) or System::getAdvancedSettings (r ). Members marked with [r/w] are either read or write depending on if you are using System::setAdvancedSettings (w) or System::getAdvancedSettings (r ).
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::setAdvancedSettings System::setAdvancedSettings
System::getAdvancedSettings System::getAdvancedSettings
System::init System::init
FMOD_MODE FMOD_MODE
] ]
*/ */
typedef struct FMOD_ADVANCEDSETTINGS typedef struct FMOD_ADVANCEDSETTINGS
{ {
skipping to change at line 1841 skipping to change at line 1756
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Special channel index values for FMOD functions. Special channel index values for FMOD functions.
[REMARKS] [REMARKS]
To get 'all' of the channels, use System::getMasterChannelGroup. To get 'all' of the channels, use System::getMasterChannelGroup.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::playSound System::playSound
System::playDSP System::playDSP
System::getChannel System::getChannel
System::getMasterChannelGroup System::getMasterChannelGroup
] ]
*/ */
typedef enum typedef enum
{ {
skipping to change at line 1902 skipping to change at line 1817
/* /*
Pre-init functions. Pre-init functions.
*/ */
FMOD_RESULT F_API FMOD_System_SetOutput (FMOD_SYSTEM *system, FMOD_OUTPUTTYPE output); FMOD_RESULT F_API FMOD_System_SetOutput (FMOD_SYSTEM *system, FMOD_OUTPUTTYPE output);
FMOD_RESULT F_API FMOD_System_GetOutput (FMOD_SYSTEM *system, FMOD_OUTPUTTYPE *output); FMOD_RESULT F_API FMOD_System_GetOutput (FMOD_SYSTEM *system, FMOD_OUTPUTTYPE *output);
FMOD_RESULT F_API FMOD_System_GetNumDrivers (FMOD_SYSTEM *system, int *numdrivers); FMOD_RESULT F_API FMOD_System_GetNumDrivers (FMOD_SYSTEM *system, int *numdrivers);
FMOD_RESULT F_API FMOD_System_GetDriverInfo (FMOD_SYSTEM *system, int id, char *name, int namelen, FMOD_GUID *guid); FMOD_RESULT F_API FMOD_System_GetDriverInfo (FMOD_SYSTEM *system, int id, char *name, int namelen, FMOD_GUID *guid);
FMOD_RESULT F_API FMOD_System_GetDriverInfoW (FMOD_SYSTEM *system, int id, short *name, int namelen, FMOD_GUID *guid); FMOD_RESULT F_API FMOD_System_GetDriverInfoW (FMOD_SYSTEM *system, int id, short *name, int namelen, FMOD_GUID *guid);
FMOD_RESULT F_API FMOD_System_GetDriverCaps (FMOD_SYSTEM *system, int id, FMOD_CAPS *caps, int *minfrequency, int *maxfrequency, FMOD_SPEAKER MODE *controlpanelspeakermode); FMOD_RESULT F_API FMOD_System_GetDriverCaps (FMOD_SYSTEM *system, int id, FMOD_CAPS *caps, int *controlpaneloutputrate, FMOD_SPEAKERMODE *con trolpanelspeakermode);
FMOD_RESULT F_API FMOD_System_SetDriver (FMOD_SYSTEM *system, int driver); FMOD_RESULT F_API FMOD_System_SetDriver (FMOD_SYSTEM *system, int driver);
FMOD_RESULT F_API FMOD_System_GetDriver (FMOD_SYSTEM *system, int *driver); FMOD_RESULT F_API FMOD_System_GetDriver (FMOD_SYSTEM *system, int *driver);
FMOD_RESULT F_API FMOD_System_SetHardwareChannels (FMOD_SYSTEM *system, int numhardwarechannels); FMOD_RESULT F_API FMOD_System_SetHardwareChannels (FMOD_SYSTEM *system, int numhardwarechannels);
FMOD_RESULT F_API FMOD_System_SetSoftwareChannels (FMOD_SYSTEM *system, int numsoftwarechannels); FMOD_RESULT F_API FMOD_System_SetSoftwareChannels (FMOD_SYSTEM *system, int numsoftwarechannels);
FMOD_RESULT F_API FMOD_System_GetSoftwareChannels (FMOD_SYSTEM *system, int *numsoftwarechannels); FMOD_RESULT F_API FMOD_System_GetSoftwareChannels (FMOD_SYSTEM *system, int *numsoftwarechannels);
FMOD_RESULT F_API FMOD_System_SetSoftwareFormat (FMOD_SYSTEM *system, int samplerate, FMOD_SOUND_FORMAT format, int numoutputchannels, int maxinp utchannels, FMOD_DSP_RESAMPLER resamplemethod); FMOD_RESULT F_API FMOD_System_SetSoftwareFormat (FMOD_SYSTEM *system, int samplerate, FMOD_SOUND_FORMAT format, int numoutputchannels, int maxinp utchannels, FMOD_DSP_RESAMPLER resamplemethod);
FMOD_RESULT F_API FMOD_System_GetSoftwareFormat (FMOD_SYSTEM *system, int *samplerate, FMOD_SOUND_FORMAT *format, int *numoutputchannels, int *ma xinputchannels, FMOD_DSP_RESAMPLER *resamplemethod, int *bits); FMOD_RESULT F_API FMOD_System_GetSoftwareFormat (FMOD_SYSTEM *system, int *samplerate, FMOD_SOUND_FORMAT *format, int *numoutputchannels, int *ma xinputchannels, FMOD_DSP_RESAMPLER *resamplemethod, int *bits);
FMOD_RESULT F_API FMOD_System_SetDSPBufferSize (FMOD_SYSTEM *system, unsigned int bufferlength, int numbuffers); FMOD_RESULT F_API FMOD_System_SetDSPBufferSize (FMOD_SYSTEM *system, unsigned int bufferlength, int numbuffers);
FMOD_RESULT F_API FMOD_System_GetDSPBufferSize (FMOD_SYSTEM *system, unsigned int *bufferlength, int *numbuffers); FMOD_RESULT F_API FMOD_System_GetDSPBufferSize (FMOD_SYSTEM *system, unsigned int *bufferlength, int *numbuffers);
FMOD_RESULT F_API FMOD_System_SetFileSystem (FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FI LE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek, FMOD_FILE_ASYNCR EADCALLBACK userasyncread, FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel, i nt blockalign); FMOD_RESULT F_API FMOD_System_SetFileSystem (FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FI LE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek, FMOD_FILE_ASYNCR EADCALLBACK userasyncread, FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel, i nt blockalign);
 End of changes. 73 change blocks. 
524 lines changed or deleted 303 lines changed or added


 fmod_codec.h   fmod_codec.h 
skipping to change at line 40 skipping to change at line 40
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
When creating a codec, declare one of these and provide the relevant ca llbacks and name for FMOD to use when it opens and reads a file. When creating a codec, declare one of these and provide the relevant ca llbacks and name for FMOD to use when it opens and reads a file.
[REMARKS] [REMARKS]
Members marked with [in] mean the variable can be written to. The user can set the value.<br> Members marked with [in] mean the variable can be written to. The user can set the value.<br>
Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br> Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_CODEC_STATE FMOD_CODEC_STATE
] ]
*/ */
typedef struct FMOD_CODEC_DESCRIPTION typedef struct FMOD_CODEC_DESCRIPTION
{ {
const char *name; /* [in] Name of the co dec. */ const char *name; /* [in] Name of the co dec. */
unsigned int version; /* [in] Plugin writer' s version number. */ unsigned int version; /* [in] Plugin writer' s version number. */
int defaultasstream; /* [in] Tells FMOD to open the file as a stream when calling System::createSound, and not a stati c sample. Should normally be 0 (FALSE), because generally the user wants t o decode the file into memory when using System::createSound. Mainly used for formats that decode for a very long time, or could use large amounts o f memory when decoded. Usually sequenced formats such as mod/s3m/xm/it/mid i fall into this category. It is mainly to stop users that don't know wha t they're doing from getting FMOD_ERR_MEMORY returned from createSound when they should have in fact called System::createStream or used FMOD_CREATEST REAM in System::createSound. */ int defaultasstream; /* [in] Tells FMOD to open the file as a stream when calling System::createSound, and not a stati c sample. Should normally be 0 (FALSE), because generally the user wants t o decode the file into memory when using System::createSound. Mainly used for formats that decode for a very long time, or could use large amounts o f memory when decoded. Usually sequenced formats such as mod/s3m/xm/it/mid i fall into this category. It is mainly to stop users that don't know wha t they're doing from getting FMOD_ERR_MEMORY returned from createSound when they should have in fact called System::createStream or used FMOD_CREATEST REAM in System::createSound. */
skipping to change at line 82 skipping to change at line 82
Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br> Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br>
<br> <br>
An FMOD file might be from disk, memory or network, however the file ma y be opened by the user.<br> An FMOD file might be from disk, memory or network, however the file ma y be opened by the user.<br>
<br> <br>
'numsubsounds' should be 0 if the file is a normal single sound stream or sound. Examples of this would be .WAV, .WMA, .MP3, .AIFF.<br> 'numsubsounds' should be 0 if the file is a normal single sound stream or sound. Examples of this would be .WAV, .WMA, .MP3, .AIFF.<br>
'numsubsounds' should be 1+ if the file is a container format, and does not contain wav data itself. Examples of these types would be CDDA (multi ple CD tracks), FSB (contains multiple sounds), MIDI/MOD/S3M/XM/IT (contain instruments).<br> 'numsubsounds' should be 1+ if the file is a container format, and does not contain wav data itself. Examples of these types would be CDDA (multi ple CD tracks), FSB (contains multiple sounds), MIDI/MOD/S3M/XM/IT (contain instruments).<br>
The arrays of format, channel, frequency, length and blockalign should point to arrays of information based on how many subsounds are in the forma t. If the number of subsounds is 0 then it should point to 1 of each attri bute, the same as if the number of subsounds was 1. If subsounds was 100 f or example, each pointer should point to an array of 100 of each attribute. <br> The arrays of format, channel, frequency, length and blockalign should point to arrays of information based on how many subsounds are in the forma t. If the number of subsounds is 0 then it should point to 1 of each attri bute, the same as if the number of subsounds was 1. If subsounds was 100 f or example, each pointer should point to an array of 100 of each attribute. <br>
When a sound has 1 or more subsounds, you must play the individual soun ds specified by first obtaining the subsound with Sound::getSubSound. When a sound has 1 or more subsounds, you must play the individual soun ds specified by first obtaining the subsound with Sound::getSubSound.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_SOUND_FORMAT FMOD_SOUND_FORMAT
FMOD_FILE_READCALLBACK FMOD_FILE_READCALLBACK
FMOD_FILE_SEEKCALLBACK FMOD_FILE_SEEKCALLBACK
FMOD_CODEC_METADATACALLBACK FMOD_CODEC_METADATACALLBACK
Sound::getSubSound Sound::getSubSound
Sound::getNumSubSounds Sound::getNumSubSounds
] ]
*/ */
skipping to change at line 130 skipping to change at line 130
Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br> Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br>
<br> <br>
An FMOD file might be from disk, memory or internet, however the file m ay be opened by the user.<br> An FMOD file might be from disk, memory or internet, however the file m ay be opened by the user.<br>
<br> <br>
'numsubsounds' should be 0 if the file is a normal single sound stream or sound. Examples of this would be .WAV, .WMA, .MP3, .AIFF.<br> 'numsubsounds' should be 0 if the file is a normal single sound stream or sound. Examples of this would be .WAV, .WMA, .MP3, .AIFF.<br>
'numsubsounds' should be 1+ if the file is a container format, and does not contain wav data itself. Examples of these types would be CDDA (multi ple CD tracks), FSB (contains multiple sounds), DLS (contain instruments).< br> 'numsubsounds' should be 1+ if the file is a container format, and does not contain wav data itself. Examples of these types would be CDDA (multi ple CD tracks), FSB (contains multiple sounds), DLS (contain instruments).< br>
The arrays of format, channel, frequency, length and blockalign should point to arrays of information based on how many subsounds are in the forma t. If the number of subsounds is 0 then it should point to 1 of each attri bute, the same as if the number of subsounds was 1. If subsounds was 100 f or example, each pointer should point to an array of 100 of each attribute. <br> The arrays of format, channel, frequency, length and blockalign should point to arrays of information based on how many subsounds are in the forma t. If the number of subsounds is 0 then it should point to 1 of each attri bute, the same as if the number of subsounds was 1. If subsounds was 100 f or example, each pointer should point to an array of 100 of each attribute. <br>
When a sound has 1 or more subsounds, you must play the individual soun ds specified by first obtaining the subsound with Sound::getSubSound. When a sound has 1 or more subsounds, you must play the individual soun ds specified by first obtaining the subsound with Sound::getSubSound.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_SOUND_FORMAT FMOD_SOUND_FORMAT
FMOD_FILE_READCALLBACK FMOD_FILE_READCALLBACK
FMOD_FILE_SEEKCALLBACK FMOD_FILE_SEEKCALLBACK
FMOD_CODEC_METADATACALLBACK FMOD_CODEC_METADATACALLBACK
Sound::getSubSound Sound::getSubSound
Sound::getNumSubSounds Sound::getNumSubSounds
] ]
*/ */
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 fmod_dsp.h   fmod_dsp.h 
skipping to change at line 40 skipping to change at line 40
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
These definitions can be used for creating FMOD defined special effects or DSP units. These definitions can be used for creating FMOD defined special effects or DSP units.
[REMARKS] [REMARKS]
To get them to be active, first create the unit, then add it somewhere into the DSP network, either at the front of the network near the soundcard unit to affect the global output (by using System::getDSPHead), or on a si ngle channel (using Channel::getDSPHead). To get them to be active, first create the unit, then add it somewhere into the DSP network, either at the front of the network near the soundcard unit to affect the global output (by using System::getDSPHead), or on a si ngle channel (using Channel::getDSPHead).
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::createDSPByType System::createDSPByType
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_TYPE_UNKNOWN, /* This unit was created via a non FM OD plugin so has an unknown purpose. */ FMOD_DSP_TYPE_UNKNOWN, /* This unit was created via a non FM OD plugin so has an unknown purpose. */
FMOD_DSP_TYPE_MIXER, /* This unit does nothing but take in puts and mix them together then feed the result to the soundcard unit. */ FMOD_DSP_TYPE_MIXER, /* This unit does nothing but take in puts and mix them together then feed the result to the soundcard unit. */
FMOD_DSP_TYPE_OSCILLATOR, /* This unit generates sine/square/sa w/triangle or noise tones. */ FMOD_DSP_TYPE_OSCILLATOR, /* This unit generates sine/square/sa w/triangle or noise tones. */
skipping to change at line 92 skipping to change at line 92
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
<br> <br>
The step parameter tells the gui or application that the parameter has a certain granularity.<br> The step parameter tells the gui or application that the parameter has a certain granularity.<br>
For example in the example of cutoff frequency with a range from 100.0 to 22050.0 you might only want the selection to be in 10hz increments. For this you would simply use 10.0 as the step value.<br> For example in the example of cutoff frequency with a range from 100.0 to 22050.0 you might only want the selection to be in 10hz increments. For this you would simply use 10.0 as the step value.<br>
For a boolean, you can use min = 0.0, max = 1.0, step = 1.0. This way the only possible values are 0.0 and 1.0.<br> For a boolean, you can use min = 0.0, max = 1.0, step = 1.0. This way the only possible values are 0.0 and 1.0.<br>
Some applications may detect min = 0.0, max = 1.0, step = 1.0 and repla ce a graphical slider bar with a checkbox instead.<br> Some applications may detect min = 0.0, max = 1.0, step = 1.0 and repla ce a graphical slider bar with a checkbox instead.<br>
A step value of 1.0 would simulate integer values only.<br> A step value of 1.0 would simulate integer values only.<br>
A step value of 0.0 would mean the full floating point range is accessa ble.<br> A step value of 0.0 would mean the full floating point range is accessa ble.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::createDSP System::createDSP
DSP::setParameter DSP::setParameter
] ]
*/ */
typedef struct FMOD_DSP_PARAMETERDESC typedef struct FMOD_DSP_PARAMETERDESC
{ {
float min; /* [w] Minimum value of the parameter (ie 100.0). */ float min; /* [w] Minimum value of the parameter (ie 100.0). */
float max; /* [w] Maximum value of the parameter (ie 22050.0). */ float max; /* [w] Maximum value of the parameter (ie 22050.0). */
skipping to change at line 124 skipping to change at line 124
[REMARKS] [REMARKS]
Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br> Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br>
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
<br> <br>
There are 2 different ways to change a parameter in this architecture.< br> There are 2 different ways to change a parameter in this architecture.< br>
One is to use DSP::setParameter / DSP::getParameter. This is platform independant and is dynamic, so new unknown plugins can have their parameter s enumerated and used.<br> One is to use DSP::setParameter / DSP::getParameter. This is platform independant and is dynamic, so new unknown plugins can have their parameter s enumerated and used.<br>
The other is to use DSP::showConfigDialog. This is platform specific a nd requires a GUI, and will display a dialog box to configure the plugin.<b r> The other is to use DSP::showConfigDialog. This is platform specific a nd requires a GUI, and will display a dialog box to configure the plugin.<b r>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::createDSP System::createDSP
FMOD_DSP_STATE FMOD_DSP_STATE
] ]
*/ */
typedef struct FMOD_DSP_DESCRIPTION typedef struct FMOD_DSP_DESCRIPTION
{ {
char name[32]; /* [w] Name of the uni t to be displayed in the network. */ char name[32]; /* [w] Name of the uni t to be displayed in the network. */
unsigned int version; /* [w] Plugin writer's version number. */ unsigned int version; /* [w] Plugin writer's version number. */
skipping to change at line 163 skipping to change at line 163
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
DSP plugin structure that is passed into each callback. DSP plugin structure that is passed into each callback.
[REMARKS] [REMARKS]
Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br> Members marked with [r] mean the variable is modified by FMOD and is fo r reading purposes only. Do not change this value.<br>
Members marked with [w] mean the variable can be written to. The user can set the value.<br> Members marked with [w] mean the variable can be written to. The user can set the value.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_DSP_DESCRIPTION FMOD_DSP_DESCRIPTION
] ]
*/ */
struct FMOD_DSP_STATE struct FMOD_DSP_STATE
{ {
FMOD_DSP *instance; /* [r] Handle to the DSP hand the user cr eated. Not to be modified. C++ users cast to FMOD::DSP to use. */ FMOD_DSP *instance; /* [r] Handle to the DSP hand the user cr eated. Not to be modified. C++ users cast to FMOD::DSP to use. */
void *plugindata; /* [w] Plugin writer created data the out put author wants to attach to this object. */ void *plugindata; /* [w] Plugin writer created data the out put author wants to attach to this object. */
unsigned short speakermask; /* [w] Specifies which speakers th e DSP effect is active on */ unsigned short speakermask; /* [w] Specifies which speakers th e DSP effect is active on */
skipping to change at line 194 skipping to change at line 194
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_OSCILLATOR filter. Parameter types for the FMOD_DSP_TYPE_OSCILLATOR filter.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_OSCILLATOR_TYPE, /* Waveform type. 0 = sine. 1 = square. 2 = sawup. 3 = sawdown. 4 = triangle. 5 = noise. */ FMOD_DSP_OSCILLATOR_TYPE, /* Waveform type. 0 = sine. 1 = square. 2 = sawup. 3 = sawdown. 4 = triangle. 5 = noise. */
skipping to change at line 217 skipping to change at line 217
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_LOWPASS filter. Parameter types for the FMOD_DSP_TYPE_LOWPASS filter.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_LOWPASS_CUTOFF, /* Lowpass cutoff frequency in hz. 10.0 t o 22000.0. Default = 5000.0. */ FMOD_DSP_LOWPASS_CUTOFF, /* Lowpass cutoff frequency in hz. 10.0 t o 22000.0. Default = 5000.0. */
skipping to change at line 247 skipping to change at line 247
the filter used to produce the correct sounding playback in .IT files.< br> the filter used to produce the correct sounding playback in .IT files.< br>
FMOD Ex's .IT playback uses this filter.<br> FMOD Ex's .IT playback uses this filter.<br>
[REMARKS] [REMARKS]
Note! This filter actually has a limited cutoff frequency below the spe cified maximum, due to its limited design, Note! This filter actually has a limited cutoff frequency below the spe cified maximum, due to its limited design,
so for a more open range filter use FMOD_DSP_LOWPASS or if you don't m ind not having resonance, so for a more open range filter use FMOD_DSP_LOWPASS or if you don't m ind not having resonance,
FMOD_DSP_LOWPASS_SIMPLE.<br> FMOD_DSP_LOWPASS_SIMPLE.<br>
The effective maximum cutoff is about 8060hz. The effective maximum cutoff is about 8060hz.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_ITLOWPASS_CUTOFF, /* Lowpass cutoff frequency in hz. 1.0 t o 22000.0. Default = 5000.0/ */ FMOD_DSP_ITLOWPASS_CUTOFF, /* Lowpass cutoff frequency in hz. 1.0 t o 22000.0. Default = 5000.0/ */
skipping to change at line 270 skipping to change at line 270
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_HIGHPASS filter. Parameter types for the FMOD_DSP_TYPE_HIGHPASS filter.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_HIGHPASS_CUTOFF, /* Highpass cutoff frequency in hz. 1.0 t o output 22000.0. Default = 5000.0. */ FMOD_DSP_HIGHPASS_CUTOFF, /* Highpass cutoff frequency in hz. 1.0 t o output 22000.0. Default = 5000.0. */
skipping to change at line 300 skipping to change at line 300
[REMARKS] [REMARKS]
Note. Every time the delay is changed, the plugin re-allocates the ech o buffer. This means the echo will dissapear at that time while it refills its new buffer.<br> Note. Every time the delay is changed, the plugin re-allocates the ech o buffer. This means the echo will dissapear at that time while it refills its new buffer.<br>
Larger echo delays result in larger amounts of memory allocated.<br> Larger echo delays result in larger amounts of memory allocated.<br>
<br> <br>
'<i>maxchannels</i>' also dictates the amount of memory allocated. By default, the maxchannels value is 0. If FMOD is set to stereo, the echo un it will allocate enough memory for 2 channels. If it is 5.1, it will alloc ate enough memory for a 6 channel echo, etc.<br> '<i>maxchannels</i>' also dictates the amount of memory allocated. By default, the maxchannels value is 0. If FMOD is set to stereo, the echo un it will allocate enough memory for 2 channels. If it is 5.1, it will alloc ate enough memory for a 6 channel echo, etc.<br>
If the echo effect is only ever applied to the global mix (ie it was ad ded with System::addDSP), then 0 is the value to set as it will be enough t o handle all speaker modes.<br> If the echo effect is only ever applied to the global mix (ie it was ad ded with System::addDSP), then 0 is the value to set as it will be enough t o handle all speaker modes.<br>
When the echo is added to a channel (ie Channel::addDSP) then the chann el count that comes in could be anything from 1 to 8 possibly. It is only in this case where you might want to increase the channel count above the o utput's channel count.<br> When the echo is added to a channel (ie Channel::addDSP) then the chann el count that comes in could be anything from 1 to 8 possibly. It is only in this case where you might want to increase the channel count above the o utput's channel count.<br>
If a channel echo is set to a lower number than the sound's channel cou nt that is coming in, it will not echo the sound.<br> If a channel echo is set to a lower number than the sound's channel cou nt that is coming in, it will not echo the sound.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_ECHO_DELAY, /* Echo delay in ms. 10 to 5000. Default = 500. */ FMOD_DSP_ECHO_DELAY, /* Echo delay in ms. 10 to 5000. Default = 500. */
skipping to change at line 330 skipping to change at line 330
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_DELAY filter. Parameter types for the FMOD_DSP_TYPE_DELAY filter.
[REMARKS] [REMARKS]
Note. Every time MaxDelay is changed, the plugin re-allocates the dela y buffer. This means the delay will dissapear at that time while it refill s its new buffer.<br> Note. Every time MaxDelay is changed, the plugin re-allocates the dela y buffer. This means the delay will dissapear at that time while it refill s its new buffer.<br>
A larger MaxDelay results in larger amounts of memory allocated.<br> A larger MaxDelay results in larger amounts of memory allocated.<br>
Channel delays above MaxDelay will be clipped to MaxDelay and the delay buffer will not be resized.<br> Channel delays above MaxDelay will be clipped to MaxDelay and the delay buffer will not be resized.<br>
<br> <br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_DELAY_CH0, /* Channel #0 Delay in ms. 0 to 10000. Defa ult = 0. */ FMOD_DSP_DELAY_CH0, /* Channel #0 Delay in ms. 0 to 10000. Defa ult = 0. */
skipping to change at line 372 skipping to change at line 372
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_FLANGE filter. Parameter types for the FMOD_DSP_TYPE_FLANGE filter.
[REMARKS] [REMARKS]
Flange is an effect where the signal is played twice at the same time, and one copy slides back and forth creating a whooshing or flanging effect. <br> Flange is an effect where the signal is played twice at the same time, and one copy slides back and forth creating a whooshing or flanging effect. <br>
As there are 2 copies of the same signal, by default each signal is giv en 50% mix, so that the total is not louder than the original unaffected si gnal.<br> As there are 2 copies of the same signal, by default each signal is giv en 50% mix, so that the total is not louder than the original unaffected si gnal.<br>
<br> <br>
Flange depth is a percentage of a 10ms shift from the original signal. Anything above 10ms is not considered flange because to the ear it begins to 'echo' so 10ms is the highest value possible.<br> Flange depth is a percentage of a 10ms shift from the original signal. Anything above 10ms is not considered flange because to the ear it begins to 'echo' so 10ms is the highest value possible.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_FLANGE_DRYMIX, /* Volume of original signal to pass to ou tput. 0.0 to 1.0. Default = 0.45. */ FMOD_DSP_FLANGE_DRYMIX, /* Volume of original signal to pass to ou tput. 0.0 to 1.0. Default = 0.45. */
skipping to change at line 403 skipping to change at line 403
[REMARKS] [REMARKS]
The tremolo effect varies the amplitude of a sound. Depending on the se ttings, this unit can produce a tremolo, chopper or auto-pan effect.<br> The tremolo effect varies the amplitude of a sound. Depending on the se ttings, this unit can produce a tremolo, chopper or auto-pan effect.<br>
<br> <br>
The shape of the LFO (low freq. oscillator) can morphed between sine, t riangle and sawtooth waves using the FMOD_DSP_TREMOLO_SHAPE and FMOD_DSP_TR EMOLO_SKEW parameters.<br> The shape of the LFO (low freq. oscillator) can morphed between sine, t riangle and sawtooth waves using the FMOD_DSP_TREMOLO_SHAPE and FMOD_DSP_TR EMOLO_SKEW parameters.<br>
FMOD_DSP_TREMOLO_DUTY and FMOD_DSP_TREMOLO_SQUARE are useful for a chop per-type effect where the first controls the on-time duration and second co ntrols the flatness of the envelope.<br> FMOD_DSP_TREMOLO_DUTY and FMOD_DSP_TREMOLO_SQUARE are useful for a chop per-type effect where the first controls the on-time duration and second co ntrols the flatness of the envelope.<br>
FMOD_DSP_TREMOLO_SPREAD varies the LFO phase between channels to get an auto-pan effect. This works best with a sine shape LFO.<br> FMOD_DSP_TREMOLO_SPREAD varies the LFO phase between channels to get an auto-pan effect. This works best with a sine shape LFO.<br>
The LFO can be synchronized using the FMOD_DSP_TREMOLO_PHASE parameter which sets its instantaneous phase.<br> The LFO can be synchronized using the FMOD_DSP_TREMOLO_PHASE parameter which sets its instantaneous phase.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_TREMOLO_FREQUENCY, /* LFO frequency in Hz. 0.1 to 20. De fault = 4. */ FMOD_DSP_TREMOLO_FREQUENCY, /* LFO frequency in Hz. 0.1 to 20. De fault = 4. */
skipping to change at line 432 skipping to change at line 432
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_DISTORTION filter. Parameter types for the FMOD_DSP_TYPE_DISTORTION filter.
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_DISTORTION_LEVEL /* Distortion value. 0.0 to 1.0. Default = 0.5. */ FMOD_DSP_DISTORTION_LEVEL /* Distortion value. 0.0 to 1.0. Default = 0.5. */
skipping to change at line 460 skipping to change at line 460
[REMARKS] [REMARKS]
Normalize amplifies the sound based on the maximum peaks within the sig nal.<br> Normalize amplifies the sound based on the maximum peaks within the sig nal.<br>
For example if the maximum peaks in the signal were 50% of the bandwidt h, it would scale the whole sound by 2.<br> For example if the maximum peaks in the signal were 50% of the bandwidt h, it would scale the whole sound by 2.<br>
The lower threshold value makes the normalizer ignores peaks below a ce rtain point, to avoid over-amplification if a loud signal suddenly came in, and also to avoid amplifying to maximum things like background hiss.<br> The lower threshold value makes the normalizer ignores peaks below a ce rtain point, to avoid over-amplification if a loud signal suddenly came in, and also to avoid amplifying to maximum things like background hiss.<br>
<br> <br>
Because FMOD is a realtime audio processor, it doesn't have the luxury of knowing the peak for the whole sound (ie it can't see into the future), so it has to process data as it comes in.<br> Because FMOD is a realtime audio processor, it doesn't have the luxury of knowing the peak for the whole sound (ie it can't see into the future), so it has to process data as it comes in.<br>
To avoid very sudden changes in volume level based on small samples of new data, fmod fades towards the desired amplification which makes for smoo th gain control. The fadetime parameter can control this.<br> To avoid very sudden changes in volume level based on small samples of new data, fmod fades towards the desired amplification which makes for smoo th gain control. The fadetime parameter can control this.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_NORMALIZE_FADETIME, /* Time to ramp the silence to full in ms. 0.0 to 20000.0. Default = 5000.0. */ FMOD_DSP_NORMALIZE_FADETIME, /* Time to ramp the silence to full in ms. 0.0 to 20000.0. Default = 5000.0. */
skipping to change at line 489 skipping to change at line 489
Parameter types for the FMOD_DSP_TYPE_PARAMEQ filter. Parameter types for the FMOD_DSP_TYPE_PARAMEQ filter.
[REMARKS] [REMARKS]
Parametric EQ is a bandpass filter that attenuates or amplifies a selec ted frequency and its neighbouring frequencies.<br> Parametric EQ is a bandpass filter that attenuates or amplifies a selec ted frequency and its neighbouring frequencies.<br>
<br> <br>
To create a multi-band EQ create multiple FMOD_DSP_TYPE_PARAMEQ units a nd set each unit to different frequencies, for example 1000hz, 2000hz, 4000 hz, 8000hz, 16000hz with a range of 1 octave each.<br> To create a multi-band EQ create multiple FMOD_DSP_TYPE_PARAMEQ units a nd set each unit to different frequencies, for example 1000hz, 2000hz, 4000 hz, 8000hz, 16000hz with a range of 1 octave each.<br>
<br> <br>
When a frequency has its gain set to 1.0, the sound will be unaffected and represents the original signal exactly.<br> When a frequency has its gain set to 1.0, the sound will be unaffected and represents the original signal exactly.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_PARAMEQ_CENTER, /* Frequency center. 20.0 to 22000.0. De fault = 8000.0. */ FMOD_DSP_PARAMEQ_CENTER, /* Frequency center. 20.0 to 22000.0. De fault = 8000.0. */
skipping to change at line 527 skipping to change at line 527
<br> <br>
This pitch shifter is based on the pitch shifter code at http://www.dsp dimension.com, written by Stephan M. Bernsee.<br> This pitch shifter is based on the pitch shifter code at http://www.dsp dimension.com, written by Stephan M. Bernsee.<br>
The original code is COPYRIGHT 1999-2003 Stephan M. Bernsee <smb@dspdim ension.com>.<br> The original code is COPYRIGHT 1999-2003 Stephan M. Bernsee <smb@dspdim ension.com>.<br>
<br> <br>
'<i>maxchannels</i>' dictates the amount of memory allocated. By defau lt, the maxchannels value is 0. If FMOD is set to stereo, the pitch shift unit will allocate enough memory for 2 channels. If it is 5.1, it will all ocate enough memory for a 6 channel pitch shift, etc.<br> '<i>maxchannels</i>' dictates the amount of memory allocated. By defau lt, the maxchannels value is 0. If FMOD is set to stereo, the pitch shift unit will allocate enough memory for 2 channels. If it is 5.1, it will all ocate enough memory for a 6 channel pitch shift, etc.<br>
If the pitch shift effect is only ever applied to the global mix (ie it was added with System::addDSP), then 0 is the value to set as it will be e nough to handle all speaker modes.<br> If the pitch shift effect is only ever applied to the global mix (ie it was added with System::addDSP), then 0 is the value to set as it will be e nough to handle all speaker modes.<br>
When the pitch shift is added to a channel (ie Channel::addDSP) then th e channel count that comes in could be anything from 1 to 8 possibly. It i s only in this case where you might want to increase the channel count abov e the output's channel count.<br> When the pitch shift is added to a channel (ie Channel::addDSP) then th e channel count that comes in could be anything from 1 to 8 possibly. It i s only in this case where you might want to increase the channel count abov e the output's channel count.<br>
If a channel pitch shift is set to a lower number than the sound's chan nel count that is coming in, it will not pitch shift the sound.<br> If a channel pitch shift is set to a lower number than the sound's chan nel count that is coming in, it will not pitch shift the sound.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_PITCHSHIFT_PITCH, /* Pitch value. 0.5 to 2.0. Default = 1.0. 0.5 = one octave down, 2.0 = one octave up. 1.0 does not change the pitch. */ FMOD_DSP_PITCHSHIFT_PITCH, /* Pitch value. 0.5 to 2.0. Default = 1.0. 0.5 = one octave down, 2.0 = one octave up. 1.0 does not change the pitch. */
skipping to change at line 555 skipping to change at line 555
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_CHORUS filter. Parameter types for the FMOD_DSP_TYPE_CHORUS filter.
[REMARKS] [REMARKS]
Chrous is an effect where the sound is more 'spacious' due to 1 to 3 ve rsions of the sound being played along side the original signal but with th e pitch of each copy modulating on a sine wave.<br> Chrous is an effect where the sound is more 'spacious' due to 1 to 3 ve rsions of the sound being played along side the original signal but with th e pitch of each copy modulating on a sine wave.<br>
This is a highly configurable chorus unit. It supports 3 taps, small a nd large delay times and also feedback.<br> This is a highly configurable chorus unit. It supports 3 taps, small a nd large delay times and also feedback.<br>
This unit also could be used to do a simple echo, or a flange effect. This unit also could be used to do a simple echo, or a flange effect.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_CHORUS_DRYMIX, /* Volume of original signal to pass to outpu t. 0.0 to 1.0. Default = 0.5. */ FMOD_DSP_CHORUS_DRYMIX, /* Volume of original signal to pass to outpu t. 0.0 to 1.0. Default = 0.5. */
skipping to change at line 579 skipping to change at line 579
FMOD_DSP_CHORUS_DELAY, /* Chorus delay in ms. 0.1 to 100.0. Defaul t = 40.0 ms. */ FMOD_DSP_CHORUS_DELAY, /* Chorus delay in ms. 0.1 to 100.0. Defaul t = 40.0 ms. */
FMOD_DSP_CHORUS_RATE, /* Chorus modulation rate in hz. 0.0 to 20.0 . Default = 0.8 hz. */ FMOD_DSP_CHORUS_RATE, /* Chorus modulation rate in hz. 0.0 to 20.0 . Default = 0.8 hz. */
FMOD_DSP_CHORUS_DEPTH, /* Chorus modulation depth. 0.0 to 1.0. Def ault = 0.03. */ FMOD_DSP_CHORUS_DEPTH, /* Chorus modulation depth. 0.0 to 1.0. Def ault = 0.03. */
FMOD_DSP_CHORUS_FEEDBACK /* Chorus feedback. Controls how much of the wet signal gets fed back into the chorus buffer. 0.0 to 1.0. Default = 0 .0. */ FMOD_DSP_CHORUS_FEEDBACK /* Chorus feedback. Controls how much of the wet signal gets fed back into the chorus buffer. 0.0 to 1.0. Default = 0 .0. */
} FMOD_DSP_CHORUS; } FMOD_DSP_CHORUS;
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_REVERB filter.
[REMARKS]
Based on freeverb by Jezar at Dreampoint - http://www.dreampoint.co.uk.
This reverb is limited to stereo processing only, and may be removed in
the future. It is recommended to use FMOD_DSP_SFXREVERB instead which is
higher quality and supports 5.1 and 7.1 output.
[PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt
ation Portable, PlayStation 3, Wii, iPhone
[SEE_ALSO]
DSP::setParameter
DSP::getParameter
FMOD_DSP_TYPE
]
*/
typedef enum
{
FMOD_DSP_REVERB_ROOMSIZE, /* Roomsize. 0.0 to 1.0. Default = 0.5 */
FMOD_DSP_REVERB_DAMP, /* Damp. 0.0 to 1.0. Default = 0.5 */
FMOD_DSP_REVERB_WETMIX, /* Wet mix. 0.0 to 1.0. Default = 0.33 */
FMOD_DSP_REVERB_DRYMIX, /* Dry mix. 0.0 to 1.0. Default = 0.66 */
FMOD_DSP_REVERB_WIDTH, /* Stereo width. 0.0 to 1.0. Default = 1.0 *
/
FMOD_DSP_REVERB_MODE /* Mode. 0 (normal), 1 (freeze). Default
= 0 */
} FMOD_DSP_REVERB;
/*
[ENUM]
[
[DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_ITECHO filter.<br> Parameter types for the FMOD_DSP_TYPE_ITECHO filter.<br>
This is effectively a software based echo filter that emulates the Dire ctX DMO echo effect. Impulse tracker files can support this, and FMOD will produce the effect on ANY platform, not just those that support DirectX ef fects!<br> This is effectively a software based echo filter that emulates the Dire ctX DMO echo effect. Impulse tracker files can support this, and FMOD will produce the effect on ANY platform, not just those that support DirectX ef fects!<br>
[REMARKS] [REMARKS]
Note. Every time the delay is changed, the plugin re-allocates the ech o buffer. This means the echo will dissapear at that time while it refills its new buffer.<br> Note. Every time the delay is changed, the plugin re-allocates the ech o buffer. This means the echo will dissapear at that time while it refills its new buffer.<br>
Larger echo delays result in larger amounts of memory allocated.<br> Larger echo delays result in larger amounts of memory allocated.<br>
<br> <br>
As this is a stereo filter made mainly for IT playback, it is targeted for stereo signals.<br> As this is a stereo filter made mainly for IT playback, it is targeted for stereo signals.<br>
With mono signals only the FMOD_DSP_ITECHO_LEFTDELAY is used.<br> With mono signals only the FMOD_DSP_ITECHO_LEFTDELAY is used.<br>
For multichannel signals (>2) there will be no echo on those channels.< br> For multichannel signals (>2) there will be no echo on those channels.< br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::SetParameter DSP::SetParameter
DSP::GetParameter DSP::GetParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
System::addDSP System::addDSP
] ]
*/ */
typedef enum typedef enum
{ {
skipping to change at line 655 skipping to change at line 626
[REMARKS] [REMARKS]
The limiter is not guaranteed to catch every peak above the threshold l evel, The limiter is not guaranteed to catch every peak above the threshold l evel,
because it cannot apply gain reduction instantaneously - the time delay is because it cannot apply gain reduction instantaneously - the time delay is
determined by the attack time. However setting the attack time too shor t will determined by the attack time. However setting the attack time too shor t will
distort the sound, so it is a compromise. High level peaks can be avoid ed by distort the sound, so it is a compromise. High level peaks can be avoid ed by
using a short attack time - but not too short, and setting the threshol d a few using a short attack time - but not too short, and setting the threshol d a few
decibels below the critical level. decibels below the critical level.
<br> <br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::SetParameter DSP::SetParameter
DSP::GetParameter DSP::GetParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
System::addDSP System::addDSP
] ]
*/ */
typedef enum typedef enum
{ {
skipping to change at line 679 skipping to change at line 650
FMOD_DSP_COMPRESSOR_GAINMAKEUP /* Make-up gain (dB) applied after limi ting, in the range from 0 through 30. The default value is 0. */ FMOD_DSP_COMPRESSOR_GAINMAKEUP /* Make-up gain (dB) applied after limi ting, in the range from 0 through 30. The default value is 0. */
} FMOD_DSP_COMPRESSOR; } FMOD_DSP_COMPRESSOR;
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_SFXREVERB unit.<br> Parameter types for the FMOD_DSP_TYPE_SFXREVERB unit.<br>
[REMARKS] [REMARKS]
This is a high quality I3DL2 based reverb which improves greatly on FMO D_DSP_REVERB.<br> This is a high quality I3DL2 based reverb.<br>
On top of the I3DL2 property set, "Dry Level" is also included to allow the dry mix to be changed.<br> On top of the I3DL2 property set, "Dry Level" is also included to allow the dry mix to be changed.<br>
<br> <br>
These properties can be set with presets in FMOD_REVERB_PRESETS. These properties can be set with presets in FMOD_REVERB_PRESETS.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::SetParameter DSP::SetParameter
DSP::GetParameter DSP::GetParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
System::addDSP System::addDSP
FMOD_REVERB_PRESETS FMOD_REVERB_PRESETS
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_SFXREVERB_DRYLEVEL, /* Dry Level : Mix level o f dry signal in output in mB. Ranges from -10000.0 to 0.0. Default is 0. */ FMOD_DSP_SFXREVERB_DRYLEVEL, /* Dry Level : Mix level o f dry signal in output in mB. Ranges from -10000.0 to 0.0. Default is 0. */
FMOD_DSP_SFXREVERB_ROOM, /* Room : Room effect level at low frequencies in mB. Ranges from -10000.0 to 0.0. Default is -10000.0. */ FMOD_DSP_SFXREVERB_ROOM, /* Room : Room effect level at low frequencies in mB. Ranges from -10000.0 to 0.0. Default is -10000.0. */
FMOD_DSP_SFXREVERB_ROOMHF, /* Room HF : Room effect high-frequency level re. low frequency level in mB. Ranges from -10000.0 to 0.0. Default is 0.0. */ FMOD_DSP_SFXREVERB_ROOMHF, /* Room HF : Room effect high-frequency level re. low frequency level in mB. Ranges from -10000.0 to 0.0. Default is 0.0. */
FMOD_DSP_SFXREVERB_ROOMROLLOFFFACTOR, /* Room Rolloff : Like DS3D f lRolloffFactor but for room effect. Ranges from 0.0 to 10.0. Default is 10 .0 */
FMOD_DSP_SFXREVERB_DECAYTIME, /* Decay Time : Reverberati on decay time at low-frequencies in seconds. Ranges from 0.1 to 20.0. Defa ult is 1.0. */ FMOD_DSP_SFXREVERB_DECAYTIME, /* Decay Time : Reverberati on decay time at low-frequencies in seconds. Ranges from 0.1 to 20.0. Defa ult is 1.0. */
FMOD_DSP_SFXREVERB_DECAYHFRATIO, /* Decay HF Ratio : High-freque ncy to low-frequency decay time ratio. Ranges from 0.1 to 2.0. Default is 0.5. */ FMOD_DSP_SFXREVERB_DECAYHFRATIO, /* Decay HF Ratio : High-freque ncy to low-frequency decay time ratio. Ranges from 0.1 to 2.0. Default is 0.5. */
FMOD_DSP_SFXREVERB_REFLECTIONSLEVEL, /* Reflections : Early refle ctions level relative to room effect in mB. Ranges from -10000.0 to 1000.0 . Default is -10000.0. */ FMOD_DSP_SFXREVERB_REFLECTIONSLEVEL, /* Reflections : Early refle ctions level relative to room effect in mB. Ranges from -10000.0 to 1000.0 . Default is -10000.0. */
FMOD_DSP_SFXREVERB_REFLECTIONSDELAY, /* Reflect Delay : Delay time of first reflection in seconds. Ranges from 0.0 to 0.3. Default is 0.02. */ FMOD_DSP_SFXREVERB_REFLECTIONSDELAY, /* Reflect Delay : Delay time of first reflection in seconds. Ranges from 0.0 to 0.3. Default is 0.02. */
FMOD_DSP_SFXREVERB_REVERBLEVEL, /* Reverb : Late reverb eration level relative to room effect in mB. Ranges from -10000.0 to 2000. 0. Default is 0.0. */ FMOD_DSP_SFXREVERB_REVERBLEVEL, /* Reverb : Late reverb eration level relative to room effect in mB. Ranges from -10000.0 to 2000. 0. Default is 0.0. */
FMOD_DSP_SFXREVERB_REVERBDELAY, /* Reverb Delay : Late reverb eration delay time relative to first reflection in seconds. Ranges from 0. 0 to 0.1. Default is 0.04. */ FMOD_DSP_SFXREVERB_REVERBDELAY, /* Reverb Delay : Late reverb eration delay time relative to first reflection in seconds. Ranges from 0. 0 to 0.1. Default is 0.04. */
FMOD_DSP_SFXREVERB_DIFFUSION, /* Diffusion : Reverberati on diffusion (echo density) in percent. Ranges from 0.0 to 100.0. Default is 100.0. */ FMOD_DSP_SFXREVERB_DIFFUSION, /* Diffusion : Reverberati on diffusion (echo density) in percent. Ranges from 0.0 to 100.0. Default is 100.0. */
FMOD_DSP_SFXREVERB_DENSITY, /* Density : Reverberati on density (modal density) in percent. Ranges from 0.0 to 100.0. Default is 100.0. */ FMOD_DSP_SFXREVERB_DENSITY, /* Density : Reverberati on density (modal density) in percent. Ranges from 0.0 to 100.0. Default is 100.0. */
FMOD_DSP_SFXREVERB_HFREFERENCE, /* HF Reference : Reference h igh frequency in Hz. Ranges from 20.0 to 20000.0. Default is 5000.0. */ FMOD_DSP_SFXREVERB_HFREFERENCE, /* HF Reference : Reference h igh frequency in Hz. Ranges from 20.0 to 20000.0. Default is 5000.0. */
FMOD_DSP_SFXREVERB_ROOMLF, /* Room LF : Room effect low-frequency level in mB. Ranges from -10000.0 to 0.0. Default is 0.0. */ FMOD_DSP_SFXREVERB_ROOMLF, /* Room LF : Room effect low-frequency level in mB. Ranges from -10000.0 to 0.0. Default is 0.0. */
skipping to change at line 725 skipping to change at line 695
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_LOWPASS_SIMPLE filter.<br> Parameter types for the FMOD_DSP_TYPE_LOWPASS_SIMPLE filter.<br>
This is a very simple low pass filter, based on two single-pole RC time -constant modules. This is a very simple low pass filter, based on two single-pole RC time -constant modules.
The emphasis is on speed rather than accuracy, so this should not be us ed for task requiring critical filtering.<br> The emphasis is on speed rather than accuracy, so this should not be us ed for task requiring critical filtering.<br>
[REMARKS] [REMARKS]
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_LOWPASS_SIMPLE_CUTOFF /* Lowpass cutoff frequency in hz. 10.0 to 22000.0. Default = 5000.0 */ FMOD_DSP_LOWPASS_SIMPLE_CUTOFF /* Lowpass cutoff frequency in hz. 10.0 to 22000.0. Default = 5000.0 */
 End of changes. 24 change blocks. 
57 lines changed or deleted 22 lines changed or added


 fmod_errors.h   fmod_errors.h 
skipping to change at line 76 skipping to change at line 76
case FMOD_ERR_INITIALIZED: return "Cannot call this comm and after System::init. "; case FMOD_ERR_INITIALIZED: return "Cannot call this comm and after System::init. ";
case FMOD_ERR_INTERNAL: return "An error occured that wasn't supposed to. Contact support. "; case FMOD_ERR_INTERNAL: return "An error occured that wasn't supposed to. Contact support. ";
case FMOD_ERR_INVALID_ADDRESS: return "On Xbox 360, this mem ory address passed to FMOD must be physical, (ie allocated with XPhysicalAl loc.) "; case FMOD_ERR_INVALID_ADDRESS: return "On Xbox 360, this mem ory address passed to FMOD must be physical, (ie allocated with XPhysicalAl loc.) ";
case FMOD_ERR_INVALID_FLOAT: return "Value passed in was a NaN, Inf or denormalized float. "; case FMOD_ERR_INVALID_FLOAT: return "Value passed in was a NaN, Inf or denormalized float. ";
case FMOD_ERR_INVALID_HANDLE: return "An invalid object han dle was used. "; case FMOD_ERR_INVALID_HANDLE: return "An invalid object han dle was used. ";
case FMOD_ERR_INVALID_PARAM: return "An invalid parameter was passed to this function. "; case FMOD_ERR_INVALID_PARAM: return "An invalid parameter was passed to this function. ";
case FMOD_ERR_INVALID_POSITION: return "An invalid seek posit ion was passed to this function. "; case FMOD_ERR_INVALID_POSITION: return "An invalid seek posit ion was passed to this function. ";
case FMOD_ERR_INVALID_SPEAKER: return "An invalid speaker wa s passed to this function based on the current speaker mode. "; case FMOD_ERR_INVALID_SPEAKER: return "An invalid speaker wa s passed to this function based on the current speaker mode. ";
case FMOD_ERR_INVALID_SYNCPOINT: return "The syncpoint did not come from this sound handle. "; case FMOD_ERR_INVALID_SYNCPOINT: return "The syncpoint did not come from this sound handle. ";
case FMOD_ERR_INVALID_VECTOR: return "The vectors passed in are not unit length, or perpendicular. "; case FMOD_ERR_INVALID_VECTOR: return "The vectors passed in are not unit length, or perpendicular. ";
case FMOD_ERR_IRX: return "PS2 only. fmodex.irx failed to initialize. This is most likely because you forgot to load it. ";
case FMOD_ERR_MAXAUDIBLE: return "Reached maximum audib le playback count for this sound's soundgroup. "; case FMOD_ERR_MAXAUDIBLE: return "Reached maximum audib le playback count for this sound's soundgroup. ";
case FMOD_ERR_MEMORY: return "Not enough memory or resources. "; case FMOD_ERR_MEMORY: return "Not enough memory or resources. ";
case FMOD_ERR_MEMORY_CANTPOINT: return "Can't use FMOD_OPENME MORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATE COMPRESSEDSAMPLE was used. "; case FMOD_ERR_MEMORY_CANTPOINT: return "Can't use FMOD_OPENME MORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATE COMPRESSEDSAMPLE was used. ";
case FMOD_ERR_MEMORY_IOP: return "PS2 only. Not enough memory or resources on PlayStation 2 IOP ram. ";
case FMOD_ERR_MEMORY_SRAM: return "Not enough memory or resources on console sound ram. "; case FMOD_ERR_MEMORY_SRAM: return "Not enough memory or resources on console sound ram. ";
case FMOD_ERR_MUSIC_NOCALLBACK: return "The music callback is required, but it has not been set. "; case FMOD_ERR_MUSIC_NOCALLBACK: return "The music callback is required, but it has not been set. ";
case FMOD_ERR_MUSIC_NOTFOUND: return "The requested music e ntity could not be found. "; case FMOD_ERR_MUSIC_NOTFOUND: return "The requested music e ntity could not be found. ";
case FMOD_ERR_MUSIC_UNINITIALIZED: return "Music system is not i nitialized probably because no music data is loaded. "; case FMOD_ERR_MUSIC_UNINITIALIZED: return "Music system is not i nitialized probably because no music data is loaded. ";
case FMOD_ERR_NEEDS2D: return "Tried to call a comma nd on a 3d sound when the command was meant for 2d sound. "; case FMOD_ERR_NEEDS2D: return "Tried to call a comma nd on a 3d sound when the command was meant for 2d sound. ";
case FMOD_ERR_NEEDS3D: return "Tried to call a comma nd on a 2d sound when the command was meant for 3d sound. "; case FMOD_ERR_NEEDS3D: return "Tried to call a comma nd on a 2d sound when the command was meant for 3d sound. ";
case FMOD_ERR_NEEDSHARDWARE: return "Tried to use a featur e that requires hardware support. (ie trying to play a VAG compressed soun d in software on PS2). "; case FMOD_ERR_NEEDSHARDWARE: return "Tried to use a featur e that requires hardware support. (ie trying to play a GCADPCM compressed sound in software on Wii). ";
case FMOD_ERR_NEEDSSOFTWARE: return "Tried to use a featur e that requires the software engine. Software engine has either been turne d off, or command was executed on a hardware channel which does not support this feature. "; case FMOD_ERR_NEEDSSOFTWARE: return "Tried to use a featur e that requires the software engine. Software engine has either been turne d off, or command was executed on a hardware channel which does not support this feature. ";
case FMOD_ERR_NET_CONNECT: return "Couldn't connect to t he specified host. "; case FMOD_ERR_NET_CONNECT: return "Couldn't connect to t he specified host. ";
case FMOD_ERR_NET_SOCKET_ERROR: return "A socket error occurr ed. This is a catch-all for socket-related errors not listed elsewhere. "; case FMOD_ERR_NET_SOCKET_ERROR: return "A socket error occurr ed. This is a catch-all for socket-related errors not listed elsewhere. ";
case FMOD_ERR_NET_URL: return "The specified URL cou ldn't be resolved. "; case FMOD_ERR_NET_URL: return "The specified URL cou ldn't be resolved. ";
case FMOD_ERR_NET_WOULD_BLOCK: return "Operation on a non-bl ocking socket could not complete immediately. "; case FMOD_ERR_NET_WOULD_BLOCK: return "Operation on a non-bl ocking socket could not complete immediately. ";
case FMOD_ERR_NOTREADY: return "Operation could not b e performed because specified sound/DSP connection is not ready. "; case FMOD_ERR_NOTREADY: return "Operation could not b e performed because specified sound/DSP connection is not ready. ";
case FMOD_ERR_OUTPUT_ALLOCATED: return "Error initializing ou tput device, but more specifically, the output device is already in use and cannot be reused. "; case FMOD_ERR_OUTPUT_ALLOCATED: return "Error initializing ou tput device, but more specifically, the output device is already in use and cannot be reused. ";
case FMOD_ERR_OUTPUT_CREATEBUFFER: return "Error creating hardwa re sound buffer. "; case FMOD_ERR_OUTPUT_CREATEBUFFER: return "Error creating hardwa re sound buffer. ";
case FMOD_ERR_OUTPUT_DRIVERCALL: return "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or r esources were missing or exhausted. "; case FMOD_ERR_OUTPUT_DRIVERCALL: return "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or r esources were missing or exhausted. ";
case FMOD_ERR_OUTPUT_ENUMERATION: return "Error enumerating the available driver list. List may be inconsistent due to a recent device add ition or removal. "; case FMOD_ERR_OUTPUT_ENUMERATION: return "Error enumerating the available driver list. List may be inconsistent due to a recent device add ition or removal. ";
skipping to change at line 110 skipping to change at line 108
case FMOD_ERR_OUTPUT_NOHARDWARE: return "FMOD_HARDWARE was spe cified but the sound card does not have the resources necessary to play it. "; case FMOD_ERR_OUTPUT_NOHARDWARE: return "FMOD_HARDWARE was spe cified but the sound card does not have the resources necessary to play it. ";
case FMOD_ERR_OUTPUT_NOSOFTWARE: return "Attempted to create a software sound but no software channels were specified in System::init. "; case FMOD_ERR_OUTPUT_NOSOFTWARE: return "Attempted to create a software sound but no software channels were specified in System::init. ";
case FMOD_ERR_PAN: return "Panning only works wi th mono or stereo sound sources. "; case FMOD_ERR_PAN: return "Panning only works wi th mono or stereo sound sources. ";
case FMOD_ERR_PLUGIN: return "An unspecified error has been returned from a 3rd party plugin. "; case FMOD_ERR_PLUGIN: return "An unspecified error has been returned from a 3rd party plugin. ";
case FMOD_ERR_PLUGIN_INSTANCES: return "The number of allowed instances of a plugin has been exceeded. "; case FMOD_ERR_PLUGIN_INSTANCES: return "The number of allowed instances of a plugin has been exceeded. ";
case FMOD_ERR_PLUGIN_MISSING: return "A requested output, d sp unit type or codec was not available. "; case FMOD_ERR_PLUGIN_MISSING: return "A requested output, d sp unit type or codec was not available. ";
case FMOD_ERR_PLUGIN_RESOURCE: return "A resource that the p lugin requires cannot be found. (ie the DLS file for MIDI playback) "; case FMOD_ERR_PLUGIN_RESOURCE: return "A resource that the p lugin requires cannot be found. (ie the DLS file for MIDI playback) ";
case FMOD_ERR_PRELOADED: return "The specified sound i s still in use by the event system, call EventSystem::unloadFSB before tryi ng to release it. "; case FMOD_ERR_PRELOADED: return "The specified sound i s still in use by the event system, call EventSystem::unloadFSB before tryi ng to release it. ";
case FMOD_ERR_PROGRAMMERSOUND: return "The specified sound i s still in use by the event system, wait for the event which is using it fi nish with it. "; case FMOD_ERR_PROGRAMMERSOUND: return "The specified sound i s still in use by the event system, wait for the event which is using it fi nish with it. ";
case FMOD_ERR_RECORD: return "An error occured tryi ng to initialize the recording device. "; case FMOD_ERR_RECORD: return "An error occured tryi ng to initialize the recording device. ";
case FMOD_ERR_REVERB_INSTANCE: return "Specified Instance in FMOD_REVERB_PROPERTIES couldn't be set. Most likely because it is an inval id instance number, or another application has locked the EAX4 FX slot. "; case FMOD_ERR_REVERB_INSTANCE: return "Specified Instance in FMOD_REVERB_PROPERTIES couldn't be set. Most likely because it is an inval id instance number. ";
case FMOD_ERR_SUBSOUNDS: return "The error occured bec ause the sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent sound, or a parent sound was played wit hout setting up a sentence first. "; case FMOD_ERR_SUBSOUNDS: return "The error occured bec ause the sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent sound, or a parent sound was played wit hout setting up a sentence first. ";
case FMOD_ERR_SUBSOUND_ALLOCATED: return "This subsound is alre ady being used by another sound, you cannot have more than one parent to a sound. Null out the other parent's entry first. "; case FMOD_ERR_SUBSOUND_ALLOCATED: return "This subsound is alre ady being used by another sound, you cannot have more than one parent to a sound. Null out the other parent's entry first. ";
case FMOD_ERR_SUBSOUND_CANTMOVE: return "Shared subsounds cann ot be replaced or moved from their parent stream, such as when the parent s tream is an FSB file. "; case FMOD_ERR_SUBSOUND_CANTMOVE: return "Shared subsounds cann ot be replaced or moved from their parent stream, such as when the parent s tream is an FSB file. ";
case FMOD_ERR_SUBSOUND_MODE: return "The subsound's mode b its do not match with the parent sound's mode bits. See documentation for function that it was called with. "; case FMOD_ERR_SUBSOUND_MODE: return "The subsound's mode b its do not match with the parent sound's mode bits. See documentation for function that it was called with. ";
case FMOD_ERR_TAGNOTFOUND: return "The specified tag cou ld not be found or there are no tags. "; case FMOD_ERR_TAGNOTFOUND: return "The specified tag cou ld not be found or there are no tags. ";
case FMOD_ERR_TOOMANYCHANNELS: return "The sound created exc eeds the allowable input channel count. This can be increased using the ma xinputchannels parameter in System::setSoftwareFormat. "; case FMOD_ERR_TOOMANYCHANNELS: return "The sound created exc eeds the allowable input channel count. This can be increased using the ma xinputchannels parameter in System::setSoftwareFormat. ";
case FMOD_ERR_UNIMPLEMENTED: return "Something in FMOD has n't been implemented when it should be! contact support! "; case FMOD_ERR_UNIMPLEMENTED: return "Something in FMOD has n't been implemented when it should be! contact support! ";
case FMOD_ERR_UNINITIALIZED: return "This command failed b ecause System::init or System::setDriver was not called. "; case FMOD_ERR_UNINITIALIZED: return "This command failed b ecause System::init or System::setDriver was not called. ";
case FMOD_ERR_UNSUPPORTED: return "A command issued was not supported by this object. Possibly a plugin without certain callbacks specified. "; case FMOD_ERR_UNSUPPORTED: return "A command issued was not supported by this object. Possibly a plugin without certain callbacks specified. ";
case FMOD_ERR_UPDATE: return "An error caused by Sy stem::update occured. "; case FMOD_ERR_UPDATE: return "An error caused by Sy stem::update occured. ";
 End of changes. 4 change blocks. 
4 lines changed or deleted 2 lines changed or added


 fmod_event.h   fmod_event.h 
skipping to change at line 24 skipping to change at line 24
#ifndef _FMOD_H #ifndef _FMOD_H
#include "fmod.h" #include "fmod.h"
#endif #endif
/* /*
FMOD EventSystem version number. Check this against FMOD::EventSystem: :getVersion. FMOD EventSystem version number. Check this against FMOD::EventSystem: :getVersion.
0xaaaabbcc -> aaaa = major version number. bb = minor version number. cc = development version number. 0xaaaabbcc -> aaaa = major version number. bb = minor version number. cc = development version number.
*/ */
#define FMOD_EVENT_VERSION 0x00043500 #define FMOD_EVENT_VERSION 0x00043501
/* /*
FMOD event types FMOD event types
*/ */
typedef struct FMOD_EVENTSYSTEM FMOD_EVENTSYSTEM; typedef struct FMOD_EVENTSYSTEM FMOD_EVENTSYSTEM;
typedef struct FMOD_EVENTPROJECT FMOD_EVENTPROJECT; typedef struct FMOD_EVENTPROJECT FMOD_EVENTPROJECT;
typedef struct FMOD_EVENTGROUP FMOD_EVENTGROUP; typedef struct FMOD_EVENTGROUP FMOD_EVENTGROUP;
typedef struct FMOD_EVENTCATEGORY FMOD_EVENTCATEGORY; typedef struct FMOD_EVENTCATEGORY FMOD_EVENTCATEGORY;
typedef struct FMOD_EVENT FMOD_EVENT; typedef struct FMOD_EVENT FMOD_EVENT;
skipping to change at line 199 skipping to change at line 199
FMOD_EVENTPROPERTY_SPEAKER_LFE, /* Type : float - 2D event volume for low frequency speaker. */ FMOD_EVENTPROPERTY_SPEAKER_LFE, /* Type : float - 2D event volume for low frequency speaker. */
FMOD_EVENTPROPERTY_REVERBWETLEVEL, /* Type : float - Reverb gain for this event where 0 = full reverb, -60 = no reverb. */ FMOD_EVENTPROPERTY_REVERBWETLEVEL, /* Type : float - Reverb gain for this event where 0 = full reverb, -60 = no reverb. */
FMOD_EVENTPROPERTY_ONESHOT, /* Type : int - Oneshot event - stops when no channels playing. 1 = yes, it's a oneshot 0 = no. it's not a oneshot. */ FMOD_EVENTPROPERTY_ONESHOT, /* Type : int - Oneshot event - stops when no channels playing. 1 = yes, it's a oneshot 0 = no. it's not a oneshot. */
FMOD_EVENTPROPERTY_FADEIN, /* Type : int - Time in milliseconds over which to fade this event in when programmer st arts it. 0 = no fade in. Cannot be set while the event is playing. */ FMOD_EVENTPROPERTY_FADEIN, /* Type : int - Time in milliseconds over which to fade this event in when programmer st arts it. 0 = no fade in. Cannot be set while the event is playing. */
FMOD_EVENTPROPERTY_FADEOUT, /* Type : int - Time in milliseconds over which to fade this event out when programmer s tops it. 0 = no fade out. Cannot be set while the event is playing. */ FMOD_EVENTPROPERTY_FADEOUT, /* Type : int - Time in milliseconds over which to fade this event out when programmer s tops it. 0 = no fade out. Cannot be set while the event is playing. */
FMOD_EVENTPROPERTY_REVERBDRYLEVEL, /* Type : float - Dry reverb gain for this event where 0 = full dry, -60 = no dry. */ FMOD_EVENTPROPERTY_REVERBDRYLEVEL, /* Type : float - Dry reverb gain for this event where 0 = full dry, -60 = no dry. */
FMOD_EVENTPROPERTY_TIMEOFFSET, /* Type : float - Time offset of sound start in seconds. */ FMOD_EVENTPROPERTY_TIMEOFFSET, /* Type : float - Time offset of sound start in seconds. */
FMOD_EVENTPROPERTY_SPAWNINTENSITY, /* Type : float - Multiplier for spawn frequency of all sounds in this event. */ FMOD_EVENTPROPERTY_SPAWNINTENSITY, /* Type : float - Multiplier for spawn frequency of all sounds in this event. */
FMOD_EVENTPROPERTY_SPAWNINTENSITY_RANDOMIZATION, /* Type : float - Random deviation in spawn intensity of event. */ FMOD_EVENTPROPERTY_SPAWNINTENSITY_RANDOMIZATION, /* Type : float - Random deviation in spawn intensity of event. */
FMOD_EVENTPROPERTY_WII_CONTROLLERSPEAKERS, /* Type : int - Wii only. Use FMOD_WII_CONTROLLER flags defined in fmodwii.h to set whic h Wii Controller Speaker(s) to play this event on. */ FMOD_EVENTPROPERTY_WII_CONTROLLERSPEAKERS, /* Type : int - Wii only. Use FMOD_WII_CONTROLLER flags defined in fmodwii.h to set whic h Wii Controller Speaker(s) to play this event on. */
FMOD_EVENTPROPERTY_3D_POSRANDOMIZATION, /* Type : unsign FMOD_EVENTPROPERTY_3D_POSRANDOMIZATION_MIN, /* Type : unsign
ed int - Radius of random deviation in the 3D position of event. */ ed int - Minimum radius of random deviation in the 3D position of event.
*/
FMOD_EVENTPROPERTY_3D_POSRANDOMIZATION_MAX, /* Type : unsign
ed int - Maximum radius of random deviation in the 3D position of event.
*/
FMOD_EVENTPROPERTY_EVENTTYPE, /* Type : int - (<b>Readonly</b>) 0 = simple event, 1 = complex event */ FMOD_EVENTPROPERTY_EVENTTYPE, /* Type : int - (<b>Readonly</b>) 0 = simple event, 1 = complex event */
FMOD_EVENTPROPERTY_STEAL_PRIORITY, /* Type : int - 0 to 10000. How important this event is in relation to other events in the project. This event will never steal an event with a higher steal prior ity than this. */ FMOD_EVENTPROPERTY_STEAL_PRIORITY, /* Type : int - 0 to 10000. How important this event is in relation to other events in the project. This event will never steal an event with a higher steal prior ity than this. */
FMOD_EVENTPROPERTY_EFFECTS_AFFECT_REVERB, /* Type : int - 0 = default (no), 1 = yes. Alternate routing for reverb path of an even t so it goes from the layer dsp unit instead of the channel. */ FMOD_EVENTPROPERTY_EFFECTS_AFFECT_REVERB, /* Type : int - 0 = default (no), 1 = yes. Alternate routing for reverb path of an even t so it goes from the layer dsp unit instead of the channel. */
FMOD_EVENTPROPERTY_WILL_TERMINATE, /* Type : int - (<b>Readonly</b>) 0 = no, 1 = yes, 2 = unknown (current event state is t oo complex). Whether this event will terminate (stop playing) by itself. I f called on an event instance with this_instance = true, the prediction is based on the current state of that instance. This means parameter values, k eyoffs etc. come into play. */ FMOD_EVENTPROPERTY_WILL_TERMINATE, /* Type : int - (<b>Readonly</b>) 0 = no, 1 = yes, 2 = unknown (current event state is t oo complex). Whether this event will terminate (stop playing) by itself. I f called on an event instance with this_instance = true, the prediction is based on the current state of that instance. This means parameter values, k eyoffs etc. come into play. */
FMOD_EVENTPROPERTY_DSPCLOCKSTART_HI, /* Type : unsigned int - High 32 bits of a 64 bit DSP clock value, for a start time for any so und in this event. */ FMOD_EVENTPROPERTY_DSPCLOCKSTART_HI, /* Type : unsigned int - High 32 bits of a 64 bit DSP clock value, for a start time for any so und in this event. */
FMOD_EVENTPROPERTY_DSPCLOCKSTART_LO, /* Type : unsigned int - Low 32 bits of a 64 bit DSP clock value, for a start time for any sou nd in this event. */ FMOD_EVENTPROPERTY_DSPCLOCKSTART_LO, /* Type : unsigned int - Low 32 bits of a 64 bit DSP clock value, for a start time for any sou nd in this event. */
FMOD_EVENTPROPERTY_USER_BASE /* User created eve nts start from here onwards. */ FMOD_EVENTPROPERTY_USER_BASE /* User created eve nts start from here onwards. */
} FMOD_EVENT_PROPERTY; } FMOD_EVENT_PROPERTY;
/* /*
 End of changes. 2 change blocks. 
3 lines changed or deleted 7 lines changed or added


 fmod_event_net.h   fmod_event_net.h 
skipping to change at line 21 skipping to change at line 21
#define __FMOD_EVENT_NET_H__ #define __FMOD_EVENT_NET_H__
#ifndef __FMOD_EVENT_H__ #ifndef __FMOD_EVENT_H__
#include "fmod_event.h" #include "fmod_event.h"
#endif #endif
/* /*
FMOD NetEventSystem version number. Check this against NetEventSystem_ GetVersion. FMOD NetEventSystem version number. Check this against NetEventSystem_ GetVersion.
0xaaaabbcc -> aaaa = major version number. bb = minor version number. cc = development version number. 0xaaaabbcc -> aaaa = major version number. bb = minor version number. cc = development version number.
*/ */
#define FMOD_EVENT_NET_VERSION 0x00043500 #define FMOD_EVENT_NET_VERSION 0x00043501
/* /*
Default port that the target (game) will listen on Default port that the target (game) will listen on
*/ */
#define FMOD_EVENT_NET_PORT 17997 #define FMOD_EVENT_NET_PORT 17997
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
#endif #endif
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 fmod_memoryinfo.h   fmod_memoryinfo.h 
skipping to change at line 26 skipping to change at line 26
Structure to be filled with detailed memory usage information of an FMO D object Structure to be filled with detailed memory usage information of an FMO D object
[REMARKS] [REMARKS]
Every public FMOD class has a getMemoryInfo function which can be used to get detailed information on what memory resources are associated with th e object in question. Every public FMOD class has a getMemoryInfo function which can be used to get detailed information on what memory resources are associated with th e object in question.
On return from getMemoryInfo, each member of this structure will hold t he amount of memory used for its type in bytes.<br> On return from getMemoryInfo, each member of this structure will hold t he amount of memory used for its type in bytes.<br>
<br> <br>
Members marked with [in] mean the user sets the value before passing it to the function.<br> Members marked with [in] mean the user sets the value before passing it to the function.<br>
Members marked with [out] mean FMOD sets the value to be used after the function exits.<br> Members marked with [out] mean FMOD sets the value to be used after the function exits.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube, PlayStation Portable, PlayStation 3 Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
System::getMemoryInfo System::getMemoryInfo
EventSystem::getMemoryInfo EventSystem::getMemoryInfo
FMOD_MEMBITS FMOD_MEMBITS
FMOD_EVENT_MEMBITS FMOD_EVENT_MEMBITS
] ]
*/ */
typedef struct FMOD_MEMORY_USAGE_DETAILS typedef struct FMOD_MEMORY_USAGE_DETAILS
{ {
skipping to change at line 62 skipping to change at line 62
unsigned int dspcodec; /* [out] Realtime file for mat decoding DSP objects */ unsigned int dspcodec; /* [out] Realtime file for mat decoding DSP objects */
unsigned int profile; /* [out] Profiler memory f ootprint. */ unsigned int profile; /* [out] Profiler memory f ootprint. */
unsigned int recordbuffer; /* [out] Buffer used to st ore recorded data from microphone */ unsigned int recordbuffer; /* [out] Buffer used to st ore recorded data from microphone */
unsigned int reverb; /* [out] Reverb implementa tion objects */ unsigned int reverb; /* [out] Reverb implementa tion objects */
unsigned int reverbchannelprops; /* [out] Reverb channel pr operties structs */ unsigned int reverbchannelprops; /* [out] Reverb channel pr operties structs */
unsigned int geometry; /* [out] Geometry objects and internals */ unsigned int geometry; /* [out] Geometry objects and internals */
unsigned int syncpoint; /* [out] Sync point memory . */ unsigned int syncpoint; /* [out] Sync point memory . */
unsigned int eventsystem; /* [out] EventSystem and v arious internals */ unsigned int eventsystem; /* [out] EventSystem and v arious internals */
unsigned int musicsystem; /* [out] MusicSystem and v arious internals */ unsigned int musicsystem; /* [out] MusicSystem and v arious internals */
unsigned int fev; /* [out] Definition of obj ects contained in all loaded projects e.g. events, groups, categories */ unsigned int fev; /* [out] Definition of obj ects contained in all loaded projects e.g. events, groups, categories */
unsigned int memoryfsb; /* [out] Data loaded with registerMemoryFSB */ unsigned int memoryfsb; /* [out] Data loaded with preloadFSB */
unsigned int eventproject; /* [out] EventProject obje cts and internals */ unsigned int eventproject; /* [out] EventProject obje cts and internals */
unsigned int eventgroupi; /* [out] EventGroup object s and internals */ unsigned int eventgroupi; /* [out] EventGroup object s and internals */
unsigned int soundbankclass; /* [out] Objects used to m anage wave banks */ unsigned int soundbankclass; /* [out] Objects used to m anage wave banks */
unsigned int soundbanklist; /* [out] Data used to mana ge lists of wave bank usage */ unsigned int soundbanklist; /* [out] Data used to mana ge lists of wave bank usage */
unsigned int streaminstance; /* [out] Stream objects an d internals */ unsigned int streaminstance; /* [out] Stream objects an d internals */
unsigned int sounddefclass; /* [out] Sound definition objects */ unsigned int sounddefclass; /* [out] Sound definition objects */
unsigned int sounddefdefclass; /* [out] Sound definition static data objects */ unsigned int sounddefdefclass; /* [out] Sound definition static data objects */
unsigned int sounddefpool; /* [out] Sound definition pool data */ unsigned int sounddefpool; /* [out] Sound definition pool data */
unsigned int reverbdef; /* [out] Reverb definition objects */ unsigned int reverbdef; /* [out] Reverb definition objects */
unsigned int eventreverb; /* [out] Reverb objects */ unsigned int eventreverb; /* [out] Reverb objects */
skipping to change at line 102 skipping to change at line 102
[DESCRIPTION] [DESCRIPTION]
Bitfield used to request specific memory usage information from the get MemoryInfo function of every public FMOD Ex class. Bitfield used to request specific memory usage information from the get MemoryInfo function of every public FMOD Ex class.
Use with the "memorybits" parameter of getMemoryInfo to get information on FMOD Ex memory usage. Use with the "memorybits" parameter of getMemoryInfo to get information on FMOD Ex memory usage.
[REMARKS] [REMARKS]
Every public FMOD class has a getMemoryInfo function which can be used to get detailed information on what memory resources are associated with th e object in question. Every public FMOD class has a getMemoryInfo function which can be used to get detailed information on what memory resources are associated with th e object in question.
The FMOD_MEMBITS defines can be OR'd together to specify precisely what memory usage you'd like to get information on. See System::getMemoryInfo f or an example. The FMOD_MEMBITS defines can be OR'd together to specify precisely what memory usage you'd like to get information on. See System::getMemoryInfo f or an example.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_EVENT_MEMBITS FMOD_EVENT_MEMBITS
System::getMemoryInfo System::getMemoryInfo
] ]
*/ */
#define FMOD_MEMBITS_OTHER 0x00000001 /* Memory not accounted for by other types */ #define FMOD_MEMBITS_OTHER 0x00000001 /* Memory not accounted for by other types */
#define FMOD_MEMBITS_STRING 0x00000002 /* String data */ #define FMOD_MEMBITS_STRING 0x00000002 /* String data */
#define FMOD_MEMBITS_SYSTEM 0x00000004 /* System obje ct and various internals */ #define FMOD_MEMBITS_SYSTEM 0x00000004 /* System obje ct and various internals */
skipping to change at line 150 skipping to change at line 150
[DESCRIPTION] [DESCRIPTION]
Bitfield used to request specific memory usage information from the get MemoryInfo function of every public FMOD Event System class. Bitfield used to request specific memory usage information from the get MemoryInfo function of every public FMOD Event System class.
Use with the "event_memorybits" parameter of getMemoryInfo to get infor mation on FMOD Event System memory usage. Use with the "event_memorybits" parameter of getMemoryInfo to get infor mation on FMOD Event System memory usage.
[REMARKS] [REMARKS]
Every public FMOD Event System class has a getMemoryInfo function which can be used to get detailed information on what memory resources are assoc iated with the object in question. Every public FMOD Event System class has a getMemoryInfo function which can be used to get detailed information on what memory resources are assoc iated with the object in question.
The FMOD_EVENT_MEMBITS defines can be OR'd together to specify precisel y what memory usage you'd like to get information on. See EventSystem::getM emoryInfo for an example. The FMOD_EVENT_MEMBITS defines can be OR'd together to specify precisel y what memory usage you'd like to get information on. See EventSystem::getM emoryInfo for an example.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_MEMBITS FMOD_MEMBITS
System::getMemoryInfo System::getMemoryInfo
] ]
*/ */
#define FMOD_EVENT_MEMBITS_EVENTSYSTEM 0x00000001 /* EventSystem and various internals */ #define FMOD_EVENT_MEMBITS_EVENTSYSTEM 0x00000001 /* EventSystem and various internals */
#define FMOD_EVENT_MEMBITS_MUSICSYSTEM 0x00000002 /* MusicSystem and various internals */ #define FMOD_EVENT_MEMBITS_MUSICSYSTEM 0x00000002 /* MusicSystem and various internals */
#define FMOD_EVENT_MEMBITS_FEV 0x00000004 /* Definition of objects contained in all loaded projects e.g. events, groups, categories */ #define FMOD_EVENT_MEMBITS_FEV 0x00000004 /* Definition of objects contained in all loaded projects e.g. events, groups, categories */
#define FMOD_EVENT_MEMBITS_MEMORYFSB 0x00000008 /* Data loaded with registerMemoryFSB */ #define FMOD_EVENT_MEMBITS_MEMORYFSB 0x00000008 /* Data loaded with preloadFSB */
#define FMOD_EVENT_MEMBITS_EVENTPROJECT 0x00000010 /* EventProjec t objects and internals */ #define FMOD_EVENT_MEMBITS_EVENTPROJECT 0x00000010 /* EventProjec t objects and internals */
#define FMOD_EVENT_MEMBITS_EVENTGROUPI 0x00000020 /* EventGroup objects and internals */ #define FMOD_EVENT_MEMBITS_EVENTGROUPI 0x00000020 /* EventGroup objects and internals */
#define FMOD_EVENT_MEMBITS_SOUNDBANKCLASS 0x00000040 /* Objects use d to manage wave banks */ #define FMOD_EVENT_MEMBITS_SOUNDBANKCLASS 0x00000040 /* Objects use d to manage wave banks */
#define FMOD_EVENT_MEMBITS_SOUNDBANKLIST 0x00000080 /* Data used t o manage lists of wave bank usage */ #define FMOD_EVENT_MEMBITS_SOUNDBANKLIST 0x00000080 /* Data used t o manage lists of wave bank usage */
#define FMOD_EVENT_MEMBITS_STREAMINSTANCE 0x00000100 /* Stream obje cts and internals */ #define FMOD_EVENT_MEMBITS_STREAMINSTANCE 0x00000100 /* Stream obje cts and internals */
#define FMOD_EVENT_MEMBITS_SOUNDDEFCLASS 0x00000200 /* Sound defin ition objects */ #define FMOD_EVENT_MEMBITS_SOUNDDEFCLASS 0x00000200 /* Sound defin ition objects */
#define FMOD_EVENT_MEMBITS_SOUNDDEFDEFCLASS 0x00000400 /* Sound defin ition static data objects */ #define FMOD_EVENT_MEMBITS_SOUNDDEFDEFCLASS 0x00000400 /* Sound defin ition static data objects */
#define FMOD_EVENT_MEMBITS_SOUNDDEFPOOL 0x00000800 /* Sound defin ition pool data */ #define FMOD_EVENT_MEMBITS_SOUNDDEFPOOL 0x00000800 /* Sound defin ition pool data */
#define FMOD_EVENT_MEMBITS_REVERBDEF 0x00001000 /* Reverb defi nition objects */ #define FMOD_EVENT_MEMBITS_REVERBDEF 0x00001000 /* Reverb defi nition objects */
#define FMOD_EVENT_MEMBITS_EVENTREVERB 0x00002000 /* Reverb obje cts */ #define FMOD_EVENT_MEMBITS_EVENTREVERB 0x00002000 /* Reverb obje cts */
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added


 fmod_output.h   fmod_output.h 
skipping to change at line 43 skipping to change at line 43
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
When creating an output, declare one of these and provide the relevant callbacks and name for FMOD to use when it opens and reads a file of this t ype. When creating an output, declare one of these and provide the relevant callbacks and name for FMOD to use when it opens and reads a file of this t ype.
[REMARKS] [REMARKS]
Members marked with [in] mean the variable can be written to. The user can set the value.<br> Members marked with [in] mean the variable can be written to. The user can set the value.<br>
Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br> Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_OUTPUT_STATE FMOD_OUTPUT_STATE
] ]
*/ */
typedef struct FMOD_OUTPUT_DESCRIPTION typedef struct FMOD_OUTPUT_DESCRIPTION
{ {
const char *name; /* [in] Name of the output. */ const char *name; /* [in] Name of the output. */
unsigned int version; /* [in] Plugi n writer's version number. */ unsigned int version; /* [in] Plugi n writer's version number. */
int polling; /* [in] If TR UE (non zero), this tells FMOD to start a thread and call getposition / loc k / unlock for feeding data. If 0, the output is probably callback based, so all the plugin needs to do is call readfrommixer to the appropriate poin ter. */ int polling; /* [in] If TR UE (non zero), this tells FMOD to start a thread and call getposition / loc k / unlock for feeding data. If 0, the output is probably callback based, so all the plugin needs to do is call readfrommixer to the appropriate poin ter. */
skipping to change at line 77 skipping to change at line 77
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Output plugin structure that is passed into each callback. Output plugin structure that is passed into each callback.
[REMARKS] [REMARKS]
Members marked with [in] mean the variable can be written to. The user can set the value.<br> Members marked with [in] mean the variable can be written to. The user can set the value.<br>
Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br> Members marked with [out] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.<br>
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
[SEE_ALSO] [SEE_ALSO]
FMOD_OUTPUT_DESCRIPTION FMOD_OUTPUT_DESCRIPTION
] ]
*/ */
struct FMOD_OUTPUT_STATE struct FMOD_OUTPUT_STATE
{ {
void *plugindata; /* [in] Plugin writer creat ed data the output author wants to attach to this object. */ void *plugindata; /* [in] Plugin writer creat ed data the output author wants to attach to this object. */
FMOD_OUTPUT_READFROMMIXER readfrommixer; /* [out] Function to update mixer and write the result to the provided pointer. Used from callback ba sed output only. Polling based output uses lock/unlock/getposition. */ FMOD_OUTPUT_READFROMMIXER readfrommixer; /* [out] Function to update mixer and write the result to the provided pointer. Used from callback ba sed output only. Polling based output uses lock/unlock/getposition. */
}; };
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/