PonyTracker
Un projet de tracker de musique
 Tout Structures de données Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Macros Pages
fmod_memoryinfo.h
Aller à la documentation de ce fichier.
1 /* ============================================================================================= */
2 /* FMOD Ex - Memory info header file. Copyright (c), Firelight Technologies Pty, Ltd. 2008-2014. */
3 /* */
4 /* Use this header if you are interested in getting detailed information on FMOD's memory */
5 /* usage. See the documentation for more details. */
6 /* */
7 /* ============================================================================================= */
8 
9 #ifndef _FMOD_MEMORYINFO_H
10 #define _FMOD_MEMORYINFO_H
11 
12 /*
13 [STRUCTURE]
14 [
15  [DESCRIPTION]
16  Structure to be filled with detailed memory usage information of an FMOD object
17 
18  [REMARKS]
19  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.
20  On return from getMemoryInfo, each member of this structure will hold the amount of memory used for its type in bytes.<br>
21  <br>
22  Members marked with [in] mean the user sets the value before passing it to the function.<br>
23  Members marked with [out] mean FMOD sets the value to be used after the function exits.<br>
24 
25 
26  [PLATFORMS]
27  Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
28 
29  [SEE_ALSO]
30  System::getMemoryInfo
31  EventSystem::getMemoryInfo
32  FMOD_MEMBITS
33  FMOD_EVENT_MEMBITS
34 ]
35 */
37 {
38  unsigned int other; /* [out] Memory not accounted for by other types */
39  unsigned int string; /* [out] String data */
40  unsigned int system; /* [out] System object and various internals */
41  unsigned int plugins; /* [out] Plugin objects and internals */
42  unsigned int output; /* [out] Output module object and internals */
43  unsigned int channel; /* [out] Channel related memory */
44  unsigned int channelgroup; /* [out] ChannelGroup objects and internals */
45  unsigned int codec; /* [out] Codecs allocated for streaming */
46  unsigned int file; /* [out] File buffers and structures */
47  unsigned int sound; /* [out] Sound objects and internals */
48  unsigned int secondaryram; /* [out] Sound data stored in secondary RAM */
49  unsigned int soundgroup; /* [out] SoundGroup objects and internals */
50  unsigned int streambuffer; /* [out] Stream buffer memory */
51  unsigned int dspconnection; /* [out] DSPConnection objects and internals */
52  unsigned int dsp; /* [out] DSP implementation objects */
53  unsigned int dspcodec; /* [out] Realtime file format decoding DSP objects */
54  unsigned int profile; /* [out] Profiler memory footprint. */
55  unsigned int recordbuffer; /* [out] Buffer used to store recorded data from microphone */
56  unsigned int reverb; /* [out] Reverb implementation objects */
57  unsigned int reverbchannelprops; /* [out] Reverb channel properties structs */
58  unsigned int geometry; /* [out] Geometry objects and internals */
59  unsigned int syncpoint; /* [out] Sync point memory. */
60  unsigned int eventsystem; /* [out] EventSystem and various internals */
61  unsigned int musicsystem; /* [out] MusicSystem and various internals */
62  unsigned int fev; /* [out] Definition of objects contained in all loaded projects e.g. events, groups, categories */
63  unsigned int memoryfsb; /* [out] Data loaded with preloadFSB */
64  unsigned int eventproject; /* [out] EventProject objects and internals */
65  unsigned int eventgroupi; /* [out] EventGroup objects and internals */
66  unsigned int soundbankclass; /* [out] Objects used to manage wave banks */
67  unsigned int soundbanklist; /* [out] Data used to manage lists of wave bank usage */
68  unsigned int streaminstance; /* [out] Stream objects and internals */
69  unsigned int sounddefclass; /* [out] Sound definition objects */
70  unsigned int sounddefdefclass; /* [out] Sound definition static data objects */
71  unsigned int sounddefpool; /* [out] Sound definition pool data */
72  unsigned int reverbdef; /* [out] Reverb definition objects */
73  unsigned int eventreverb; /* [out] Reverb objects */
74  unsigned int userproperty; /* [out] User property objects */
75  unsigned int eventinstance; /* [out] Event instance base objects */
76  unsigned int eventinstance_complex; /* [out] Complex event instance objects */
77  unsigned int eventinstance_simple; /* [out] Simple event instance objects */
78  unsigned int eventinstance_layer; /* [out] Event layer instance objects */
79  unsigned int eventinstance_sound; /* [out] Event sound instance objects */
80  unsigned int eventenvelope; /* [out] Event envelope objects */
81  unsigned int eventenvelopedef; /* [out] Event envelope definition objects */
82  unsigned int eventparameter; /* [out] Event parameter objects */
83  unsigned int eventcategory; /* [out] Event category objects */
84  unsigned int eventenvelopepoint; /* [out] Event envelope point objects */
85  unsigned int eventinstancepool; /* [out] Event instance pool memory */
87 
88 
89 /*
90 [DEFINE]
91 [
92  [NAME]
93  FMOD_MEMBITS
94 
95  [DESCRIPTION]
96  Bitfield used to request specific memory usage information from the getMemoryInfo function of every public FMOD Ex class.
97  Use with the "memorybits" parameter of getMemoryInfo to get information on FMOD Ex memory usage.
98 
99  [REMARKS]
100  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.
101  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.
102 
103  [PLATFORMS]
104  Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
105 
106  [SEE_ALSO]
107  FMOD_EVENT_MEMBITS
108  System::getMemoryInfo
109 ]
110 */
111 #define FMOD_MEMBITS_OTHER 0x00000001 /* Memory not accounted for by other types */
112 #define FMOD_MEMBITS_STRING 0x00000002 /* String data */
113 
114 #define FMOD_MEMBITS_SYSTEM 0x00000004 /* System object and various internals */
115 #define FMOD_MEMBITS_PLUGINS 0x00000008 /* Plugin objects and internals */
116 #define FMOD_MEMBITS_OUTPUT 0x00000010 /* Output module object and internals */
117 #define FMOD_MEMBITS_CHANNEL 0x00000020 /* Channel related memory */
118 #define FMOD_MEMBITS_CHANNELGROUP 0x00000040 /* ChannelGroup objects and internals */
119 #define FMOD_MEMBITS_CODEC 0x00000080 /* Codecs allocated for streaming */
120 #define FMOD_MEMBITS_FILE 0x00000100 /* Codecs allocated for streaming */
121 #define FMOD_MEMBITS_SOUND 0x00000200 /* Sound objects and internals */
122 #define FMOD_MEMBITS_SOUND_SECONDARYRAM 0x00000400 /* Sound data stored in secondary RAM */
123 #define FMOD_MEMBITS_SOUNDGROUP 0x00000800 /* SoundGroup objects and internals */
124 #define FMOD_MEMBITS_STREAMBUFFER 0x00001000 /* Stream buffer memory */
125 #define FMOD_MEMBITS_DSPCONNECTION 0x00002000 /* DSPConnection objects and internals */
126 #define FMOD_MEMBITS_DSP 0x00004000 /* DSP implementation objects */
127 #define FMOD_MEMBITS_DSPCODEC 0x00008000 /* Realtime file format decoding DSP objects */
128 #define FMOD_MEMBITS_PROFILE 0x00010000 /* Profiler memory footprint. */
129 #define FMOD_MEMBITS_RECORDBUFFER 0x00020000 /* Buffer used to store recorded data from microphone */
130 #define FMOD_MEMBITS_REVERB 0x00040000 /* Reverb implementation objects */
131 #define FMOD_MEMBITS_REVERBCHANNELPROPS 0x00080000 /* Reverb channel properties structs */
132 #define FMOD_MEMBITS_GEOMETRY 0x00100000 /* Geometry objects and internals */
133 #define FMOD_MEMBITS_SYNCPOINT 0x00200000 /* Sync point memory. */
134 #define FMOD_MEMBITS_ALL 0xffffffff /* All memory used by FMOD Ex */
135 /* [DEFINE_END] */
136 
137 
138 /*
139 [DEFINE]
140 [
141  [NAME]
142  FMOD_EVENT_MEMBITS
143 
144  [DESCRIPTION]
145  Bitfield used to request specific memory usage information from the getMemoryInfo function of every public FMOD Event System class.
146  Use with the "event_memorybits" parameter of getMemoryInfo to get information on FMOD Event System memory usage.
147 
148  [REMARKS]
149  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.
150  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.
151 
152  [PLATFORMS]
153  Win32, Win64, Linux, Linux64, Macintosh, Xbox360, PlayStation Portable, PlayStation 3, Wii, iPhone, 3GS, NGP, Android
154 
155  [SEE_ALSO]
156  FMOD_MEMBITS
157  System::getMemoryInfo
158 ]
159 */
160 #define FMOD_EVENT_MEMBITS_EVENTSYSTEM 0x00000001 /* EventSystem and various internals */
161 #define FMOD_EVENT_MEMBITS_MUSICSYSTEM 0x00000002 /* MusicSystem and various internals */
162 #define FMOD_EVENT_MEMBITS_FEV 0x00000004 /* Definition of objects contained in all loaded projects e.g. events, groups, categories */
163 #define FMOD_EVENT_MEMBITS_MEMORYFSB 0x00000008 /* Data loaded with preloadFSB */
164 #define FMOD_EVENT_MEMBITS_EVENTPROJECT 0x00000010 /* EventProject objects and internals */
165 #define FMOD_EVENT_MEMBITS_EVENTGROUPI 0x00000020 /* EventGroup objects and internals */
166 #define FMOD_EVENT_MEMBITS_SOUNDBANKCLASS 0x00000040 /* Objects used to manage wave banks */
167 #define FMOD_EVENT_MEMBITS_SOUNDBANKLIST 0x00000080 /* Data used to manage lists of wave bank usage */
168 #define FMOD_EVENT_MEMBITS_STREAMINSTANCE 0x00000100 /* Stream objects and internals */
169 #define FMOD_EVENT_MEMBITS_SOUNDDEFCLASS 0x00000200 /* Sound definition objects */
170 #define FMOD_EVENT_MEMBITS_SOUNDDEFDEFCLASS 0x00000400 /* Sound definition static data objects */
171 #define FMOD_EVENT_MEMBITS_SOUNDDEFPOOL 0x00000800 /* Sound definition pool data */
172 #define FMOD_EVENT_MEMBITS_REVERBDEF 0x00001000 /* Reverb definition objects */
173 #define FMOD_EVENT_MEMBITS_EVENTREVERB 0x00002000 /* Reverb objects */
174 #define FMOD_EVENT_MEMBITS_USERPROPERTY 0x00004000 /* User property objects */
175 #define FMOD_EVENT_MEMBITS_EVENTINSTANCE 0x00008000 /* Event instance base objects */
176 #define FMOD_EVENT_MEMBITS_EVENTINSTANCE_COMPLEX 0x00010000 /* Complex event instance objects */
177 #define FMOD_EVENT_MEMBITS_EVENTINSTANCE_SIMPLE 0x00020000 /* Simple event instance objects */
178 #define FMOD_EVENT_MEMBITS_EVENTINSTANCE_LAYER 0x00040000 /* Event layer instance objects */
179 #define FMOD_EVENT_MEMBITS_EVENTINSTANCE_SOUND 0x00080000 /* Event sound instance objects */
180 #define FMOD_EVENT_MEMBITS_EVENTENVELOPE 0x00100000 /* Event envelope objects */
181 #define FMOD_EVENT_MEMBITS_EVENTENVELOPEDEF 0x00200000 /* Event envelope definition objects */
182 #define FMOD_EVENT_MEMBITS_EVENTPARAMETER 0x00400000 /* Event parameter objects */
183 #define FMOD_EVENT_MEMBITS_EVENTCATEGORY 0x00800000 /* Event category objects */
184 #define FMOD_EVENT_MEMBITS_EVENTENVELOPEPOINT 0x01000000 /* Event envelope point object+s */
185 #define FMOD_EVENT_MEMBITS_EVENTINSTANCEPOOL 0x02000000 /* Event instance pool data */
186 #define FMOD_EVENT_MEMBITS_ALL 0xffffffff /* All memory used by FMOD Event System */
187 
188 /* All event instance memory */
189 #define FMOD_EVENT_MEMBITS_EVENTINSTANCE_GROUP (FMOD_EVENT_MEMBITS_EVENTINSTANCE | \
190  FMOD_EVENT_MEMBITS_EVENTINSTANCE_COMPLEX | \
191  FMOD_EVENT_MEMBITS_EVENTINSTANCE_SIMPLE | \
192  FMOD_EVENT_MEMBITS_EVENTINSTANCE_LAYER | \
193  FMOD_EVENT_MEMBITS_EVENTINSTANCE_SOUND)
194 
195 /* All sound definition memory */
196 #define FMOD_EVENT_MEMBITS_SOUNDDEF_GROUP (FMOD_EVENT_MEMBITS_SOUNDDEFCLASS | \
197  FMOD_EVENT_MEMBITS_SOUNDDEFDEFCLASS | \
198  FMOD_EVENT_MEMBITS_SOUNDDEFPOOL)
199 /* [DEFINE_END] */
200 
201 #endif
struct FMOD_MEMORY_USAGE_DETAILS FMOD_MEMORY_USAGE_DETAILS
unsigned int eventinstance_layer
unsigned int eventinstance_sound
unsigned int eventinstance_simple
unsigned int eventinstance_complex