diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2022-03-11 15:33:28 -0500 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2022-03-11 15:33:28 -0500 |
commit | 6cfc54f019ea793c75c012af9c8249eac936cfac (patch) | |
tree | f19eed64e9b284136f3b802d4dee71ee24978646 /vendor/fmod/inc/fmod_studio.hpp | |
parent | 456122f5f0086ed0dbe1b784266b96e9624aa8e1 (diff) | |
download | ether-6cfc54f019ea793c75c012af9c8249eac936cfac.tar.gz ether-6cfc54f019ea793c75c012af9c8249eac936cfac.tar.bz2 ether-6cfc54f019ea793c75c012af9c8249eac936cfac.zip |
Added music and lamp popping sound
Diffstat (limited to 'vendor/fmod/inc/fmod_studio.hpp')
-rw-r--r-- | vendor/fmod/inc/fmod_studio.hpp | 402 |
1 files changed, 402 insertions, 0 deletions
diff --git a/vendor/fmod/inc/fmod_studio.hpp b/vendor/fmod/inc/fmod_studio.hpp new file mode 100644 index 0000000..460f213 --- /dev/null +++ b/vendor/fmod/inc/fmod_studio.hpp | |||
@@ -0,0 +1,402 @@ | |||
1 | /* ======================================================================================== */ | ||
2 | /* FMOD Studio API - C++ header file. */ | ||
3 | /* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2021. */ | ||
4 | /* */ | ||
5 | /* Use this header in conjunction with fmod_studio_common.h (which contains all the */ | ||
6 | /* constants / callbacks) to develop using the C++ language. */ | ||
7 | /* */ | ||
8 | /* For more detail visit: */ | ||
9 | /* https://fmod.com/resources/documentation-api?version=2.0&page=page=studio-api.html */ | ||
10 | /* ======================================================================================== */ | ||
11 | #ifndef FMOD_STUDIO_HPP | ||
12 | #define FMOD_STUDIO_HPP | ||
13 | |||
14 | #include "fmod_studio_common.h" | ||
15 | #include "fmod_studio.h" | ||
16 | |||
17 | #include "fmod.hpp" | ||
18 | |||
19 | namespace FMOD | ||
20 | { | ||
21 | |||
22 | namespace Studio | ||
23 | { | ||
24 | typedef FMOD_GUID ID; // Deprecated. Please use FMOD_GUID type. | ||
25 | |||
26 | class System; | ||
27 | class EventDescription; | ||
28 | class EventInstance; | ||
29 | class Bus; | ||
30 | class VCA; | ||
31 | class Bank; | ||
32 | class CommandReplay; | ||
33 | |||
34 | inline FMOD_RESULT parseID(const char *idstring, FMOD_GUID *id) { return FMOD_Studio_ParseID(idstring, id); } | ||
35 | |||
36 | class System | ||
37 | { | ||
38 | private: | ||
39 | // Constructor made private so user cannot statically instance a System class. System::create must be used. | ||
40 | System(); | ||
41 | System(const System &); | ||
42 | |||
43 | public: | ||
44 | static FMOD_RESULT F_API create(System **system, unsigned int headerversion = FMOD_VERSION); | ||
45 | FMOD_RESULT F_API setAdvancedSettings(FMOD_STUDIO_ADVANCEDSETTINGS *settings); | ||
46 | FMOD_RESULT F_API getAdvancedSettings(FMOD_STUDIO_ADVANCEDSETTINGS *settings); | ||
47 | FMOD_RESULT F_API initialize(int maxchannels, FMOD_STUDIO_INITFLAGS studioflags, FMOD_INITFLAGS flags, void *extradriverdata); | ||
48 | FMOD_RESULT F_API release(); | ||
49 | |||
50 | // Handle validity | ||
51 | bool F_API isValid() const; | ||
52 | |||
53 | // Update processing | ||
54 | FMOD_RESULT F_API update(); | ||
55 | FMOD_RESULT F_API flushCommands(); | ||
56 | FMOD_RESULT F_API flushSampleLoading(); | ||
57 | |||
58 | // Low-level API access | ||
59 | FMOD_RESULT F_API getCoreSystem(FMOD::System **system) const; | ||
60 | |||
61 | // Asset retrieval | ||
62 | FMOD_RESULT F_API getEvent(const char *path, EventDescription **event) const; | ||
63 | FMOD_RESULT F_API getBus(const char *path, Bus **bus) const; | ||
64 | FMOD_RESULT F_API getVCA(const char *path, VCA **vca) const; | ||
65 | FMOD_RESULT F_API getBank(const char *path, Bank **bank) const; | ||
66 | FMOD_RESULT F_API getEventByID(const FMOD_GUID *id, EventDescription **event) const; | ||
67 | FMOD_RESULT F_API getBusByID(const FMOD_GUID *id, Bus **bus) const; | ||
68 | FMOD_RESULT F_API getVCAByID(const FMOD_GUID *id, VCA **vca) const; | ||
69 | FMOD_RESULT F_API getBankByID(const FMOD_GUID *id, Bank **bank) const; | ||
70 | FMOD_RESULT F_API getSoundInfo(const char *key, FMOD_STUDIO_SOUND_INFO *info) const; | ||
71 | FMOD_RESULT F_API getParameterDescriptionByName(const char *name, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; | ||
72 | FMOD_RESULT F_API getParameterDescriptionByID(FMOD_STUDIO_PARAMETER_ID id, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; | ||
73 | FMOD_RESULT F_API getParameterLabelByName(const char *name, int labelindex, char *label, int size, int *retrieved) const; | ||
74 | FMOD_RESULT F_API getParameterLabelByID(FMOD_STUDIO_PARAMETER_ID id, int labelindex, char *label, int size, int *retrieved) const; | ||
75 | |||
76 | // Global parameter control | ||
77 | FMOD_RESULT F_API getParameterByID(FMOD_STUDIO_PARAMETER_ID id, float *value, float *finalvalue = 0) const; | ||
78 | FMOD_RESULT F_API setParameterByID(FMOD_STUDIO_PARAMETER_ID id, float value, bool ignoreseekspeed = false); | ||
79 | FMOD_RESULT F_API setParameterByIDWithLabel(FMOD_STUDIO_PARAMETER_ID id, const char *label, bool ignoreseekspeed = false); | ||
80 | FMOD_RESULT F_API setParametersByIDs(const FMOD_STUDIO_PARAMETER_ID *ids, float *values, int count, bool ignoreseekspeed = false); | ||
81 | FMOD_RESULT F_API getParameterByName(const char *name, float *value, float *finalvalue = 0) const; | ||
82 | FMOD_RESULT F_API setParameterByName(const char *name, float value, bool ignoreseekspeed = false); | ||
83 | FMOD_RESULT F_API setParameterByNameWithLabel(const char *name, const char *label, bool ignoreseekspeed = false); | ||
84 | |||
85 | // Path lookup | ||
86 | FMOD_RESULT F_API lookupID(const char *path, FMOD_GUID *id) const; | ||
87 | FMOD_RESULT F_API lookupPath(const FMOD_GUID *id, char *path, int size, int *retrieved) const; | ||
88 | |||
89 | // Listener control | ||
90 | FMOD_RESULT F_API getNumListeners(int *numlisteners); | ||
91 | FMOD_RESULT F_API setNumListeners(int numlisteners); | ||
92 | FMOD_RESULT F_API getListenerAttributes(int listener, FMOD_3D_ATTRIBUTES *attributes, FMOD_VECTOR *attenuationposition = 0) const; | ||
93 | FMOD_RESULT F_API setListenerAttributes(int listener, const FMOD_3D_ATTRIBUTES *attributes, const FMOD_VECTOR *attenuationposition = 0); | ||
94 | FMOD_RESULT F_API getListenerWeight(int listener, float *weight); | ||
95 | FMOD_RESULT F_API setListenerWeight(int listener, float weight); | ||
96 | |||
97 | // Bank control | ||
98 | FMOD_RESULT F_API loadBankFile(const char *filename, FMOD_STUDIO_LOAD_BANK_FLAGS flags, Bank **bank); | ||
99 | FMOD_RESULT F_API loadBankMemory(const char *buffer, int length, FMOD_STUDIO_LOAD_MEMORY_MODE mode, FMOD_STUDIO_LOAD_BANK_FLAGS flags, Bank **bank); | ||
100 | FMOD_RESULT F_API loadBankCustom(const FMOD_STUDIO_BANK_INFO *info, FMOD_STUDIO_LOAD_BANK_FLAGS flags, Bank **bank); | ||
101 | FMOD_RESULT F_API unloadAll(); | ||
102 | |||
103 | // General functionality | ||
104 | FMOD_RESULT F_API getBufferUsage(FMOD_STUDIO_BUFFER_USAGE *usage) const; | ||
105 | FMOD_RESULT F_API resetBufferUsage(); | ||
106 | FMOD_RESULT F_API registerPlugin(const FMOD_DSP_DESCRIPTION *description); | ||
107 | FMOD_RESULT F_API unregisterPlugin(const char *name); | ||
108 | |||
109 | // Enumeration | ||
110 | FMOD_RESULT F_API getBankCount(int *count) const; | ||
111 | FMOD_RESULT F_API getBankList(Bank **array, int capacity, int *count) const; | ||
112 | FMOD_RESULT F_API getParameterDescriptionCount(int *count) const; | ||
113 | FMOD_RESULT F_API getParameterDescriptionList(FMOD_STUDIO_PARAMETER_DESCRIPTION *array, int capacity, int *count) const; | ||
114 | |||
115 | // Command capture and replay | ||
116 | FMOD_RESULT F_API startCommandCapture(const char *filename, FMOD_STUDIO_COMMANDCAPTURE_FLAGS flags); | ||
117 | FMOD_RESULT F_API stopCommandCapture(); | ||
118 | FMOD_RESULT F_API loadCommandReplay(const char *filename, FMOD_STUDIO_COMMANDREPLAY_FLAGS flags, CommandReplay **replay); | ||
119 | |||
120 | // Callbacks | ||
121 | FMOD_RESULT F_API setCallback(FMOD_STUDIO_SYSTEM_CALLBACK callback, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE callbackmask = FMOD_STUDIO_SYSTEM_CALLBACK_ALL); | ||
122 | FMOD_RESULT F_API getUserData(void **userdata) const; | ||
123 | FMOD_RESULT F_API setUserData(void *userdata); | ||
124 | |||
125 | // Monitoring | ||
126 | FMOD_RESULT F_API getCPUUsage(FMOD_STUDIO_CPU_USAGE *usage, FMOD_CPU_USAGE *usage_core) const; | ||
127 | FMOD_RESULT F_API getMemoryUsage(FMOD_STUDIO_MEMORY_USAGE *memoryusage) const; | ||
128 | }; | ||
129 | |||
130 | class EventDescription | ||
131 | { | ||
132 | private: | ||
133 | // Constructor made private so user cannot statically instance the class. | ||
134 | EventDescription(); | ||
135 | EventDescription(const EventDescription &); | ||
136 | |||
137 | public: | ||
138 | // Handle validity | ||
139 | bool F_API isValid() const; | ||
140 | |||
141 | // Property access | ||
142 | FMOD_RESULT F_API getID(FMOD_GUID *id) const; | ||
143 | FMOD_RESULT F_API getPath(char *path, int size, int *retrieved) const; | ||
144 | FMOD_RESULT F_API getParameterDescriptionCount(int *count) const; | ||
145 | FMOD_RESULT F_API getParameterDescriptionByIndex(int index, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; | ||
146 | FMOD_RESULT F_API getParameterDescriptionByName(const char *name, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; | ||
147 | FMOD_RESULT F_API getParameterDescriptionByID(FMOD_STUDIO_PARAMETER_ID id, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; | ||
148 | FMOD_RESULT F_API getParameterLabelByIndex(int index, int labelindex, char *label, int size, int *retrieved) const; | ||
149 | FMOD_RESULT F_API getParameterLabelByName(const char *name, int labelindex, char *label, int size, int *retrieved) const; | ||
150 | FMOD_RESULT F_API getParameterLabelByID(FMOD_STUDIO_PARAMETER_ID id, int labelindex, char *label, int size, int *retrieved) const; | ||
151 | FMOD_RESULT F_API getUserPropertyCount(int *count) const; | ||
152 | FMOD_RESULT F_API getUserPropertyByIndex(int index, FMOD_STUDIO_USER_PROPERTY *property) const; | ||
153 | FMOD_RESULT F_API getUserProperty(const char *name, FMOD_STUDIO_USER_PROPERTY *property) const; | ||
154 | FMOD_RESULT F_API getLength(int *length) const; | ||
155 | FMOD_RESULT F_API getMinMaxDistance(float *min, float *max) const; | ||
156 | FMOD_RESULT F_API getSoundSize(float *size) const; | ||
157 | |||
158 | FMOD_RESULT F_API isSnapshot(bool *snapshot) const; | ||
159 | FMOD_RESULT F_API isOneshot(bool *oneshot) const; | ||
160 | FMOD_RESULT F_API isStream(bool *isStream) const; | ||
161 | FMOD_RESULT F_API is3D(bool *is3d) const; | ||
162 | FMOD_RESULT F_API isDopplerEnabled(bool *doppler) const; | ||
163 | FMOD_RESULT F_API hasSustainPoint(bool *sustainPoint) const; | ||
164 | |||
165 | // Playback control | ||
166 | FMOD_RESULT F_API createInstance(EventInstance **instance) const; | ||
167 | FMOD_RESULT F_API getInstanceCount(int *count) const; | ||
168 | FMOD_RESULT F_API getInstanceList(EventInstance **array, int capacity, int *count) const; | ||
169 | |||
170 | // Sample data loading control | ||
171 | FMOD_RESULT F_API loadSampleData(); | ||
172 | FMOD_RESULT F_API unloadSampleData(); | ||
173 | FMOD_RESULT F_API getSampleLoadingState(FMOD_STUDIO_LOADING_STATE *state) const; | ||
174 | |||
175 | // Convenience functions | ||
176 | FMOD_RESULT F_API releaseAllInstances(); | ||
177 | |||
178 | // Callbacks | ||
179 | FMOD_RESULT F_API setCallback(FMOD_STUDIO_EVENT_CALLBACK callback, FMOD_STUDIO_EVENT_CALLBACK_TYPE callbackmask = FMOD_STUDIO_EVENT_CALLBACK_ALL); | ||
180 | FMOD_RESULT F_API getUserData(void **userdata) const; | ||
181 | FMOD_RESULT F_API setUserData(void *userdata); | ||
182 | }; | ||
183 | |||
184 | class EventInstance | ||
185 | { | ||
186 | private: | ||
187 | // Constructor made private so user cannot statically instance the class. | ||
188 | EventInstance(); | ||
189 | EventInstance(const EventInstance &); | ||
190 | |||
191 | public: | ||
192 | // Handle validity | ||
193 | bool F_API isValid() const; | ||
194 | |||
195 | // Property access | ||
196 | FMOD_RESULT F_API getDescription(EventDescription **description) const; | ||
197 | |||
198 | // Playback control | ||
199 | FMOD_RESULT F_API getVolume(float *volume, float *finalvolume = 0) const; | ||
200 | FMOD_RESULT F_API setVolume(float volume); | ||
201 | |||
202 | FMOD_RESULT F_API getPitch(float *pitch, float *finalpitch = 0) const; | ||
203 | FMOD_RESULT F_API setPitch(float pitch); | ||
204 | |||
205 | FMOD_RESULT F_API get3DAttributes(FMOD_3D_ATTRIBUTES *attributes) const; | ||
206 | FMOD_RESULT F_API set3DAttributes(const FMOD_3D_ATTRIBUTES *attributes); | ||
207 | |||
208 | FMOD_RESULT F_API getListenerMask(unsigned int *mask) const; | ||
209 | FMOD_RESULT F_API setListenerMask(unsigned int mask); | ||
210 | |||
211 | FMOD_RESULT F_API getProperty(FMOD_STUDIO_EVENT_PROPERTY index, float *value) const; | ||
212 | FMOD_RESULT F_API setProperty(FMOD_STUDIO_EVENT_PROPERTY index, float value); | ||
213 | |||
214 | FMOD_RESULT F_API getReverbLevel(int index, float *level) const; | ||
215 | FMOD_RESULT F_API setReverbLevel(int index, float level); | ||
216 | |||
217 | FMOD_RESULT F_API getPaused(bool *paused) const; | ||
218 | FMOD_RESULT F_API setPaused(bool paused); | ||
219 | |||
220 | FMOD_RESULT F_API start(); | ||
221 | FMOD_RESULT F_API stop(FMOD_STUDIO_STOP_MODE mode); | ||
222 | |||
223 | FMOD_RESULT F_API getTimelinePosition(int *position) const; | ||
224 | FMOD_RESULT F_API setTimelinePosition(int position); | ||
225 | |||
226 | FMOD_RESULT F_API getPlaybackState(FMOD_STUDIO_PLAYBACK_STATE *state) const; | ||
227 | |||
228 | FMOD_RESULT F_API getChannelGroup(ChannelGroup **group) const; | ||
229 | |||
230 | FMOD_RESULT F_API getMinMaxDistance(float *min, float *max) const; | ||
231 | |||
232 | FMOD_RESULT F_API release(); | ||
233 | |||
234 | FMOD_RESULT F_API isVirtual(bool *virtualstate) const; | ||
235 | |||
236 | FMOD_RESULT F_API getParameterByID(FMOD_STUDIO_PARAMETER_ID id, float *value, float *finalvalue = 0) const; | ||
237 | FMOD_RESULT F_API setParameterByID(FMOD_STUDIO_PARAMETER_ID id, float value, bool ignoreseekspeed = false); | ||
238 | FMOD_RESULT F_API setParameterByIDWithLabel(FMOD_STUDIO_PARAMETER_ID id, const char* label, bool ignoreseekspeed = false); | ||
239 | FMOD_RESULT F_API setParametersByIDs(const FMOD_STUDIO_PARAMETER_ID *ids, float *values, int count, bool ignoreseekspeed = false); | ||
240 | |||
241 | FMOD_RESULT F_API getParameterByName(const char *name, float *value, float *finalvalue = 0) const; | ||
242 | FMOD_RESULT F_API setParameterByName(const char *name, float value, bool ignoreseekspeed = false); | ||
243 | FMOD_RESULT F_API setParameterByNameWithLabel(const char *name, const char* label, bool ignoreseekspeed = false); | ||
244 | |||
245 | FMOD_RESULT F_API keyOff(); | ||
246 | |||
247 | // Monitoring | ||
248 | FMOD_RESULT F_API getCPUUsage(unsigned int *exclusive, unsigned int *inclusive) const; | ||
249 | FMOD_RESULT F_API getMemoryUsage(FMOD_STUDIO_MEMORY_USAGE *memoryusage) const; | ||
250 | |||
251 | // Callbacks | ||
252 | FMOD_RESULT F_API setCallback(FMOD_STUDIO_EVENT_CALLBACK callback, FMOD_STUDIO_EVENT_CALLBACK_TYPE callbackmask = FMOD_STUDIO_EVENT_CALLBACK_ALL); | ||
253 | FMOD_RESULT F_API getUserData(void **userdata) const; | ||
254 | FMOD_RESULT F_API setUserData(void *userdata); | ||
255 | }; | ||
256 | |||
257 | class Bus | ||
258 | { | ||
259 | private: | ||
260 | // Constructor made private so user cannot statically instance the class. | ||
261 | Bus(); | ||
262 | Bus(const Bus &); | ||
263 | |||
264 | public: | ||
265 | // Handle validity | ||
266 | bool F_API isValid() const; | ||
267 | |||
268 | // Property access | ||
269 | FMOD_RESULT F_API getID(FMOD_GUID *id) const; | ||
270 | FMOD_RESULT F_API getPath(char *path, int size, int *retrieved) const; | ||
271 | |||
272 | // Playback control | ||
273 | FMOD_RESULT F_API getVolume(float *volume, float *finalvolume = 0) const; | ||
274 | FMOD_RESULT F_API setVolume(float volume); | ||
275 | |||
276 | FMOD_RESULT F_API getPaused(bool *paused) const; | ||
277 | FMOD_RESULT F_API setPaused(bool paused); | ||
278 | |||
279 | FMOD_RESULT F_API getMute(bool *mute) const; | ||
280 | FMOD_RESULT F_API setMute(bool mute); | ||
281 | |||
282 | FMOD_RESULT F_API stopAllEvents(FMOD_STUDIO_STOP_MODE mode); | ||
283 | |||
284 | // Output port | ||
285 | FMOD_RESULT F_API getPortIndex(FMOD_PORT_INDEX *index) const; | ||
286 | FMOD_RESULT F_API setPortIndex(FMOD_PORT_INDEX index); | ||
287 | |||
288 | // Low-level API access | ||
289 | FMOD_RESULT F_API lockChannelGroup(); | ||
290 | FMOD_RESULT F_API unlockChannelGroup(); | ||
291 | FMOD_RESULT F_API getChannelGroup(FMOD::ChannelGroup **group) const; | ||
292 | |||
293 | // Monitoring | ||
294 | FMOD_RESULT F_API getCPUUsage(unsigned int *exclusive, unsigned int *inclusive) const; | ||
295 | FMOD_RESULT F_API getMemoryUsage(FMOD_STUDIO_MEMORY_USAGE *memoryusage) const; | ||
296 | }; | ||
297 | |||
298 | class VCA | ||
299 | { | ||
300 | private: | ||
301 | // Constructor made private so user cannot statically instance the class. | ||
302 | VCA(); | ||
303 | VCA(const VCA &); | ||
304 | |||
305 | public: | ||
306 | // Handle validity | ||
307 | bool F_API isValid() const; | ||
308 | |||
309 | // Property access | ||
310 | FMOD_RESULT F_API getID(FMOD_GUID *id) const; | ||
311 | FMOD_RESULT F_API getPath(char *path, int size, int *retrieved) const; | ||
312 | |||
313 | // Playback control | ||
314 | FMOD_RESULT F_API getVolume(float *volume, float *finalvolume = 0) const; | ||
315 | FMOD_RESULT F_API setVolume(float volume); | ||
316 | }; | ||
317 | |||
318 | class Bank | ||
319 | { | ||
320 | private: | ||
321 | // Constructor made private so user cannot statically instance the class. | ||
322 | Bank(); | ||
323 | Bank(const Bank &); | ||
324 | |||
325 | public: | ||
326 | // Handle validity | ||
327 | bool F_API isValid() const; | ||
328 | |||
329 | // Property access | ||
330 | FMOD_RESULT F_API getID(FMOD_GUID *id) const; | ||
331 | FMOD_RESULT F_API getPath(char *path, int size, int *retrieved) const; | ||
332 | |||
333 | // Loading control | ||
334 | FMOD_RESULT F_API unload(); | ||
335 | FMOD_RESULT F_API loadSampleData(); | ||
336 | FMOD_RESULT F_API unloadSampleData(); | ||
337 | |||
338 | FMOD_RESULT F_API getLoadingState(FMOD_STUDIO_LOADING_STATE *state) const; | ||
339 | FMOD_RESULT F_API getSampleLoadingState(FMOD_STUDIO_LOADING_STATE *state) const; | ||
340 | |||
341 | // Enumeration | ||
342 | FMOD_RESULT F_API getStringCount(int *count) const; | ||
343 | FMOD_RESULT F_API getStringInfo(int index, FMOD_GUID *id, char *path, int size, int *retrieved) const; | ||
344 | FMOD_RESULT F_API getEventCount(int *count) const; | ||
345 | FMOD_RESULT F_API getEventList(EventDescription **array, int capacity, int *count) const; | ||
346 | FMOD_RESULT F_API getBusCount(int *count) const; | ||
347 | FMOD_RESULT F_API getBusList(Bus **array, int capacity, int *count) const; | ||
348 | FMOD_RESULT F_API getVCACount(int *count) const; | ||
349 | FMOD_RESULT F_API getVCAList(VCA **array, int capacity, int *count) const; | ||
350 | |||
351 | FMOD_RESULT F_API getUserData(void **userdata) const; | ||
352 | FMOD_RESULT F_API setUserData(void *userdata); | ||
353 | }; | ||
354 | |||
355 | class CommandReplay | ||
356 | { | ||
357 | private: | ||
358 | // Constructor made private so user cannot statically instance the class. | ||
359 | CommandReplay(); | ||
360 | CommandReplay(const CommandReplay &); | ||
361 | |||
362 | public: | ||
363 | // Handle validity | ||
364 | bool F_API isValid() const; | ||
365 | |||
366 | // Information query | ||
367 | FMOD_RESULT F_API getSystem(System **system) const; | ||
368 | FMOD_RESULT F_API getLength(float *length) const; | ||
369 | |||
370 | FMOD_RESULT F_API getCommandCount(int *count) const; | ||
371 | FMOD_RESULT F_API getCommandInfo(int commandindex, FMOD_STUDIO_COMMAND_INFO *info) const; | ||
372 | FMOD_RESULT F_API getCommandString(int commandindex, char *buffer, int length) const; | ||
373 | FMOD_RESULT F_API getCommandAtTime(float time, int *commandindex) const; | ||
374 | |||
375 | // Playback | ||
376 | FMOD_RESULT F_API setBankPath(const char *bankPath); | ||
377 | FMOD_RESULT F_API start(); | ||
378 | FMOD_RESULT F_API stop(); | ||
379 | FMOD_RESULT F_API seekToTime(float time); | ||
380 | FMOD_RESULT F_API seekToCommand(int commandindex); | ||
381 | FMOD_RESULT F_API getPaused(bool *paused) const; | ||
382 | FMOD_RESULT F_API setPaused(bool paused); | ||
383 | FMOD_RESULT F_API getPlaybackState(FMOD_STUDIO_PLAYBACK_STATE *state) const; | ||
384 | FMOD_RESULT F_API getCurrentCommand(int *commandindex, float *currenttime) const; | ||
385 | |||
386 | // Release | ||
387 | FMOD_RESULT F_API release(); | ||
388 | |||
389 | // Callbacks | ||
390 | FMOD_RESULT F_API setFrameCallback(FMOD_STUDIO_COMMANDREPLAY_FRAME_CALLBACK callback); | ||
391 | FMOD_RESULT F_API setLoadBankCallback(FMOD_STUDIO_COMMANDREPLAY_LOAD_BANK_CALLBACK callback); | ||
392 | FMOD_RESULT F_API setCreateInstanceCallback(FMOD_STUDIO_COMMANDREPLAY_CREATE_INSTANCE_CALLBACK callback); | ||
393 | |||
394 | FMOD_RESULT F_API getUserData(void **userdata) const; | ||
395 | FMOD_RESULT F_API setUserData(void *userdata); | ||
396 | }; | ||
397 | |||
398 | } // namespace Studio | ||
399 | |||
400 | } // namespace FMOD | ||
401 | |||
402 | #endif //FMOD_STUDIO_HPP | ||