FMOD_ERR_ALREADYLOCKED,/* Tried to call lock a second time before unlock was called. */
FMOD_ERR_BADCOMMAND,/* Tried to call a function on a data type that does not allow this type of functionality (ie calling Sound::lock on a streaming sound). */
FMOD_ERR_CDDA_DRIVERS,/* Neither NTSCSI nor ASPI could be initialised. */
FMOD_ERR_CDDA_INIT,/* An error occurred while initialising the CDDA subsystem. */
FMOD_ERR_CDDA_INVALID_DEVICE,/* Couldn't find the specified device. */
FMOD_ERR_CDDA_NOAUDIO,/* No audio tracks on the specified disc. */
FMOD_ERR_CDDA_NODEVICES,/* No CD/DVD devices were found. */
FMOD_ERR_CDDA_NODISC,/* No disc present in the specified drive. */
FMOD_ERR_CDDA_READ,/* A CDDA read error occurred. */
FMOD_ERR_CHANNEL_ALLOC,/* Error trying to allocate a channel. */
FMOD_ERR_CHANNEL_STOLEN,/* The specified channel has been reused to play another sound. */
FMOD_ERR_COM,/* A Win32 COM related error occured. COM failed to initialize or a QueryInterface failed meaning a Windows codec or driver was not installed properly. */
FMOD_ERR_DMA,/* DMA Failure. See debug output for more information. */
FMOD_ERR_DSP_CONNECTION,/* DSP connection error. Connection possibly caused a cyclic dependancy. Or tried to connect a tree too many units deep (more than 128). */
FMOD_ERR_DSP_FORMAT,/* DSP Format error. A DSP unit may have attempted to connect to this network with the wrong format. */
FMOD_ERR_DSP_NOTFOUND,/* DSP connection error. Couldn't find the DSP unit specified. */
FMOD_ERR_DSP_RUNNING,/* DSP error. Cannot perform this operation while the network is in the middle of running. This will most likely happen if a connection or disconnection is attempted in a DSP callback. */
FMOD_ERR_DSP_TOOMANYCONNECTIONS,/* DSP connection error. The unit being connected to or disconnected should only have 1 input or output. */
FMOD_ERR_FILE_BAD,/* Error loading file. */
FMOD_ERR_FILE_COULDNOTSEEK,/* Couldn't perform seek operation. This is a limitation of the medium (ie netstreams) or the file format. */
FMOD_ERR_FILE_DISKEJECTED,/* Media was ejected while reading. */
FMOD_ERR_FILE_EOF,/* End of file unexpectedly reached while trying to read essential data (truncated data?). */
FMOD_ERR_FORMAT,/* Unsupported file or audio format. */
FMOD_ERR_HTTP,/* A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere. */
FMOD_ERR_HTTP_ACCESS,/* The specified resource requires authentication or is forbidden. */
FMOD_ERR_HTTP_PROXY_AUTH,/* Proxy authentication is required to access the specified resource. */
FMOD_ERR_HTTP_SERVER_ERROR,/* A HTTP server error occurred. */
FMOD_ERR_HTTP_TIMEOUT,/* The HTTP request timed out. */
FMOD_ERR_INITIALIZATION,/* FMOD was not initialized correctly to support this function. */
FMOD_ERR_INITIALIZED,/* Cannot call this command after System::init. */
FMOD_ERR_INTERNAL,/* An error occured that wasn't supposed to. Contact support. */
FMOD_ERR_INVALID_ADDRESS,/* On Xbox 360, this memory address passed to FMOD must be physical, (ie allocated with XPhysicalAlloc.) */
FMOD_ERR_INVALID_FLOAT,/* Value passed in was a NaN, Inf or denormalized float. */
FMOD_ERR_INVALID_HANDLE,/* An invalid object handle was used. */
FMOD_ERR_INVALID_PARAM,/* An invalid parameter was passed to this function. */
FMOD_ERR_INVALID_POSITION,/* An invalid seek position was passed to this function. */
FMOD_ERR_INVALID_SPEAKER,/* An invalid speaker was passed to this function based on the current speaker mode. */
FMOD_ERR_INVALID_SYNCPOINT,/* The syncpoint did not come from this sound handle. */
FMOD_ERR_INVALID_VECTOR,/* The vectors passed in are not unit length, or perpendicular. */
FMOD_ERR_MAXAUDIBLE,/* Reached maximum audible playback count for this sound's soundgroup. */
FMOD_ERR_MEMORY,/* Not enough memory or resources. */
FMOD_ERR_MEMORY_CANTPOINT,/* Can't use FMOD_OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPLE was used. */
FMOD_ERR_MEMORY_SRAM,/* Not enough memory or resources on console sound ram. */
FMOD_ERR_NEEDS2D,/* Tried to call a command on a 3d sound when the command was meant for 2d sound. */
FMOD_ERR_NEEDS3D,/* Tried to call a command on a 2d sound when the command was meant for 3d sound. */
FMOD_ERR_NEEDSHARDWARE,/* Tried to use a feature that requires hardware support. (ie trying to play a GCADPCM compressed sound in software on Wii). */
FMOD_ERR_NEEDSSOFTWARE,/* Tried to use a feature that requires the software engine. Software engine has either been turned off, or command was executed on a hardware channel which does not support this feature. */
FMOD_ERR_NET_CONNECT,/* Couldn't connect to the specified host. */
FMOD_ERR_NET_SOCKET_ERROR,/* A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere. */
FMOD_ERR_NET_URL,/* The specified URL couldn't be resolved. */
FMOD_ERR_NET_WOULD_BLOCK,/* Operation on a non-blocking socket could not complete immediately. */
FMOD_ERR_NOTREADY,/* Operation could not be performed because specified sound/DSP connection is not ready. */
FMOD_ERR_OUTPUT_ALLOCATED,/* Error initializing output device, but more specifically, the output device is already in use and cannot be reused. */
FMOD_ERR_OUTPUT_DRIVERCALL,/* A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted. */
FMOD_ERR_OUTPUT_ENUMERATION,/* Error enumerating the available driver list. List may be inconsistent due to a recent device addition or removal. */
FMOD_ERR_OUTPUT_FORMAT,/* Soundcard does not support the minimum features needed for this soundsystem (16bit stereo output). */
FMOD_ERR_OUTPUT_NOHARDWARE,/* FMOD_HARDWARE was specified but the sound card does not have the resources necessary to play it. */
FMOD_ERR_OUTPUT_NOSOFTWARE,/* Attempted to create a software sound but no software channels were specified in System::init. */
FMOD_ERR_PAN,/* Panning only works with mono or stereo sound sources. */
FMOD_ERR_PLUGIN,/* An unspecified error has been returned from a 3rd party plugin. */
FMOD_ERR_PLUGIN_INSTANCES,/* The number of allowed instances of a plugin has been exceeded. */
FMOD_ERR_PLUGIN_MISSING,/* A requested output, dsp unit type or codec was not available. */
FMOD_ERR_PLUGIN_RESOURCE,/* A resource that the plugin requires cannot be found. (ie the DLS file for MIDI playback or other DLLs that it needs to load) */
FMOD_ERR_PRELOADED,/* The specified sound is still in use by the event system, call EventSystem::unloadFSB before trying to release it. */
FMOD_ERR_PROGRAMMERSOUND,/* The specified sound is still in use by the event system, wait for the event which is using it finish with it. */
FMOD_ERR_RECORD,/* An error occured trying to initialize the recording device. */
FMOD_ERR_REVERB_INSTANCE,/* Specified instance in FMOD_REVERB_PROPERTIES couldn't be set. Most likely because it is an invalid instance number or the reverb doesnt exist. */
FMOD_ERR_SUBSOUND_ALLOCATED,/* This subsound is already being used by another sound, you cannot have more than one parent to a sound. Null out the other parent's entry first. */
FMOD_ERR_SUBSOUND_CANTMOVE,/* Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file. */
FMOD_ERR_SUBSOUND_MODE,/* The subsound's mode bits do not match with the parent sound's mode bits. See documentation for function that it was called with. */
FMOD_ERR_SUBSOUNDS,/* The error occured because the sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent sound, or a parent sound was played without setting up a sentence first. */
FMOD_ERR_TAGNOTFOUND,/* The specified tag could not be found or there are no tags. */
FMOD_ERR_TOOMANYCHANNELS,/* The sound created exceeds the allowable input channel count. This can be increased using the maxinputchannels parameter in System::setSoftwareFormat. */
FMOD_ERR_UNIMPLEMENTED,/* Something in FMOD hasn't been implemented when it should be! contact support! */
FMOD_ERR_UNINITIALIZED,/* This command failed because System::init or System::setDriver was not called. */
FMOD_ERR_UNSUPPORTED,/* A command issued was not supported by this object. Possibly a plugin without certain callbacks specified. */
FMOD_ERR_UPDATE,/* An error caused by System::update occured. */
FMOD_ERR_VERSION,/* The version number of this file format is not supported. */
FMOD_ERR_EVENT_FAILED,/* An Event failed to be retrieved, most likely due to 'just fail' being specified as the max playbacks behavior. */
FMOD_ERR_EVENT_INFOONLY,/* Can't execute this command on an EVENT_INFOONLY event. */
FMOD_ERR_EVENT_INTERNAL,/* An error occured that wasn't supposed to. See debug log for reason. */
FMOD_ERR_EVENT_MAXSTREAMS,/* Event failed because 'Max streams' was hit when FMOD_EVENT_INIT_FAIL_ON_MAXSTREAMS was specified. */
FMOD_ERR_EVENT_MISMATCH,/* FSB mismatches the FEV it was compiled with, the stream/sample mode it was meant to be created with was different, or the FEV was built for a different platform. */
FMOD_ERR_EVENT_NAMECONFLICT,/* A category with the same name already exists. */
FMOD_ERR_EVENT_NOTFOUND,/* The requested event, event group, event category or event property could not be found. */
FMOD_ERR_EVENT_NEEDSSIMPLE,/* Tried to call a function on a complex event that's only supported by simple events. */
FMOD_ERR_EVENT_GUIDCONFLICT,/* An event with the same GUID already exists. */
FMOD_ERR_EVENT_ALREADY_LOADED,/* The specified project or bank has already been loaded. Having multiple copies of the same project loaded simultaneously is forbidden. */
FMOD_ERR_MUSIC_UNINITIALIZED,/* Music system is not initialized probably because no music data is loaded. */
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_RESULT_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
unsignedintData1;/* Specifies the first 8 hexadecimal digits of the GUID */
unsignedshortData2;/* Specifies the first group of 4 hexadecimal digits. */
unsignedshortData3;/* Specifies the second group of 4 hexadecimal digits. */
unsignedcharData4[8];/* Array of 8 bytes. The first 2 bytes contain the third group of 4 hexadecimal digits. The remaining 6 bytes contain the final 12 hexadecimal digits. */
void(*done)(FMOD_ASYNCREADINFO*info,FMOD_RESULTresult);/* FMOD file system wake up function. Use instead of 'result' with FMOD_INIT_ASYNCREAD_FAST to get semaphore based performance improvement. Call this when user file read is finished. Pass result of file read as a parameter. */
FMOD_OUTPUTTYPE_AUTODETECT,/* Picks the best output mode for the platform. This is the default. */
FMOD_OUTPUTTYPE_UNKNOWN,/* All - 3rd party plugin, unknown. This is for use with System::getOutput only. */
FMOD_OUTPUTTYPE_NOSOUND,/* All - All calls in this mode succeed but make no sound. */
FMOD_OUTPUTTYPE_WAVWRITER,/* All - Writes output to fmodoutput.wav by default. Use the 'extradriverdata' parameter in System::init, by simply passing the filename as a string, to set the wav filename. */
FMOD_OUTPUTTYPE_NOSOUND_NRT,/* All - Non-realtime version of FMOD_OUTPUTTYPE_NOSOUND. User can drive mixer with System::update at whatever rate they want. */
FMOD_OUTPUTTYPE_WAVWRITER_NRT,/* All - Non-realtime version of FMOD_OUTPUTTYPE_WAVWRITER. User can drive mixer with System::update at whatever rate they want. */
FMOD_OUTPUTTYPE_DSOUND,/* Win32/Win64 - DirectSound output. (Default on Windows XP and below) */
FMOD_OUTPUTTYPE_WINMM,/* Win32/Win64 - Windows Multimedia output. */
FMOD_OUTPUTTYPE_WASAPI,/* Win32 - Windows Audio Session API. (Default on Windows Vista and above) */
#define FMOD_CAPS_HARDWARE_EMULATED 0x00000002 /* User has device set to 'Hardware acceleration = off' in control panel, and now extra 200ms latency is incurred. */
#define FMOD_CAPS_OUTPUT_MULTICHANNEL 0x00000004 /* Device can do multichannel output, ie greater than 2 channels. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCM8 0x00000008 /* Device can output to 8bit integer PCM. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCM16 0x00000010 /* Device can output to 16bit integer PCM. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCM24 0x00000020 /* Device can output to 24bit integer PCM. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCM32 0x00000040 /* Device can output to 32bit integer PCM. */
#define FMOD_CAPS_OUTPUT_FORMAT_PCMFLOAT 0x00000080 /* Device can output to 32bit floating point PCM. */
#define FMOD_CAPS_REVERB_LIMITED 0x00002000 /* Device supports some form of limited hardware reverb, maybe parameterless and only selectable by environment. */
#define FMOD_CAPS_LOOPBACK 0x00004000 /* Device is a loopback recording device */
#define FMOD_DEBUG_LEVEL_LOG 0x00000001 /* Will display generic logging messages. */
#define FMOD_DEBUG_LEVEL_ERROR 0x00000002 /* Will display errors. */
#define FMOD_DEBUG_LEVEL_WARNING 0x00000004 /* Will display warnings that are not fatal. */
#define FMOD_DEBUG_LEVEL_HINT 0x00000008 /* Will hint to you if there is something possibly better you could be doing. */
#define FMOD_DEBUG_LEVEL_ALL 0x000000FF
#define FMOD_DEBUG_TYPE_MEMORY 0x00000100 /* Show FMOD memory related logging messages. */
#define FMOD_DEBUG_TYPE_THREAD 0x00000200 /* Show FMOD thread related logging messages. */
#define FMOD_DEBUG_TYPE_FILE 0x00000400 /* Show FMOD file system related logging messages. */
#define FMOD_DEBUG_TYPE_NET 0x00000800 /* Show FMOD network related logging messages. */
#define FMOD_DEBUG_TYPE_EVENT 0x00001000 /* Show FMOD Event related logging messages. */
#define FMOD_DEBUG_TYPE_ALL 0x0000FFFF
#define FMOD_DEBUG_DISPLAY_TIMESTAMPS 0x01000000 /* Display the timestamp of the log entry in milliseconds. */
#define FMOD_DEBUG_DISPLAY_LINENUMBERS 0x02000000 /* Display the FMOD Ex source code line numbers, for debugging purposes. */
#define FMOD_DEBUG_DISPLAY_COMPRESS 0x04000000 /* If a message is repeated more than 5 times it will stop displaying it and instead display the number of times the message was logged. */
#define FMOD_DEBUG_DISPLAY_THREAD 0x08000000 /* Display the thread ID of the calling function that caused this log entry to appear. */
FMOD_SPEAKERMODE_RAW,/* There is no specific speakermode. Sound channels are mapped in order of input to output. Use System::setSoftwareFormat to specify speaker count. See remarks for more information. */
FMOD_SPEAKERMODE_MONO,/* The speakers are monaural. */
FMOD_SPEAKERMODE_STEREO,/* The speakers are stereo (DEFAULT). */
FMOD_SPEAKERMODE_QUAD,/* 4 speaker setup. This includes front left, front right, rear left, rear right. */
FMOD_SPEAKERMODE_SURROUND,/* 5 speaker setup. This includes front left, front right, center, rear left, rear right. */
FMOD_SPEAKERMODE_5POINT1,/* 5.1 speaker setup. This includes front left, front right, center, rear left, rear right and a subwoofer. */
FMOD_SPEAKERMODE_7POINT1,/* 7.1 speaker setup. This includes front left, front right, center, rear left, rear right, side left, side right and a subwoofer. */
FMOD_SPEAKERMODE_SRS5_1_MATRIX,/* Stereo compatible output, embedded with surround information. SRS 5.1/Prologic/Prologic2 decoders will split the signal into a 5.1 speaker set-up or SRS virtual surround will decode into a 2-speaker/headphone setup. See remarks about limitations.*/
FMOD_SPEAKERMODE_DOLBY5_1_MATRIX,/* Stereo compatible output, embedded with surround information. Dolby Pro Logic II decoders will split the signal into a 5.1 speaker set-up. */
FMOD_SPEAKERMODE_MYEARS,/* Stereo output, but data is encoded using personalized HRTF algorithms. See myears.net.au */
FMOD_SPEAKERMODE_MAX,/* Maximum number of speaker modes supported. */
FMOD_SPEAKERMODE_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
FMOD_SPEAKER_MAX,/* Maximum number of speaker types supported. */
FMOD_SPEAKER_MONO=FMOD_SPEAKER_FRONT_LEFT,/* For use with FMOD_SPEAKERMODE_MONO and Channel::SetSpeakerLevels. Mapped to same value as FMOD_SPEAKER_FRONT_LEFT. */
FMOD_SPEAKER_NULL=65535,/* A non speaker. Use this with ASIO mapping to ignore a speaker. */
FMOD_SPEAKER_SBL=FMOD_SPEAKER_SIDE_LEFT,/* For use with FMOD_SPEAKERMODE_7POINT1 on PS3 where the extra speakers are surround back inside of side speakers. */
FMOD_SPEAKER_SBR=FMOD_SPEAKER_SIDE_RIGHT,/* For use with FMOD_SPEAKERMODE_7POINT1 on PS3 where the extra speakers are surround back inside of side speakers. */
FMOD_SPEAKER_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
FMOD_PLUGINTYPE_OUTPUT,/* The plugin type is an output module. FMOD mixed audio will play through one of these devices */
FMOD_PLUGINTYPE_CODEC,/* The plugin type is a file format codec. FMOD will use these codecs to load file formats for playback. */
FMOD_PLUGINTYPE_DSP,/* The plugin type is a DSP unit. FMOD will use these plugins as part of its DSP network to apply effects to output or generate sound in realtime. */
FMOD_PLUGINTYPE_MAX,/* Maximum number of plugin types supported. */
FMOD_PLUGINTYPE_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
#define FMOD_INIT_NORMAL 0x00000000 /* All platforms - Initialize normally */
#define FMOD_INIT_STREAM_FROM_UPDATE 0x00000001 /* All platforms - No stream thread is created internally. Streams are driven from System::update. Mainly used with non-realtime outputs. */
#define FMOD_INIT_3D_RIGHTHANDED 0x00000002 /* All platforms - FMOD will treat +X as right, +Y as up and +Z as backwards (towards you). */
#define FMOD_INIT_SOFTWARE_DISABLE 0x00000004 /* All platforms - Disable software mixer to save memory. Anything created with FMOD_SOFTWARE will fail and DSP will not work. */
#define FMOD_INIT_OCCLUSION_LOWPASS 0x00000008 /* All platforms - All FMOD_SOFTWARE (and FMOD_HARDWARE on 3DS and NGP) with FMOD_3D based voices will add a software lowpass filter effect into the DSP chain which is automatically used when Channel::set3DOcclusion is used or the geometry API. */
#define FMOD_INIT_HRTF_LOWPASS 0x00000010 /* All platforms - All FMOD_SOFTWARE (and FMOD_HARDWARE on 3DS and NGP) with FMOD_3D based voices will add a software lowpass filter effect into the DSP chain which causes sounds to sound duller when the sound goes behind the listener. Use System::setAdvancedSettings to adjust cutoff frequency. */
#define FMOD_INIT_DISTANCE_FILTERING 0x00000200 /* All platforms - All FMOD_SOFTWARE with FMOD_3D based voices will add a software lowpass and highpass filter effect into the DSP chain which will act as a distance-automated bandpass filter. Use System::setAdvancedSettings to adjust the center frequency. */
#define FMOD_INIT_REVERB_PREALLOCBUFFERS 0x00000040 /* All platforms - FMOD Software reverb will preallocate enough buffers for reverb per channel, rather than allocating them and freeing them at runtime. */
#define FMOD_INIT_ENABLE_PROFILE 0x00000020 /* All platforms - Enable TCP/IP based host which allows FMOD Designer or FMOD Profiler to connect to it, and view memory, CPU and the DSP network graph in real-time. */
#define FMOD_INIT_VOL0_BECOMES_VIRTUAL 0x00000080 /* All platforms - Any sounds that are 0 volume will go virtual and not be processed except for having their positions updated virtually. Use System::setAdvancedSettings to adjust what volume besides zero to switch to virtual at. */
#define FMOD_INIT_WASAPI_EXCLUSIVE 0x00000100 /* Win32 Vista only - for WASAPI output - Enable exclusive access to hardware, lower latency at the expense of excluding other applications from accessing the audio hardware. */
#define FMOD_INIT_PS3_PREFERDTS 0x00800000 /* PS3 only - Prefer 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_DISABLEDOLBY 0x00100000 /* Wii / 3DS - Disable Dolby Pro Logic surround. Speakermode will be set to STEREO even if user has selected surround in the system settings. */
#define FMOD_INIT_SYSTEM_MUSICMUTENOTPAUSE 0x00200000 /* Xbox 360 / PS3 - The "music" channelgroup which by default pauses when custom 360 dashboard / PS3 BGM music is played, can be changed to mute (therefore continues playing) instead of pausing, by using this flag. */
#define FMOD_INIT_SYNCMIXERWITHUPDATE 0x00400000 /* Win32/Wii/PS3/Xbox/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_GEOMETRY_USECLOSEST 0x04000000 /* All platforms - With the geometry engine, only process the closest polygon rather than accumulating all polygons the sound to listener line intersects. */
#define FMOD_INIT_DISABLE_MYEARS_AUTODETECT 0x08000000 /* Win32 - Disables automatic setting of FMOD_SPEAKERMODE_STEREO to FMOD_SPEAKERMODE_MYEARS if the MyEars profile exists on the PC. MyEars is HRTF 7.1 downmixing through headphones. */
#define FMOD_INIT_PS3_DISABLEDOLBYDIGITAL 0x20000000 /* PS3 only - Disable Dolby Digital output mode selection */
#define FMOD_INIT_7POINT1_DOLBYMAPPING 0x40000000 /* PS3/PS4 only - FMOD uses the WAVEFORMATEX Microsoft 7.1 speaker mapping where the last 2 pairs of speakers are 'rears' then 'sides', but on PS3/PS4 these are mapped to 'surrounds' and 'backs'. Use this flag to swap fmod's last 2 pair of speakers on PS3/PS4 to avoid needing to do a special case for these platforms. */
#define FMOD_INIT_ASYNCREAD_FAST 0x80000000 /* All platforms - Rather than setting FMOD_ASYNCREADINFO::result, call FMOD_ASYNCREADINFO::done to enable a semaphore based wait inside fmod, rather than the older method which can incur up to 10ms delay per read. */
FMOD_SOUND_TYPE_PLAYLIST,/* Information only from ASX/PLS/M3U/WAX playlists */
FMOD_SOUND_TYPE_RAW,/* Raw PCM data. */
FMOD_SOUND_TYPE_S3M,/* ScreamTracker 3. */
FMOD_SOUND_TYPE_SF2,/* Sound font 2 format. */
FMOD_SOUND_TYPE_USER,/* User created sound. */
FMOD_SOUND_TYPE_WAV,/* Microsoft WAV. */
FMOD_SOUND_TYPE_XM,/* FastTracker 2 XM. */
FMOD_SOUND_TYPE_XMA,/* Xbox360 XMA */
FMOD_SOUND_TYPE_VAG,/* PlayStation Portable ADPCM VAG format. */
FMOD_SOUND_TYPE_AUDIOQUEUE,/* iPhone hardware decoder, supports AAC, ALAC and MP3. extracodecdata is a pointer to an FMOD_AUDIOQUEUE_EXTRACODECDATA structure. */
FMOD_SOUND_TYPE_XWMA,/* Xbox360 XWMA */
FMOD_SOUND_TYPE_BCWAV,/* 3DS BCWAV container format for DSP ADPCM and PCM */
FMOD_SOUND_TYPE_AT9,/* NGP ATRAC 9 format */
FMOD_SOUND_TYPE_VORBIS,/* Raw vorbis */
FMOD_SOUND_TYPE_MEDIA_FOUNDATION,/* Microsoft Media Foundation wrappers, supports ASF/WMA */
FMOD_SOUND_TYPE_MAX,/* Maximum number of sound types supported. */
FMOD_SOUND_TYPE_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
#define FMOD_DEFAULT 0x00000000 /* Default for all modes listed below. FMOD_LOOP_OFF, FMOD_2D, FMOD_HARDWARE */
#define FMOD_LOOP_OFF 0x00000001 /* For non looping sounds. (DEFAULT). Overrides FMOD_LOOP_NORMAL / FMOD_LOOP_BIDI. */
#define FMOD_LOOP_NORMAL 0x00000002 /* For forward looping sounds. */
#define FMOD_LOOP_BIDI 0x00000004 /* For bidirectional looping sounds. (only works on software mixed static sounds). */
#define FMOD_2D 0x00000008 /* Ignores any 3d processing. (DEFAULT). */
#define FMOD_3D 0x00000010 /* Makes the sound positionable in 3D. Overrides FMOD_2D. */
#define FMOD_HARDWARE 0x00000020 /* Attempts to make sounds use hardware acceleration. (DEFAULT). Note on platforms that don't support FMOD_HARDWARE (only 3DS, PS Vita, PSP, Wii and Wii U support FMOD_HARDWARE), this will be internally treated as FMOD_SOFTWARE. */
#define FMOD_SOFTWARE 0x00000040 /* Makes the sound be mixed by the FMOD CPU based software mixer. Overrides FMOD_HARDWARE. Use this for FFT, DSP, compressed sample support, 2D multi-speaker support and other software related features. */
#define FMOD_CREATESTREAM 0x00000080 /* Decompress at runtime, streaming from the source provided (ie from disk). Overrides FMOD_CREATESAMPLE and FMOD_CREATECOMPRESSEDSAMPLE. Note a stream can only be played once at a time due to a stream only having 1 stream buffer and file handle. Open multiple streams to have them play concurrently. */
#define FMOD_CREATESAMPLE 0x00000100 /* Decompress at loadtime, decompressing or decoding whole file into memory as the target sample format (ie PCM). Fastest for FMOD_SOFTWARE based playback and most flexible. */
#define FMOD_CREATECOMPRESSEDSAMPLE 0x00000200 /* Load MP2/MP3/IMAADPCM/CELT/Vorbis/AT9 or XMA into memory and leave it compressed. CELT/Vorbis/AT9 encoding only supported in the FSB file format. During playback the FMOD software mixer will decode it in realtime as a 'compressed sample'. Can only be used in combination with FMOD_SOFTWARE. Overrides FMOD_CREATESAMPLE. If the sound data is not one of the supported formats, it will behave as if it was created with FMOD_CREATESAMPLE and decode the sound into PCM. */
#define FMOD_OPENUSER 0x00000400 /* Opens a user created static sample or stream. Use FMOD_CREATESOUNDEXINFO to specify format and/or read callbacks. If a user created 'sample' is created with no read callback, the sample will be empty. Use Sound::lock and Sound::unlock to place sound data into the sound if this is the case. */
#define FMOD_OPENMEMORY 0x00000800 /* "name_or_data" will be interpreted as a pointer to memory instead of filename for creating sounds. Use FMOD_CREATESOUNDEXINFO to specify length. If used with FMOD_CREATESAMPLE or FMOD_CREATECOMPRESSEDSAMPLE, FMOD duplicates the memory into its own buffers. Your own buffer can be freed after open. If used with FMOD_CREATESTREAM, FMOD will stream out of the buffer whose pointer you passed in. In this case, your own buffer should not be freed until you have finished with and released the stream.*/
#define FMOD_OPENMEMORY_POINT 0x10000000 /* "name_or_data" will be interpreted as a pointer to memory instead of filename for creating sounds. Use FMOD_CREATESOUNDEXINFO to specify length. This differs to FMOD_OPENMEMORY in that it uses the memory as is, without duplicating the memory into its own buffers. For Wii/PSP FMOD_HARDWARE supports this flag for the GCADPCM/VAG formats. On other platforms FMOD_SOFTWARE must be used, as sound hardware on the other platforms (ie PC) cannot access main ram. Cannot be freed after open, only after Sound::release. Will not work if the data is compressed and FMOD_CREATECOMPRESSEDSAMPLE is not used. */
#define FMOD_OPENRAW 0x00001000 /* Will ignore file format and treat as raw pcm. Use FMOD_CREATESOUNDEXINFO to specify format. Requires at least defaultfrequency, numchannels and format to be specified before it will open. Must be little endian data. */
#define FMOD_OPENONLY 0x00002000 /* Just open the file, dont prebuffer or read. Good for fast opens for info, or when sound::readData is to be used. */
#define FMOD_ACCURATETIME 0x00004000 /* For System::createSound - for accurate Sound::getLength/Channel::setPosition on VBR MP3, and MOD/S3M/XM/IT/MIDI files. Scans file first, so takes longer to open. FMOD_OPENONLY does not affect this. */
#define FMOD_MPEGSEARCH 0x00008000 /* For corrupted / bad MP3 files. This will search all the way through the file until it hits a valid MPEG header. Normally only searches for 4k. */
#define FMOD_NONBLOCKING 0x00010000 /* For opening sounds and getting streamed subsounds (seeking) asyncronously. Use Sound::getOpenState to poll the state of the sound as it opens or retrieves the subsound in the background. */
#define FMOD_UNIQUE 0x00020000 /* Unique sound, can only be played one at a time */
#define FMOD_3D_HEADRELATIVE 0x00040000 /* Make the sound's position, velocity and orientation relative to the listener. */
#define FMOD_3D_WORLDRELATIVE 0x00080000 /* Make the sound's position, velocity and orientation absolute (relative to the world). (DEFAULT) */
#define FMOD_3D_INVERSEROLLOFF 0x00100000 /* This sound will follow the inverse rolloff model where mindistance = full volume, maxdistance = where sound stops attenuating, and rolloff is fixed according to the global rolloff factor. (DEFAULT) */
#define FMOD_3D_LINEARROLLOFF 0x00200000 /* This sound will follow a linear rolloff model where mindistance = full volume, maxdistance = silence. Rolloffscale is ignored. */
#define FMOD_3D_LINEARSQUAREROLLOFF 0x00400000 /* This sound will follow a linear-square rolloff model where mindistance = full volume, maxdistance = silence. Rolloffscale is ignored. */
#define FMOD_3D_CUSTOMROLLOFF 0x04000000 /* This sound will follow a rolloff model defined by Sound::set3DCustomRolloff / Channel::set3DCustomRolloff. */
#define FMOD_3D_IGNOREGEOMETRY 0x40000000 /* Is not affect by geometry occlusion. If not specified in Sound::setMode, or Channel::setMode, the flag is cleared and it is affected by geometry again. */
#define FMOD_UNICODE 0x01000000 /* Filename is double-byte unicode. */
#define FMOD_IGNORETAGS 0x02000000 /* Skips id3v2/asf/etc tag checks when opening a sound, to reduce seek/read overhead when opening files (helps with CD performance). */
#define FMOD_LOWMEM 0x08000000 /* Removes some features from samples to give a lower memory overhead, like Sound::getName. See remarks. */
#define FMOD_LOADSECONDARYRAM 0x20000000 /* Load sound into the secondary RAM of supported platform. On PS3, sounds will be loaded into RSX/VRAM. */
#define FMOD_VIRTUAL_PLAYFROMSTART 0x80000000 /* For sounds that start virtual (due to being quiet or low importance), instead of swapping back to audible, and playing at the correct offset according to time, this flag makes the sound play from the start. */
FMOD_SOUNDGROUP_BEHAVIOR_FAIL,/* Any sound played that puts the sound count over the SoundGroup::setMaxAudible setting, will simply fail during System::playSound. */
FMOD_SOUNDGROUP_BEHAVIOR_MUTE,/* Any sound played that puts the sound count over the SoundGroup::setMaxAudible setting, will be silent, then if another sound in the group stops the sound that was silent before becomes audible again. */
FMOD_SOUNDGROUP_BEHAVIOR_STEALLOWEST,/* Any sound played that puts the sound count over the SoundGroup::setMaxAudible setting, will steal the quietest / least important sound playing in the group. */
FMOD_SOUNDGROUP_BEHAVIOR_MAX,/* Maximum number of open state types. */
FMOD_SOUNDGROUP_BEHAVIOR_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
FMOD_CHANNEL_CALLBACKTYPE_END,/* Called when a sound ends. */
FMOD_CHANNEL_CALLBACKTYPE_VIRTUALVOICE,/* Called when a voice is swapped out or swapped in. */
FMOD_CHANNEL_CALLBACKTYPE_SYNCPOINT,/* Called when a syncpoint is encountered. Can be from wav file markers. */
FMOD_CHANNEL_CALLBACKTYPE_OCCLUSION,/* Called when the channel has its geometry occlusion value calculated. Can be used to clamp or change the value. */
FMOD_CHANNEL_CALLBACKTYPE_MAX,/* Maximum number of callback types supported. */
FMOD_CHANNEL_CALLBACKTYPE_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
FMOD_SYSTEM_CALLBACKTYPE_DEVICELISTCHANGED,/* Called from System::update when the enumerated list of devices has changed. */
FMOD_SYSTEM_CALLBACKTYPE_DEVICELOST,/* Called from System::update when an output device has been lost due to control panel parameter changes and FMOD cannot automatically recover. */
FMOD_SYSTEM_CALLBACKTYPE_MEMORYALLOCATIONFAILED,/* Called directly when a memory allocation fails somewhere in FMOD. (NOTE - 'system' will be NULL in this callback type.)*/
FMOD_SYSTEM_CALLBACKTYPE_THREADCREATED,/* Called directly when a thread is created. */
FMOD_SYSTEM_CALLBACKTYPE_BADDSPCONNECTION,/* Called when a bad connection was made with DSP::addInput. Usually called from mixer thread because that is where the connections are made. */
FMOD_SYSTEM_CALLBACKTYPE_BADDSPLEVEL,/* Called when too many effects were added exceeding the maximum tree depth of 128. This is most likely caused by accidentally adding too many DSP effects. Usually called from mixer thread because that is where the connections are made. */
FMOD_SYSTEM_CALLBACKTYPE_THREADDESTROYED,/* Called directly when a thread is destroyed. */
FMOD_SYSTEM_CALLBACKTYPE_MAX,/* Maximum number of callback types supported. */
FMOD_SYSTEM_CALLBACKTYPE_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
FMOD_DSP_RESAMPLER_NOINTERP,/* No interpolation. High frequency aliasing hiss will be audible depending on the sample rate of the sound. */
FMOD_DSP_RESAMPLER_LINEAR,/* Linear interpolation (default method). Fast and good quality, causes very slight lowpass effect on low frequency sounds. */
FMOD_DSP_RESAMPLER_CUBIC,/* Cubic interpolation. Slower than linear interpolation but better quality. */
FMOD_DSP_RESAMPLER_SPLINE,/* 5 point spline interpolation. Slowest resampling method but best quality. */
FMOD_DSP_RESAMPLER_MAX,/* Maximum number of resample methods supported. */
FMOD_DSP_RESAMPLER_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
FMOD_DELAYTYPE_END_MS,/* Delay at the end of the sound in milliseconds. Use delayhi only. Channel::isPlaying will remain true until this delay has passed even though the sound itself has stopped playing.*/
FMOD_DELAYTYPE_DSPCLOCK_START,/* Time the sound started if Channel::getDelay is used, or if Channel::setDelay is used, the sound will delay playing until this exact tick. */
FMOD_DELAYTYPE_DSPCLOCK_END,/* Time the sound should end. If this is non-zero, the channel will go silent at this exact tick. */
FMOD_DELAYTYPE_DSPCLOCK_PAUSE,/* Time the sound should pause. If this is non-zero, the channel will pause at this exact tick. */
FMOD_DELAYTYPE_MAX,/* Maximum number of tag datatypes supported. */
FMOD_DELAYTYPE_FORCEINT=65536/* Makes sure this enum is signed 32bit. */
#define FMOD_TIMEUNIT_PCM 0x00000002 /* PCM samples, related to milliseconds * samplerate / 1000. */
#define FMOD_TIMEUNIT_PCMBYTES 0x00000004 /* Bytes, related to PCM samples * channels * datawidth (ie 16bit = 2 bytes). */
#define FMOD_TIMEUNIT_RAWBYTES 0x00000008 /* Raw file bytes of (compressed) sound data (does not include headers). Only used by Sound::getLength and Channel::getPosition. */
#define FMOD_TIMEUNIT_PCMFRACTION 0x00000010 /* Fractions of 1 PCM sample. Unsigned int range 0 to 0xFFFFFFFF. Used for sub-sample granularity for DSP purposes. */
#define FMOD_TIMEUNIT_MODORDER 0x00000100 /* MOD/S3M/XM/IT. Order 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. Current row in a sequenced module format. Sound::getLength will return the number of rows in the currently playing or seeked to pattern. */
#define FMOD_TIMEUNIT_MODPATTERN 0x00000400 /* MOD/S3M/XM/IT. Current pattern in a sequenced module format. Sound::getLength will return the number of patterns in the song and Channel::getPosition will return the currently playing pattern. */
#define FMOD_TIMEUNIT_SENTENCE_MS 0x00010000 /* Currently playing subsound in a sentence time in milliseconds. */
#define FMOD_TIMEUNIT_SENTENCE_PCM 0x00020000 /* Currently playing subsound in a sentence time in PCM Samples, related to milliseconds * samplerate / 1000. */
#define FMOD_TIMEUNIT_SENTENCE_PCMBYTES 0x00040000 /* Currently playing subsound in a sentence time in bytes, related to PCM samples * channels * datawidth (ie 16bit = 2 bytes). */
#define FMOD_TIMEUNIT_SENTENCE 0x00080000 /* Currently playing sentence index according to the channel. */
#define FMOD_TIMEUNIT_SENTENCE_SUBSOUND 0x00100000 /* Currently playing subsound index in a sentence. */
#define FMOD_TIMEUNIT_BUFFERED 0x10000000 /* Time value as seen by buffered stream. This is always ahead of audible time, and is only used for processing. */
FMOD_SPEAKERMAPTYPE_DEFAULT,/* This is the default, and just means FMOD decides which speakers it puts the source channels. */
FMOD_SPEAKERMAPTYPE_ALLMONO,/* This means the sound is made up of all mono sounds. All voices will be panned to the front center by default in this case. */
FMOD_SPEAKERMAPTYPE_ALLSTEREO,/* This means the sound is made up of all stereo sounds. All voices will be panned to front left and front right alternating every second channel. */
FMOD_SPEAKERMAPTYPE_51_PROTOOLS/* Map a 5.1 sound to use protools L C R Ls Rs LFE mapping. Will return an error if not a 6 channel sound. */
intcbsize;/* [w] Size of this structure. This is used so the structure can be expanded in the future and still work on older versions of FMOD Ex. */
unsignedintlength;/* [w] Optional. Specify 0 to ignore. Size in bytes of file to load, or sound to create (in this case only if FMOD_OPENUSER is used). Required if loading from memory. If 0 is specified, then it will use the size of the file (unless loading from memory then an error will be returned). */
unsignedintfileoffset;/* [w] Optional. Specify 0 to ignore. Offset from start of the file to start loading from. This is useful for loading files from inside big data files. */
intnumchannels;/* [w] Optional. Specify 0 to ignore. Number of channels in a sound mandatory if FMOD_OPENUSER or FMOD_OPENRAW is used. */
intdefaultfrequency;/* [w] Optional. Specify 0 to ignore. Default frequency of sound in a sound mandatory if FMOD_OPENUSER or FMOD_OPENRAW is used. Other formats use the frequency determined by the file format. */
FMOD_SOUND_FORMATformat;/* [w] Optional. Specify 0 or FMOD_SOUND_FORMAT_NONE to ignore. Format of the sound mandatory if FMOD_OPENUSER or FMOD_OPENRAW is used. Other formats use the format determined by the file format. */
unsignedintdecodebuffersize;/* [w] Optional. Specify 0 to ignore. For streams. This determines the size of the double buffer (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. Specify 0 to use FMOD's default size which is currently equivalent to 400ms of the sound format created/loaded. */
intinitialsubsound;/* [w] Optional. Specify 0 to ignore. In a multi-sample file format such as .FSB/.DLS/.SF2, specify the initial subsound to seek to, only if FMOD_CREATESTREAM is used. */
intnumsubsounds;/* [w] Optional. Specify 0 to ignore or have no subsounds. In a sound created with FMOD_OPENUSER, specify the number of subsounds that are accessable with Sound::getSubSound. If not created with FMOD_OPENUSER, this will limit the number of subsounds loaded within a multi-subsound file. If using FSB, then if FMOD_CREATESOUNDEXINFO::inclusionlist is used, this will shuffle subsounds down so that there are not any gaps. It will mean that the indices of the sounds will be different. */
int*inclusionlist;/* [w] Optional. Specify 0 to ignore. In a multi-sample format such as .FSB/.DLS/.SF2 it may be desirable to specify only a subset of sounds to be loaded out of the whole file. This is an array of subsound indices to load into memory when created. */
intinclusionlistnum;/* [w] Optional. Specify 0 to ignore. This is the number of integers contained within the inclusionlist array. */
FMOD_SOUND_PCMREADCALLBACKpcmreadcallback;/* [w] Optional. Specify 0 to ignore. Callback to 'piggyback' on FMOD's read functions and accept or even write PCM data while FMOD is opening the sound. Used for user sounds created with FMOD_OPENUSER or for capturing decoded data as FMOD reads it. */
FMOD_SOUND_PCMSETPOSCALLBACKpcmsetposcallback;/* [w] Optional. Specify 0 to ignore. Callback for when the user calls a seeking function such as Channel::setTime or Channel::setPosition within a multi-sample sound, and for when it is opened.*/
FMOD_SOUND_NONBLOCKCALLBACKnonblockcallback;/* [w] Optional. Specify 0 to ignore. Callback for successful completion, or error while loading a sound that used the FMOD_NONBLOCKING flag. Also called duing seeking, when setPosition is called or a stream is restarted. */
constchar*dlsname;/* [w] Optional. Specify 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/system32/drivers/gm.dls or /windows/system32/drivers/etc/gm.dls, on Mac it will attempt to load /System/Library/Components/CoreAudio.component/Contents/Resources/gs_instruments.dls, otherwise the MIDI will fail to open. Current DLS support is for level 1 of the specification. */
constchar*encryptionkey;/* [w] Optional. Specify 0 to ignore. Key for encrypted FSB file. Without this key an encrypted FSB file will not load. */
intmaxpolyphony;/* [w] Optional. Specify 0 to ignore. For sequenced formats with dynamic channel allocation such as .MID and .IT, this specifies the maximum voice count allowed while playing. .IT defaults to 64. .MID defaults to 32. */
void*userdata;/* [w] Optional. Specify 0 to ignore. This is user data to be attached to the sound during creation. Access via Sound::getUserData. Note: This is not passed to FMOD_FILE_OPENCALLBACK, that is a different userdata that is file specific. */
FMOD_SOUND_TYPEsuggestedsoundtype;/* [w] Optional. Specify 0 or FMOD_SOUND_TYPE_UNKNOWN to ignore. Instead of scanning all codec types, use this to speed up loading by making it jump straight to this codec. */
FMOD_FILE_OPENCALLBACKuseropen;/* [w] Optional. Specify 0 to ignore. Callback for opening this file. */
FMOD_FILE_CLOSECALLBACKuserclose;/* [w] Optional. Specify 0 to ignore. Callback for closing this file. */
FMOD_FILE_READCALLBACKuserread;/* [w] Optional. Specify 0 to ignore. Callback for reading from this file. */
FMOD_FILE_SEEKCALLBACKuserseek;/* [w] Optional. Specify 0 to ignore. Callback for seeking within this file. */
FMOD_FILE_ASYNCREADCALLBACKuserasyncread;/* [w] Optional. Specify 0 to ignore. Callback for seeking within this file. */
FMOD_FILE_ASYNCCANCELCALLBACKuserasynccancel;/* [w] Optional. Specify 0 to ignore. Callback for seeking within this file. */
FMOD_SPEAKERMAPTYPEspeakermap;/* [w] Optional. Specify 0 to ignore. Use this to differ the way fmod maps multichannel sounds to speakers. See FMOD_SPEAKERMAPTYPE for more. */
FMOD_SOUNDGROUP*initialsoundgroup;/* [w] Optional. Specify 0 to ignore. Specify a sound group if required, to put sound in as it is created. */
unsignedintinitialseekposition;/* [w] Optional. Specify 0 to ignore. For streams. Specify an initial position to seek the stream to. */
FMOD_TIMEUNITinitialseekpostype;/* [w] Optional. Specify 0 to ignore. For streams. Specify the time unit for the position set in initialseekposition. */
intignoresetfilesystem;/* [w] Optional. Specify 0 to ignore. Set to 1 to use fmod's built in file system. Ignores setFileSystem callbacks and also FMOD_CREATESOUNEXINFO file callbacks. Useful for specific cases where you don't want to use your own file system but want to use fmod's file system (ie net streaming). */
intcddaforceaspi;/* [w] Optional. Specify 0 to ignore. For CDDA sounds only - if non-zero use ASPI instead of NTSCSI to access the specified CD/DVD device. */
unsignedintaudioqueuepolicy;/* [w] Optional. Specify 0 or FMOD_AUDIOQUEUE_CODECPOLICY_DEFAULT to ignore. Policy used to determine whether hardware or software is used for decoding, see FMOD_AUDIOQUEUE_CODECPOLICY for options (iOS >= 3.0 required, otherwise only hardware is available) */
unsignedintminmidigranularity;/* [w] Optional. Specify 0 to ignore. Allows you to set a minimum desired MIDI mixer granularity. Values smaller than 512 give greater than default accuracy at the cost of more CPU and vice versa. Specify 0 for default (512 samples). */
intnonblockthreadid;/* [w] Optional. Specify 0 to ignore. Specifies a thread index to execute non blocking load on. Allows for up to 5 threads to be used for loading at once. This is to avoid one load blocking another. Maximum value = 4. */
intcbsize;/* [w] Size of this structure. Use sizeof(FMOD_ADVANCEDSETTINGS) NOTE: This must be set before calling System::getAdvancedSettings! */
intmaxMPEGcodecs;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. Mpeg codecs consume 21,684 bytes per instance and this number will determine how many mpeg channels can be played simultaneously. Default = 32. */
intmaxADPCMcodecs;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. ADPCM codecs consume 2,136 bytes per instance and this number will determine how many ADPCM channels can be played simultaneously. Default = 32. */
intmaxXMAcodecs;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. XMA codecs consume 14,836 bytes per instance and this number will determine how many XMA channels can be played simultaneously. Default = 32. */
intmaxCELTcodecs;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. CELT codecs consume 11,500 bytes per instance and this number will determine how many CELT channels can be played simultaneously. Default = 32. */
intmaxVORBIScodecs;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. Vorbis codecs consume 12,000 bytes per instance and this number will determine how many Vorbis channels can be played simultaneously. Default = 32. */
intmaxAT9Codecs;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_CREATECOMPRESSEDSAMPLE only. AT9 codecs consume 8,720 bytes per instance and this number will determine how many AT9 channels can be played simultaneously. Default = 32. */
intmaxPCMcodecs;/* [r/w] Optional. Specify 0 to ignore. For use with PS3 only. PCM codecs consume 12,672 bytes per instance and this number will determine how many streams and PCM voices can be played simultaneously. Default = 16. */
intASIONumChannels;/* [r/w] Optional. Specify 0 to ignore. Number of channels available on the ASIO device. */
char**ASIOChannelList;/* [r/w] Optional. Specify 0 to ignore. Pointer to an array of strings (number of entries defined by ASIONumChannels) with ASIO channel names. */
FMOD_SPEAKER*ASIOSpeakerList;/* [r/w] Optional. Specify 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. */
intmax3DReverbDSPs;/* [r/w] Optional. Specify 0 to ignore. The max number of 3d reverb DSP's in the system. (NOTE: CURRENTLY DISABLED / UNUSED) */
floatHRTFMinAngle;/* [r/w] Optional. For use with FMOD_INIT_HRTF_LOWPASS. The angle range (0-360) of a 3D sound in relation to the listener, at which the HRTF function begins to have an effect. 0 = in front of the listener. 180 = from 90 degrees to the left of the listener to 90 degrees to the right. 360 = behind the listener. Default = 180.0. */
floatHRTFMaxAngle;/* [r/w] Optional. For use with FMOD_INIT_HRTF_LOWPASS. The angle range (0-360) of a 3D sound in relation to the listener, at which the HRTF function has maximum effect. 0 = front of the listener. 180 = from 90 degrees to the left of the listener to 90 degrees to the right. 360 = behind the listener. Default = 360.0. */
floatHRTFFreq;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_INIT_HRTF_LOWPASS. The cutoff frequency of the HRTF's lowpass filter function when at maximum effect. (i.e. at HRTFMaxAngle). Default = 4000.0. */
floatvol0virtualvol;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_INIT_VOL0_BECOMES_VIRTUAL. If this flag is used, and the volume is 0.0, then the sound will become virtual. Use this value to raise the threshold to a different point where a sound goes virtual. */
inteventqueuesize;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD Event system only. Specifies the number of slots available for simultaneous non blocking loads, across all threads. Default = 32. */
unsignedintdefaultDecodeBufferSize;/* [r/w] Optional. Specify 0 to ignore. For streams. This determines the default size of the double buffer (in milliseconds) that a stream uses. Default = 400ms */
char*debugLogFilename;/* [r/w] Optional. Specify 0 to ignore. Gives fmod's logging system a path/filename. Normally the log is placed in the same directory as the executable and called fmod.log. When using System::getAdvancedSettings, provide at least 256 bytes of memory to copy into. */
unsignedshortprofileport;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_INIT_ENABLE_PROFILE. Specify the port to listen on for connections by the profiler application. */
unsignedintgeometryMaxFadeTime;/* [r/w] Optional. Specify 0 to ignore. The maximum time in miliseconds it takes for a channel to fade to the new level when its occlusion changes. */
unsignedintmaxSpectrumWaveDataBuffers;/* [r/w] Optional. Specify 0 to ignore. Tells System::init to allocate a pool of wavedata/spectrum buffers to prevent memory fragmentation, any additional buffers will be allocated normally. */
unsignedintmusicSystemCacheDelay;/* [r/w] Optional. Specify 0 to ignore. The delay the music system should allow for loading a sample from disk (in milliseconds). Default = 400 ms. */
floatdistanceFilterCenterFreq;/* [r/w] Optional. Specify 0 to ignore. For use with FMOD_INIT_DISTANCE_FILTERING. The default center frequency in Hz for the distance filtering effect. Default = 1500.0. */
unsignedintstackSizeStream;/* [r/w] Optional. Specify 0 to ignore. Specify the stack size for the FMOD Stream thread in bytes. Useful for custom codecs that use excess stack. Default 49,152 (48kb) */
unsignedintstackSizeNonBlocking;/* [r/w] Optional. Specify 0 to ignore. Specify the stack size for the FMOD_NONBLOCKING loading thread. Useful for custom codecs that use excess stack. Default 65,536 (64kb) */
unsignedintstackSizeMixer;/* [r/w] Optional. Specify 0 to ignore. Specify the stack size for the FMOD mixer thread. Useful for custom dsps that use excess stack. Default 49,152 (48kb) */