fmod.h   fmod.h 
/*$ preserve start $*/ /*$ preserve start $*/
/* ======================================================================== ==================== */ /* ======================================================================== ==================== */
/* FMOD Ex - Main C/C++ header file. Copyright (c), Firelight Technologies Pty, Ltd. 2004-2009. */ /* FMOD Ex - Main C/C++ header file. Copyright (c), Firelight Technologies Pty, Ltd. 2004-2010. */
/* */ /* */
/* This header is the base header for all other FMOD headers. If you are p rogramming in C */ /* This header is the base header for all other FMOD headers. If you are p rogramming in C */
/* use this exclusively, or if you are programming C++ use this in conjunct ion with FMOD.HPP */ /* use this exclusively, or if you are programming C++ use this in conjunct ion with FMOD.HPP */
/* */ /* */
/* ======================================================================== ==================== */ /* ======================================================================== ==================== */
#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 0x00043005 #define FMOD_VERSION 0x00043100
/* /*
Compiler specific settings. Compiler specific settings.
*/ */
#if defined(__CYGWIN32__) #if defined(__CYGWIN32__)
#define F_CDECL __cdecl #define F_CDECL __cdecl
#define F_STDCALL __stdcall #define F_STDCALL __stdcall
#define F_DECLSPEC __declspec #define F_DECLSPEC __declspec
#define F_DLLEXPORT ( dllexport ) #define F_DLLEXPORT ( dllexport )
skipping to change at line 82 skipping to change at line 82
typedef struct FMOD_POLYGON FMOD_POLYGON; typedef struct FMOD_POLYGON FMOD_POLYGON;
typedef struct FMOD_GEOMETRY FMOD_GEOMETRY; typedef struct FMOD_GEOMETRY FMOD_GEOMETRY;
typedef struct FMOD_SYNCPOINT FMOD_SYNCPOINT; typedef struct FMOD_SYNCPOINT FMOD_SYNCPOINT;
typedef unsigned int FMOD_MODE; typedef unsigned int FMOD_MODE;
typedef unsigned int FMOD_TIMEUNIT; typedef unsigned int FMOD_TIMEUNIT;
typedef unsigned int FMOD_INITFLAGS; typedef unsigned int FMOD_INITFLAGS;
typedef unsigned int FMOD_CAPS; typedef unsigned int FMOD_CAPS;
typedef unsigned int FMOD_DEBUGLEVEL; typedef unsigned int FMOD_DEBUGLEVEL;
typedef unsigned int FMOD_MEMORY_TYPE; typedef unsigned int FMOD_MEMORY_TYPE;
/*
[STRUCTURE]
[
[DESCRIPTION]
Structure describing a point in 3D space.
[REMARKS]
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.
[PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt
ation Portable, PlayStation 3, Wii, Solaris, iPhone
[SEE_ALSO]
System::set3DListenerAttributes
System::get3DListenerAttributes
Channel::set3DAttributes
Channel::get3DAttributes
Channel::set3DCustomRolloff
Channel::get3DCustomRolloff
Sound::set3DCustomRolloff
Sound::get3DCustomRolloff
Geometry::addPolygon
Geometry::setPolygonVertex
Geometry::getPolygonVertex
Geometry::setRotation
Geometry::getRotation
Geometry::setPosition
Geometry::getPosition
Geometry::setScale
Geometry::getScale
FMOD_INITFLAGS
]
*/
typedef struct
{
float x; /* X co-ordinate in 3D space. */
float y; /* Y co-ordinate in 3D space. */
float z; /* Z co-ordinate in 3D space. */
} FMOD_VECTOR;
/*
[STRUCTURE]
[
[DESCRIPTION]
Structure describing a globally unique identifier.
[REMARKS]
[PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt
ation Portable, PlayStation 3, Wii, Solaris, iPhone
[SEE_ALSO]
System::getDriverInfo
]
*/
typedef struct
{
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 Data3; /* Specifies the second group of 4 hexadeci
mal digits. */
unsigned char Data4[8]; /* Array of 8 bytes. The first 2 bytes cont
ain the third group of 4 hexadecimal digits. The remaining 6 bytes contain
the final 12 hexadecimal digits. */
} FMOD_GUID;
/*$ 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]
skipping to change at line 269 skipping to change at line 205
FMOD_ERR_MUSIC_UNINITIALIZED, /* Music system is not initialized prob ably because no music data is loaded. */ FMOD_ERR_MUSIC_UNINITIALIZED, /* Music system is not initialized prob ably because no music data is loaded. */
FMOD_ERR_MUSIC_NOTFOUND, /* The requested music entity could not be found. */ FMOD_ERR_MUSIC_NOTFOUND, /* The requested music entity could not be found. */
FMOD_ERR_MUSIC_NOCALLBACK, /* The music callback is required, but it has not been set. */ FMOD_ERR_MUSIC_NOCALLBACK, /* The music callback is required, but it has not been set. */
FMOD_RESULT_FORCEINT = 65536 /* Makes sure this enum is signed 32bit . */ FMOD_RESULT_FORCEINT = 65536 /* Makes sure this enum is signed 32bit . */
} FMOD_RESULT; } FMOD_RESULT;
/*$ fmod result end $*/ /*$ fmod result end $*/
/* /*
[STRUCTURE]
[
[DESCRIPTION]
Structure describing a point in 3D space.
[REMARKS]
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.
[PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt
ation Portable, PlayStation 3, Wii, Solaris, iPhone
[SEE_ALSO]
System::set3DListenerAttributes
System::get3DListenerAttributes
Channel::set3DAttributes
Channel::get3DAttributes
Channel::set3DCustomRolloff
Channel::get3DCustomRolloff
Sound::set3DCustomRolloff
Sound::get3DCustomRolloff
Geometry::addPolygon
Geometry::setPolygonVertex
Geometry::getPolygonVertex
Geometry::setRotation
Geometry::getRotation
Geometry::setPosition
Geometry::getPosition
Geometry::setScale
Geometry::getScale
FMOD_INITFLAGS
]
*/
typedef struct
{
float x; /* X co-ordinate in 3D space. */
float y; /* Y co-ordinate in 3D space. */
float z; /* Z co-ordinate in 3D space. */
} FMOD_VECTOR;
/*
[STRUCTURE]
[
[DESCRIPTION]
Structure describing a globally unique identifier.
[REMARKS]
[PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt
ation Portable, PlayStation 3, Wii, Solaris, iPhone
[SEE_ALSO]
System::getDriverInfo
]
*/
typedef struct
{
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 Data3; /* Specifies the second group of 4 hexadeci
mal digits. */
unsigned char Data4[8]; /* Array of 8 bytes. The first 2 bytes cont
ain the third group of 4 hexadecimal digits. The remaining 6 bytes contain
the final 12 hexadecimal digits. */
} FMOD_GUID;
/*
[STRUCTURE]
[
[DESCRIPTION]
Structure that is passed into FMOD_FILE_ASYNCREADCALLBACK. Use the inf
ormation in this structure to perform
[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 [w] mean the variable can be written to. The user
can set the value.<br>
<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>
<br>
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 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 disk was ejected, return FMOD_ERR_FILE_DISKEJECTED.<br>
[PLATFORMS]
Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation 2, PlaySt
ation Portable, PlayStation 3, Wii, Solaris, iPhone
[SEE_ALSO]
FMOD_FILE_ASYNCREADCALLBACK
FMOD_FILE_ASYNCCANCELCALLBACK
]
*/
typedef struct
{
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 sizebytes; /* [r] how many bytes requested for rea
d. */
int priority; /* [r] 0 = low importance. 100 = extre
mely important (ie 'must read now or stuttering may occur') */
void *buffer; /* [w] Buffer to read file data into. *
/
unsigned int bytesread; /* [w] Fill this in before setting resu
lt code to tell FMOD how many bytes were read. */
FMOD_RESULT result; /* [r/w] Result code, FMOD_OK tells the
system it is ready to consume the data. Set this last! Default value = F
MOD_ERR_NOTREADY. */
void *userdata; /* [r] User data pointer. */
} FMOD_ASYNCREADINFO;
/*
[ENUM] [ENUM]
[ [
[DESCRIPTION] [DESCRIPTION]
These output types are used with System::setOutput / System::getOutput, to choose which output method to use. These output types are used with System::setOutput / System::getOutput, to choose which output method to use.
[REMARKS] [REMARKS]
To pass information to the driver when initializing fmod use the extrad riverdata parameter in System::init for the following reasons.<br> To pass information to the driver when initializing fmod use the extrad riverdata parameter in System::init for the following reasons.<br>
<li>FMOD_OUTPUTTYPE_WAVWRITER - extradriverdata is a pointer to a char * filename that the wav writer will output to. <li>FMOD_OUTPUTTYPE_WAVWRITER - extradriverdata is a pointer to a char * filename that the wav writer will output to.
<li>FMOD_OUTPUTTYPE_WAVWRITER_NRT - extradriverdata is a pointer to a c har * filename that the wav writer will output to. <li>FMOD_OUTPUTTYPE_WAVWRITER_NRT - extradriverdata is a pointer to a c har * filename that the wav writer will output to.
<li>FMOD_OUTPUTTYPE_DSOUND - extradriverdata is a pointer to a HWND so that FMOD can set the focus on the audio for a particular window. <li>FMOD_OUTPUTTYPE_DSOUND - extradriverdata is a pointer to a HWND so that FMOD can set the focus on the audio for a particular window.
skipping to change at line 679 skipping to change at line 720
#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_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_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_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_XBOX_REMOVEHEADROOM 0x00100000 /* Xbox only - By d efault DirectSound attenuates all sound by 6db to avoid clipping/distortion . CAUTION. If you use this flag you are responsible for the final mix to make sure clipping / distortion doesn't happen. */
#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/ 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_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]
[ [
skipping to change at line 728 skipping to change at line 769
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_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.
skipping to change at line 858 skipping to change at line 901
/* [DEFINE_END] */ /* [DEFINE_END] */
/* /*
[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 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, Solaris, iPhone
[SEE_ALSO] [SEE_ALSO]
Sound::getOpenState Sound::getOpenState
FMOD_MODE FMOD_MODE
] ]
*/ */
typedef enum typedef enum
skipping to change at line 996 skipping to change at line 1041
typedef FMOD_RESULT (F_CALLBACK *FMOD_CHANNEL_CALLBACK) (FMOD_CHANNEL *channel, FMOD_CHANNEL_CALLBACKTYPE type, void *commanddata1, void *command data2); typedef FMOD_RESULT (F_CALLBACK *FMOD_CHANNEL_CALLBACK) (FMOD_CHANNEL *channel, FMOD_CHANNEL_CALLBACKTYPE type, void *commanddata1, void *command data2);
typedef FMOD_RESULT (F_CALLBACK *FMOD_SOUND_NONBLOCKCALLBACK)(FMOD_SOUND *s ound, FMOD_RESULT result); typedef FMOD_RESULT (F_CALLBACK *FMOD_SOUND_NONBLOCKCALLBACK)(FMOD_SOUND *s ound, FMOD_RESULT result);
typedef FMOD_RESULT (F_CALLBACK *FMOD_SOUND_PCMREADCALLBACK)(FMOD_SOUND *so und, void *data, unsigned int datalen); typedef FMOD_RESULT (F_CALLBACK *FMOD_SOUND_PCMREADCALLBACK)(FMOD_SOUND *so und, void *data, unsigned int datalen);
typedef FMOD_RESULT (F_CALLBACK *FMOD_SOUND_PCMSETPOSCALLBACK)(FMOD_SOUND * sound, int subsound, unsigned int position, FMOD_TIMEUNIT postype); typedef FMOD_RESULT (F_CALLBACK *FMOD_SOUND_PCMSETPOSCALLBACK)(FMOD_SOUND * sound, int subsound, unsigned int position, FMOD_TIMEUNIT postype);
typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_OPENCALLBACK) (const char *n ame, int unicode, unsigned int *filesize, void **handle, void **userdata); typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_OPENCALLBACK) (const char *n ame, int unicode, unsigned int *filesize, void **handle, void **userdata);
typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_CLOSECALLBACK) (void *handle, void *userdata); typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_CLOSECALLBACK) (void *handle, void *userdata);
typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_READCALLBACK) (void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void *userd ata); typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_READCALLBACK) (void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void *userd ata);
typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_SEEKCALLBACK) (void *handle, unsigned int pos, void *userdata); typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_SEEKCALLBACK) (void *handle, unsigned int pos, void *userdata);
typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_ASYNCREADCALLBACK)(FMOD_ASYNCREA
DINFO *info, void *userdata);
typedef FMOD_RESULT (F_CALLBACK *FMOD_FILE_ASYNCCANCELCALLBACK)(void *handl
e, void *userdata);
typedef void * (F_CALLBACK *FMOD_MEMORY_ALLOCCALLBACK) (unsigned int size, FMOD_MEMORY_TYPE type); typedef void * (F_CALLBACK *FMOD_MEMORY_ALLOCCALLBACK) (unsigned int size, FMOD_MEMORY_TYPE type);
typedef void * (F_CALLBACK *FMOD_MEMORY_REALLOCCALLBACK)(void *ptr, un signed int size, FMOD_MEMORY_TYPE type); typedef void * (F_CALLBACK *FMOD_MEMORY_REALLOCCALLBACK)(void *ptr, un signed int size, FMOD_MEMORY_TYPE type);
typedef void (F_CALLBACK *FMOD_MEMORY_FREECALLBACK) (void *ptr, FM OD_MEMORY_TYPE type); typedef void (F_CALLBACK *FMOD_MEMORY_FREECALLBACK) (void *ptr, FM OD_MEMORY_TYPE type);
typedef float (F_CALLBACK *FMOD_3D_ROLLOFFCALLBACK) (FMOD_CHANNEL *channel, float distance); typedef float (F_CALLBACK *FMOD_3D_ROLLOFFCALLBACK) (FMOD_CHANNEL *channel, float distance);
/* /*
[ENUM] [ENUM]
[ [
skipping to change at line 1080 skipping to change at line 1127
[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. */
FMOD_DSP_RESAMPLER_CUBIC, /* Cubic interpolation. Slower tha FMOD_DSP_RESAMPLER_CUBIC, /* Cubic interoplation. Slower tha
n linear interpolation but better quality. */ n linear interpolation but better quality. */
FMOD_DSP_RESAMPLER_SPLINE, /* 5 point spline interpolation. S FMOD_DSP_RESAMPLER_SPLINE, /* 5 point spline interoplation. S
lowest resampling method but best quality. */ lowest resampling method but best quality. */
FMOD_DSP_RESAMPLER_MAX, /* Maximum number of resample metho ds supported. */ FMOD_DSP_RESAMPLER_MAX, /* Maximum number of resample metho ds supported. */
FMOD_DSP_RESAMPLER_FORCEINT = 65536 /* Makes sure this enum is signed 3 2bit. */ FMOD_DSP_RESAMPLER_FORCEINT = 65536 /* Makes sure this enum is signed 3 2bit. */
} FMOD_DSP_RESAMPLER; } FMOD_DSP_RESAMPLER;
/* /*
[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.
skipping to change at line 1196 skipping to change at line 1243
#define FMOD_64BIT_ADD(_hi1, _lo1, _hi2, _lo2) _hi1 += ((_hi2) + ((((_lo1) + (_lo2)) < (_lo1)) ? 1 : 0)); (_lo1) += (_lo2); #define FMOD_64BIT_ADD(_hi1, _lo1, _hi2, _lo2) _hi1 += ((_hi2) + ((((_lo1) + (_lo2)) < (_lo1)) ? 1 : 0)); (_lo1) += (_lo2);
#define FMOD_64BIT_SUB(_hi1, _lo1, _hi2, _lo2) _hi1 -= ((_hi2) + ((((_lo1) - (_lo2)) > (_lo1)) ? 1 : 0)); (_lo1) -= (_lo2); #define FMOD_64BIT_SUB(_hi1, _lo1, _hi2, _lo2) _hi1 -= ((_hi2) + ((((_lo1) - (_lo2)) > (_lo1)) ? 1 : 0)); (_lo1) -= (_lo2);
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure describing a piece of tag data. Structure describing a piece of tag data.
[REMARKS] [REMARKS]
Members marked with [in] mean the user sets the value before passing it Members marked with [r] mean the variable is modified by FMOD and is fo
to the function.<br> r reading purposes only. Do not change this value.<br>
Members marked with [out] mean FMOD sets the value to be used after the Members marked with [w] mean the variable can be written to. The user
function exits.<br> 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, Solaris, 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; /* [out] The type of this tag. */ FMOD_TAGTYPE type; /* [r] The type of this tag. */
FMOD_TAGDATATYPE datatype; /* [out] The type of data that this tag FMOD_TAGDATATYPE datatype; /* [r] The type of data that this tag c
contains */ ontains */
char *name; /* [out] The name of this tag i.e. "TIT char *name; /* [r] The name of this tag i.e. "TITLE
LE", "ARTIST" etc. */ ", "ARTIST" etc. */
void *data; /* [out] Pointer to the tag data - its void *data; /* [r] Pointer to the tag data - its fo
format is determined by the datatype member */ rmat is determined by the datatype member */
unsigned int datalen; /* [out] Length of the data contained i unsigned int datalen; /* [r] Length of the data contained in
n this tag */ this tag */
FMOD_BOOL updated; /* [out] True if this tag has been upda FMOD_BOOL updated; /* [r] True if this tag has been update
ted since last being accessed with Sound::getTag */ d since last being accessed with Sound::getTag */
} FMOD_TAG; } FMOD_TAG;
/* /*
[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 [in] mean the user sets the value before passing it Members marked with [r] mean the variable is modified by FMOD and is fo
to the function.<br> r reading purposes only. Do not change this value.<br>
Members marked with [out] mean FMOD sets the value to be used after the Members marked with [w] mean the variable can be written to. The user
function exits.<br> 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, Solaris, iPhone
[SEE_ALSO] [SEE_ALSO]
Sound::getTag Sound::getTag
] ]
*/ */
typedef struct FMOD_CDTOC typedef struct FMOD_CDTOC
{ {
int numtracks; /* [out] The number of tracks on the CD int numtracks; /* [r] The number of tracks on the CD *
*/ /
int min[100]; /* [out] The start offset of each track int min[100]; /* [r] The start offset of each track i
in minutes */ n minutes */
int sec[100]; /* [out] The start offset of each track int sec[100]; /* [r] The start offset of each track i
in seconds */ n seconds */
int frame[100]; /* [out] The start offset of each track int frame[100]; /* [r] The start offset of each track i
in frames */ n frames */
} FMOD_CDTOC; } FMOD_CDTOC;
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
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.
skipping to change at line 1266 skipping to change at line 1313
[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, Solaris, 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). */
#define FMOD_TIMEUNIT_RAWBYTES 0x00000008 /* Raw file bytes of (c ompressed) sound data (does not include headers). Only used by Sound::getL ength and Channel::getPosition. */ #define FMOD_TIMEUNIT_RAWBYTES 0x00000008 /* Raw file bytes of (c ompressed) sound data (does not include headers). Only used by Sound::getL ength and Channel::getPosition. */
#define FMOD_TIMEUNIT_PCMFRACTION 0x00000010 /* Fractions of 1 PCM s ample. Unsigned int range 0 to 0xFFFFFFFF. Used for sub-sample granularit y for DSP purposes. */
#define FMOD_TIMEUNIT_MODORDER 0x00000100 /* MOD/S3M/XM/IT. Orde r in a sequenced module format. Use Sound::getFormat to determine the PCM format being decoded to. */ #define FMOD_TIMEUNIT_MODORDER 0x00000100 /* MOD/S3M/XM/IT. Orde r in a sequenced module format. Use Sound::getFormat to determine the PCM format being decoded to. */
#define FMOD_TIMEUNIT_MODROW 0x00000200 /* MOD/S3M/XM/IT. Curr ent row in a sequenced module format. Sound::getLength will return the num ber of rows in the currently playing or seeked to pattern. */ #define FMOD_TIMEUNIT_MODROW 0x00000200 /* MOD/S3M/XM/IT. Curr ent row in a sequenced module format. Sound::getLength will return the num ber of rows in the currently playing or seeked to pattern. */
#define FMOD_TIMEUNIT_MODPATTERN 0x00000400 /* MOD/S3M/XM/IT. Curr ent pattern in a sequenced module format. Sound::getLength will return the number of patterns in the song and Channel::getPosition will return the cu rrently playing pattern. */ #define FMOD_TIMEUNIT_MODPATTERN 0x00000400 /* MOD/S3M/XM/IT. Curr ent pattern in a sequenced module format. Sound::getLength will return the number of patterns in the song and Channel::getPosition will return the cu rrently playing pattern. */
#define FMOD_TIMEUNIT_SENTENCE_MS 0x00010000 /* Currently playing su bsound in a sentence time in milliseconds. */ #define FMOD_TIMEUNIT_SENTENCE_MS 0x00010000 /* Currently playing su bsound in a sentence time in milliseconds. */
#define FMOD_TIMEUNIT_SENTENCE_PCM 0x00020000 /* Currently playing su bsound in a sentence time in PCM Samples, related to milliseconds * sampler ate / 1000. */ #define FMOD_TIMEUNIT_SENTENCE_PCM 0x00020000 /* Currently playing su bsound in a sentence time in PCM Samples, related to milliseconds * sampler ate / 1000. */
#define FMOD_TIMEUNIT_SENTENCE_PCMBYTES 0x00040000 /* Currently playing su bsound in a sentence time in bytes, related to PCM samples * channels * dat awidth (ie 16bit = 2 bytes). */ #define FMOD_TIMEUNIT_SENTENCE_PCMBYTES 0x00040000 /* Currently playing su bsound in a sentence time in bytes, related to PCM samples * channels * dat awidth (ie 16bit = 2 bytes). */
#define FMOD_TIMEUNIT_SENTENCE 0x00080000 /* Currently playing se ntence index according to the channel. */ #define FMOD_TIMEUNIT_SENTENCE 0x00080000 /* Currently playing se ntence index according to the channel. */
#define FMOD_TIMEUNIT_SENTENCE_SUBSOUND 0x00100000 /* Currently playing su bsound index in a sentence. */ #define FMOD_TIMEUNIT_SENTENCE_SUBSOUND 0x00100000 /* Currently playing su bsound index in a sentence. */
#define FMOD_TIMEUNIT_BUFFERED 0x10000000 /* Time value as seen b y buffered stream. This is always ahead of audible time, and is only used for processing. */ #define FMOD_TIMEUNIT_BUFFERED 0x10000000 /* Time value as seen b y buffered stream. This is always ahead of audible time, and is only used for processing. */
/* [DEFINE_END] */ /* [DEFINE_END] */
skipping to change at line 1326 skipping to change at line 1374
<li>To create a user created / non file based sound. <li>To create a user created / non file based sound.
<li>To specify a starting subsound to seek to within a multi-sample sou nds (ie FSB/DLS/SF2) when created as a stream. <li>To specify a starting subsound to seek to within a multi-sample sou nds (ie FSB/DLS/SF2) when created as a stream.
<li>To specify which subsounds to load for multi-sample sounds (ie FSB/ DLS/SF2) so that memory is saved and only a subset is actually loaded/read from disk. <li>To specify which subsounds to load for multi-sample sounds (ie FSB/ DLS/SF2) so that memory is saved and only a subset is actually loaded/read from disk.
<li>To specify 'piggyback' read and seek callbacks for capture of sound data as fmod reads and decodes it. Useful for ripping decoded PCM data fr om sounds as they are loaded / played. <li>To specify 'piggyback' read and seek callbacks for capture of sound data as fmod reads and decodes it. Useful for ripping decoded PCM data fr om sounds as they are loaded / played.
<li>To specify a MIDI DLS/SF2 sample set file to load when opening a MI DI file. <li>To specify a MIDI DLS/SF2 sample set file to load when opening a MI DI file.
See below on what members to fill for each of the above types of sound you want to create. See below on what members to fill for each of the above types of sound you want to create.
[REMARKS] [REMARKS]
This structure is optional! Specify 0 or NULL in System::createSound i f you don't need it!<br> This structure is optional! Specify 0 or NULL in System::createSound i f you don't need it!<br>
<br> <br>
Members marked with [in] mean the user sets the value before passing it
to the function.<br>
Members marked with [out] mean FMOD sets the value to be used after the
function exits.<br>
<br>
<u>Loading a file from memory.</u><br> <u>Loading a file from memory.</u><br>
<li>Create the sound using the FMOD_OPENMEMORY flag.<br> <li>Create the sound using the FMOD_OPENMEMORY flag.<br>
<li>Mandatory. Specify 'length' for the size of the memory block in by tes. <li>Mandatory. Specify 'length' for the size of the memory block in by tes.
<li>Other flags are optional. <li>Other flags are optional.
<br> <br>
<br> <br>
<u>Loading a file from within another larger (possibly wad/pak) file, b y giving the loader an offset and length.</u><br> <u>Loading a file from within another larger (possibly wad/pak) file, b y giving the loader an offset and length.</u><br>
<li>Mandatory. Specify 'fileoffset' and 'length'. <li>Mandatory. Specify 'fileoffset' and 'length'.
<li>Other flags are optional. <li>Other flags are optional.
<br> <br>
skipping to change at line 1375 skipping to change at line 1420
<br> <br>
Setting the 'decodebuffersize' is for cpu intensive codecs that may be causing stuttering, not file intensive codecs (ie those from CD or netstrea ms) which are normally Setting the 'decodebuffersize' is for cpu intensive codecs that may be causing stuttering, not file intensive codecs (ie those from CD or netstrea ms) which are normally
altered with System::setStreamBufferSize. As an example of cpu intensi ve codecs, an mp3 file will take more cpu to decode than a PCM wav file.<br > altered with System::setStreamBufferSize. As an example of cpu intensi ve codecs, an mp3 file will take more cpu to decode than a PCM wav file.<br >
If you have a stuttering effect, then it is using more cpu than the dec ode buffer playback rate can keep up with. Increasing the decode buffersiz e will most likely solve this problem.<br> If you have a stuttering effect, then it is using more cpu than the dec ode buffer playback rate can keep up with. Increasing the decode buffersiz e will most likely solve this problem.<br>
<br> <br>
<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>
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>
[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, Solaris, 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
] ]
*/ */
typedef struct FMOD_CREATESOUNDEXINFO typedef struct FMOD_CREATESOUNDEXINFO
{ {
int cbsize; /* [in] Size of this int cbsize; /* [w] Size of this
structure. This is used so the structure can be expanded in the future an structure. This is used so the structure can be expanded in the future and
d still work on older versions of FMOD Ex. */ still work on older versions of FMOD Ex. */
unsigned int length; /* [in] Optional. Sp unsigned int length; /* [w] Optional. Spe
ecify 0 to ignore. Size in bytes of file to load, or sound to create (in th cify 0 to ignore. Size in bytes of file to load, or sound to create (in thi
is case only if FMOD_OPENUSER is used). Required if loading from memory. s case only if FMOD_OPENUSER is used). Required if loading from memory. I
If 0 is specified, then it will use the size of the file (unless loading fr f 0 is specified, then it will use the size of the file (unless loading fro
om memory then an error will be returned). */ m memory then an error will be returned). */
unsigned int fileoffset; /* [in] Optional. Sp unsigned int fileoffset; /* [w] Optional. Spe
ecify 0 to ignore. Offset from start of the file to start loading from. Th cify 0 to ignore. Offset from start of the file to start loading from. Thi
is is useful for loading files from inside big data files. */ s is useful for loading files from inside big data files. */
int numchannels; /* [in] Optional. Sp int numchannels; /* [w] Optional. Spe
ecify 0 to ignore. Number of channels in a sound mandatory if FMOD_OPENUSER cify 0 to ignore. Number of channels in a sound mandatory if FMOD_OPENUSER
or FMOD_OPENRAW is used. */ or FMOD_OPENRAW is used. */
int defaultfrequency; /* [in] Optional. Sp int defaultfrequency; /* [w] Optional. Spe
ecify 0 to ignore. Default frequency of sound in a sound mandatory if FMOD_ cify 0 to ignore. Default frequency of sound in a sound mandatory if FMOD_O
OPENUSER or FMOD_OPENRAW is used. Other formats use the frequency determin PENUSER or FMOD_OPENRAW is used. Other formats use the frequency determine
ed by the file format. */ d by the file format. */
FMOD_SOUND_FORMAT format; /* [in] Optional. Sp FMOD_SOUND_FORMAT format; /* [w] Optional. Spe
ecify 0 or FMOD_SOUND_FORMAT_NONE to ignore. Format of the sound mandatory cify 0 or FMOD_SOUND_FORMAT_NONE to ignore. Format of the sound mandatory i
if FMOD_OPENUSER or FMOD_OPENRAW is used. Other formats use the format det f FMOD_OPENUSER or FMOD_OPENRAW is used. Other formats use the format dete
ermined by the file format. */ rmined by the file format. */
unsigned int decodebuffersize; /* [in] Optional. Sp unsigned int decodebuffersize; /* [w] Optional. Spe
ecify 0 to ignore. For streams. This determines the size of the double buf cify 0 to ignore. For streams. This determines the size of the double buff
fer (in PCM samples) that a stream uses. Use this for user created streams er (in PCM samples) that a stream uses. Use this for user created streams
if you want to determine the size of the callback buffer passed to you. S if you want to determine the size of the callback buffer passed to you. Sp
pecify 0 to use FMOD's default size which is currently equivalent to 400ms ecify 0 to use FMOD's default size which is currently equivalent to 400ms o
of the sound format created/loaded. */ f the sound format created/loaded. */
int initialsubsound; /* [in] Optional. Sp int initialsubsound; /* [w] Optional. Spe
ecify 0 to ignore. In a multi-sample file format such as .FSB/.DLS/.SF2, sp cify 0 to ignore. In a multi-sample file format such as .FSB/.DLS/.SF2, spe
ecify the initial subsound to seek to, only if FMOD_CREATESTREAM is used. * cify the initial subsound to seek to, only if FMOD_CREATESTREAM is used. */
/ int numsubsounds; /* [w] Optional. Spe
int numsubsounds; /* [in] Optional. Sp cify 0 to ignore or have no subsounds. In a sound created with FMOD_OPENUS
ecify 0 to ignore or have no subsounds. In a sound created with FMOD_OPENU ER, specify the number of subsounds that are accessable with Sound::getSubS
SER, specify the number of subsounds that are accessable with Sound::getSub ound. If not created with FMOD_OPENUSER, this will limit the number of sub
Sound. If not created with FMOD_OPENUSER, this will limit the number of su sounds loaded within a multi-subsound file. If using FSB, then if FMOD_CRE
bsounds loaded within a multi-subsound file. If using FSB, then if FMOD_CR ATESOUNDEXINFO::inclusionlist is used, this will shuffle subsounds down so
EATESOUNDEXINFO::inclusionlist is used, this will shuffle subsounds down so that there are not any gaps. It will mean that the indices of the sounds w
that there are not any gaps. It will mean that the indices of the sounds ill be different. */
will be different. */ int *inclusionlist; /* [w] Optional. Spe
int *inclusionlist; /* [in] Optional. Sp cify 0 to ignore. In a multi-sample format such as .FSB/.DLS/.SF2 it may be
ecify 0 to ignore. In a multi-sample format such as .FSB/.DLS/.SF2 it may b desirable to specify only a subset of sounds to be loaded out of the whole
e desirable to specify only a subset of sounds to be loaded out of the whol file. This is an array of subsound indices to load into memory when creat
e file. This is an array of subsound indices to load into memory when crea ed. */
ted. */ int inclusionlistnum; /* [w] Optional. Spe
int inclusionlistnum; /* [in] Optional. Sp cify 0 to ignore. This is the number of integers contained within the inclu
ecify 0 to ignore. This is the number of integers contained within the incl sionlist array. */
usionlist array. */ FMOD_SOUND_PCMREADCALLBACK pcmreadcallback; /* [w] Optional. Spe
FMOD_SOUND_PCMREADCALLBACK pcmreadcallback; /* [in] Optional. Sp cify 0 to ignore. Callback to 'piggyback' on FMOD's read functions and acce
ecify 0 to ignore. Callback to 'piggyback' on FMOD's read functions and acc pt or even write PCM data while FMOD is opening the sound. Used for user s
ept or even write PCM data while FMOD is opening the sound. Used for user ounds created with FMOD_OPENUSER or for capturing decoded data as FMOD read
sounds created with FMOD_OPENUSER or for capturing decoded data as FMOD rea s it. */
ds it. */ FMOD_SOUND_PCMSETPOSCALLBACK pcmsetposcallback; /* [w] Optional. Spe
FMOD_SOUND_PCMSETPOSCALLBACK pcmsetposcallback; /* [in] Optional. Sp cify 0 to ignore. Callback for when the user calls a seeking function such
ecify 0 to ignore. Callback for when the user calls a seeking function such as Channel::setTime or Channel::setPosition within a multi-sample sound, an
as Channel::setTime or Channel::setPosition within a multi-sample sound, a d for when it is opened.*/
nd for when it is opened.*/ FMOD_SOUND_NONBLOCKCALLBACK nonblockcallback; /* [w] Optional. Spe
FMOD_SOUND_NONBLOCKCALLBACK nonblockcallback; /* [in] Optional. Sp cify 0 to ignore. Callback for successful completion, or error while loadin
ecify 0 to ignore. Callback for successful completion, or error while loadi g a sound that used the FMOD_NONBLOCKING flag.*/
ng a sound that used the FMOD_NONBLOCKING flag.*/ const char *dlsname; /* [w] Optional. Spe
const char *dlsname; /* [in] Optional. Sp cify 0 to ignore. Filename for a DLS or SF2 sample set when loading a MIDI
ecify 0 to ignore. Filename for a DLS or SF2 sample set when loading a MIDI file. If not specified, on Windows it will attempt to open /windows/system3
file. If not specified, on Windows it will attempt to open /windows/system 2/drivers/gm.dls or /windows/system32/drivers/etc/gm.dls, on Mac it will at
32/drivers/gm.dls or /windows/system32/drivers/etc/gm.dls, on Mac it will a tempt to load /System/Library/Components/CoreAudio.component/Contents/Resou
ttempt to load /System/Library/Components/CoreAudio.component/Contents/Reso rces/gs_instruments.dls, otherwise the MIDI will fail to open. Current DLS
urces/gs_instruments.dls, otherwise the MIDI will fail to open. Current DLS support is for level 1 of the specification. */
support is for level 1 of the specification. */ const char *encryptionkey; /* [w] Optional. Spe
const char *encryptionkey; /* [in] Optional. Sp cify 0 to ignore. Key for encrypted FSB file. Without this key an encrypte
ecify 0 to ignore. Key for encrypted FSB file. Without this key an encrypt d FSB file will not load. */
ed FSB file will not load. */ int maxpolyphony; /* [w] Optional. Spe
int maxpolyphony; /* [in] Optional. Sp cify 0 to ignore. For sequenced formats with dynamic channel allocation suc
ecify 0 to ignore. For sequenced formats with dynamic channel allocation su h as .MID and .IT, this specifies the maximum voice count allowed while pla
ch as .MID and .IT, this specifies the maximum voice count allowed while pl ying. .IT defaults to 64. .MID defaults to 32. */
aying. .IT defaults to 64. .MID defaults to 32. */ void *userdata; /* [w] Optional. Spe
void *userdata; /* [in] Optional. Sp cify 0 to ignore. This is user data to be attached to the sound during crea
ecify 0 to ignore. This is user data to be attached to the sound during cre tion. Access via Sound::getUserData. Note: This is not passed to FMOD_FIL
ation. Access via Sound::getUserData. Note: This is not passed to FMOD_FI E_OPENCALLBACK, that is a different userdata that is file specific. */
LE_OPENCALLBACK, that is a different userdata that is file specific. */ FMOD_SOUND_TYPE suggestedsoundtype; /* [w] Optional. Spe
FMOD_SOUND_TYPE suggestedsoundtype; /* [in] Optional. Sp cify 0 or FMOD_SOUND_TYPE_UNKNOWN to ignore. Instead of scanning all codec
ecify 0 or FMOD_SOUND_TYPE_UNKNOWN to ignore. Instead of scanning all code types, use this to speed up loading by making it jump straight to this cod
c types, use this to speed up loading by making it jump straight to this co ec. */
dec. */ FMOD_FILE_OPENCALLBACK useropen; /* [w] Optional. Spe
FMOD_FILE_OPENCALLBACK useropen; /* [in] Optional. Sp cify 0 to ignore. Callback for opening this file. */
ecify 0 to ignore. Callback for opening this file. */ FMOD_FILE_CLOSECALLBACK userclose; /* [w] Optional. Spe
FMOD_FILE_CLOSECALLBACK userclose; /* [in] Optional. Sp cify 0 to ignore. Callback for closing this file. */
ecify 0 to ignore. Callback for closing this file. */ FMOD_FILE_READCALLBACK userread; /* [w] Optional. Spe
FMOD_FILE_READCALLBACK userread; /* [in] Optional. Sp cify 0 to ignore. Callback for reading from this file. */
ecify 0 to ignore. Callback for reading from this file. */ FMOD_FILE_SEEKCALLBACK userseek; /* [w] Optional. Spe
FMOD_FILE_SEEKCALLBACK userseek; /* [in] Optional. Sp cify 0 to ignore. Callback for seeking within this file. */
ecify 0 to ignore. Callback for seeking within this file. */ FMOD_FILE_ASYNCREADCALLBACK userasyncread; /* [w] Optional. Spe
FMOD_SPEAKERMAPTYPE speakermap; /* [in] Optional. Sp cify 0 to ignore. Callback for seeking within this file. */
ecify 0 to ignore. Use this to differ the way fmod maps multichannel sounds FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel; /* [w] Optional. Spe
to speakers. See FMOD_SPEAKERMAPTYPE for more. */ cify 0 to ignore. Callback for seeking within this file. */
FMOD_SOUNDGROUP *initialsoundgroup; /* [in] Optional. Sp FMOD_SPEAKERMAPTYPE speakermap; /* [w] Optional. Spe
ecify 0 to ignore. Specify a sound group if required, to put sound in as it cify 0 to ignore. Use this to differ the way fmod maps multichannel sounds
is created. */ to speakers. See FMOD_SPEAKERMAPTYPE for more. */
unsigned int initialseekposition;/* [in] Optional. Sp FMOD_SOUNDGROUP *initialsoundgroup; /* [w] Optional. Spe
ecify 0 to ignore. For streams. Specify an initial position to seek the str cify 0 to ignore. Specify a sound group if required, to put sound in as it
eam to. */ is created. */
FMOD_TIMEUNIT initialseekpostype; /* [in] Optional. Sp unsigned int initialseekposition;/* [w] Optional. Spe
ecify 0 to ignore. For streams. Specify the time unit for the position set cify 0 to ignore. For streams. Specify an initial position to seek the stre
in initialseekposition. */ am to. */
int ignoresetfilesystem;/* [in] Optional. Sp FMOD_TIMEUNIT initialseekpostype; /* [w] Optional. Spe
ecify 0 to ignore. Set to 1 to use fmod's built in file system. Ignores set cify 0 to ignore. For streams. Specify the time unit for the position set i
FileSystem callbacks and also FMOD_CREATESOUNEXINFO file callbacks. Useful n initialseekposition. */
for specific cases where you don't want to use your own file system but wa int ignoresetfilesystem;/* [w] Optional. Spe
nt to use fmod's file system (ie net streaming). */ 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). */
} 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 1447 skipping to change at line 1497
The numerical values listed below are the maximum, minimum and default values for each variable respectively.<br> The numerical values listed below are the maximum, minimum and default values for each variable respectively.<br>
<br> <br>
<b>SUPPORTED</b> next to each parameter means the platform the paramete r can be set on. Some platforms support all parameters and some don't.<br> <b>SUPPORTED</b> next to each parameter means the platform the paramete r can be set on. Some platforms support all parameters and some don't.<br>
EAX means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only ( must use FMOD_HARDWARE), on soundcards that support EAX 1 to 4.<br> EAX means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only ( must use FMOD_HARDWARE), on soundcards that support EAX 1 to 4.<br>
EAX4 means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only ( must use FMOD_HARDWARE), on soundcards that support EAX 4.<br> EAX4 means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only ( must use FMOD_HARDWARE), on soundcards that support EAX 4.<br>
I3DL2 means hardware reverb on FMOD_OUTPUTTYPE_DSOUND on windows only ( must use FMOD_HARDWARE), on soundcards that support I3DL2 non EAX native re verb.<br> 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 [in] mean the user sets the value before passing it Members marked with [r] mean the variable is modified by FMOD and is fo
to the function.<br> r reading purposes only. Do not change this value.<br>
Members marked with [out] mean FMOD sets the value to be used after the Members marked with [w] mean the variable can be written to. The user
function exits.<br> 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
).
[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, Solaris, 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 DE { /* MIN MAX DEFAULT DESCR
SCRIPTION */ IPTION */
int Instance; /* [in] 0 , 3 , 0 , En int Instance; /* [w] 0 , 3 , 0 , Envir
vironment Instance. Simultaneous HW reverbs are possible on some platforms. onment Instance. Simultaneous HW reverbs are possible on some platforms. (S
(SUPPORTED:EAX4/SFX(4 instances) and Wii (3 instances)) */ UPPORTED:EAX4/SFX(3 instances) and Wii (2 instances)) */
int Environment; /* [in/out] -1 , 25 , -1 , se int Environment; /* [r/w] -1 , 25 , -1 , sets
ts all listener properties. -1 = OFF. all listener properties. -1 = OFF. (S
(SUPPORTED:EAX/PS2) */ UPPORTED:EAX/PS2) */
float EnvSize; /* [in/out] 1.0 , 100.0 , 7.5 , en float EnvSize; /* [r/w] 1.0 , 100.0 , 7.5 , envir
vironment size in meters onment size in meters (S
(SUPPORTED:EAX) */ UPPORTED:EAX) */
float EnvDiffusion; /* [in/out] 0.0 , 1.0 , 1.0 , en float EnvDiffusion; /* [r/w] 0.0 , 1.0 , 1.0 , envir
vironment diffusion onment diffusion (S
(SUPPORTED:EAX) */ UPPORTED:EAX) */
int Room; /* [in/out] -10000, 0 , -1000 , ro int Room; /* [r/w] -10000, 0 , -1000 , room
om effect level (at mid frequencies) effect level (at mid frequencies) (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
int RoomHF; /* [in/out] -10000, 0 , -100 , re int RoomHF; /* [r/w] -10000, 0 , -100 , relat
lative room effect level at high frequencies ive room effect level at high frequencies (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
int RoomLF; /* [in/out] -10000, 0 , 0 , re int RoomLF; /* [r/w] -10000, 0 , 0 , relat
lative room effect level at low frequencies ive room effect level at low frequencies (S
(SUPPORTED:EAX/SFX) */ UPPORTED:EAX/SFX) */
float DecayTime; /* [in/out] 0.1 , 20.0 , 1.49 , re float DecayTime; /* [r/w] 0.1 , 20.0 , 1.49 , rever
verberation decay time at mid frequencies beration decay time at mid frequencies (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
float DecayHFRatio; /* [in/out] 0.1 , 2.0 , 0.83 , hi float DecayHFRatio; /* [r/w] 0.1 , 2.0 , 0.83 , high-
gh-frequency to mid-frequency decay time ratio frequency to mid-frequency decay time ratio (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
float DecayLFRatio; /* [in/out] 0.1 , 2.0 , 1.0 , lo float DecayLFRatio; /* [r/w] 0.1 , 2.0 , 1.0 , low-f
w-frequency to mid-frequency decay time ratio requency to mid-frequency decay time ratio (S
(SUPPORTED:EAX) */ UPPORTED:EAX) */
int Reflections; /* [in/out] -10000, 1000 , -2602 , ea int Reflections; /* [r/w] -10000, 1000 , -2602 , early
rly reflections level relative to room effect reflections level relative to room effect (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
float ReflectionsDelay; /* [in/out] 0.0 , 0.3 , 0.007 , in float ReflectionsDelay; /* [r/w] 0.0 , 0.3 , 0.007 , initi
itial reflection delay time al reflection delay time (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
float ReflectionsPan[3]; /* [in/out] , , [0,0,0], ea float ReflectionsPan[3]; /* [r/w] , , [0,0,0], early
rly reflections panning vector reflections panning vector (S
(SUPPORTED:EAX) */ UPPORTED:EAX) */
int Reverb; /* [in/out] -10000, 2000 , 200 , la int Reverb; /* [r/w] -10000, 2000 , 200 , late
te reverberation level relative to room effect reverberation level relative to room effect (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
float ReverbDelay; /* [in/out] 0.0 , 0.1 , 0.011 , la float ReverbDelay; /* [r/w] 0.0 , 0.1 , 0.011 , late
te reverberation delay time relative to initial reflection reverberation delay time relative to initial reflection (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
float ReverbPan[3]; /* [in/out] , , [0,0,0], la float ReverbPan[3]; /* [r/w] , , [0,0,0], late
te reverberation panning vector reverberation panning vector (S
(SUPPORTED:EAX) */ UPPORTED:EAX) */
float EchoTime; /* [in/out] .075 , 0.25 , 0.25 , ec float EchoTime; /* [r/w] .075 , 0.25 , 0.25 , echo
ho time time (S
(SUPPORTED:EAX/PS2(FMOD_PRESET_PS2_ECHO/FMOD_PRESET_PS2_DELAY only) */ UPPORTED:EAX/PS2(FMOD_PRESET_PS2_ECHO/FMOD_PRESET_PS2_DELAY only) */
float EchoDepth; /* [in/out] 0.0 , 1.0 , 0.0 , ec float EchoDepth; /* [r/w] 0.0 , 1.0 , 0.0 , echo
ho depth depth (S
(SUPPORTED:EAX/PS2(FMOD_PRESET_PS2_ECHO only) */ UPPORTED:EAX/PS2(FMOD_PRESET_PS2_ECHO only) */
float ModulationTime; /* [in/out] 0.04 , 4.0 , 0.25 , mo float ModulationTime; /* [r/w] 0.04 , 4.0 , 0.25 , modul
dulation time ation time (S
(SUPPORTED:EAX) */ UPPORTED:EAX) */
float ModulationDepth; /* [in/out] 0.0 , 1.0 , 0.0 , mo float ModulationDepth; /* [r/w] 0.0 , 1.0 , 0.0 , modul
dulation depth ation depth (S
(SUPPORTED:EAX) */ UPPORTED:EAX) */
float AirAbsorptionHF; /* [in/out] -100 , 0.0 , -5.0 , ch float AirAbsorptionHF; /* [r/w] -100 , 0.0 , -5.0 , chang
ange in level per meter at high frequencies e in level per meter at high frequencies (S
(SUPPORTED:EAX) */ UPPORTED:EAX) */
float HFReference; /* [in/out] 1000.0, 20000 , 5000.0 , re float HFReference; /* [r/w] 1000.0, 20000 , 5000.0 , refer
ference high frequency (hz) ence high frequency (hz) (S
(SUPPORTED:EAX/I3DL2/SFX) */ UPPORTED:EAX/I3DL2/SFX) */
float LFReference; /* [in/out] 20.0 , 1000.0, 250.0 , re float LFReference; /* [r/w] 20.0 , 1000.0, 250.0 , refer
ference low frequency (hz) ence low frequency (hz) (S
(SUPPORTED:EAX/SFX) */ UPPORTED:EAX/SFX) */
float RoomRolloffFactor; /* [in/out] 0.0 , 10.0 , 0.0 , li float RoomRolloffFactor; /* [r/w] 0.0 , 10.0 , 0.0 , like
ke rolloffscale in System::set3DSettings but for reverb room size effect rolloffscale in System::set3DSettings but for reverb room size effect (S
(SUPPORTED:EAX/I3DL2) */ UPPORTED:EAX/I3DL2) */
float Diffusion; /* [in/out] 0.0 , 100.0 , 100.0 , Va float Diffusion; /* [r/w] 0.0 , 100.0 , 100.0 , Value
lue that controls the echo density in the late reverberation decay. that controls the echo density in the late reverberation decay. (S
(SUPPORTED:I3DL2/SFX) */ UPPORTED:I3DL2/SFX) */
float Density; /* [in/out] 0.0 , 100.0 , 100.0 , Va float Density; /* [r/w] 0.0 , 100.0 , 100.0 , Value
lue that controls the modal density in the late reverberation decay that controls the modal density in the late reverberation decay (S
(SUPPORTED:I3DL2/SFX) */ UPPORTED:I3DL2/SFX) */
unsigned int Flags; /* [in/out] FMOD_REVERB_FLAGS - modifie unsigned int Flags; /* [r/w] FMOD_REVERB_FLAGS - modifies t
s the behavior of above properties he behavior of above properties (S
(SUPPORTED:EAX/PS2/WII) */ UPPORTED:EAX/PS2/WII) */
} FMOD_REVERB_PROPERTIES; } FMOD_REVERB_PROPERTIES;
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
FMOD_REVERB_FLAGS FMOD_REVERB_FLAGS
[DESCRIPTION] [DESCRIPTION]
Values for the Flags member of the FMOD_REVERB_PROPERTIES structure. Values for the Flags member of the FMOD_REVERB_PROPERTIES structure.
skipping to change at line 1633 skipping to change at line 1684
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>
<br> <br>
<b>'ConnectionPoint' Parameter.</b> This parameter is for the FMOD sof tware reverb only (known as SFX in the list above).<br> <b>'ConnectionPoint' Parameter.</b> This parameter is for the FMOD sof tware reverb only (known as SFX in the list above).<br>
By default the dsp network connection for a channel and its reverb is b etween the 'SFX Reverb' unit, and the channel's wavetable/resampler/dspcode c/oscillator unit (the unit below the channel DSP head). NULL can be used for this parameter to make it use this default behaviour.<br> By default the dsp network connection for a channel and its reverb is b etween the 'SFX Reverb' unit, and the channel's wavetable/resampler/dspcode c/oscillator unit (the unit below the channel DSP head). NULL can be used for this parameter to make it use this default behaviour.<br>
This parameter allows the user to connect the SFX reverb to somewhere e lse internally, for example the channel DSP head, or a related channelgroup . The event system uses this so that it can have the output of an event go ing to the reverb, instead of just the output of the event's channels (ther eby ignoring event effects/submixes etc).<br> This parameter allows the user to connect the SFX reverb to somewhere e lse internally, for example the channel DSP head, or a related channelgroup . The event system uses this so that it can have the output of an event go ing to the reverb, instead of just the output of the event's channels (ther eby ignoring event effects/submixes etc).<br>
Do not use if you are unaware of DSP network connection issues. Leave it at the default of NULL instead.<br> Do not use if you are unaware of DSP network connection issues. Leave it at the default of NULL instead.<br>
<br>
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 [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, Solaris, 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 { /* MIN MAX DEFAULT DES
DESCRIPTION */ CRIPTION */
int Direct; /* [in/out] -10000, 1000, 0, int Direct; /* [r/w] -10000, 1000, 0, dir
direct path level (at low and mid frequencies) (SUPPORTED:EAX/ ect path level (at low and mid frequencies) (SUPPORTED:EAX/I3D
I3DL2/SFX) */ L2/SFX) */
int DirectHF; /* [in/out] -10000, 0, 0, int DirectHF; /* [r/w] -10000, 0, 0, rel
relative direct path level at high frequencies (SUPPORTED:EAX/ ative direct path level at high frequencies (SUPPORTED:EAX/I3D
I3DL2) */ L2) */
int Room; /* [in/out] -10000, 1000, 0, int Room; /* [r/w] -10000, 1000, 0, roo
room effect level (at low and mid frequencies) (SUPPORTED:EAX/ m effect level (at low and mid frequencies) (SUPPORTED:EAX/I3D
I3DL2/SFX) */ L2/SFX) */
int RoomHF; /* [in/out] -10000, 0, 0, int RoomHF; /* [r/w] -10000, 0, 0, rel
relative room effect level at high frequencies (SUPPORTED:EAX/ ative room effect level at high frequencies (SUPPORTED:EAX/I3D
I3DL2) */ L2) */
int Obstruction; /* [in/out] -10000, 0, 0, int Obstruction; /* [r/w] -10000, 0, 0, mai
main obstruction control (attenuation at high frequencies) (SUPPORTED:EAX/ n obstruction control (attenuation at high frequencies) (SUPPORTED:EAX/I3D
I3DL2) */ L2) */
float ObstructionLFRatio; /* [in/out] 0.0, 1.0, 0.0, float ObstructionLFRatio; /* [r/w] 0.0, 1.0, 0.0, obs
obstruction low-frequency level re. main control (SUPPORTED:EAX/ truction low-frequency level re. main control (SUPPORTED:EAX/I3D
I3DL2) */ L2) */
int Occlusion; /* [in/out] -10000, 0, 0, int Occlusion; /* [r/w] -10000, 0, 0, mai
main occlusion control (attenuation at high frequencies) (SUPPORTED:EAX/ n occlusion control (attenuation at high frequencies) (SUPPORTED:EAX/I3D
I3DL2) */ L2) */
float OcclusionLFRatio; /* [in/out] 0.0, 1.0, 0.25, float OcclusionLFRatio; /* [r/w] 0.0, 1.0, 0.25, occ
occlusion low-frequency level re. main control (SUPPORTED:EAX/ lusion low-frequency level re. main control (SUPPORTED:EAX/I3D
I3DL2) */ L2) */
float OcclusionRoomRatio; /* [in/out] 0.0, 10.0, 1.5, float OcclusionRoomRatio; /* [r/w] 0.0, 10.0, 1.5, rel
relative occlusion control for room effect (SUPPORTED:EAX ative occlusion control for room effect (SUPPORTED:EAX onl
only) */ y) */
float OcclusionDirectRatio; /* [in/out] 0.0, 10.0, 1.0, float OcclusionDirectRatio; /* [r/w] 0.0, 10.0, 1.0, rel
relative occlusion control for direct path (SUPPORTED:EAX ative occlusion control for direct path (SUPPORTED:EAX onl
only) */ y) */
int Exclusion; /* [in/out] -10000, 0, 0, int Exclusion; /* [r/w] -10000, 0, 0, mai
main exlusion control (attenuation at high frequencies) (SUPPORTED:EAX n exlusion control (attenuation at high frequencies) (SUPPORTED:EAX onl
only) */ y) */
float ExclusionLFRatio; /* [in/out] 0.0, 1.0, 1.0, float ExclusionLFRatio; /* [r/w] 0.0, 1.0, 1.0, exc
exclusion low-frequency level re. main control (SUPPORTED:EAX lusion low-frequency level re. main control (SUPPORTED:EAX onl
only) */ y) */
int OutsideVolumeHF; /* [in/out] -10000, 0, 0, int OutsideVolumeHF; /* [r/w] -10000, 0, 0, out
outside sound cone level at high frequencies (SUPPORTED:EAX side sound cone level at high frequencies (SUPPORTED:EAX onl
only) */ y) */
float DopplerFactor; /* [in/out] 0.0, 10.0, 0.0, float DopplerFactor; /* [r/w] 0.0, 10.0, 0.0, lik
like DS3D flDopplerFactor but per source (SUPPORTED:EAX e DS3D flDopplerFactor but per source (SUPPORTED:EAX onl
only) */ y) */
float RolloffFactor; /* [in/out] 0.0, 10.0, 0.0, float RolloffFactor; /* [r/w] 0.0, 10.0, 0.0, lik
like DS3D flRolloffFactor but per source (SUPPORTED:EAX e DS3D flRolloffFactor but per source (SUPPORTED:EAX onl
only) */ y) */
float RoomRolloffFactor; /* [in/out] 0.0, 10.0, 0.0, float RoomRolloffFactor; /* [r/w] 0.0, 10.0, 0.0, lik
like DS3D flRolloffFactor but for room effect (SUPPORTED:EAX/ e DS3D flRolloffFactor but for room effect (SUPPORTED:EAX/I3D
I3DL2) */ L2) */
float AirAbsorptionFactor; /* [in/out] 0.0, 10.0, 1.0, float AirAbsorptionFactor; /* [r/w] 0.0, 10.0, 1.0, mul
multiplies AirAbsorptionHF member of FMOD_REVERB_PROPERTIES (SUPPORTED:EAX tiplies AirAbsorptionHF member of FMOD_REVERB_PROPERTIES (SUPPORTED:EAX onl
only) */ y) */
unsigned int Flags; /* [in/out] FMOD_REVERB_CHANNELFLAGS unsigned int Flags; /* [r/w] FMOD_REVERB_CHANNELFLAGS -
- modifies the behavior of properties (SUPPORTED:EAX/ modifies the behavior of properties (SUPPORTED:EAX/SFX
SFX) */ ) */
FMOD_DSP *ConnectionPoint; /* [in/out] See remarks. FMOD_DSP *ConnectionPoint; /* [r/w] See remarks. DSP
DSP network location to connect reverb for this channel. (SUPPORTED:SFX network location to connect reverb for this channel. (SUPPORTED:SFX onl
only).*/ y).*/
} FMOD_REVERB_CHANNELPROPERTIES; } FMOD_REVERB_CHANNELPROPERTIES;
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
FMOD_REVERB_CHANNELFLAGS FMOD_REVERB_CHANNELFLAGS
[DESCRIPTION] [DESCRIPTION]
Values for the Flags member of the FMOD_REVERB_CHANNELPROPERTIES struct ure. Values for the Flags member of the FMOD_REVERB_CHANNELPROPERTIES struct ure.
skipping to change at line 1693 skipping to change at line 1748
[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, Solaris, 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/Wii. #define FMOD_REVERB_CHANNELFLAGS_INSTANCE0 0x00000010 /* EAX4/SFX/GameC
Specify channel to target reverb instance 0. Default target. */ ube/Wii. Specify channel to target reverb instance 0. Default target. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE1 0x00000020 /* EAX4/SFX/Wii. #define FMOD_REVERB_CHANNELFLAGS_INSTANCE1 0x00000020 /* EAX4/SFX/GameC
Specify channel to target reverb instance 1. */ ube/Wii. Specify channel to target reverb instance 1. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE2 0x00000040 /* EAX4/SFX/Wii. #define FMOD_REVERB_CHANNELFLAGS_INSTANCE2 0x00000040 /* EAX4/SFX/GameC
Specify channel to target reverb instance 2. */ ube/Wii. Specify channel to target reverb instance 2. */
#define FMOD_REVERB_CHANNELFLAGS_INSTANCE3 0x00000080 /* EAX5/SFX. Spec ify channel to target reverb instance 3. */ #define FMOD_REVERB_CHANNELFLAGS_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 1719 skipping to change at line 1774
[REMARKS] [REMARKS]
maxMPEGcodecs / maxADPCMcodecs / maxXMAcodecs will determine the maximu m cpu usage of playing realtime samples. Use this to lower potential exces s cpu usage and also control memory usage.<br> maxMPEGcodecs / maxADPCMcodecs / maxXMAcodecs will determine the maximu m cpu usage of playing realtime samples. Use this to lower potential exces s cpu usage and also control memory usage.<br>
<br> <br>
maxPCMcodecs is for use with PS3 only. It will determine the maximum nu mber of PCM voices that can be played at once. This includes streams of any format and all sounds created maxPCMcodecs is for use with PS3 only. It will determine the maximum nu mber of PCM voices that can be played at once. This includes streams of any format and all sounds created
*without* the FMOD_CREATECOMPRESSEDSAMPLE flag. *without* the FMOD_CREATECOMPRESSEDSAMPLE flag.
<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>
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 [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, Solaris, 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
{ {
int cbsize; /* [in] Size of this st int cbsize; /* [w] Size of this struc
ructure. Use sizeof(FMOD_ADVANCEDSETTINGS) NOTE: This must be set before ture. Use sizeof(FMOD_ADVANCEDSETTINGS) NOTE: This must be set before cal
calling System::getAdvancedSettings! */ ling System::getAdvancedSettings! */
int maxMPEGcodecs; /* [in/out] Optional. Speci int maxMPEGcodecs; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. Mpeg codec 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. Mpeg codecs c
s consume 21,684 bytes per instance and this number will determine how many onsume 21,684 bytes per instance and this number will determine how many mp
mpeg channels can be played simultaneously. Default = 16. */ eg channels can be played simultaneously. Default = 16. */
int maxADPCMcodecs; /* [in/out] Optional. Speci int maxADPCMcodecs; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. ADPCM codec 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. ADPCM codecs c
s consume 2,136 bytes per instance (based on FSB encoded ADPCM block size - onsume 2,136 bytes per instance (based on FSB encoded ADPCM block size - se
see remarks) and this number will determine how many ADPCM channels can be e remarks) and this number will determine how many ADPCM channels can be pl
played simultaneously. Default = 32. */ ayed simultaneously. Default = 32. */
int maxXMAcodecs; /* [in/out] Optional. Speci int maxXMAcodecs; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. XMA codec 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. XMA codecs c
s consume 14,836 bytes per instance and this number will determine how many onsume 14,836 bytes per instance and this number will determine how many XM
XMA channels can be played simultaneously. Default = 32. */ A channels can be played simultaneously. Default = 32. */
int maxCELTcodecs; /* [in/out] Optional. Speci int maxCELTcodecs; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. CELT codec 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. CELT codecs c
s consume 11,500 bytes per instance and this number will determine how many onsume 11,500 bytes per instance and this number will determine how many CE
CELT channels can be played simultaneously. Default = 16 */ LT channels can be played simultaneously. Default = 16 */
int maxPCMcodecs; /* [in/out] Optional. Speci int maxPCMcodecs; /* [r/w] Optional. Specify
fy 0 to ignore. For use with PS3 only. PCM codec 0 to ignore. For use with PS3 only. PCM codecs c
s consume 12,672 bytes per instance and this number will determine how many onsume 12,672 bytes per instance and this number will determine how many st
streams and PCM voices can be played simultaneously. Default = 16 */ reams and PCM voices can be played simultaneously. Default = 16 */
int ASIONumChannels; /* [in/out] Optional. Speci int ASIONumChannels; /* [r/w] Optional. Specify
fy 0 to ignore. Number of channels available on the ASIO device. */ 0 to ignore. Number of channels available on the ASIO device. */
char **ASIOChannelList; /* [in/out] Optional. Speci char **ASIOChannelList; /* [r/w] Optional. Specify
fy 0 to ignore. Pointer to an array of strings (number of entries defined b 0 to ignore. Pointer to an array of strings (number of entries defined by A
y ASIONumChannels) with ASIO channel names. */ SIONumChannels) with ASIO channel names. */
FMOD_SPEAKER *ASIOSpeakerList; /* [in/out] Optional. Speci FMOD_SPEAKER *ASIOSpeakerList; /* [r/w] Optional. Specify
fy 0 to ignore. Pointer to a list of speakers that the ASIO channels map to 0 to ignore. Pointer to a list of speakers that the ASIO channels map to.
. This can be called after System::init to remap ASIO output. */ This can be called after System::init to remap ASIO output. */
int max3DReverbDSPs; /* [in/out] Optional. Speci int max3DReverbDSPs; /* [r/w] Optional. Specify
fy 0 to ignore. The max number of 3d reverb DSP's in the system. (NOTE: CUR 0 to ignore. The max number of 3d reverb DSP's in the system. (NOTE: CURREN
RENTLY DISABLED / UNUSED) */ TLY DISABLED / UNUSED) */
float HRTFMinAngle; /* [in/out] Optional. Speci float HRTFMinAngle; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_INIT_SOFTWARE_HRTF. The angle range (0-3 0 to ignore. For use with FMOD_INIT_SOFTWARE_HRTF. The angle range (0-360)
60) of a 3D sound in relation to the listener, at which the HRTF function b of a 3D sound in relation to the listener, at which the HRTF function begi
egins to have an effect. 0 = in front of the listener. 180 = from 90 degree ns to have an effect. 0 = in front of the listener. 180 = from 90 degrees t
s to the left of the listener to 90 degrees to the right. 360 = behind the o the left of the listener to 90 degrees to the right. 360 = behind the lis
listener. Default = 180.0. */ tener. Default = 180.0. */
float HRTFMaxAngle; /* [in/out] Optional. Speci float HRTFMaxAngle; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_INIT_SOFTWARE_HRTF. The angle range (0-3 0 to ignore. For use with FMOD_INIT_SOFTWARE_HRTF. The angle range (0-360)
60) of a 3D sound in relation to the listener, at which the HRTF function h of a 3D sound in relation to the listener, at which the HRTF function has
as maximum effect. 0 = front of the listener. 180 = from 90 degrees to the maximum effect. 0 = front of the listener. 180 = from 90 degrees to the lef
left of the listener to 90 degrees to the right. 360 = behind the listener. t of the listener to 90 degrees to the right. 360 = behind the listener. De
Default = 360.0. */ fault = 360.0. */
float HRTFFreq; /* [in/out] Optional. Speci float HRTFFreq; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_INIT_SOFTWARE_HRTF. The cutoff frequency 0 to ignore. For use with FMOD_INIT_SOFTWARE_HRTF. The cutoff frequency of
of the HRTF's lowpass filter function when at maximum effect. (i.e. at HRT the HRTF's lowpass filter function when at maximum effect. (i.e. at HRTFMa
FMaxAngle). Default = 4000.0. */ xAngle). Default = 4000.0. */
float vol0virtualvol; /* [in/out] Optional. Speci float vol0virtualvol; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_INIT_VOL0_BECOMES_VIRTUAL. If this flag 0 to ignore. For use with FMOD_INIT_VOL0_BECOMES_VIRTUAL. If this flag is
is used, and the volume is 0.0, then the sound will become virtual. Use th used, and the volume is 0.0, then the sound will become virtual. Use this
is value to raise the threshold to a different point where a sound goes vir value to raise the threshold to a different point where a sound goes virtua
tual. */ l. */
int eventqueuesize; /* [in/out] Optional. Speci int eventqueuesize; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD Event system only. Specifies the number 0 to ignore. For use with FMOD Event system only. Specifies the number of
of slots available for simultaneous non blocking loads. Default = 32. */ slots available for simultaneous non blocking loads. Default = 32. */
unsigned int defaultDecodeBufferSize; /* [in/out] Optional. Speci unsigned int defaultDecodeBufferSize; /* [r/w] Optional. Specify
fy 0 to ignore. For streams. This determines the default size of the double 0 to ignore. For streams. This determines the default size of the double bu
buffer (in milliseconds) that a stream uses. Default = 400ms */ ffer (in milliseconds) that a stream uses. Default = 400ms */
char *debugLogFilename; /* [in/out] Optional. Speci char *debugLogFilename; /* [r/w] Optional. Specify
fy 0 to ignore. Gives fmod's logging system a path/filename. Normally the 0 to ignore. Gives fmod's logging system a path/filename. Normally the log
log is placed in the same directory as the executable and called fmod.log. is placed in the same directory as the executable and called fmod.log. Whe
When using System::getAdvancedSettings, provide at least 256 bytes of memor n using System::getAdvancedSettings, provide at least 256 bytes of memory t
y to copy into. */ o copy into. */
unsigned short profileport; /* [in/out] Optional. Speci unsigned short profileport; /* [r/w] Optional. Specify
fy 0 to ignore. For use with FMOD_INIT_ENABLE_PROFILE. Specify the port to 0 to ignore. For use with FMOD_INIT_ENABLE_PROFILE. Specify the port to li
listen on for connections by the profiler application. */ sten on for connections by the profiler application. */
unsigned int geometryMaxFadeTime; /* [in/out] Optional. Speci unsigned int geometryMaxFadeTime; /* [r/w] Optional. Specify
fy 0 to ignore. The maximum time in miliseconds it takes for a channel to f 0 to ignore. The maximum time in miliseconds it takes for a channel to fade
ade to the new level when its occlusion changes. */ to the new level when its occlusion changes. */
unsigned int maxSpectrumWaveDataBuffers; /* [in/out] Optional. Speci unsigned int maxSpectrumWaveDataBuffers; /* [r/w] Optional. Specify
fy 0 to ignore. Tells System::init to allocate a pool of wavedata/spectrum 0 to ignore. Tells System::init to allocate a pool of wavedata/spectrum buf
buffers to prevent memory fragmentation, any additional buffers will be all fers to prevent memory fragmentation, any additional buffers will be alloca
ocated normally. */ ted normally. */
} FMOD_ADVANCEDSETTINGS; } FMOD_ADVANCEDSETTINGS;
/* /*
[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.
skipping to change at line 1835 skipping to change at line 1894
FMOD_RESULT F_API FMOD_System_GetDriverCaps (FMOD_SYSTEM *system, int id, FMOD_CAPS *caps, int *minfrequency, int *maxfrequency, FMOD_SPEAKER MODE *controlpanelspeakermode); FMOD_RESULT F_API FMOD_System_GetDriverCaps (FMOD_SYSTEM *system, int id, FMOD_CAPS *caps, int *minfrequency, int *maxfrequency, FMOD_SPEAKER MODE *controlpanelspeakermode);
FMOD_RESULT F_API FMOD_System_SetDriver (FMOD_SYSTEM *system, int driver); FMOD_RESULT F_API FMOD_System_SetDriver (FMOD_SYSTEM *system, int driver);
FMOD_RESULT F_API FMOD_System_GetDriver (FMOD_SYSTEM *system, int *driver); FMOD_RESULT F_API FMOD_System_GetDriver (FMOD_SYSTEM *system, int *driver);
FMOD_RESULT F_API FMOD_System_SetHardwareChannels (FMOD_SYSTEM *system, int min2d, int max2d, int min3d, int max3d); FMOD_RESULT F_API FMOD_System_SetHardwareChannels (FMOD_SYSTEM *system, int min2d, int max2d, int min3d, int max3d);
FMOD_RESULT F_API FMOD_System_SetSoftwareChannels (FMOD_SYSTEM *system, int numsoftwarechannels); FMOD_RESULT F_API FMOD_System_SetSoftwareChannels (FMOD_SYSTEM *system, int numsoftwarechannels);
FMOD_RESULT F_API FMOD_System_GetSoftwareChannels (FMOD_SYSTEM *system, int *numsoftwarechannels); FMOD_RESULT F_API FMOD_System_GetSoftwareChannels (FMOD_SYSTEM *system, int *numsoftwarechannels);
FMOD_RESULT F_API FMOD_System_SetSoftwareFormat (FMOD_SYSTEM *system, int samplerate, FMOD_SOUND_FORMAT format, int numoutputchannels, int maxinp utchannels, FMOD_DSP_RESAMPLER resamplemethod); FMOD_RESULT F_API FMOD_System_SetSoftwareFormat (FMOD_SYSTEM *system, int samplerate, FMOD_SOUND_FORMAT format, int numoutputchannels, int maxinp utchannels, FMOD_DSP_RESAMPLER resamplemethod);
FMOD_RESULT F_API FMOD_System_GetSoftwareFormat (FMOD_SYSTEM *system, int *samplerate, FMOD_SOUND_FORMAT *format, int *numoutputchannels, int *ma xinputchannels, FMOD_DSP_RESAMPLER *resamplemethod, int *bits); FMOD_RESULT F_API FMOD_System_GetSoftwareFormat (FMOD_SYSTEM *system, int *samplerate, FMOD_SOUND_FORMAT *format, int *numoutputchannels, int *ma xinputchannels, FMOD_DSP_RESAMPLER *resamplemethod, int *bits);
FMOD_RESULT F_API FMOD_System_SetDSPBufferSize (FMOD_SYSTEM *system, unsigned int bufferlength, int numbuffers); FMOD_RESULT F_API FMOD_System_SetDSPBufferSize (FMOD_SYSTEM *system, unsigned int bufferlength, int numbuffers);
FMOD_RESULT F_API FMOD_System_GetDSPBufferSize (FMOD_SYSTEM *system, unsigned int *bufferlength, int *numbuffers); FMOD_RESULT F_API FMOD_System_GetDSPBufferSize (FMOD_SYSTEM *system, unsigned int *bufferlength, int *numbuffers);
FMOD_RESULT F_API FMOD_System_SetFileSystem (FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FI LE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek, int blockalign); FMOD_RESULT F_API FMOD_System_SetFileSystem (FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FI LE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek, FMOD_FILE_ASYNCR EADCALLBACK userasyncread, FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel, i nt blockalign);
FMOD_RESULT F_API FMOD_System_AttachFileSystem (FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FI LE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek); FMOD_RESULT F_API FMOD_System_AttachFileSystem (FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FI LE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek);
FMOD_RESULT F_API FMOD_System_SetAdvancedSettings (FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings); FMOD_RESULT F_API FMOD_System_SetAdvancedSettings (FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings);
FMOD_RESULT F_API FMOD_System_GetAdvancedSettings (FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings); FMOD_RESULT F_API FMOD_System_GetAdvancedSettings (FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings);
FMOD_RESULT F_API FMOD_System_SetSpeakerMode (FMOD_SYSTEM *system, FMOD_SPEAKERMODE speakermode); FMOD_RESULT F_API FMOD_System_SetSpeakerMode (FMOD_SYSTEM *system, FMOD_SPEAKERMODE speakermode);
FMOD_RESULT F_API FMOD_System_GetSpeakerMode (FMOD_SYSTEM *system, FMOD_SPEAKERMODE *speakermode); FMOD_RESULT F_API FMOD_System_GetSpeakerMode (FMOD_SYSTEM *system, FMOD_SPEAKERMODE *speakermode);
FMOD_RESULT F_API FMOD_System_SetCallback (FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK callback); FMOD_RESULT F_API FMOD_System_SetCallback (FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK callback);
/* /*
Plug-in support Plug-in support
*/ */
 End of changes. 26 change blocks. 
449 lines changed or deleted 542 lines changed or added


 fmod_codec.h   fmod_codec.h 
/* ======================================================================== ============================ */ /* ======================================================================== ============================ */
/* FMOD Ex - codec development header file. Copyright (c), Firelight Techno logies Pty, Ltd. 2004-2009. */ /* FMOD Ex - codec development header file. Copyright (c), Firelight Techno logies Pty, Ltd. 2004-2010. */
/* */ /* */
/* Use this header if you are wanting to develop your own file format plugi n to use with */ /* Use this header if you are wanting to develop your own file format plugi n to use with */
/* FMOD's codec system. With this header you can make your own fileformat plugin that FMOD */ /* FMOD's codec system. With this header you can make your own fileformat plugin that FMOD */
/* can register and use. See the documentation and examples on how to make a working plugin. */ /* can register and use. See the documentation and examples on how to make a working plugin. */
/* */ /* */
/* ======================================================================== ============================ */ /* ======================================================================== ============================ */
#ifndef _FMOD_CODEC_H #ifndef _FMOD_CODEC_H
#define _FMOD_CODEC_H #define _FMOD_CODEC_H
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 fmod_dsp.h   fmod_dsp.h 
/* ======================================================================== ================== */ /* ======================================================================== ================== */
/* FMOD Ex - DSP header file. Copyright (c), Firelight Technologies Pty, Lt d. 2004-2009. */ /* FMOD Ex - DSP header file. Copyright (c), Firelight Technologies Pty, Lt d. 2004-2010. */
/* */ /* */
/* Use this header if you are interested in delving deeper into the FMOD so ftware mixing / */ /* Use this header if you are interested in delving deeper into the FMOD so ftware mixing / */
/* DSP engine. In this header you can find parameter structures for FMOD s ystem reigstered */ /* DSP engine. In this header you can find parameter structures for FMOD s ystem reigstered */
/* DSP effects and generators. */ /* DSP effects and generators. */
/* Also use this header if you are wanting to develop your own DSP plugin t o use with FMOD's */ /* Also use this header if you are wanting to develop your own DSP plugin t o use with FMOD's */
/* dsp system. With this header you can make your own DSP plugin that FMOD can */ /* dsp system. With this header you can make your own DSP plugin that FMOD can */
/* register and use. See the documentation and examples on how to make a w orking plugin. */ /* register and use. See the documentation and examples on how to make a w orking plugin. */
/* */ /* */
/* ======================================================================== ================== */ /* ======================================================================== ================== */
skipping to change at line 80 skipping to change at line 80
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]
Members marked with [in] mean the variable can be written to. The user Members marked with [r] mean the variable is modified by FMOD and is fo
can set the value.<br> r reading purposes only. Do not change this value.<br>
Members marked with [out] mean the variable is modified by FMOD and is Members marked with [w] mean the variable can be written to. The user
for reading purposes only. Do not change this value.<br> 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, Solaris, 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; /* [in] Minimum value o float min; /* [w] Minimum value of
f the parameter (ie 100.0). */ the parameter (ie 100.0). */
float max; /* [in] Maximum value o float max; /* [w] Maximum value of
f the parameter (ie 22050.0). */ the parameter (ie 22050.0). */
float defaultval; /* [in] Default value o float defaultval; /* [w] Default value of
f parameter. */ parameter. */
char name[16]; /* [in] Name of the par char name[16]; /* [w] Name of the para
ameter to be displayed (ie "Cutoff frequency"). */ meter to be displayed (ie "Cutoff frequency"). */
char label[16]; /* [in] Short string to char label[16]; /* [w] Short string to
be put next to value to denote the unit type (ie "hz"). */ be put next to value to denote the unit type (ie "hz"). */
const char *description; /* [in] Description of const char *description; /* [w] Description of t
the parameter to be displayed as a help item / tooltip for this parameter. he parameter to be displayed as a help item / tooltip for this parameter. *
*/ /
} FMOD_DSP_PARAMETERDESC; } FMOD_DSP_PARAMETERDESC;
/* /*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
When creating a DSP unit, declare one of these and provide the relevant callbacks and name for FMOD to use when it creates and uses a DSP unit of this type. When creating a DSP unit, declare one of these and provide the relevant callbacks and name for FMOD to use when it creates and uses a DSP unit of this type.
[REMARKS] [REMARKS]
Members marked with [in] mean the variable can be written to. The user Members marked with [r] mean the variable is modified by FMOD and is fo
can set the value.<br> r reading purposes only. Do not change this value.<br>
Members marked with [out] mean the variable is modified by FMOD and is Members marked with [w] mean the variable can be written to. The user
for reading purposes only. Do not change this value.<br> 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, Solaris, 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]; /* [in] Name of the un char name[32]; /* [w] Name of the uni
it to be displayed in the network. */ t to be displayed in the network. */
unsigned int version; /* [in] Plugin writer' unsigned int version; /* [w] Plugin writer's
s version number. */ version number. */
int channels; /* [in] Number of chan int channels; /* [w] Number of chann
nels. Use 0 to process whatever number of channels is currently in the net els. Use 0 to process whatever number of channels is currently in the netw
work. >0 would be mostly used if the unit is a unit that only generates so ork. >0 would be mostly used if the unit is a unit that only generates sou
und. */ nd. */
FMOD_DSP_CREATECALLBACK create; /* [in] Create callbac FMOD_DSP_CREATECALLBACK create; /* [w] Create callback
k. This is called when DSP unit is created. Can be null. */ . This is called when DSP unit is created. Can be null. */
FMOD_DSP_RELEASECALLBACK release; /* [in] Release callba FMOD_DSP_RELEASECALLBACK release; /* [w] Release callbac
ck. This is called just before the unit is freed so the user can do any cl k. This is called just before the unit is freed so the user can do any cle
eanup needed for the unit. Can be null. */ anup needed for the unit. Can be null. */
FMOD_DSP_RESETCALLBACK reset; /* [in] Reset callback FMOD_DSP_RESETCALLBACK reset; /* [w] Reset callback.
. This is called by the user to reset any history buffers that may need re This is called by the user to reset any history buffers that may need res
setting for a filter, when it is to be used or re-used for the first time t etting for a filter, when it is to be used or re-used for the first time to
o its initial clean state. Use to avoid clicks or artifacts. */ its initial clean state. Use to avoid clicks or artifacts. */
FMOD_DSP_READCALLBACK read; /* [in] Read callback. FMOD_DSP_READCALLBACK read; /* [w] Read callback.
Processing is done here. Can be null. */ Processing is done here. Can be null. */
FMOD_DSP_SETPOSITIONCALLBACK setposition; /* [in] Set position c FMOD_DSP_SETPOSITIONCALLBACK setposition; /* [w] Set position ca
allback. This is called if the unit wants to update its position info but llback. This is called if the unit wants to update its position info but n
not process data, or reset a cursor position internally if it is reading da ot process data, or reset a cursor position internally if it is reading dat
ta from a certain source. Can be null. */ a from a certain source. Can be null. */
int numparameters; /* [in] Number of para int numparameters; /* [w] Number of param
meters used in this filter. The user finds this with DSP::getNumParameters eters used in this filter. The user finds this with DSP::getNumParameters
*/ */
FMOD_DSP_PARAMETERDESC *paramdesc; /* [in] Variable numbe FMOD_DSP_PARAMETERDESC *paramdesc; /* [w] Variable number
r of parameter structures. */ of parameter structures. */
FMOD_DSP_SETPARAMCALLBACK setparameter; /* [in] This is called FMOD_DSP_SETPARAMCALLBACK setparameter; /* [w] This is called
when the user calls DSP::setParameter. Can be null. */ when the user calls DSP::setParameter. Can be null. */
FMOD_DSP_GETPARAMCALLBACK getparameter; /* [in] This is called FMOD_DSP_GETPARAMCALLBACK getparameter; /* [w] This is called
when the user calls DSP::getParameter. Can be null. */ when the user calls DSP::getParameter. Can be null. */
FMOD_DSP_DIALOGCALLBACK config; /* [in] This is called FMOD_DSP_DIALOGCALLBACK config; /* [w] This is called
when the user calls DSP::showConfigDialog. Can be used to display a dialo when the user calls DSP::showConfigDialog. Can be used to display a dialog
g to configure the filter. Can be null. */ to configure the filter. Can be null. */
int configwidth; /* [in] Width of confi int configwidth; /* [w] Width of config
g dialog graphic if there is one. 0 otherwise.*/ dialog graphic if there is one. 0 otherwise.*/
int configheight; /* [in] Height of conf int configheight; /* [w] Height of confi
ig dialog graphic if there is one. 0 otherwise.*/ g dialog graphic if there is one. 0 otherwise.*/
void *userdata; /* [in] Optional. Spec void *userdata; /* [w] Optional. Speci
ify 0 to ignore. This is user data to be attached to the DSP unit during cr fy 0 to ignore. This is user data to be attached to the DSP unit during cre
eation. Access via DSP::getUserData. */ ation. Access via DSP::getUserData. */
} FMOD_DSP_DESCRIPTION; } FMOD_DSP_DESCRIPTION;
/* /*
[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 [in] mean the variable can be written to. The user Members marked with [r] mean the variable is modified by FMOD and is fo
can set the value.<br> r reading purposes only. Do not change this value.<br>
Members marked with [out] mean the variable is modified by FMOD and is Members marked with [w] mean the variable can be written to. The user
for reading purposes only. Do not change this value.<br> 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, Solaris, iPhone
[SEE_ALSO] [SEE_ALSO]
FMOD_DSP_DESCRIPTION FMOD_DSP_DESCRIPTION
] ]
*/ */
struct FMOD_DSP_STATE struct FMOD_DSP_STATE
{ {
FMOD_DSP *instance; /* [out] Handle to the DSP hand the user FMOD_DSP *instance; /* [r] Handle to the DSP hand the user cr
created. Not to be modified. C++ users cast to FMOD::DSP to use. */ eated. Not to be modified. C++ users cast to FMOD::DSP to use. */
void *plugindata; /* [in] Plugin writer created data the ou void *plugindata; /* [w] Plugin writer created data the out
tput author wants to attach to this object. */ put author wants to attach to this object. */
unsigned short speakermask; /* Specifies which speakers the DS unsigned short speakermask; /* [w] Specifies which speakers th
P effect is active on */ e DSP effect is active on */
}; };
/* /*
======================================================================= ============================ ======================================================================= ============================
FMOD built in effect parameters. FMOD built in effect parameters.
Use DSP::setParameter with these enums for the 'index' parameter. Use DSP::setParameter with these enums for the 'index' parameter.
======================================================================= ============================ ======================================================================= ============================
*/ */
 End of changes. 8 change blocks. 
74 lines changed or deleted 74 lines changed or added


 fmod_errors.h   fmod_errors.h 
/*$ preserve start $*/ /*$ preserve start $*/
/* ======================================================================== ====================== */ /* ======================================================================== ====================== */
/* FMOD Ex - Error string header file. Copyright (c), Firelight Technologie s Pty, Ltd. 2004-2009. */ /* FMOD Ex - Error string header file. Copyright (c), Firelight Technologie s Pty, Ltd. 2004-2010. */
/* */ /* */
/* Use this header if you want to store or display a string version / engli sh explanation of */ /* Use this header if you want to store or display a string version / engli sh explanation of */
/* the FMOD error codes. */ /* the FMOD error codes. */
/* */ /* */
/* ======================================================================== ====================== */ /* ======================================================================== ====================== */
#ifndef _FMOD_ERRORS_H #ifndef _FMOD_ERRORS_H
#define _FMOD_ERRORS_H #define _FMOD_ERRORS_H
#include "fmod.h" #include "fmod.h"
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 fmod_event.h   fmod_event.h 
/*$ preserve start $*/ /*$ preserve start $*/
/* ======================================================================== ==================== */ /* ======================================================================== ==================== */
/* FMOD Ex - Main C/C++ event/data driven system header file. */ /* FMOD Ex - Main C/C++ event/data driven system header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2009. */ /* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2010. */
/* */ /* */
/* This header is the base header for all other FMOD EventSystem headers. I f you are */ /* This header is the base header for all other FMOD EventSystem headers. I f you are */
/* programming in C use this exclusively, or if you are programming C++ use this in */ /* programming in C use this exclusively, or if you are programming C++ use this in */
/* conjunction with FMOD_EVENT.HPP */ /* conjunction with FMOD_EVENT.HPP */
/* ======================================================================== ==================== */ /* ======================================================================== ==================== */
#ifndef __FMOD_EVENT_H__ #ifndef __FMOD_EVENT_H__
#define __FMOD_EVENT_H__ #define __FMOD_EVENT_H__
#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 0x00043005 #define FMOD_EVENT_VERSION 0x00043100
/* /*
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;
typedef struct FMOD_EVENTPARAMETER FMOD_EVENTPARAMETER; typedef struct FMOD_EVENTPARAMETER FMOD_EVENTPARAMETER;
typedef struct FMOD_EVENTREVERB FMOD_EVENTREVERB; typedef struct FMOD_EVENTREVERB FMOD_EVENTREVERB;
typedef struct FMOD_MUSICPROMPT FMOD_MUSICPROMPT; typedef struct FMOD_EVENTQUEUE FMOD_EVENTQUEUE;
typedef struct FMOD_MUSICSYSTEM FMOD_MUSICSYSTEM; typedef struct FMOD_EVENTQUEUEENTRY FMOD_EVENTQUEUEENTRY;
typedef unsigned int FMOD_EVENT_INITFLAGS; typedef struct FMOD_MUSICPROMPT FMOD_MUSICPROMPT;
typedef unsigned int FMOD_EVENT_MODE; typedef struct FMOD_MUSICSYSTEM FMOD_MUSICSYSTEM;
typedef unsigned int FMOD_EVENT_STATE; typedef unsigned int FMOD_EVENT_INITFLAGS;
typedef unsigned int FMOD_MUSIC_ID; typedef unsigned int FMOD_EVENT_MODE;
typedef FMOD_MUSIC_ID FMOD_MUSIC_CUE_ID; typedef unsigned int FMOD_EVENT_STATE;
typedef FMOD_MUSIC_ID FMOD_MUSIC_PARAM_ID; typedef unsigned int FMOD_MUSIC_ID;
typedef FMOD_MUSIC_ID FMOD_MUSIC_CUE_ID;
typedef FMOD_MUSIC_ID FMOD_MUSIC_PARAM_ID;
/* /*
[DEFINE] [DEFINE]
[ [
[NAME] [NAME]
FMOD_EVENT_INITFLAGS FMOD_EVENT_INITFLAGS
[DESCRIPTION] [DESCRIPTION]
Initialization flags. Use them with EventSystem::init in the eventflag s parameter to change various behaviour. Initialization flags. Use them with EventSystem::init in the eventflag s parameter to change various behaviour.
skipping to change at line 633 skipping to change at line 635
float sounddefentrylimit; /* [in] Optional. Specify 0 to ignore. A value between 0 -> 1 that is multiplied with the number of so und definition entries in each sound definition in the project being loaded in order to programmatically reduce the number of sound definition entries used at runtime. */ float sounddefentrylimit; /* [in] Optional. Specify 0 to ignore. A value between 0 -> 1 that is multiplied with the number of so und definition entries in each sound definition in the project being loaded in order to programmatically reduce the number of sound definition entries used at runtime. */
unsigned int loadfrommemory_length; /* [in] Optional. Specify 0 to ignore. Length of memory buffer pointed to by name_or_data parameter pa ssed to EventSystem::load. If this field is non-zero then the name_or_data parameter passed to EventSystem::load will be interpreted as a pointer to a memory buffer containing the .fev data to load. If this field is zero the name_or_data parameter is interpreted as the filename of the .fev file to l oad. */ unsigned int loadfrommemory_length; /* [in] Optional. Specify 0 to ignore. Length of memory buffer pointed to by name_or_data parameter pa ssed to EventSystem::load. If this field is non-zero then the name_or_data parameter passed to EventSystem::load will be interpreted as a pointer to a memory buffer containing the .fev data to load. If this field is zero the name_or_data parameter is interpreted as the filename of the .fev file to l oad. */
FMOD_BOOL override_category_vals; /* [in] Optional. If this m ember is set to true, newly-loaded categories will impart their properties (volume, pitch etc.) to existing categories of the same name. */ FMOD_BOOL override_category_vals; /* [in] Optional. If this m ember is set to true, newly-loaded categories will impart their properties (volume, pitch etc.) to existing categories of the same name. */
unsigned int sizeof_instancepool_simple; /* [in] Optional. Specify 0 to ignore. If this value is non-zero, FMOD will create an instance pool fo r simple events with "sizeof_instancepool_simple" entries. Note: Event inst ance pools currently work for simple events only. Complex events will behav e as normal and not be pooled. */ unsigned int sizeof_instancepool_simple; /* [in] Optional. Specify 0 to ignore. If this value is non-zero, FMOD will create an instance pool fo r simple events with "sizeof_instancepool_simple" entries. Note: Event inst ance pools currently work for simple events only. Complex events will behav e as normal and not be pooled. */
} FMOD_EVENT_LOADINFO; } FMOD_EVENT_LOADINFO;
typedef FMOD_RESULT (F_CALLBACK *FMOD_EVENT_CALLBACK) (FMOD_EVENT *event, F MOD_EVENT_CALLBACKTYPE type, void *param1, void *param2, void *userdata); typedef FMOD_RESULT (F_CALLBACK *FMOD_EVENT_CALLBACK) (FMOD_EVENT *event, F MOD_EVENT_CALLBACKTYPE type, void *param1, void *param2, void *userdata);
/* /*
[ENUM]
[
[DESCRIPTION]
These callback types are used with FMOD_EVENTQUEUE_CALLBACK.
[REMARKS]
<b>Note!</b> Currently the user must call EventSystem::update for these
callbacks to trigger!<p>
[PLATFORMS]
Win32, Win64, Linux, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube,
PlayStation Portable, PlayStation 3, Wii
[SEE_ALSO]
EventQueue::setCallback
FMOD_EVENTQUEUE_CALLBACK
EventSystem::update
]
*/
typedef enum
{
FMOD_EVENTQUEUE_CALLBACKTYPE_PREPARE, /* Called when an entry is
being prepared for playback */
FMOD_EVENTQUEUE_CALLBACKTYPE_ABOUTTOPLAY, /* Called when an entry is
about to play */
FMOD_EVENTQUEUE_CALLBACKTYPE_FINISHED, /* Called when an entry has
finished playing */
FMOD_EVENTQUEUE_CALLBACKTYPE_EXPIRED /* Called when an entry has
expired before being played. See EventQueueEntry::setExpiryTime */
} FMOD_EVENTQUEUE_CALLBACKTYPE;
typedef FMOD_RESULT (F_CALLBACK *FMOD_EVENTQUEUE_CALLBACK)(FMOD_EVENTQUEUE_
CALLBACKTYPE type, FMOD_EVENTQUEUE *queue, FMOD_EVENTQUEUEENTRY *entry, voi
d *callbackuserdata);
/*
[STRUCTURE] [STRUCTURE]
[ [
[DESCRIPTION] [DESCRIPTION]
Structure containing realtime information about the music system. Structure containing realtime information about the music system.
[REMARKS] [REMARKS]
[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
skipping to change at line 829 skipping to change at line 860
FMOD_RESULT F_API FMOD_EventSystem_GetReverbPreset (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_REVERB_PROPERTIES *props, int *index); FMOD_RESULT F_API FMOD_EventSystem_GetReverbPreset (FMOD_EVENTSYSTEM *eve ntsystem, const char *name, FMOD_REVERB_PROPERTIES *props, int *index);
FMOD_RESULT F_API FMOD_EventSystem_GetReverbPresetByIndex(FMOD_EVENTSYSTEM *eventsystem, const int index, FMOD_REVERB_PROPERTIES *props, char **name); FMOD_RESULT F_API FMOD_EventSystem_GetReverbPresetByIndex(FMOD_EVENTSYSTEM *eventsystem, const int index, FMOD_REVERB_PROPERTIES *props, char **name);
FMOD_RESULT F_API FMOD_EventSystem_GetNumReverbPresets(FMOD_EVENTSYSTEM *ev entsystem, int *numpresets); FMOD_RESULT F_API FMOD_EventSystem_GetNumReverbPresets(FMOD_EVENTSYSTEM *ev entsystem, int *numpresets);
FMOD_RESULT F_API FMOD_EventSystem_CreateReverb (FMOD_EVENTSYSTEM *eve ntsystem, FMOD_EVENTREVERB **reverb); FMOD_RESULT F_API FMOD_EventSystem_CreateReverb (FMOD_EVENTSYSTEM *eve ntsystem, FMOD_EVENTREVERB **reverb);
FMOD_RESULT F_API FMOD_EventSystem_SetReverbAmbientProperties(FMOD_EVENTSYS TEM *eventsystem, FMOD_REVERB_PROPERTIES *props); FMOD_RESULT F_API FMOD_EventSystem_SetReverbAmbientProperties(FMOD_EVENTSYS TEM *eventsystem, FMOD_REVERB_PROPERTIES *props);
FMOD_RESULT F_API FMOD_EventSystem_GetReverbAmbientProperties(FMOD_EVENTSYS TEM *eventsystem, FMOD_REVERB_PROPERTIES *props); FMOD_RESULT F_API FMOD_EventSystem_GetReverbAmbientProperties(FMOD_EVENTSYS TEM *eventsystem, FMOD_REVERB_PROPERTIES *props);
/* /*
Event queue interfaces.
*/
FMOD_RESULT F_API FMOD_EventSystem_CreateEventQueue (FMOD_EVENTSYSTEM *eve
ntsystem, FMOD_EVENTQUEUE **queue);
FMOD_RESULT F_API FMOD_EventSystem_CreateEventQueueEntry(FMOD_EVENTSYSTEM *
eventsystem, FMOD_EVENT *event, FMOD_EVENTQUEUEENTRY **entry);
/*
3D Listener interface. 3D Listener interface.
*/ */
FMOD_RESULT F_API FMOD_EventSystem_Set3DNumListeners (FMOD_EVENTSYSTEM *eve ntsystem, int numlisteners); FMOD_RESULT F_API FMOD_EventSystem_Set3DNumListeners (FMOD_EVENTSYSTEM *eve ntsystem, int numlisteners);
FMOD_RESULT F_API FMOD_EventSystem_Get3DNumListeners (FMOD_EVENTSYSTEM *eve ntsystem, int *numlisteners); FMOD_RESULT F_API FMOD_EventSystem_Get3DNumListeners (FMOD_EVENTSYSTEM *eve ntsystem, int *numlisteners);
FMOD_RESULT F_API FMOD_EventSystem_Set3DListenerAttributes(FMOD_EVENTSYSTEM *eventsystem, int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel , const FMOD_VECTOR *forward, const FMOD_VECTOR *up); FMOD_RESULT F_API FMOD_EventSystem_Set3DListenerAttributes(FMOD_EVENTSYSTEM *eventsystem, int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel , const FMOD_VECTOR *forward, const FMOD_VECTOR *up);
FMOD_RESULT F_API FMOD_EventSystem_Get3DListenerAttributes(FMOD_EVENTSYSTEM *eventsystem, int listener, FMOD_VECTOR *pos, FMOD_VECTOR *vel, FMOD_VECTO R *forward, FMOD_VECTOR *up); FMOD_RESULT F_API FMOD_EventSystem_Get3DListenerAttributes(FMOD_EVENTSYSTEM *eventsystem, int listener, FMOD_VECTOR *pos, FMOD_VECTOR *vel, FMOD_VECTO R *forward, FMOD_VECTOR *up);
/* /*
Get/set user data Get/set user data
skipping to change at line 1004 skipping to change at line 1042
FMOD_RESULT F_API FMOD_EventReverb_SetProperties (FMOD_EVENTREVERB *eve ntreverb, const FMOD_REVERB_PROPERTIES *props); FMOD_RESULT F_API FMOD_EventReverb_SetProperties (FMOD_EVENTREVERB *eve ntreverb, const FMOD_REVERB_PROPERTIES *props);
FMOD_RESULT F_API FMOD_EventReverb_GetProperties (FMOD_EVENTREVERB *eve ntreverb, FMOD_REVERB_PROPERTIES *props); FMOD_RESULT F_API FMOD_EventReverb_GetProperties (FMOD_EVENTREVERB *eve ntreverb, FMOD_REVERB_PROPERTIES *props);
FMOD_RESULT F_API FMOD_EventReverb_SetActive (FMOD_EVENTREVERB *eve ntreverb, FMOD_BOOL active); FMOD_RESULT F_API FMOD_EventReverb_SetActive (FMOD_EVENTREVERB *eve ntreverb, FMOD_BOOL active);
FMOD_RESULT F_API FMOD_EventReverb_GetActive (FMOD_EVENTREVERB *eve ntreverb, FMOD_BOOL *active); FMOD_RESULT F_API FMOD_EventReverb_GetActive (FMOD_EVENTREVERB *eve ntreverb, FMOD_BOOL *active);
FMOD_RESULT F_API FMOD_EventReverb_SetUserData (FMOD_EVENTREVERB *eve ntreverb, void *userdata); FMOD_RESULT F_API FMOD_EventReverb_SetUserData (FMOD_EVENTREVERB *eve ntreverb, void *userdata);
FMOD_RESULT F_API FMOD_EventReverb_GetUserData (FMOD_EVENTREVERB *eve ntreverb, void **userdata); FMOD_RESULT F_API FMOD_EventReverb_GetUserData (FMOD_EVENTREVERB *eve ntreverb, void **userdata);
FMOD_RESULT F_API FMOD_EventReverb_GetMemoryInfo (FMOD_EVENTREVERB *eve ntreverb, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details); FMOD_RESULT F_API FMOD_EventReverb_GetMemoryInfo (FMOD_EVENTREVERB *eve ntreverb, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
/* /*
'EventQueue' API
*/
FMOD_RESULT F_API FMOD_EventQueue_Release (FMOD_EVENTQUEUE *even
tqueue);
FMOD_RESULT F_API FMOD_EventQueue_Add (FMOD_EVENTQUEUE *even
tqueue, FMOD_EVENTQUEUEENTRY *entry);
FMOD_RESULT F_API FMOD_EventQueue_Remove (FMOD_EVENTQUEUE *even
tqueue, FMOD_EVENTQUEUEENTRY *entry);
FMOD_RESULT F_API FMOD_EventQueue_RemoveHead (FMOD_EVENTQUEUE *even
tqueue);
FMOD_RESULT F_API FMOD_EventQueue_Clear (FMOD_EVENTQUEUE *even
tqueue);
FMOD_RESULT F_API FMOD_EventQueue_SetPaused (FMOD_EVENTQUEUE *even
tqueue, FMOD_BOOL paused);
FMOD_RESULT F_API FMOD_EventQueue_GetPaused (FMOD_EVENTQUEUE *even
tqueue, FMOD_BOOL *paused);
FMOD_RESULT F_API FMOD_EventQueue_IncludeDuckingCategory(FMOD_EVENTQUEUE *e
ventqueue, FMOD_EVENTCATEGORY *category, float volume);
FMOD_RESULT F_API FMOD_EventQueue_ExcludeDuckingCategory(FMOD_EVENTQUEUE *e
ventqueue, FMOD_EVENTCATEGORY *category);
FMOD_RESULT F_API FMOD_EventQueue_SetCallback (FMOD_EVENTQUEUE *even
tqueue, FMOD_EVENTQUEUE_CALLBACK callback, void *callbackuserdata);
FMOD_RESULT F_API FMOD_EventQueue_SetUserData (FMOD_EVENTQUEUE *even
tqueue, void *userdata);
FMOD_RESULT F_API FMOD_EventQueue_GetUserData (FMOD_EVENTQUEUE *even
tqueue, void **userdata);
FMOD_RESULT F_API FMOD_EventQueue_Dump (FMOD_EVENTQUEUE *even
tqueue);
FMOD_RESULT F_API FMOD_EventQueue_GetMemoryInfo (FMOD_EVENTQUEUE *even
tqueue, unsigned int memorybits, unsigned int event_memorybits, unsigned in
t *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
/*
'EventQueueEntry' API
*/
FMOD_RESULT F_API FMOD_EventQueueEntry_Release (FMOD_EVENTQUEUEENTRY
*eventqueueentry);
FMOD_RESULT F_API FMOD_EventQueueEntry_GetInfoOnlyEvent(FMOD_EVENTQUEUEENTR
Y *eventqueueentry, FMOD_EVENT **infoonlyevent);
FMOD_RESULT F_API FMOD_EventQueueEntry_GetRealEvent (FMOD_EVENTQUEUEENTRY
*eventqueueentry, FMOD_EVENT **realevent);
FMOD_RESULT F_API FMOD_EventQueueEntry_SetPriority (FMOD_EVENTQUEUEENTRY
*eventqueueentry, unsigned char priority);
FMOD_RESULT F_API FMOD_EventQueueEntry_SetExpiryTime (FMOD_EVENTQUEUEENTRY
*eventqueueentry, unsigned int expirytime);
FMOD_RESULT F_API FMOD_EventQueueEntry_SetDelayTime (FMOD_EVENTQUEUEENTRY
*eventqueueentry, int delay);
FMOD_RESULT F_API FMOD_EventQueueEntry_SetInterrupt (FMOD_EVENTQUEUEENTRY
*eventqueueentry, FMOD_BOOL interrupt);
FMOD_RESULT F_API FMOD_EventQueueEntry_SetCrossfadeTime(FMOD_EVENTQUEUEENTR
Y *eventqueueentry, int crossfade);
FMOD_RESULT F_API FMOD_EventQueueEntry_SetUserData (FMOD_EVENTQUEUEENTRY
*eventqueueentry, void *userdata);
FMOD_RESULT F_API FMOD_EventQueueEntry_GetUserData (FMOD_EVENTQUEUEENTRY
*eventqueueentry, void **userdata);
FMOD_RESULT F_API FMOD_EventQueueEntry_GetMemoryInfo (FMOD_EVENTQUEUEENTRY
*eventqueueentry, unsigned int memorybits, unsigned int event_memorybits, u
nsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
/*
'MusicSystem' API 'MusicSystem' API
*/ */
FMOD_RESULT F_API FMOD_MusicSystem_Reset (FMOD_MUSICSYSTEM *mus icsystem); FMOD_RESULT F_API FMOD_MusicSystem_Reset (FMOD_MUSICSYSTEM *mus icsystem);
FMOD_RESULT F_API FMOD_MusicSystem_SetVolume (FMOD_MUSICSYSTEM *mus icsystem, float volume); FMOD_RESULT F_API FMOD_MusicSystem_SetVolume (FMOD_MUSICSYSTEM *mus icsystem, float volume);
FMOD_RESULT F_API FMOD_MusicSystem_GetVolume (FMOD_MUSICSYSTEM *mus icsystem, float *volume); FMOD_RESULT F_API FMOD_MusicSystem_GetVolume (FMOD_MUSICSYSTEM *mus icsystem, float *volume);
FMOD_RESULT F_API FMOD_MusicSystem_SetReverbProperties(FMOD_MUSICSYSTEM *mu sicsystem, const FMOD_REVERB_CHANNELPROPERTIES *props); FMOD_RESULT F_API FMOD_MusicSystem_SetReverbProperties(FMOD_MUSICSYSTEM *mu sicsystem, const FMOD_REVERB_CHANNELPROPERTIES *props);
FMOD_RESULT F_API FMOD_MusicSystem_GetReverbProperties(FMOD_MUSICSYSTEM *mu sicsystem, FMOD_REVERB_CHANNELPROPERTIES *props); FMOD_RESULT F_API FMOD_MusicSystem_GetReverbProperties(FMOD_MUSICSYSTEM *mu sicsystem, FMOD_REVERB_CHANNELPROPERTIES *props);
FMOD_RESULT F_API FMOD_MusicSystem_SetPaused (FMOD_MUSICSYSTEM *mus icsystem, FMOD_BOOL paused); FMOD_RESULT F_API FMOD_MusicSystem_SetPaused (FMOD_MUSICSYSTEM *mus icsystem, FMOD_BOOL paused);
FMOD_RESULT F_API FMOD_MusicSystem_GetPaused (FMOD_MUSICSYSTEM *mus icsystem, FMOD_BOOL *paused); FMOD_RESULT F_API FMOD_MusicSystem_GetPaused (FMOD_MUSICSYSTEM *mus icsystem, FMOD_BOOL *paused);
 End of changes. 6 change blocks. 
17 lines changed or deleted 129 lines changed or added


 fmod_event_net.h   fmod_event_net.h 
/* ======================================================================== ==================== */ /* ======================================================================== ==================== */
/* FMOD Ex - Main C/C++ Network event system header file. */ /* FMOD Ex - Main C/C++ Network event system header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2009. */ /* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2010. */
/* */ /* */
/* This header is the base header for all other FMOD NetEventSystem headers . If you are */ /* This header is the base header for all other FMOD NetEventSystem headers . If you are */
/* programming in C use this exclusively, or if you are programming C++ use this in */ /* programming in C use this exclusively, or if you are programming C++ use this in */
/* conjunction with FMOD_EVENT_NET.HPP */ /* conjunction with FMOD_EVENT_NET.HPP */
/* ======================================================================== ==================== */ /* ======================================================================== ==================== */
#ifndef __FMOD_EVENT_NET_H__ #ifndef __FMOD_EVENT_NET_H__
#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 0x00043005 #define FMOD_EVENT_NET_VERSION 0x00043100
/* /*
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. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 fmod_memoryinfo.h   fmod_memoryinfo.h 
/* ======================================================================== ===================== */ /* ======================================================================== ===================== */
/* FMOD Ex - Memory info header file. Copyright (c), Firelight Technologies Pty, Ltd. 2008-2009. */ /* FMOD Ex - Memory info header file. Copyright (c), Firelight Technologies Pty, Ltd. 2008-2010. */
/* */ /* */
/* Use this header if you are interested in getting detailed information on FMOD's memory */ /* Use this header if you are interested in getting detailed information on FMOD's memory */
/* usage. See the documentation for more details. */ /* usage. See the documentation for more details. */
/* */ /* */
/* ======================================================================== ===================== */ /* ======================================================================== ===================== */
#ifndef _FMOD_MEMORYINFO_H #ifndef _FMOD_MEMORYINFO_H
#define _FMOD_MEMORYINFO_H #define _FMOD_MEMORYINFO_H
/* /*
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 fmod_output.h   fmod_output.h 
/* ======================================================================== ============================ */ /* ======================================================================== ============================ */
/* FMOD Ex - output development header file. Copyright (c), Firelight Techn ologies Pty, Ltd. 2004-2009. */ /* FMOD Ex - output development header file. Copyright (c), Firelight Techn ologies Pty, Ltd. 2004-2010. */
/* */ /* */
/* Use this header if you are wanting to develop your own output plugin to use with */ /* Use this header if you are wanting to develop your own output plugin to use with */
/* FMOD's output system. With this header you can make your own output plu gin that FMOD */ /* FMOD's output system. With this header you can make your own output plu gin that FMOD */
/* can register and use. See the documentation and examples on how to make a working plugin. */ /* can register and use. See the documentation and examples on how to make a working plugin. */
/* */ /* */
/* ======================================================================== ============================ */ /* ======================================================================== ============================ */
#ifndef _FMOD_OUTPUT_H #ifndef _FMOD_OUTPUT_H
#define _FMOD_OUTPUT_H #define _FMOD_OUTPUT_H
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 fmodlinux.h   fmodlinux.h 
/* ======================================================================== =================== */ /* ======================================================================== =================== */
/* FMOD Linux Specific header file. Copyright (c), Firelight Technologies P ty, Ltd. 2005-2009. */ /* FMOD Linux Specific header file. Copyright (c), Firelight Technologies P ty, Ltd. 2005-2010. */
/* ======================================================================== =================== */ /* ======================================================================== =================== */
#ifndef _FMODLINUX_H #ifndef _FMODLINUX_H
#define _FMODLINUX_H #define _FMODLINUX_H
#include "fmod.h" #include "fmod.h"
/* /*
[STRUCTURE] [STRUCTURE]
[ [
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 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/