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 0x00043103 #define FMOD_VERSION 0x00043104
/* /*
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 )
#elif (defined(WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(_ XBOX)) #elif (defined(WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(_ XBOX))
#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 )
#elif defined(__MACH__) #elif defined(__MACH__) || defined (ANDROID)
#define F_CDECL #define F_CDECL
#define F_STDCALL #define F_STDCALL
#define F_DECLSPEC #define F_DECLSPEC
#define F_DLLEXPORT __attribute__ ((visibility("default"))) #define F_DLLEXPORT __attribute__ ((visibility("default")))
#else #else
#define F_STDCALL #define F_STDCALL
#define F_CDECL #define F_CDECL
#define F_DECLSPEC #define F_DECLSPEC
#define F_DLLEXPORT #define F_DLLEXPORT
#endif #endif
#ifdef DLL_EXPORTS #ifdef DLL_EXPORTS
#if defined(__MACH__) #if defined(__MACH__) || defined(ANDROID)
#define F_API __attribute__ ((visibility("default"))) #define F_API __attribute__ ((visibility("default")))
#else #else
#define F_API __declspec(dllexport) F_STDCALL #define F_API __declspec(dllexport) F_STDCALL
#endif #endif
#else #else
#define F_API F_STDCALL #define F_API F_STDCALL
#endif #endif
#define F_CALLBACK F_STDCALL #define F_CALLBACK F_STDCALL
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 215 skipping to change at line 215
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 254
/* /*
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 288
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 336 skipping to change at line 336
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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
] ]
skipping to change at line 358 skipping to change at line 358
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 lugin, unknown. This is for use with System::getOutput only. */ FMOD_OUTPUTTYPE_UNKNOWN, /* All - 3rd party p lugin, unknown. This is for use with System::getOutput only. */
FMOD_OUTPUTTYPE_NOSOUND, /* All - All calls i n this mode succeed but make no sound. */ FMOD_OUTPUTTYPE_NOSOUND, /* All - All calls i n this mode succeed but make no sound. */
FMOD_OUTPUTTYPE_WAVWRITER, /* All - Writes outp ut to fmodoutput.wav by default. Use the 'extradriverdata' parameter in Sy stem::init, by simply passing the filename as a string, to set the wav file name. */ FMOD_OUTPUTTYPE_WAVWRITER, /* All - Writes outp ut to fmodoutput.wav by default. Use the 'extradriverdata' parameter in Sy stem::init, by simply passing the filename as a string, to set the wav file name. */
FMOD_OUTPUTTYPE_NOSOUND_NRT, /* All - Non-realtim e version of FMOD_OUTPUTTYPE_NOSOUND. User can drive mixer with System::up date at whatever rate they want. */ FMOD_OUTPUTTYPE_NOSOUND_NRT, /* All - Non-realtim e version of FMOD_OUTPUTTYPE_NOSOUND. User can drive mixer with System::up date at whatever rate they want. */
FMOD_OUTPUTTYPE_WAVWRITER_NRT, /* All - Non-realtim e version of FMOD_OUTPUTTYPE_WAVWRITER. User can drive mixer with System:: update at whatever rate they want. */ FMOD_OUTPUTTYPE_WAVWRITER_NRT, /* All - Non-realtim e version of FMOD_OUTPUTTYPE_WAVWRITER. User can drive mixer with System:: update at whatever rate they want. */
FMOD_OUTPUTTYPE_DSOUND, /* Win32/Win64 - DirectSound FMOD_OUTPUTTYPE_DSOUND, /* Win32/Win64 - DirectSound
output. Use this to get hardware accelerated 3d audio and EAX Reverb supp output. (Default on Windows OS earlier than Vista) */
ort. (Default on Windows) */ FMOD_OUTPUTTYPE_WINMM, /* Win32/Win64 - Windows Mul
FMOD_OUTPUTTYPE_WINMM, /* Win32/Win64 - Windows Mul timedia output. (Older audio interface, larger latency on output) */
timedia output. */ FMOD_OUTPUTTYPE_WASAPI, /* Win32 - Windows Aud
FMOD_OUTPUTTYPE_OPENAL, /* Win32/Win64 - OpenAL 1.1 io Session API. (Default on Windows Vista/Windows 7) */
output. Use this for lower CPU overhead than FMOD_OUTPUTTYPE_DSOUND, and al
so Vista H/W support with Creative Labs cards. */
FMOD_OUTPUTTYPE_WASAPI, /* Win32 - Windows Aud
io Session API. (Default on Windows Vista) */
FMOD_OUTPUTTYPE_ASIO, /* Win32 - Low latency ASIO 2.0 driver. */ FMOD_OUTPUTTYPE_ASIO, /* Win32 - Low latency ASIO 2.0 driver. */
FMOD_OUTPUTTYPE_OSS, /* Linux/Linux64/Solaris - Open Sound System output. (Default on Linux/Linux64/Solaris) */ FMOD_OUTPUTTYPE_OSS, /* Linux/Linux64 - Open Sound System output. (Default on Linux/Linux64) */
FMOD_OUTPUTTYPE_ALSA, /* Linux/Linux64 - Advanced Li nux Sound Architecture output. */ FMOD_OUTPUTTYPE_ALSA, /* Linux/Linux64 - Advanced Li nux Sound Architecture output. */
FMOD_OUTPUTTYPE_ESD, /* Linux/Linux64 - Enlightment Sound Daemon output. */ FMOD_OUTPUTTYPE_ESD, /* Linux/Linux64 - Enlightment Sound Daemon output. */
FMOD_OUTPUTTYPE_PULSEAUDIO, /* Linux/Linux64 - PulseAudio output. */ FMOD_OUTPUTTYPE_PULSEAUDIO, /* Linux/Linux64 - PulseAudio output. */
FMOD_OUTPUTTYPE_COREAUDIO, /* Mac - Macintosh C oreAudio output. (Default on Mac) */ FMOD_OUTPUTTYPE_COREAUDIO, /* Mac - Macintosh C oreAudio output. (Default on Mac) */
FMOD_OUTPUTTYPE_PS2, /* PS2 - Native hard ware output. (Default on PS2) */ FMOD_OUTPUTTYPE_PS2, /* PS2 - Native hard ware output. (Default on PS2) */
FMOD_OUTPUTTYPE_PS3, /* PS3 - Native hard ware output. (Default on PS3) */ FMOD_OUTPUTTYPE_PS3, /* PS3 - Native hard ware output. (Default on PS3) */
FMOD_OUTPUTTYPE_XBOX360, /* Xbox 360 - Native hard ware output. (Default on Xbox 360) */ FMOD_OUTPUTTYPE_XBOX360, /* Xbox 360 - Native hard ware output. (Default on Xbox 360) */
FMOD_OUTPUTTYPE_PSP, /* PSP - Native hard ware output. (Default on PSP) */ FMOD_OUTPUTTYPE_PSP, /* PSP - Native hard ware output. (Default on PSP) */
FMOD_OUTPUTTYPE_WII, /* Wii - Native hardware output. (Default on Wii) */ FMOD_OUTPUTTYPE_WII, /* Wii - Native hardware output. (Default on Wii) */
FMOD_OUTPUTTYPE_ANDROID, /* Android - Native andr oid output. */
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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. */
skipping to change at line 427 skipping to change at line 427
[ [
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 #define FMOD_DEBUG_LEVEL_LOG 0x00000001
#define FMOD_DEBUG_LEVEL_ERROR 0x00000002 #define FMOD_DEBUG_LEVEL_ERROR 0x00000002
#define FMOD_DEBUG_LEVEL_WARNING 0x00000004 #define FMOD_DEBUG_LEVEL_WARNING 0x00000004
skipping to change at line 468 skipping to change at line 468
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 581 skipping to change at line 580
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 623 skipping to change at line 622
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 662 skipping to change at line 661
/* /*
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 693 skipping to change at line 692
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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_DSOUND_HRTFNONE 0x00000200 /* Win32 only - for
DirectSound output - FMOD_HARDWARE | FMOD_3D buffers use simple stereo pan
ning/doppler/attenuation when 3D hardware acceleration is not present. */
#define FMOD_INIT_DSOUND_HRTFLIGHT 0x00000400 /* Win32 only - for
DirectSound output - FMOD_HARDWARE | FMOD_3D buffers use a slightly higher
quality algorithm when 3D hardware acceleration is not present. */
#define FMOD_INIT_DSOUND_HRTFFULL 0x00000800 /* Win32 only - for
DirectSound output - FMOD_HARDWARE | FMOD_3D buffers use full quality 3D p
layback when 3d hardware acceleration is not present. */
#define FMOD_INIT_PS2_DISABLECORE0REVERB 0x00010000 /* PS2 only - Disab le reverb on CORE 0 to regain 256k SRAM. */ #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_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_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_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_WII_DISABLEDOLBY 0x00100000 /* Wii only - Disab le Dolby Pro Logic surround. Speakermode will be set to STEREO even if user has selected surround in the Wii system settings. */ #define FMOD_INIT_WII_DISABLEDOLBY 0x00100000 /* Wii only - Disab le Dolby Pro Logic surround. Speakermode will be set to STEREO even if user has selected surround in the Wii 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/ Solaris/PS3/Xbox360 - Use DTS Neural surround downmixing from 7.1 if speake rmode set to FMOD_SPEAKERMODE_STEREO or FMOD_SPEAKERMODE_5POINT1. Always 7. 1 -> 5.1 downmix for Xbox360 and PS3. Internal DSP structure will be set t o 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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_AAC, /* AAC. Currently unsupported. */
FMOD_SOUND_TYPE_AIFF, /* AIFF. */ FMOD_SOUND_TYPE_AIFF, /* AIFF. */
skipping to change at line 770 skipping to change at line 766
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 2 / PlayStation Portabl e adpcm VAG format. */
FMOD_SOUND_TYPE_AUDIOQUEUE, /* iPhone hardware decoder, supports A AC, ALAC and MP3. */ 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_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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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. */
skipping to change at line 845 skipping to change at line 841
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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
skipping to change at line 906 skipping to change at line 902
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 940 skipping to change at line 936
[ [
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 974 skipping to change at line 970
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1006 skipping to change at line 1002
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1086 skipping to change at line 1082
<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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1117 skipping to change at line 1113
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1144 skipping to change at line 1140
/* /*
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1177 skipping to change at line 1173
/* /*
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1215 skipping to change at line 1211
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1248 skipping to change at line 1244
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1277 skipping to change at line 1273
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1305 skipping to change at line 1301
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1342 skipping to change at line 1338
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1426 skipping to change at line 1422
<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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1469 skipping to change at line 1465
FMOD_FILE_CLOSECALLBACK userclose; /* [w] Optional. Spe cify 0 to ignore. Callback for closing this file. */ FMOD_FILE_CLOSECALLBACK userclose; /* [w] Optional. Spe cify 0 to ignore. Callback for closing this file. */
FMOD_FILE_READCALLBACK userread; /* [w] Optional. Spe cify 0 to ignore. Callback for reading from this file. */ FMOD_FILE_READCALLBACK userread; /* [w] Optional. Spe cify 0 to ignore. Callback for reading from this file. */
FMOD_FILE_SEEKCALLBACK userseek; /* [w] Optional. Spe cify 0 to ignore. Callback for seeking within this file. */ FMOD_FILE_SEEKCALLBACK userseek; /* [w] Optional. Spe cify 0 to ignore. Callback for seeking within this file. */
FMOD_FILE_ASYNCREADCALLBACK userasyncread; /* [w] Optional. Spe cify 0 to ignore. Callback for seeking within this file. */ FMOD_FILE_ASYNCREADCALLBACK userasyncread; /* [w] Optional. Spe cify 0 to ignore. Callback for seeking within this file. */
FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel; /* [w] Optional. Spe cify 0 to ignore. Callback for seeking within this file. */ FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel; /* [w] Optional. Spe cify 0 to ignore. Callback for seeking within this file. */
FMOD_SPEAKERMAPTYPE speakermap; /* [w] Optional. Spe cify 0 to ignore. Use this to differ the way fmod maps multichannel sounds to speakers. See FMOD_SPEAKERMAPTYPE for more. */ FMOD_SPEAKERMAPTYPE speakermap; /* [w] Optional. Spe cify 0 to ignore. Use this to differ the way fmod maps multichannel sounds to speakers. See FMOD_SPEAKERMAPTYPE for more. */
FMOD_SOUNDGROUP *initialsoundgroup; /* [w] Optional. Spe cify 0 to ignore. Specify a sound group if required, to put sound in as it is created. */ FMOD_SOUNDGROUP *initialsoundgroup; /* [w] Optional. Spe cify 0 to ignore. Specify a sound group if required, to put sound in as it is created. */
unsigned int initialseekposition;/* [w] Optional. Spe cify 0 to ignore. For streams. Specify an initial position to seek the stre am to. */ unsigned int initialseekposition;/* [w] Optional. Spe cify 0 to ignore. For streams. Specify an initial position to seek the stre am to. */
FMOD_TIMEUNIT initialseekpostype; /* [w] Optional. Spe cify 0 to ignore. For streams. Specify the time unit for the position set i n initialseekposition. */ FMOD_TIMEUNIT initialseekpostype; /* [w] Optional. Spe cify 0 to ignore. For streams. Specify the time unit for the position set i n initialseekposition. */
int ignoresetfilesystem;/* [w] Optional. Spe cify 0 to ignore. Set to 1 to use fmod's built in file system. Ignores setF ileSystem callbacks and also FMOD_CREATESOUNEXINFO file callbacks. Useful for specific cases where you don't want to use your own file system but wan t to use fmod's file system (ie net streaming). */ int ignoresetfilesystem;/* [w] Optional. Spe cify 0 to ignore. Set to 1 to use fmod's built in file system. Ignores setF ileSystem callbacks and also FMOD_CREATESOUNEXINFO file callbacks. Useful for specific cases where you don't want to use your own file system but wan t to use fmod's file system (ie net streaming). */
void *extracodecdata; /* [w] Optional. Spe cify 0 to ignore. Codec specific data. See FMOD_SOUND_TYPE for what each co dec might take here. */
} FMOD_CREATESOUNDEXINFO; } FMOD_CREATESOUNDEXINFO;
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure defining a reverb environment.<br> Structure defining a reverb environment.<br>
<br> <br>
For more indepth descriptions of the reverb properties under win32, ple ase see the EAX2 and EAX3 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> documentation at http://developer.creative.com/ under the 'downloads' s ection.<br>
skipping to change at line 1503 skipping to change at line 1500
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> 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> PS2 means Playstation 2 hardware reverb (must use FMOD_HARDWARE).<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>
<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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 IPTION */ { /* MIN MAX DEFAULT DESCR IPTION */
int Instance; /* [w] 0 , 3 , 0 , Envir onment Instance. Simultaneous HW reverbs are possible on some platforms. (S UPPORTED:EAX4/SFX(3 instances) and Wii (2 instances)) */ int Instance; /* [w] 0 , 3 , 0 , Envir onment Instance. Simultaneous HW reverbs are possible on some platforms. (S UPPORTED:EAX4/SFX(4 instances) and Wii (3 instances)) */
int Environment; /* [r/w] -1 , 25 , -1 , sets all listener properties. -1 = OFF. (S UPPORTED:EAX/PS2) */ int Environment; /* [r/w] -1 , 25 , -1 , sets all listener properties. -1 = OFF. (S UPPORTED:EAX/PS2) */
float EnvSize; /* [r/w] 1.0 , 100.0 , 7.5 , envir onment size in meters (S UPPORTED:EAX) */ float EnvSize; /* [r/w] 1.0 , 100.0 , 7.5 , envir onment size in meters (S UPPORTED:EAX) */
float EnvDiffusion; /* [r/w] 0.0 , 1.0 , 1.0 , envir onment diffusion (S UPPORTED:EAX) */ float EnvDiffusion; /* [r/w] 0.0 , 1.0 , 1.0 , envir onment diffusion (S UPPORTED:EAX) */
int Room; /* [r/w] -10000, 0 , -1000 , room effect level (at mid frequencies) (S UPPORTED:EAX/I3DL2/SFX) */ int Room; /* [r/w] -10000, 0 , -1000 , room effect level (at mid frequencies) (S UPPORTED:EAX/I3DL2/SFX) */
int RoomHF; /* [r/w] -10000, 0 , -100 , relat ive room effect level at high frequencies (S UPPORTED:EAX/I3DL2/SFX) */ int RoomHF; /* [r/w] -10000, 0 , -100 , relat ive room effect level at high frequencies (S UPPORTED:EAX/I3DL2/SFX) */
int RoomLF; /* [r/w] -10000, 0 , 0 , relat ive room effect level at low frequencies (S UPPORTED:EAX/SFX) */ int RoomLF; /* [r/w] -10000, 0 , 0 , relat ive room effect level at low frequencies (S UPPORTED:EAX/SFX) */
float DecayTime; /* [r/w] 0.1 , 20.0 , 1.49 , rever beration decay time at mid frequencies (S UPPORTED:EAX/I3DL2/SFX) */ float DecayTime; /* [r/w] 0.1 , 20.0 , 1.49 , rever beration decay time at mid frequencies (S UPPORTED:EAX/I3DL2/SFX) */
float DecayHFRatio; /* [r/w] 0.1 , 2.0 , 0.83 , high- frequency to mid-frequency decay time ratio (S UPPORTED:EAX/I3DL2/SFX) */ float DecayHFRatio; /* [r/w] 0.1 , 2.0 , 0.83 , high- frequency to mid-frequency decay time ratio (S UPPORTED:EAX/I3DL2/SFX) */
float DecayLFRatio; /* [r/w] 0.1 , 2.0 , 1.0 , low-f requency to mid-frequency decay time ratio (S UPPORTED:EAX) */ float DecayLFRatio; /* [r/w] 0.1 , 2.0 , 1.0 , low-f requency to mid-frequency decay time ratio (S UPPORTED:EAX) */
int Reflections; /* [r/w] -10000, 1000 , -2602 , early reflections level relative to room effect (S UPPORTED:EAX/I3DL2/SFX) */ int Reflections; /* [r/w] -10000, 1000 , -2602 , early reflections level relative to room effect (S UPPORTED:EAX/I3DL2/SFX) */
skipping to change at line 1555 skipping to change at line 1552
[ [
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[SEE_ALSO] [SEE_ALSO]
FMOD_REVERB_PROPERTIES FMOD_REVERB_PROPERTIES
] ]
*/ */
#define FMOD_REVERB_FLAGS_DECAYTIMESCALE 0x00000001 /* 'EnvSize' aff ects reverberation decay time */ #define FMOD_REVERB_FLAGS_DECAYTIMESCALE 0x00000001 /* 'EnvSize' aff ects reverberation decay time */
#define FMOD_REVERB_FLAGS_REFLECTIONSSCALE 0x00000002 /* 'EnvSize' aff ects reflection level */ #define FMOD_REVERB_FLAGS_REFLECTIONSSCALE 0x00000002 /* 'EnvSize' aff ects reflection level */
#define FMOD_REVERB_FLAGS_REFLECTIONSDELAYSCALE 0x00000004 /* 'EnvSize' aff ects initial reflection delay time */ #define FMOD_REVERB_FLAGS_REFLECTIONSDELAYSCALE 0x00000004 /* 'EnvSize' aff ects initial reflection delay time */
#define FMOD_REVERB_FLAGS_REVERBSCALE 0x00000008 /* 'EnvSize' aff ects reflections level */ #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_REVERBDELAYSCALE 0x00000010 /* 'EnvSize' aff ects late reverberation delay time */
skipping to change at line 1599 skipping to change at line 1596
[DESCRIPTION] [DESCRIPTION]
A set of predefined environment PARAMETERS, created by Creative Labs A set of predefined environment PARAMETERS, created by Creative Labs
These are used to initialize an FMOD_REVERB_PROPERTIES structure static ally. These are used to initialize an FMOD_REVERB_PROPERTIES structure static ally.
ie ie
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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[SEE_ALSO] [SEE_ALSO]
System::setReverbProperties System::setReverbProperties
] ]
*/ */
/* Inst Env Size Diffus Room Room HF RmLF DecTm DecHF DecLF Refl RefDel RefPan Revb Re vDel ReverbPan EchoTm EchDp ModTm ModDp AirAbs HFRef LFR ef RRlOff Diffus Densty FLAGS */ /* Inst Env Size Diffus Room Room HF RmLF DecTm DecHF DecLF Refl RefDel RefPan Revb Re vDel ReverbPan EchoTm EchDp ModTm ModDp AirAbs HFRef LFR ef RRlOff Diffus Densty FLAGS */
#define FMOD_PRESET_OFF { 0, -1, 7.5f, 1.00f, -10000, -100 00, 0, 1.00f, 1.00f, 1.0f, -2602, 0.007f, { 0.0f,0.0f,0.0f }, 200, 0. 011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 .0f, 0.0f, 0.0f, 0.0f, 0x33f } #define FMOD_PRESET_OFF { 0, -1, 7.5f, 1.00f, -10000, -100 00, 0, 1.00f, 1.00f, 1.0f, -2602, 0.007f, { 0.0f,0.0f,0.0f }, 200, 0. 011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250 .0f, 0.0f, 0.0f, 0.0f, 0x33f }
#define FMOD_PRESET_GENERIC { 0, 0, 7.5f, 1.00f, -1000, -100 , 0, 1.49f, 0.83f, 1.0f, -2602, 0.007f, { 0.0f,0.0f,0.0f }, 200, 0. 011f, { 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, 0x3f } #define FMOD_PRESET_GENERIC { 0, 0, 7.5f, 1.00f, -1000, -100 , 0, 1.49f, 0.83f, 1.0f, -2602, 0.007f, { 0.0f,0.0f,0.0f }, 200, 0. 011f, { 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, 0x3f }
#define FMOD_PRESET_PADDEDCELL { 0, 1, 1.4f, 1.00f, -1000, -600 0, 0, 0.17f, 0.10f, 1.0f, -1204, 0.001f, { 0.0f,0.0f,0.0f }, 207, 0. 002f, { 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, 0x3f } #define FMOD_PRESET_PADDEDCELL { 0, 1, 1.4f, 1.00f, -1000, -600 0, 0, 0.17f, 0.10f, 1.0f, -1204, 0.001f, { 0.0f,0.0f,0.0f }, 207, 0. 002f, { 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, 0x3f }
#define FMOD_PRESET_ROOM { 0, 2, 1.9f, 1.00f, -1000, -454 , 0, 0.40f, 0.83f, 1.0f, -1646, 0.002f, { 0.0f,0.0f,0.0f }, 53, 0. 003f, { 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, 0x3f } #define FMOD_PRESET_ROOM { 0, 2, 1.9f, 1.00f, -1000, -454 , 0, 0.40f, 0.83f, 1.0f, -1646, 0.002f, { 0.0f,0.0f,0.0f }, 53, 0. 003f, { 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, 0x3f }
skipping to change at line 1691 skipping to change at line 1688
<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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 CRIPTION */ { /* MIN MAX DEFAULT DES CRIPTION */
int Direct; /* [r/w] -10000, 1000, 0, dir ect path level (at low and mid frequencies) (SUPPORTED:EAX/I3D L2/SFX) */ int Direct; /* [r/w] -10000, 1000, 0, dir ect path level (at low and mid frequencies) (SUPPORTED:EAX/I3D L2/SFX) */
skipping to change at line 1740 skipping to change at line 1737
[REMARKS] [REMARKS]
For EAX4,EAX5 and SFX, there is support for multiple reverb environment s.<br> For EAX4,EAX5 and SFX, there is support for multiple reverb environment s.<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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[SEE_ALSO] [SEE_ALSO]
FMOD_REVERB_CHANNELPROPERTIES FMOD_REVERB_CHANNELPROPERTIES
] ]
*/ */
#define FMOD_REVERB_CHANNELFLAGS_DIRECTHFAUTO 0x00000001 /* Automatic sett ing of 'Direct' due to distance from listener */ #define FMOD_REVERB_CHANNELFLAGS_DIRECTHFAUTO 0x00000001 /* Automatic sett ing of 'Direct' due to distance from listener */
#define FMOD_REVERB_CHANNELFLAGS_ROOMAUTO 0x00000002 /* Automatic sett ing of 'Room' due to distance from listener */ #define FMOD_REVERB_CHANNELFLAGS_ROOMAUTO 0x00000002 /* Automatic sett ing of 'Room' due to distance from listener */
#define FMOD_REVERB_CHANNELFLAGS_ROOMHFAUTO 0x00000004 /* Automatic sett ing of 'RoomHF' due to distance from listener */ #define FMOD_REVERB_CHANNELFLAGS_ROOMHFAUTO 0x00000004 /* Automatic sett ing of 'RoomHF' due to distance from listener */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE0 0x00000010 /* EAX4/SFX/GameC #define FMOD_REVERB_CHANNELFLAGS_INSTANCE0 0x00000010 /* EAX4/SFX/Wii.
ube/Wii. Specify channel to target reverb instance 0. Default target. */ Specify channel to target reverb instance 0. Default target. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE1 0x00000020 /* EAX4/SFX/GameC #define FMOD_REVERB_CHANNELFLAGS_INSTANCE1 0x00000020 /* EAX4/SFX/Wii.
ube/Wii. Specify channel to target reverb instance 1. */ Specify channel to target reverb instance 1. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE2 0x00000040 /* EAX4/SFX/GameC #define FMOD_REVERB_CHANNELFLAGS_INSTANCE2 0x00000040 /* EAX4/SFX/Wii.
ube/Wii. Specify channel to target reverb instance 2. */ 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_INSTANCE3 0x00000080 /* EAX5/SFX. Spec ify channel to target reverb instance 3. */
#define FMOD_REVERB_CHANNELFLAGS_DEFAULT (FMOD_REVERB_CHANNELFLAGS_DI RECTHFAUTO | \ #define FMOD_REVERB_CHANNELFLAGS_DEFAULT (FMOD_REVERB_CHANNELFLAGS_DI RECTHFAUTO | \
FMOD_REVERB_CHANNELFLAGS_RO OMAUTO| \ FMOD_REVERB_CHANNELFLAGS_RO OMAUTO| \
FMOD_REVERB_CHANNELFLAGS_RO OMHFAUTO| \ FMOD_REVERB_CHANNELFLAGS_RO OMHFAUTO| \
FMOD_REVERB_CHANNELFLAGS_IN STANCE0) FMOD_REVERB_CHANNELFLAGS_IN STANCE0)
/* [DEFINE_END] */ /* [DEFINE_END] */
/* /*
[STRUCTURE] [STRUCTURE]
skipping to change at line 1781 skipping to change at line 1778
<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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 1824 skipping to change at line 1821
/* /*
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[SEE_ALSO] [SEE_ALSO]
System::playSound System::playSound
System::playDSP System::playDSP
System::getChannel System::getChannel
System::getMasterChannelGroup System::getMasterChannelGroup
] ]
*/ */
typedef enum typedef enum
{ {
 End of changes. 48 change blocks. 
68 lines changed or deleted 57 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 70 skipping to change at line 70
FMOD_DSP_TYPE_CHORUS, /* This unit produces a chorus effect on the sound. */ FMOD_DSP_TYPE_CHORUS, /* This unit produces a chorus effect on the sound. */
FMOD_DSP_TYPE_REVERB, /* This unit produces a reverb effect on the sound. */ FMOD_DSP_TYPE_REVERB, /* This unit produces a reverb effect on the sound. */
FMOD_DSP_TYPE_VSTPLUGIN, /* This unit allows the use of Steinb erg VST plugins */ FMOD_DSP_TYPE_VSTPLUGIN, /* This unit allows the use of Steinb erg VST plugins */
FMOD_DSP_TYPE_WINAMPPLUGIN, /* This unit allows the use of Nullso ft Winamp plugins */ FMOD_DSP_TYPE_WINAMPPLUGIN, /* This unit allows the use of Nullso ft Winamp plugins */
FMOD_DSP_TYPE_ITECHO, /* This unit produces an echo on the sound and fades out at the desired rate as is used in Impulse Tracker. */ FMOD_DSP_TYPE_ITECHO, /* This unit produces an echo on the sound and fades out at the desired rate as is used in Impulse Tracker. */
FMOD_DSP_TYPE_COMPRESSOR, /* This unit implements dynamic compr ession (linked multichannel, wideband) */ FMOD_DSP_TYPE_COMPRESSOR, /* This unit implements dynamic compr ession (linked multichannel, wideband) */
FMOD_DSP_TYPE_SFXREVERB, /* This unit implements SFX reverb */ FMOD_DSP_TYPE_SFXREVERB, /* This unit implements SFX reverb */
FMOD_DSP_TYPE_LOWPASS_SIMPLE, /* This unit filters sound using a si mple lowpass with no resonance, but has flexible cutoff and is fast. */ FMOD_DSP_TYPE_LOWPASS_SIMPLE, /* This unit filters sound using a si mple lowpass with no resonance, but has flexible cutoff and is fast. */
FMOD_DSP_TYPE_DELAY, /* This unit produces different delay s on individual channels of the sound. */ FMOD_DSP_TYPE_DELAY, /* This unit produces different delay s on individual channels of the sound. */
FMOD_DSP_TYPE_TREMOLO, /* This unit produces a tremolo / cho pper effect on the sound. */ FMOD_DSP_TYPE_TREMOLO, /* This unit produces a tremolo / cho pper effect on the sound. */
FMOD_DSP_TYPE_LADSPAPLUGIN, /* This unit allows the use of LADSPA standard plugins. */
FMOD_DSP_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32b it. */ FMOD_DSP_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32b it. */
} FMOD_DSP_TYPE; } FMOD_DSP_TYPE;
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure to define a parameter for a DSP unit. Structure to define a parameter for a DSP unit.
[REMARKS] [REMARKS]
skipping to change at line 91 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 123 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 162 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 193 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 216 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 246 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 269 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 299 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 329 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 371 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 402 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 431 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 459 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 488 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 526 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 554 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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 585 skipping to change at line 586
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Parameter types for the FMOD_DSP_TYPE_REVERB filter. Parameter types for the FMOD_DSP_TYPE_REVERB filter.
[REMARKS] [REMARKS]
Based on freeverb by Jezar at Dreampoint - http://www.dreampoint.co.uk. 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. 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] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[SEE_ALSO] [SEE_ALSO]
DSP::setParameter DSP::setParameter
DSP::getParameter DSP::getParameter
FMOD_DSP_TYPE FMOD_DSP_TYPE
] ]
*/ */
typedef enum typedef enum
{ {
FMOD_DSP_REVERB_ROOMSIZE, /* Roomsize. 0.0 to 1.0. Default = 0.5 */ FMOD_DSP_REVERB_ROOMSIZE, /* Roomsize. 0.0 to 1.0. Default = 0.5 */
skipping to change at line 619 skipping to change at line 620
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 654 skipping to change at line 655
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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 684 skipping to change at line 685
[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 which improves greatly on FMO D_DSP_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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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
skipping to change at line 724 skipping to change at line 725
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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. 23 change blocks. 
22 lines changed or deleted 23 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 0x00043103 #define FMOD_EVENT_VERSION 0x00043104
/* /*
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 479 skipping to change at line 479
number of playing events is greater than numplayingevents then the play ingevents array will be filled with number of playing events is greater than numplayingevents then the play ingevents array will be filled with
numplayingevents entries and numplayingevents will be set to the actual number of playing events on exit. numplayingevents entries and numplayingevents will be set to the actual number of playing events on exit.
In short, if numplayingevents on exit > numplayingevents on entry then the playingevents array wasn't large In short, if numplayingevents on exit > numplayingevents on entry then the playingevents array wasn't large
enough and some events were unable to be added to the array. enough and some events were unable to be added to the array.
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube, PlayStation Portable, PlayStation 3 Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube, PlayStation Portable, PlayStation 3
[SEE_ALSO] [SEE_ALSO]
EventSystem::getInfo EventSystem::getInfo
EventProject::getInfo
FMOD_EVENT_WAVEBANKINFO FMOD_EVENT_WAVEBANKINFO
] ]
*/ */
typedef struct FMOD_EVENT_SYSTEMINFO typedef struct FMOD_EVENT_SYSTEMINFO
{ {
#ifdef __cplusplus #ifdef __cplusplus
FMOD_EVENT_SYSTEMINFO() : numevents(0), numinstances(0), maxwavebanks(0 ), wavebankinfo(0), numplayingevents(0), playingevents(0) {} FMOD_EVENT_SYSTEMINFO() : numevents(0), numinstances(0), maxwavebanks(0 ), wavebankinfo(0), numplayingevents(0), playingevents(0) {}
#endif #endif
int numevents; /* [out] Total number of eve nts in all event groups in this event system. */ int numevents; /* [out] Total number of eve nts in all event groups in this event system. */
skipping to change at line 501 skipping to change at line 502
FMOD_EVENT_WAVEBANKINFO *wavebankinfo; /* [in] Pointer to array FMO D_EVENT_WAVEBANKINFO structures (max size defined by maxwavebanks). FMOD w ill fill these in with detailed information on each wave bank. Optional. */ FMOD_EVENT_WAVEBANKINFO *wavebankinfo; /* [in] Pointer to array FMO D_EVENT_WAVEBANKINFO structures (max size defined by maxwavebanks). FMOD w ill fill these in with detailed information on each wave bank. Optional. */
int numplayingevents; /* [in/out] On entry, maximu m number of entries in playingevents array. On exit, actual number of entri es in playingevents array, or if playingevents is null, then it is just the number of currently playing events. Optional. */ int numplayingevents; /* [in/out] On entry, maximu m number of entries in playingevents array. On exit, actual number of entri es in playingevents array, or if playingevents is null, then it is just the number of currently playing events. Optional. */
FMOD_EVENT **playingevents; /* [in/out] Pointer to an ar ray that will be filled with the event handles of all playing events. Optio nal. Specify 0 if not needed. Must be used in conjunction with numplayingev ents. */ FMOD_EVENT **playingevents; /* [in/out] Pointer to an ar ray that will be filled with the event handles of all playing events. Optio nal. Specify 0 if not needed. Must be used in conjunction with numplayingev ents. */
} FMOD_EVENT_SYSTEMINFO; } FMOD_EVENT_SYSTEMINFO;
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure containing realtime information about an event project.
[REMARKS]
On entry, numplayingevents should be set to the number of elements in t
he playingevents array. If the actual
number of playing events is greater than numplayingevents then the play
ingevents array will be filled with
numplayingevents entries and numplayingevents will be set to the actual
number of playing events on exit.
In short, if numplayingevents on exit > numplayingevents on entry then
the playingevents array wasn't large
enough and some events were unable to be added to the array.
[PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2,
GameCube, PlayStation Portable, PlayStation 3
[SEE_ALSO]
EventProject::getInfo
EventSystem::getInfo
FMOD_EVENT_WAVEBANKINFO
]
*/
typedef struct FMOD_EVENT_PROJECTINFO
{
#ifdef __cplusplus
FMOD_EVENT_PROJECTINFO() : index(0), numevents(0), numinstances(0), max
wavebanks(0), wavebankinfo(0), numplayingevents(0), playingevents(0) {}
#endif
int index; /* [out] Index of the projec
t. */
char name[256]; /* [out] Name of the project
. */
int numevents; /* [out] Total number of eve
nts in all event groups in this event project. */
int numinstances; /* [out] Total number of eve
nt instances in all event groups in this event project. */
int maxwavebanks; /* [in/out] Out, number of w
avebanks loaded by the EventProject. In. Maximum size of array of wavebank
info structures supplied by user. Optional. */
FMOD_EVENT_WAVEBANKINFO *wavebankinfo; /* [in] Pointer to array FMO
D_EVENT_WAVEBANKINFO structures (max size defined by maxwavebanks). FMOD w
ill fill these in with detailed information on each wave bank. Optional. */
int numplayingevents; /* [in/out] On entry, maximu
m number of entries in playingevents array. On exit, actual number of entri
es in playingevents array, or if playingevents is null, then it is just the
number of currently playing events. Optional. */
FMOD_EVENT **playingevents; /* [in/out] Pointer to an ar
ray that will be filled with the event handles of all playing events. Optio
nal. Specify 0 if not needed. Must be used in conjunction with numplayingev
ents. */
} FMOD_EVENT_PROJECTINFO;
/*
[STRUCTURE]
[
[DESCRIPTION]
Structure containing extended information about an event. Structure containing extended information about an event.
[REMARKS] [REMARKS]
This structure is optional! Specify 0 or NULL in Event::getInfo if you don't need it!<br> This structure is optional! Specify 0 or NULL in Event::getInfo if you don't need it!<br>
This structure has members that need to be initialized before Event::ge tInfo is called. Always initialize this structure before calling Event::get Info! This structure has members that need to be initialized before Event::ge tInfo is called. Always initialize this structure before calling Event::get Info!
[PLATFORMS] [PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube, PlayStation Portable, PlayStation 3 Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube, PlayStation Portable, PlayStation 3
[SEE_ALSO] [SEE_ALSO]
Event::getInfo Event::getInfo
FMOD_GUID FMOD_GUID
] ]
*/ */
typedef struct FMOD_EVENT_INFO typedef struct FMOD_EVENT_INFO
{ {
#ifdef __cplusplus #ifdef __cplusplus
FMOD_EVENT_INFO() : memoryused(0), positionms(0), lengthms(0), channels playing(0), instancesactive(0), maxwavebanks(0), wavebankinfo(0), projectid (0), audibility(0), numinstances(0), instances(0) { guid.Data1 = guid.Data2 = guid.Data3 = guid.Data4[0] = guid.Data4[1] = guid.Data4[2] = guid.Data4[ 3] = guid.Data4[5] = guid.Data4[6] = guid.Data4[7] = guid.Data4[7] = 0; } FMOD_EVENT_INFO() : memoryused(0), positionms(0), lengthms(0), channels playing(0), instancesactive(0), maxwavebanks(0), wavebankinfo(0), projectid (0), systemid(0), audibility(0), numinstances(0), instances(0), guid(0) {}
#endif #endif
int memoryused; /* This member has been dep recated. */ int memoryused; /* This member has been dep recated. */
int positionms; /* [out] Time passed in pla yback of this event instance in milliseconds. */ int positionms; /* [out] Time passed in pla yback of this event instance in milliseconds. */
int lengthms; /* [out] Length in millisec onds of this event. Note: lengthms will be -1 if the length of the event ca n't be determined i.e. if it has looping sounds. */ int lengthms; /* [out] Length in millisec onds of this event. Note: lengthms will be -1 if the length of the event ca n't be determined i.e. if it has looping sounds. */
int channelsplaying; /* [out] Number of channels currently playing in this event instance. */ int channelsplaying; /* [out] Number of channels currently playing in this event instance. */
int instancesactive; /* [out] Number of event in stances currently in use. */ int instancesactive; /* [out] Number of event in stances currently in use. */
int maxwavebanks; /* [in/out] Out, number of wavebanks refered to by this event. In. Maximum size of array of wavebanki nfo structures supplied by user. Optional. */ int maxwavebanks; /* [in/out] Out, number of wavebanks refered to by this event. In. Maximum size of array of wavebanki nfo structures supplied by user. Optional. */
FMOD_EVENT_WAVEBANKINFO *wavebankinfo; /* [in] Pointer to array FM OD_EVENT_WAVEBANKINFO structures (max size defined by maxwavebanks). FMOD will fill these in with detailed information on each wave bank. Optional. * / FMOD_EVENT_WAVEBANKINFO *wavebankinfo; /* [in] Pointer to array FM OD_EVENT_WAVEBANKINFO structures (max size defined by maxwavebanks). FMOD will fill these in with detailed information on each wave bank. Optional. * /
unsigned int projectid; /* [out] The runtime 'Event Project' wide unique identifier for this event. */ unsigned int projectid; /* [out] The runtime 'Event Project' wide unique identifier for this event. */
float audibility; /* [out] Current audibility unsigned int systemid; /* [out] The runtime 'Event
of this event. */ System' wide unique identifier for this event. This is calculated when sin
gle or multiple projects are loaded. */
float audibility; /* [out] current audibility
of event. */
int numinstances; /* [in/out] On entry, maxim um number of entries in instances array. On exit, actual number of entries in instances array, or if instances is null, then it is just the number of instances of this event. Optional. */ int numinstances; /* [in/out] On entry, maxim um number of entries in instances array. On exit, actual number of entries in instances array, or if instances is null, then it is just the number of instances of this event. Optional. */
FMOD_EVENT **instances; /* [in/out] Pointer to an a rray that will be filled with the current reference-counted event handles o f all instances of this event. Optional. Specify 0 if not needed. Must be u sed in conjunction with numinstances. Note: Due to reference counting, the event instance handles returned here may be different between subsequent ca lls to this function. If you use these event handles, make sure your code i s prepared for them to be invalid! */ FMOD_EVENT **instances; /* [in/out] Pointer to an a rray that will be filled with the current reference-counted event handles o f all instances of this event. Optional. Specify 0 if not needed. Must be u sed in conjunction with numinstances. Note: Due to reference counting, the event instance handles returned here may be different between subsequent ca lls to this function. If you use these event handles, make sure your code i s prepared for them to be invalid! */
FMOD_GUID guid; /* [out] The event's Global FMOD_GUID *guid; /* [out] Pointer to a struc
ly Unique Identifier. */ ture that will be filled with the event's GUID. Optional. Specify 0 if not
needed. */
} FMOD_EVENT_INFO; } FMOD_EVENT_INFO;
/* /*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
Sound definition entry types for FMOD_EVENT_SOUNDDEFINFO. Sound definition entry types for FMOD_EVENT_SOUNDDEFINFO.
[REMARKS] [REMARKS]
skipping to change at line 837 skipping to change at line 879
FMOD_RESULT F_API FMOD_EventSystem_GetProject (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_EVENTPROJECT **project); FMOD_RESULT F_API FMOD_EventSystem_GetProject (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_EVENTPROJECT **project);
FMOD_RESULT F_API FMOD_EventSystem_GetProjectByIndex (FMOD_EVENTSYSTEM *eve ntsystem, int index, FMOD_EVENTPROJECT **project); FMOD_RESULT F_API FMOD_EventSystem_GetProjectByIndex (FMOD_EVENTSYSTEM *eve ntsystem, int index, FMOD_EVENTPROJECT **project);
FMOD_RESULT F_API FMOD_EventSystem_GetNumProjects (FMOD_EVENTSYSTEM *eve ntsystem, int *numprojects); FMOD_RESULT F_API FMOD_EventSystem_GetNumProjects (FMOD_EVENTSYSTEM *eve ntsystem, int *numprojects);
FMOD_RESULT F_API FMOD_EventSystem_GetCategory (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_EVENTCATEGORY **category); FMOD_RESULT F_API FMOD_EventSystem_GetCategory (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_EVENTCATEGORY **category);
FMOD_RESULT F_API FMOD_EventSystem_GetCategoryByIndex(FMOD_EVENTSYSTEM *eve ntsystem, int index, FMOD_EVENTCATEGORY **category); FMOD_RESULT F_API FMOD_EventSystem_GetCategoryByIndex(FMOD_EVENTSYSTEM *eve ntsystem, int index, FMOD_EVENTCATEGORY **category);
FMOD_RESULT F_API FMOD_EventSystem_GetMusicCategory (FMOD_EVENTSYSTEM *eve ntsystem, FMOD_EVENTCATEGORY **category); FMOD_RESULT F_API FMOD_EventSystem_GetMusicCategory (FMOD_EVENTSYSTEM *eve ntsystem, FMOD_EVENTCATEGORY **category);
FMOD_RESULT F_API FMOD_EventSystem_GetNumCategories (FMOD_EVENTSYSTEM *eve ntsystem, int *numcategories); FMOD_RESULT F_API FMOD_EventSystem_GetNumCategories (FMOD_EVENTSYSTEM *eve ntsystem, int *numcategories);
FMOD_RESULT F_API FMOD_EventSystem_GetGroup (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_BOOL cacheevents, FMOD_EVENTGROUP **group) ; FMOD_RESULT F_API FMOD_EventSystem_GetGroup (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_BOOL cacheevents, FMOD_EVENTGROUP **group) ;
FMOD_RESULT F_API FMOD_EventSystem_GetEvent (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_EVENT_MODE mode, FMOD_EVENT **event); FMOD_RESULT F_API FMOD_EventSystem_GetEvent (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_EVENT_MODE mode, FMOD_EVENT **event);
FMOD_RESULT F_API FMOD_EventSystem_GetEventBySystemID(FMOD_EVENTSYSTEM *eve ntsystem, unsigned int systemid, FMOD_EVENT_MODE mode, FMOD_EVENT **event);
FMOD_RESULT F_API FMOD_EventSystem_GetEventByGUID (FMOD_EVENTSYSTEM *eve ntsystem, const FMOD_GUID *guid, FMOD_EVENT_MODE mode, FMOD_EVENT **event); FMOD_RESULT F_API FMOD_EventSystem_GetEventByGUID (FMOD_EVENTSYSTEM *eve ntsystem, const FMOD_GUID *guid, FMOD_EVENT_MODE mode, FMOD_EVENT **event);
FMOD_RESULT F_API FMOD_EventSystem_GetEventByGUIDString(FMOD_EVENTSYSTEM *e ventsystem, const char *guid, FMOD_EVENT_MODE mode, FMOD_EVENT **event); FMOD_RESULT F_API FMOD_EventSystem_GetEventByGUIDString(FMOD_EVENTSYSTEM *e ventsystem, const char *guid, FMOD_EVENT_MODE mode, FMOD_EVENT **event);
FMOD_RESULT F_API FMOD_EventSystem_GetNumEvents (FMOD_EVENTSYSTEM *eve ntsystem, int *numevents); FMOD_RESULT F_API FMOD_EventSystem_GetNumEvents (FMOD_EVENTSYSTEM *eve ntsystem, int *numevents);
/* /*
Reverb interfaces. Reverb interfaces.
*/ */
FMOD_RESULT F_API FMOD_EventSystem_SetReverbProperties(FMOD_EVENTSYSTEM *ev entsystem, const FMOD_REVERB_PROPERTIES *props); FMOD_RESULT F_API FMOD_EventSystem_SetReverbProperties(FMOD_EVENTSYSTEM *ev entsystem, const FMOD_REVERB_PROPERTIES *props);
FMOD_RESULT F_API FMOD_EventSystem_GetReverbProperties(FMOD_EVENTSYSTEM *ev entsystem, FMOD_REVERB_PROPERTIES *props); FMOD_RESULT F_API FMOD_EventSystem_GetReverbProperties(FMOD_EVENTSYSTEM *ev entsystem, FMOD_REVERB_PROPERTIES *props);
skipping to change at line 893 skipping to change at line 936
FMOD_RESULT F_API FMOD_EventSystem_PreloadFSB (FMOD_EVENTSYSTEM *eve ntsystem, const char *filename, int streaminstance, FMOD_SOUND *sound); FMOD_RESULT F_API FMOD_EventSystem_PreloadFSB (FMOD_EVENTSYSTEM *eve ntsystem, const char *filename, int streaminstance, FMOD_SOUND *sound);
FMOD_RESULT F_API FMOD_EventSystem_UnloadFSB (FMOD_EVENTSYSTEM *eve ntsystem, const char *filename, int streaminstance); FMOD_RESULT F_API FMOD_EventSystem_UnloadFSB (FMOD_EVENTSYSTEM *eve ntsystem, const char *filename, int streaminstance);
FMOD_RESULT F_API FMOD_EventSystem_GetMemoryInfo (FMOD_EVENTSYSTEM *eve ntsystem, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details); FMOD_RESULT F_API FMOD_EventSystem_GetMemoryInfo (FMOD_EVENTSYSTEM *eve ntsystem, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
/* /*
'EventProject' API 'EventProject' API
*/ */
FMOD_RESULT F_API FMOD_EventProject_Release (FMOD_EVENTPROJECT *ev entproject); FMOD_RESULT F_API FMOD_EventProject_Release (FMOD_EVENTPROJECT *ev entproject);
FMOD_RESULT F_API FMOD_EventProject_GetInfo (FMOD_EVENTPROJECT *ev entproject, int *index, char **name); FMOD_RESULT F_API FMOD_EventProject_GetInfo (FMOD_EVENTPROJECT *ev entproject, FMOD_EVENT_PROJECTINFO *info);
FMOD_RESULT F_API FMOD_EventProject_GetGroup (FMOD_EVENTPROJECT *ev entproject, const char *name, FMOD_BOOL cacheevents, FMOD_EVENTGROUP **grou p); FMOD_RESULT F_API FMOD_EventProject_GetGroup (FMOD_EVENTPROJECT *ev entproject, const char *name, FMOD_BOOL cacheevents, FMOD_EVENTGROUP **grou p);
FMOD_RESULT F_API FMOD_EventProject_GetGroupByIndex (FMOD_EVENTPROJECT *ev entproject, int index, FMOD_BOOL cacheevents, FMOD_EVENTGROUP **group); FMOD_RESULT F_API FMOD_EventProject_GetGroupByIndex (FMOD_EVENTPROJECT *ev entproject, int index, FMOD_BOOL cacheevents, FMOD_EVENTGROUP **group);
FMOD_RESULT F_API FMOD_EventProject_GetNumGroups (FMOD_EVENTPROJECT *ev entproject, int *numgroups); FMOD_RESULT F_API FMOD_EventProject_GetNumGroups (FMOD_EVENTPROJECT *ev entproject, int *numgroups);
FMOD_RESULT F_API FMOD_EventProject_GetEvent (FMOD_EVENTPROJECT *ev entproject, const char *name, FMOD_EVENT_MODE mode, FMOD_EVENT **event); FMOD_RESULT F_API FMOD_EventProject_GetEvent (FMOD_EVENTPROJECT *ev entproject, const char *name, FMOD_EVENT_MODE mode, FMOD_EVENT **event);
FMOD_RESULT F_API FMOD_EventProject_GetEventByIndex (FMOD_EVENTPROJECT *ev entproject, int index, FMOD_EVENT_MODE mode, FMOD_EVENT **event); FMOD_RESULT F_API FMOD_EventProject_GetEventByProjectID(FMOD_EVENTPROJECT * eventproject, unsigned int projectid, FMOD_EVENT_MODE mode, FMOD_EVENT **ev ent);
FMOD_RESULT F_API FMOD_EventProject_GetNumEvents (FMOD_EVENTPROJECT *ev entproject, int *numevents); FMOD_RESULT F_API FMOD_EventProject_GetNumEvents (FMOD_EVENTPROJECT *ev entproject, int *numevents);
FMOD_RESULT F_API FMOD_EventProject_LoadSampleData (FMOD_EVENTPROJECT *ev entproject, int *eventid_array, int sizeof_eventid_array, char **groupname_ array, int sizeof_groupname_array, FMOD_EVENT_MODE eventmode); FMOD_RESULT F_API FMOD_EventProject_LoadSampleData (FMOD_EVENTPROJECT *ev entproject, int *eventid_array, int sizeof_eventid_array, char **groupname_ array, int sizeof_groupname_array, FMOD_EVENT_MODE eventmode);
FMOD_RESULT F_API FMOD_EventProject_StopAllEvents (FMOD_EVENTPROJECT *ev entproject, FMOD_BOOL immediate);
FMOD_RESULT F_API FMOD_EventProject_SetUserData (FMOD_EVENTPROJECT *ev entproject, void *userdata); FMOD_RESULT F_API FMOD_EventProject_SetUserData (FMOD_EVENTPROJECT *ev entproject, void *userdata);
FMOD_RESULT F_API FMOD_EventProject_GetUserData (FMOD_EVENTPROJECT *ev entproject, void **userdata); FMOD_RESULT F_API FMOD_EventProject_GetUserData (FMOD_EVENTPROJECT *ev entproject, void **userdata);
FMOD_RESULT F_API FMOD_EventProject_StopAllEvents (FMOD_EVENTPROJECT *ev
entproject, FMOD_BOOL immediate);
FMOD_RESULT F_API FMOD_EventProject_GetMemoryInfo (FMOD_EVENTPROJECT *ev entproject, unsigned int memorybits, unsigned int event_memorybits, unsigne d int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details); FMOD_RESULT F_API FMOD_EventProject_GetMemoryInfo (FMOD_EVENTPROJECT *ev entproject, unsigned int memorybits, unsigned int event_memorybits, unsigne d int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
/* /*
'EventGroup' API 'EventGroup' API
*/ */
FMOD_RESULT F_API FMOD_EventGroup_GetInfo (FMOD_EVENTGROUP *even tgroup, int *index, char **name); FMOD_RESULT F_API FMOD_EventGroup_GetInfo (FMOD_EVENTGROUP *even tgroup, int *index, char **name);
FMOD_RESULT F_API FMOD_EventGroup_LoadEventData (FMOD_EVENTGROUP *even tgroup, FMOD_EVENT_RESOURCE resource, FMOD_EVENT_MODE mode); FMOD_RESULT F_API FMOD_EventGroup_LoadEventData (FMOD_EVENTGROUP *even tgroup, FMOD_EVENT_RESOURCE resource, FMOD_EVENT_MODE mode);
FMOD_RESULT F_API FMOD_EventGroup_FreeEventData (FMOD_EVENTGROUP *even tgroup, FMOD_EVENT *event, FMOD_BOOL waituntilready); FMOD_RESULT F_API FMOD_EventGroup_FreeEventData (FMOD_EVENTGROUP *even tgroup, FMOD_EVENT *event, FMOD_BOOL waituntilready);
FMOD_RESULT F_API FMOD_EventGroup_GetGroup (FMOD_EVENTGROUP *even tgroup, const char *name, FMOD_BOOL cacheevents, FMOD_EVENTGROUP **group); FMOD_RESULT F_API FMOD_EventGroup_GetGroup (FMOD_EVENTGROUP *even tgroup, const char *name, FMOD_BOOL cacheevents, FMOD_EVENTGROUP **group);
 End of changes. 11 change blocks. 
11 lines changed or deleted 75 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 0x00043103 #define FMOD_EVENT_NET_VERSION 0x00043104
/* /*
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_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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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, Solaris, iPhone Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt ation Portable, PlayStation 3, Wii, iPhone
[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/