mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-10-28 14:56:06 +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
 | 
