diff options
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 | ||
