| 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 | |
|