Firelight Technologies FMOD Studio API
FMOD_SYSTEM_CALLBACK_TYPE
These callback types are used with System::setCallback.
Each callback has commanddata parameters passed as void* unique to the type of callback.
See reference to FMOD_SYSTEM_CALLBACK to determine what they might mean for each type of callback.
Note! Using FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED (Windows only) will disable any automated device ejection/insertion handling by FMOD. Use this callback to control the behaviour yourself.
Note! Using FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED (on Mac only) requires the application to be running an event loop which will allow external changes to device list to be detected by FMOD.
Note! The 'system' object pointer will be null for FMOD_SYSTEM_CALLBACK_MEMORYALLOCATIONFAILED callback.
C/C++ Syntax
#define FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED 0x00000001
#define FMOD_SYSTEM_CALLBACK_DEVICELOST 0x00000002
#define FMOD_SYSTEM_CALLBACK_MEMORYALLOCATIONFAILED 0x00000004
#define FMOD_SYSTEM_CALLBACK_THREADCREATED 0x00000008
#define FMOD_SYSTEM_CALLBACK_BADDSPCONNECTION 0x00000010
#define FMOD_SYSTEM_CALLBACK_PREMIX 0x00000020
#define FMOD_SYSTEM_CALLBACK_POSTMIX 0x00000040
#define FMOD_SYSTEM_CALLBACK_ERROR 0x00000080
#define FMOD_SYSTEM_CALLBACK_MIDMIX 0x00000100
#define FMOD_SYSTEM_CALLBACK_THREADDESTROYED 0x00000200
#define FMOD_SYSTEM_CALLBACK_PREUPDATE 0x00000400
#define FMOD_SYSTEM_CALLBACK_POSTUPDATE 0x00000800
#define FMOD_SYSTEM_CALLBACK_RECORDLISTCHANGED 0x00001000
#define FMOD_SYSTEM_CALLBACK_ALL 0xFFFFFFFF
JavaScript Syntax
FMOD.SYSTEM_CALLBACK_DEVICELISTCHANGED
FMOD.SYSTEM_CALLBACK_DEVICELOST
FMOD.SYSTEM_CALLBACK_MEMORYALLOCATIONFAILED
FMOD.SYSTEM_CALLBACK_THREADCREATED
FMOD.SYSTEM_CALLBACK_BADDSPCONNECTION
FMOD.SYSTEM_CALLBACK_PREMIX
FMOD.SYSTEM_CALLBACK_POSTMIX
FMOD.SYSTEM_CALLBACK_ERROR
FMOD.SYSTEM_CALLBACK_MIDMIX
FMOD.SYSTEM_CALLBACK_THREADDESTROYED
FMOD.SYSTEM_CALLBACK_PREUPDATE
FMOD.SYSTEM_CALLBACK_POSTUPDATE
FMOD.SYSTEM_CALLBACK_RECORDLISTCHANGED
FMOD.SYSTEM_CALLBACK_ALL
Values
FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED
Called from System::update when the enumerated list of devices has changed.
FMOD_SYSTEM_CALLBACK_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_CALLBACK_MEMORYALLOCATIONFAILED
Called directly when a memory allocation fails somewhere in FMOD. (NOTE - 'system' will be NULL in this callback type.)
FMOD_SYSTEM_CALLBACK_THREADCREATED
Called directly when a thread is created.
FMOD_SYSTEM_CALLBACK_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_CALLBACK_PREMIX
Called each tick before a mix update happens.
FMOD_SYSTEM_CALLBACK_POSTMIX
Called each tick after a mix update happens.
FMOD_SYSTEM_CALLBACK_ERROR
Called when each API function returns an error code, including delayed async functions.
FMOD_SYSTEM_CALLBACK_MIDMIX
Called each tick in mix update after clocks have been updated before the main mix occurs.
FMOD_SYSTEM_CALLBACK_THREADDESTROYED
Called directly when a thread is destroyed.
FMOD_SYSTEM_CALLBACK_PREUPDATE
Called at start of System::update function.
FMOD_SYSTEM_CALLBACK_POSTUPDATE
Called at end of System::update function.
FMOD_SYSTEM_CALLBACK_RECORDLISTCHANGED
Called from System::update when the enumerated list of recording devices has changed.
FMOD_SYSTEM_CALLBACK_ALL
Pass this mask to System::setCallback to receive all callback types.
See Also
Version 1.10.03 Built on Feb 1, 2018