mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-07-20 07:37:07 +03:00
203 lines
15 KiB
C
203 lines
15 KiB
C
/* ============================================================================================= */
|
|
/* FMOD Ex - Memory info header file. Copyright (c), Firelight Technologies Pty, Ltd. 2008-2009. */
|
|
/* */
|
|
/* Use this header if you are interested in getting detailed information on FMOD's memory */
|
|
/* usage. See the documentation for more details. */
|
|
/* */
|
|
/* ============================================================================================= */
|
|
|
|
#ifndef _FMOD_MEMORYINFO_H
|
|
#define _FMOD_MEMORYINFO_H
|
|
|
|
/*
|
|
[ENUM]
|
|
[
|
|
[DESCRIPTION]
|
|
Description of "memoryused_array" fields returned by the getMemoryInfo function of every public FMOD class.
|
|
|
|
[REMARKS]
|
|
Every public FMOD class has a getMemoryInfo function which can be used to get detailed information on what memory resources are associated with the object in question.
|
|
The FMOD_MEMTYPE enumeration values can be used to address the "memoryused_array" returned by getMemoryInfo. See System::getMemoryInfo for an example.
|
|
|
|
[PLATFORMS]
|
|
Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube, PlayStation Portable, PlayStation 3, Wii, Solaris
|
|
|
|
[SEE_ALSO]
|
|
System::getMemoryInfo
|
|
EventSystem::getMemoryInfo
|
|
FMOD_MEMBITS
|
|
FMOD_EVENT_MEMBITS
|
|
]
|
|
*/
|
|
typedef enum
|
|
{
|
|
FMOD_MEMTYPE_OTHER = 0, /* Memory not accounted for by other types */
|
|
FMOD_MEMTYPE_STRING = 1, /* String data */
|
|
|
|
FMOD_MEMTYPE_SYSTEM = 2, /* System object and various internals */
|
|
FMOD_MEMTYPE_PLUGINS = 3, /* Plugin objects and internals */
|
|
FMOD_MEMTYPE_OUTPUT = 4, /* Output module object and internals */
|
|
FMOD_MEMTYPE_CHANNEL = 5, /* Channel related memory */
|
|
FMOD_MEMTYPE_CHANNELGROUP = 6, /* ChannelGroup objects and internals */
|
|
FMOD_MEMTYPE_CODEC = 7, /* Codecs allocated for streaming */
|
|
FMOD_MEMTYPE_FILE = 8, /* File buffers and structures */
|
|
FMOD_MEMTYPE_SOUND = 9, /* Sound objects and internals */
|
|
FMOD_MEMTYPE_SOUND_SECONDARYRAM = 10, /* Sound data stored in secondary RAM */
|
|
FMOD_MEMTYPE_SOUNDGROUP = 11, /* SoundGroup objects and internals */
|
|
FMOD_MEMTYPE_STREAMBUFFER = 12, /* Stream buffer memory */
|
|
FMOD_MEMTYPE_DSPCONNECTION = 13, /* DSPConnection objects and internals */
|
|
FMOD_MEMTYPE_DSP = 14, /* DSP implementation objects */
|
|
FMOD_MEMTYPE_DSPCODEC = 15, /* Realtime file format decoding DSP objects */
|
|
FMOD_MEMTYPE_PROFILE = 16, /* Profiler memory footprint. */
|
|
FMOD_MEMTYPE_RECORDBUFFER = 17, /* Buffer used to store recorded data from microphone */
|
|
FMOD_MEMTYPE_REVERB = 18, /* Reverb implementation objects */
|
|
FMOD_MEMTYPE_REVERBCHANNELPROPS = 19, /* Reverb channel properties structs */
|
|
FMOD_MEMTYPE_GEOMETRY = 20, /* Geometry objects and internals */
|
|
FMOD_MEMTYPE_SYNCPOINT = 21, /* Sync point memory. */
|
|
|
|
FMOD_MEMTYPE_EVENTSYSTEM = 22, /* EventSystem and various internals */
|
|
FMOD_MEMTYPE_MUSICSYSTEM = 23, /* MusicSystem and various internals */
|
|
FMOD_MEMTYPE_FEV = 24, /* Definition of objects contained in all loaded projects e.g. events, groups, categories */
|
|
FMOD_MEMTYPE_MEMORYFSB = 25, /* Data loaded with registerMemoryFSB */
|
|
FMOD_MEMTYPE_EVENTPROJECT = 26, /* EventProject objects and internals */
|
|
FMOD_MEMTYPE_EVENTGROUPI = 27, /* EventGroup objects and internals */
|
|
FMOD_MEMTYPE_SOUNDBANKCLASS = 28, /* Objects used to manage wave banks */
|
|
FMOD_MEMTYPE_SOUNDBANKLIST = 29, /* Data used to manage lists of wave bank usage */
|
|
FMOD_MEMTYPE_STREAMINSTANCE = 30, /* Stream objects and internals */
|
|
FMOD_MEMTYPE_SOUNDDEFCLASS = 31, /* Sound definition objects */
|
|
FMOD_MEMTYPE_SOUNDDEFDEFCLASS = 32, /* Sound definition static data objects */
|
|
FMOD_MEMTYPE_SOUNDDEFPOOL = 33, /* Sound definition pool data */
|
|
FMOD_MEMTYPE_REVERBDEF = 34, /* Reverb definition objects */
|
|
FMOD_MEMTYPE_EVENTREVERB = 35, /* Reverb objects */
|
|
FMOD_MEMTYPE_USERPROPERTY = 36, /* User property objects */
|
|
FMOD_MEMTYPE_EVENTINSTANCE = 37, /* Event instance base objects */
|
|
FMOD_MEMTYPE_EVENTINSTANCE_COMPLEX = 38, /* Complex event instance objects */
|
|
FMOD_MEMTYPE_EVENTINSTANCE_SIMPLE = 39, /* Simple event instance objects */
|
|
FMOD_MEMTYPE_EVENTINSTANCE_LAYER = 40, /* Event layer instance objects */
|
|
FMOD_MEMTYPE_EVENTINSTANCE_SOUND = 41, /* Event sound instance objects */
|
|
FMOD_MEMTYPE_EVENTENVELOPE = 42, /* Event envelope objects */
|
|
FMOD_MEMTYPE_EVENTENVELOPEDEF = 43, /* Event envelope definition objects */
|
|
FMOD_MEMTYPE_EVENTPARAMETER = 44, /* Event parameter objects */
|
|
FMOD_MEMTYPE_EVENTCATEGORY = 45, /* Event category objects */
|
|
FMOD_MEMTYPE_EVENTENVELOPEPOINT = 46, /* Event envelope point objects */
|
|
FMOD_MEMTYPE_EVENTINSTANCEPOOL = 47, /* Event instance pool memory */
|
|
|
|
FMOD_MEMTYPE_MAX, /* Number of "memoryused_array" fields. */
|
|
FMOD_MEMTYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit */
|
|
|
|
} FMOD_MEMTYPE;
|
|
|
|
|
|
/*
|
|
[DEFINE]
|
|
[
|
|
[NAME]
|
|
FMOD_MEMBITS
|
|
|
|
[DESCRIPTION]
|
|
Bitfield used to request specific memory usage information from the getMemoryInfo function of every public FMOD Ex class.
|
|
Use with the "memorybits" parameter of getMemoryInfo to get information on FMOD Ex memory usage.
|
|
|
|
[REMARKS]
|
|
Every public FMOD class has a getMemoryInfo function which can be used to get detailed information on what memory resources are associated with the object in question.
|
|
The FMOD_MEMBITS defines can be OR'd together to specify precisely what memory usage you'd like to get information on. See System::getMemoryInfo for an example.
|
|
|
|
[PLATFORMS]
|
|
Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube, PlayStation Portable, PlayStation 3, Wii, Solaris
|
|
|
|
[SEE_ALSO]
|
|
FMOD_EVENT_MEMBITS
|
|
System::getMemoryInfo
|
|
]
|
|
*/
|
|
#define FMOD_MEMBITS_OTHER (1 << FMOD_MEMTYPE_OTHER) /* Memory not accounted for by other types */
|
|
#define FMOD_MEMBITS_STRING (1 << FMOD_MEMTYPE_STRING) /* String data */
|
|
|
|
#define FMOD_MEMBITS_SYSTEM (1 << FMOD_MEMTYPE_SYSTEM) /* System object and various internals */
|
|
#define FMOD_MEMBITS_PLUGINS (1 << FMOD_MEMTYPE_PLUGINS) /* Plugin objects and internals */
|
|
#define FMOD_MEMBITS_OUTPUT (1 << FMOD_MEMTYPE_OUTPUT) /* Output module object and internals */
|
|
#define FMOD_MEMBITS_CHANNEL (1 << FMOD_MEMTYPE_CHANNEL) /* Channel related memory */
|
|
#define FMOD_MEMBITS_CHANNELGROUP (1 << FMOD_MEMTYPE_CHANNELGROUP) /* ChannelGroup objects and internals */
|
|
#define FMOD_MEMBITS_CODEC (1 << FMOD_MEMTYPE_CODEC) /* Codecs allocated for streaming */
|
|
#define FMOD_MEMBITS_FILE (1 << FMOD_MEMTYPE_FILE) /* Codecs allocated for streaming */
|
|
#define FMOD_MEMBITS_SOUND (1 << FMOD_MEMTYPE_SOUND) /* Sound objects and internals */
|
|
#define FMOD_MEMBITS_SOUND_SECONDARYRAM (1 << FMOD_MEMTYPE_SOUND_SECONDARYRAM) /* Sound data stored in secondary RAM */
|
|
#define FMOD_MEMBITS_SOUNDGROUP (1 << FMOD_MEMTYPE_SOUNDGROUP) /* SoundGroup objects and internals */
|
|
#define FMOD_MEMBITS_STREAMBUFFER (1 << FMOD_MEMTYPE_STREAMBUFFER) /* Stream buffer memory */
|
|
#define FMOD_MEMBITS_DSPCONNECTION (1 << FMOD_MEMTYPE_DSPCONNECTION) /* DSPConnection objects and internals */
|
|
#define FMOD_MEMBITS_DSP (1 << FMOD_MEMTYPE_DSP) /* DSP implementation objects */
|
|
#define FMOD_MEMBITS_DSPCODEC (1 << FMOD_MEMTYPE_DSPCODEC) /* Realtime file format decoding DSP objects */
|
|
#define FMOD_MEMBITS_PROFILE (1 << FMOD_MEMTYPE_PROFILE) /* Profiler memory footprint. */
|
|
#define FMOD_MEMBITS_RECORDBUFFER (1 << FMOD_MEMTYPE_RECORDBUFFER) /* Buffer used to store recorded data from microphone */
|
|
#define FMOD_MEMBITS_REVERB (1 << FMOD_MEMTYPE_REVERB) /* Reverb implementation objects */
|
|
#define FMOD_MEMBITS_REVERBCHANNELPROPS (1 << FMOD_MEMTYPE_REVERBCHANNELPROPS) /* Reverb channel properties structs */
|
|
#define FMOD_MEMBITS_GEOMETRY (1 << FMOD_MEMTYPE_GEOMETRY) /* Geometry objects and internals */
|
|
#define FMOD_MEMBITS_SYNCPOINT (1 << FMOD_MEMTYPE_SYNCPOINT) /* Sync point memory. */
|
|
#define FMOD_MEMBITS_ALL 0xffffffff /* All memory used by FMOD Ex */
|
|
/* [DEFINE_END] */
|
|
|
|
|
|
/*
|
|
[DEFINE]
|
|
[
|
|
[NAME]
|
|
FMOD_EVENT_MEMBITS
|
|
|
|
[DESCRIPTION]
|
|
Bitfield used to request specific memory usage information from the getMemoryInfo function of every public FMOD Event System class.
|
|
Use with the "event_memorybits" parameter of getMemoryInfo to get information on FMOD Event System memory usage.
|
|
|
|
[REMARKS]
|
|
Every public FMOD Event System class has a getMemoryInfo function which can be used to get detailed information on what memory resources are associated with the object in question.
|
|
The FMOD_EVENT_MEMBITS defines can be OR'd together to specify precisely what memory usage you'd like to get information on. See EventSystem::getMemoryInfo for an example.
|
|
|
|
[PLATFORMS]
|
|
Win32, Win64, Linux, Linux64, Macintosh, Xbox, Xbox360, PlayStation 2, GameCube, PlayStation Portable, PlayStation 3, Wii, Solaris
|
|
|
|
[SEE_ALSO]
|
|
FMOD_MEMBITS
|
|
System::getMemoryInfo
|
|
]
|
|
*/
|
|
#define FMOD_EVENT_MEMBITS_EVENTSYSTEM (1 << (FMOD_MEMTYPE_EVENTSYSTEM - FMOD_MEMTYPE_EVENTSYSTEM)) /* EventSystem and various internals */
|
|
#define FMOD_EVENT_MEMBITS_MUSICSYSTEM (1 << (FMOD_MEMTYPE_MUSICSYSTEM - FMOD_MEMTYPE_EVENTSYSTEM)) /* MusicSystem and various internals */
|
|
#define FMOD_EVENT_MEMBITS_FEV (1 << (FMOD_MEMTYPE_FEV - FMOD_MEMTYPE_EVENTSYSTEM)) /* Definition of objects contained in all loaded projects e.g. events, groups, categories */
|
|
#define FMOD_EVENT_MEMBITS_MEMORYFSB (1 << (FMOD_MEMTYPE_MEMORYFSB - FMOD_MEMTYPE_EVENTSYSTEM)) /* Data loaded with registerMemoryFSB */
|
|
#define FMOD_EVENT_MEMBITS_EVENTPROJECT (1 << (FMOD_MEMTYPE_EVENTPROJECT - FMOD_MEMTYPE_EVENTSYSTEM)) /* EventProject objects and internals */
|
|
#define FMOD_EVENT_MEMBITS_EVENTGROUPI (1 << (FMOD_MEMTYPE_EVENTGROUPI - FMOD_MEMTYPE_EVENTSYSTEM)) /* EventGroup objects and internals */
|
|
#define FMOD_EVENT_MEMBITS_SOUNDBANKCLASS (1 << (FMOD_MEMTYPE_SOUNDBANKCLASS - FMOD_MEMTYPE_EVENTSYSTEM)) /* Objects used to manage wave banks */
|
|
#define FMOD_EVENT_MEMBITS_SOUNDBANKLIST (1 << (FMOD_MEMTYPE_SOUNDBANKLIST - FMOD_MEMTYPE_EVENTSYSTEM)) /* Data used to manage lists of wave bank usage */
|
|
#define FMOD_EVENT_MEMBITS_STREAMINSTANCE (1 << (FMOD_MEMTYPE_STREAMINSTANCE - FMOD_MEMTYPE_EVENTSYSTEM)) /* Stream objects and internals */
|
|
#define FMOD_EVENT_MEMBITS_SOUNDDEFCLASS (1 << (FMOD_MEMTYPE_SOUNDDEFCLASS - FMOD_MEMTYPE_EVENTSYSTEM)) /* Sound definition objects */
|
|
#define FMOD_EVENT_MEMBITS_SOUNDDEFDEFCLASS (1 << (FMOD_MEMTYPE_SOUNDDEFDEFCLASS - FMOD_MEMTYPE_EVENTSYSTEM)) /* Sound definition static data objects */
|
|
#define FMOD_EVENT_MEMBITS_SOUNDDEFPOOL (1 << (FMOD_MEMTYPE_SOUNDDEFPOOL - FMOD_MEMTYPE_EVENTSYSTEM)) /* Sound definition pool data */
|
|
#define FMOD_EVENT_MEMBITS_REVERBDEF (1 << (FMOD_MEMTYPE_REVERBDEF - FMOD_MEMTYPE_EVENTSYSTEM)) /* Reverb definition objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTREVERB (1 << (FMOD_MEMTYPE_EVENTREVERB - FMOD_MEMTYPE_EVENTSYSTEM)) /* Reverb objects */
|
|
#define FMOD_EVENT_MEMBITS_USERPROPERTY (1 << (FMOD_MEMTYPE_USERPROPERTY - FMOD_MEMTYPE_EVENTSYSTEM)) /* User property objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTINSTANCE (1 << (FMOD_MEMTYPE_EVENTINSTANCE - FMOD_MEMTYPE_EVENTSYSTEM)) /* Event instance base objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTINSTANCE_COMPLEX (1 << (FMOD_MEMTYPE_EVENTINSTANCE_COMPLEX - FMOD_MEMTYPE_EVENTSYSTEM)) /* Complex event instance objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTINSTANCE_SIMPLE (1 << (FMOD_MEMTYPE_EVENTINSTANCE_SIMPLE - FMOD_MEMTYPE_EVENTSYSTEM)) /* Simple event instance objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTINSTANCE_LAYER (1 << (FMOD_MEMTYPE_EVENTINSTANCE_LAYER - FMOD_MEMTYPE_EVENTSYSTEM)) /* Event layer instance objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTINSTANCE_SOUND (1 << (FMOD_MEMTYPE_EVENTINSTANCE_SOUND - FMOD_MEMTYPE_EVENTSYSTEM)) /* Event sound instance objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTENVELOPE (1 << (FMOD_MEMTYPE_EVENTENVELOPE - FMOD_MEMTYPE_EVENTSYSTEM)) /* Event envelope objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTENVELOPEDEF (1 << (FMOD_MEMTYPE_EVENTENVELOPEDEF - FMOD_MEMTYPE_EVENTSYSTEM)) /* Event envelope definition objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTPARAMETER (1 << (FMOD_MEMTYPE_EVENTPARAMETER - FMOD_MEMTYPE_EVENTSYSTEM)) /* Event parameter objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTCATEGORY (1 << (FMOD_MEMTYPE_EVENTCATEGORY - FMOD_MEMTYPE_EVENTSYSTEM)) /* Event category objects */
|
|
#define FMOD_EVENT_MEMBITS_EVENTENVELOPEPOINT (1 << (FMOD_MEMTYPE_EVENTENVELOPEPOINT - FMOD_MEMTYPE_EVENTSYSTEM)) /* Event envelope point objects */
|
|
#define FMOD_EVENT_MEMBITS_ALL 0xffffffff /* All memory used by FMOD Event System */
|
|
|
|
/* All event instance memory */
|
|
#define FMOD_EVENT_MEMBITS_EVENTINSTANCE_GROUP (FMOD_EVENT_MEMBITS_EVENTINSTANCE | \
|
|
FMOD_EVENT_MEMBITS_EVENTINSTANCE_COMPLEX | \
|
|
FMOD_EVENT_MEMBITS_EVENTINSTANCE_SIMPLE | \
|
|
FMOD_EVENT_MEMBITS_EVENTINSTANCE_LAYER | \
|
|
FMOD_EVENT_MEMBITS_EVENTINSTANCE_SOUND)
|
|
|
|
/* All sound definition memory */
|
|
#define FMOD_EVENT_MEMBITS_SOUNDDEF_GROUP (FMOD_EVENT_MEMBITS_SOUNDDEFCLASS | \
|
|
FMOD_EVENT_MEMBITS_SOUNDDEFDEFCLASS | \
|
|
FMOD_EVENT_MEMBITS_SOUNDDEFPOOL)
|
|
/* [DEFINE_END] */
|
|
|
|
#endif
|