mirror of https://github.com/axmolengine/axmol.git
396 lines
22 KiB
C++
396 lines
22 KiB
C++
![]() |
/*
|
||
|
fmod_event.hpp - Data-driven event classes
|
||
|
Copyright (c), Firelight Technologies Pty, Ltd. 2004-2011.
|
||
|
|
||
|
This header is the base header for all other FMOD EventSystem headers. If you are programming in C use FMOD_EVENT.H
|
||
|
*/
|
||
|
|
||
|
#ifndef __FMOD_EVENT_HPP__
|
||
|
#define __FMOD_EVENT_HPP__
|
||
|
|
||
|
#ifndef _FMOD_HPP
|
||
|
#include "fmod.hpp"
|
||
|
#endif
|
||
|
#ifndef __FMOD_EVENT_H__
|
||
|
#include "fmod_event.h"
|
||
|
#endif
|
||
|
|
||
|
namespace FMOD
|
||
|
{
|
||
|
class EventSystem;
|
||
|
class EventCategory;
|
||
|
class EventProject;
|
||
|
class EventGroup;
|
||
|
class Event;
|
||
|
class EventParameter;
|
||
|
class EventReverb;
|
||
|
class EventQueue;
|
||
|
class EventQueueEntry;
|
||
|
class MusicSystem;
|
||
|
class MusicPrompt;
|
||
|
|
||
|
/*
|
||
|
FMOD EventSystem factory functions.
|
||
|
*/
|
||
|
inline FMOD_RESULT EventSystem_Create(EventSystem **eventsystem) { return FMOD_EventSystem_Create((FMOD_EVENTSYSTEM **)eventsystem); }
|
||
|
|
||
|
/*
|
||
|
'EventSystem' API
|
||
|
*/
|
||
|
class EventSystem
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
// Initialization / system functions.
|
||
|
FMOD_RESULT F_API init (int maxchannels, FMOD_INITFLAGS flags, void *extradriverdata, FMOD_EVENT_INITFLAGS eventflags = FMOD_EVENT_INIT_NORMAL);
|
||
|
FMOD_RESULT F_API release ();
|
||
|
FMOD_RESULT F_API update ();
|
||
|
FMOD_RESULT F_API setMediaPath (const char *path);
|
||
|
FMOD_RESULT F_API setPluginPath (const char *path);
|
||
|
FMOD_RESULT F_API getVersion (unsigned int *version);
|
||
|
FMOD_RESULT F_API getInfo (FMOD_EVENT_SYSTEMINFO *info);
|
||
|
FMOD_RESULT F_API getSystemObject (System **system);
|
||
|
FMOD_RESULT F_API getMusicSystem (MusicSystem **musicsystem);
|
||
|
FMOD_RESULT F_API setLanguage (const char *language);
|
||
|
FMOD_RESULT F_API getLanguage (char *language);
|
||
|
|
||
|
// FEV load/unload.
|
||
|
FMOD_RESULT F_API load (const char *name_or_data, FMOD_EVENT_LOADINFO *loadinfo, EventProject **project);
|
||
|
FMOD_RESULT F_API unload ();
|
||
|
|
||
|
// Event,EventGroup,EventCategory Retrieval.
|
||
|
FMOD_RESULT F_API getProject (const char *name, EventProject **project);
|
||
|
FMOD_RESULT F_API getProjectByIndex (int index, EventProject **project);
|
||
|
FMOD_RESULT F_API getNumProjects (int *numprojects);
|
||
|
FMOD_RESULT F_API getCategory (const char *name, EventCategory **category);
|
||
|
FMOD_RESULT F_API getCategoryByIndex (int index, EventCategory **category);
|
||
|
FMOD_RESULT F_API getMusicCategory (EventCategory **category);
|
||
|
FMOD_RESULT F_API getNumCategories (int *numcategories);
|
||
|
FMOD_RESULT F_API getGroup (const char *name, bool cacheevents, EventGroup **group);
|
||
|
FMOD_RESULT F_API getEvent (const char *name, FMOD_EVENT_MODE mode, Event **event);
|
||
|
FMOD_RESULT F_API getEventBySystemID (unsigned int systemid, FMOD_EVENT_MODE mode, Event **event);
|
||
|
FMOD_RESULT F_API getEventByGUID (const FMOD_GUID *guid, FMOD_EVENT_MODE mode, Event **event);
|
||
|
FMOD_RESULT F_API getEventByGUIDString (const char *guid, FMOD_EVENT_MODE mode, Event **event);
|
||
|
FMOD_RESULT F_API getNumEvents (int *numevents);
|
||
|
|
||
|
// Reverb interfaces.
|
||
|
FMOD_RESULT F_API setReverbProperties (const FMOD_REVERB_PROPERTIES *props);
|
||
|
FMOD_RESULT F_API getReverbProperties (FMOD_REVERB_PROPERTIES *props);
|
||
|
|
||
|
FMOD_RESULT F_API getReverbPreset (const char *name, FMOD_REVERB_PROPERTIES *props, int *index = 0);
|
||
|
FMOD_RESULT F_API getReverbPresetByIndex (const int index, FMOD_REVERB_PROPERTIES *props, char **name = 0);
|
||
|
FMOD_RESULT F_API getNumReverbPresets (int *numpresets);
|
||
|
|
||
|
FMOD_RESULT F_API createReverb (EventReverb **reverb);
|
||
|
FMOD_RESULT F_API setReverbAmbientProperties(FMOD_REVERB_PROPERTIES *props);
|
||
|
FMOD_RESULT F_API getReverbAmbientProperties(FMOD_REVERB_PROPERTIES *props);
|
||
|
|
||
|
// Event queue interfaces.
|
||
|
FMOD_RESULT F_API createEventQueue (EventQueue **queue);
|
||
|
FMOD_RESULT F_API createEventQueueEntry (Event *event, EventQueueEntry **entry);
|
||
|
|
||
|
// 3D Listener interface.
|
||
|
FMOD_RESULT F_API set3DNumListeners (int numlisteners);
|
||
|
FMOD_RESULT F_API get3DNumListeners (int *numlisteners);
|
||
|
FMOD_RESULT F_API set3DListenerAttributes (int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel, const FMOD_VECTOR *forward, const FMOD_VECTOR *up);
|
||
|
FMOD_RESULT F_API get3DListenerAttributes (int listener, FMOD_VECTOR *pos, FMOD_VECTOR *vel, FMOD_VECTOR *forward, FMOD_VECTOR *up);
|
||
|
|
||
|
// Get/set user data
|
||
|
FMOD_RESULT F_API setUserData (void *userdata);
|
||
|
FMOD_RESULT F_API getUserData (void **userdata);
|
||
|
|
||
|
// Pre-loading FSB files (from disk or from memory, use FMOD_OPENMEMORY_POINT to point to pre-loaded memory).
|
||
|
FMOD_RESULT F_API preloadFSB (const char *filename, int streaminstance, Sound *sound);
|
||
|
FMOD_RESULT F_API unloadFSB (const char *filename, int streaminstance);
|
||
|
|
||
|
FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'EventProject' API
|
||
|
*/
|
||
|
class EventProject
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
virtual FMOD_RESULT F_API release () = 0;
|
||
|
virtual FMOD_RESULT F_API getInfo (FMOD_EVENT_PROJECTINFO *info) = 0;
|
||
|
virtual FMOD_RESULT F_API getGroup (const char *name, bool cacheevents, EventGroup **group) = 0;
|
||
|
virtual FMOD_RESULT F_API getGroupByIndex (int index, bool cacheevents, EventGroup **group) = 0;
|
||
|
virtual FMOD_RESULT F_API getNumGroups (int *numgroups) = 0;
|
||
|
virtual FMOD_RESULT F_API getEvent (const char *name, FMOD_EVENT_MODE mode, Event **event) = 0;
|
||
|
virtual FMOD_RESULT F_API getEventByProjectID(unsigned int projectid, FMOD_EVENT_MODE mode, Event **event) = 0;
|
||
|
virtual FMOD_RESULT F_API getNumEvents (int *numevents) = 0;
|
||
|
virtual FMOD_RESULT F_API loadSampleData (int *eventid_array, int sizeof_eventid_array, char **groupname_array, int sizeof_groupname_array, FMOD_EVENT_MODE eventmode) = 0;
|
||
|
virtual FMOD_RESULT F_API stopAllEvents (bool immediate = false) = 0;
|
||
|
virtual FMOD_RESULT F_API cancelAllLoads () = 0;
|
||
|
virtual FMOD_RESULT F_API setUserData (void *userdata) = 0;
|
||
|
virtual FMOD_RESULT F_API getUserData (void **userdata) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
|
||
|
virtual ~EventProject(){};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'EventGroup' API
|
||
|
*/
|
||
|
class EventGroup
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
virtual FMOD_RESULT F_API getInfo (int *index, char **name) = 0;
|
||
|
virtual FMOD_RESULT F_API loadEventData (FMOD_EVENT_RESOURCE resource = FMOD_EVENT_RESOURCE_STREAMS_AND_SAMPLES, FMOD_EVENT_MODE mode = FMOD_EVENT_DEFAULT) = 0;
|
||
|
virtual FMOD_RESULT F_API freeEventData (Event *event = 0, bool waituntilready = true) = 0;
|
||
|
virtual FMOD_RESULT F_API getGroup (const char *name, bool cacheevents, EventGroup **group) = 0;
|
||
|
virtual FMOD_RESULT F_API getGroupByIndex (int index, bool cacheevents, EventGroup **group) = 0;
|
||
|
virtual FMOD_RESULT F_API getParentGroup (EventGroup **group) = 0;
|
||
|
virtual FMOD_RESULT F_API getParentProject (EventProject **project) = 0;
|
||
|
virtual FMOD_RESULT F_API getNumGroups (int *numgroups) = 0;
|
||
|
virtual FMOD_RESULT F_API getEvent (const char *name, FMOD_EVENT_MODE mode, Event **event) = 0;
|
||
|
virtual FMOD_RESULT F_API getEventByIndex (int index, FMOD_EVENT_MODE mode, Event **event) = 0;
|
||
|
virtual FMOD_RESULT F_API getNumEvents (int *numevents) = 0;
|
||
|
virtual FMOD_RESULT F_API getProperty (const char *propertyname, void *value) = 0;
|
||
|
virtual FMOD_RESULT F_API getPropertyByIndex (int propertyindex, void *value) = 0;
|
||
|
virtual FMOD_RESULT F_API getNumProperties (int *numproperties) = 0;
|
||
|
virtual FMOD_RESULT F_API getState (FMOD_EVENT_STATE *state) = 0;
|
||
|
virtual FMOD_RESULT F_API setUserData (void *userdata) = 0;
|
||
|
virtual FMOD_RESULT F_API getUserData (void **userdata) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
|
||
|
virtual ~EventGroup(){};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'EventCategory' API
|
||
|
*/
|
||
|
class EventCategory
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
virtual FMOD_RESULT F_API getInfo (int *index, char **name) = 0;
|
||
|
virtual FMOD_RESULT F_API getCategory (const char *name, EventCategory **category) = 0;
|
||
|
virtual FMOD_RESULT F_API getCategoryByIndex (int index, EventCategory **category) = 0;
|
||
|
virtual FMOD_RESULT F_API getNumCategories (int *numcategories) = 0;
|
||
|
virtual FMOD_RESULT F_API getEventByIndex (int index, FMOD_EVENT_MODE mode, Event **event) = 0;
|
||
|
virtual FMOD_RESULT F_API getNumEvents (int *numevents) = 0;
|
||
|
virtual FMOD_RESULT F_API getParentCategory (EventCategory **category) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API stopAllEvents () = 0;
|
||
|
virtual FMOD_RESULT F_API setVolume (float volume) = 0;
|
||
|
virtual FMOD_RESULT F_API getVolume (float *volume) = 0;
|
||
|
virtual FMOD_RESULT F_API setPitch (float pitch, FMOD_EVENT_PITCHUNITS units = FMOD_EVENT_PITCHUNITS_RAW) = 0;
|
||
|
virtual FMOD_RESULT F_API getPitch (float *pitch, FMOD_EVENT_PITCHUNITS units = FMOD_EVENT_PITCHUNITS_RAW) = 0;
|
||
|
virtual FMOD_RESULT F_API setPaused (bool paused) = 0;
|
||
|
virtual FMOD_RESULT F_API getPaused (bool *paused) = 0;
|
||
|
virtual FMOD_RESULT F_API setMute (bool mute) = 0;
|
||
|
virtual FMOD_RESULT F_API getMute (bool *mute) = 0;
|
||
|
virtual FMOD_RESULT F_API getChannelGroup (ChannelGroup **channelgroup) = 0;
|
||
|
virtual FMOD_RESULT F_API setUserData (void *userdata) = 0;
|
||
|
virtual FMOD_RESULT F_API getUserData (void **userdata) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
|
||
|
virtual ~EventCategory(){};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'Event' API
|
||
|
*/
|
||
|
class Event
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
FMOD_RESULT F_API release (bool freeeventdata = false, bool waituntilready = true);
|
||
|
|
||
|
FMOD_RESULT F_API start ();
|
||
|
FMOD_RESULT F_API stop (bool immediate = false);
|
||
|
|
||
|
FMOD_RESULT F_API getInfo (int *index, char **name, FMOD_EVENT_INFO *info);
|
||
|
FMOD_RESULT F_API getState (FMOD_EVENT_STATE *state);
|
||
|
FMOD_RESULT F_API getParentGroup (EventGroup **group);
|
||
|
FMOD_RESULT F_API getChannelGroup (ChannelGroup **channelgroup);
|
||
|
FMOD_RESULT F_API setCallback (FMOD_EVENT_CALLBACK callback, void *userdata);
|
||
|
|
||
|
FMOD_RESULT F_API getParameter (const char *name, EventParameter **parameter);
|
||
|
FMOD_RESULT F_API getParameterByIndex (int index, EventParameter **parameter);
|
||
|
FMOD_RESULT F_API getNumParameters (int *numparameters);
|
||
|
FMOD_RESULT F_API getProperty (const char *propertyname, void *value, bool this_instance = false);
|
||
|
FMOD_RESULT F_API getPropertyByIndex (int propertyindex, void *value, bool this_instance = false);
|
||
|
FMOD_RESULT F_API setProperty (const char *propertyname, void *value, bool this_instance = false);
|
||
|
FMOD_RESULT F_API setPropertyByIndex (int propertyindex, void *value, bool this_instance = false);
|
||
|
FMOD_RESULT F_API getNumProperties (int *numproperties);
|
||
|
FMOD_RESULT F_API getPropertyInfo (int *propertyindex, char **propertyname, FMOD_EVENTPROPERTY_TYPE *type = 0);
|
||
|
FMOD_RESULT F_API getCategory (EventCategory **category);
|
||
|
|
||
|
FMOD_RESULT F_API setVolume (float volume);
|
||
|
FMOD_RESULT F_API getVolume (float *volume);
|
||
|
FMOD_RESULT F_API setPitch (float pitch, FMOD_EVENT_PITCHUNITS units = FMOD_EVENT_PITCHUNITS_RAW);
|
||
|
FMOD_RESULT F_API getPitch (float *pitch, FMOD_EVENT_PITCHUNITS units = FMOD_EVENT_PITCHUNITS_RAW);
|
||
|
FMOD_RESULT F_API setPaused (bool paused);
|
||
|
FMOD_RESULT F_API getPaused (bool *paused);
|
||
|
FMOD_RESULT F_API setMute (bool mute);
|
||
|
FMOD_RESULT F_API getMute (bool *mute);
|
||
|
FMOD_RESULT F_API set3DAttributes (const FMOD_VECTOR *position, const FMOD_VECTOR *velocity, const FMOD_VECTOR *orientation = 0);
|
||
|
FMOD_RESULT F_API get3DAttributes (FMOD_VECTOR *position, FMOD_VECTOR *velocity, FMOD_VECTOR *orientation = 0);
|
||
|
FMOD_RESULT F_API set3DOcclusion (float directocclusion, float reverbocclusion);
|
||
|
FMOD_RESULT F_API get3DOcclusion (float *directocclusion, float *reverbocclusion);
|
||
|
FMOD_RESULT F_API setReverbProperties (const FMOD_REVERB_CHANNELPROPERTIES *props);
|
||
|
FMOD_RESULT F_API getReverbProperties (FMOD_REVERB_CHANNELPROPERTIES *props);
|
||
|
FMOD_RESULT F_API setUserData (void *userdata);
|
||
|
FMOD_RESULT F_API getUserData (void **userdata);
|
||
|
|
||
|
FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'EventParameter' API
|
||
|
*/
|
||
|
class EventParameter
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
FMOD_RESULT F_API getInfo (int *index, char **name);
|
||
|
FMOD_RESULT F_API getRange (float *rangemin, float *rangemax);
|
||
|
FMOD_RESULT F_API setValue (float value);
|
||
|
FMOD_RESULT F_API getValue (float *value);
|
||
|
FMOD_RESULT F_API setVelocity (float value);
|
||
|
FMOD_RESULT F_API getVelocity (float *value);
|
||
|
FMOD_RESULT F_API setSeekSpeed (float value);
|
||
|
FMOD_RESULT F_API getSeekSpeed (float *value);
|
||
|
FMOD_RESULT F_API setUserData (void *userdata);
|
||
|
FMOD_RESULT F_API getUserData (void **userdata);
|
||
|
FMOD_RESULT F_API keyOff ();
|
||
|
|
||
|
FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'EventReverb ' API
|
||
|
*/
|
||
|
class EventReverb
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
virtual FMOD_RESULT F_API release () = 0;
|
||
|
virtual FMOD_RESULT F_API set3DAttributes (const FMOD_VECTOR *position, float mindistance, float maxdistance) = 0;
|
||
|
virtual FMOD_RESULT F_API get3DAttributes (FMOD_VECTOR *position, float *mindistance,float *maxdistance) = 0;
|
||
|
virtual FMOD_RESULT F_API setProperties (const FMOD_REVERB_PROPERTIES *props) = 0;
|
||
|
virtual FMOD_RESULT F_API getProperties (FMOD_REVERB_PROPERTIES *props) = 0;
|
||
|
virtual FMOD_RESULT F_API setActive (bool active) = 0;
|
||
|
virtual FMOD_RESULT F_API getActive (bool *active) = 0;
|
||
|
virtual FMOD_RESULT F_API setUserData (void *userdata) = 0;
|
||
|
virtual FMOD_RESULT F_API getUserData (void **userdata) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
|
||
|
virtual ~EventReverb(){};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'EventQueue' API
|
||
|
*/
|
||
|
class EventQueue
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
virtual FMOD_RESULT F_API release () = 0;
|
||
|
virtual FMOD_RESULT F_API add (EventQueueEntry *entry, bool allow_duplicates = true) = 0;
|
||
|
virtual FMOD_RESULT F_API remove (EventQueueEntry *entry) = 0;
|
||
|
virtual FMOD_RESULT F_API removeHead () = 0;
|
||
|
virtual FMOD_RESULT F_API clear (bool stopallevents = true) = 0;
|
||
|
virtual FMOD_RESULT F_API findFirstEntry (EventQueueEntry **entry) = 0;
|
||
|
virtual FMOD_RESULT F_API findNextEntry (EventQueueEntry **entry) = 0;
|
||
|
virtual FMOD_RESULT F_API setPaused (bool paused) = 0;
|
||
|
virtual FMOD_RESULT F_API getPaused (bool *paused) = 0;
|
||
|
virtual FMOD_RESULT F_API includeDuckingCategory (EventCategory *category, float ducked_volume, float unducked_volume, unsigned int duck_time, unsigned int unduck_time) = 0;
|
||
|
virtual FMOD_RESULT F_API excludeDuckingCategory (EventCategory *category) = 0;
|
||
|
virtual FMOD_RESULT F_API setCallback (FMOD_EVENTQUEUE_CALLBACK callback, void *callbackuserdata) = 0;
|
||
|
virtual FMOD_RESULT F_API setUserData (void *userdata) = 0;
|
||
|
virtual FMOD_RESULT F_API getUserData (void **userdata) = 0;
|
||
|
virtual FMOD_RESULT F_API dump () = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
|
||
|
virtual ~EventQueue(){};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'EventQueueEntry' API
|
||
|
*/
|
||
|
class EventQueueEntry
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
virtual FMOD_RESULT F_API release () = 0;
|
||
|
virtual FMOD_RESULT F_API getInfoOnlyEvent (Event **infoonlyevent) = 0;
|
||
|
virtual FMOD_RESULT F_API getRealEvent (Event **realevent) = 0;
|
||
|
virtual FMOD_RESULT F_API setPriority (unsigned char priority) = 0;
|
||
|
virtual FMOD_RESULT F_API getPriority (unsigned char *priority) = 0;
|
||
|
virtual FMOD_RESULT F_API setExpiryTime (unsigned int expirytime) = 0;
|
||
|
virtual FMOD_RESULT F_API getExpiryTime (unsigned int *expirytime) = 0;
|
||
|
virtual FMOD_RESULT F_API setDelayTime (unsigned int delay) = 0;
|
||
|
virtual FMOD_RESULT F_API getDelayTime (unsigned int *delay) = 0;
|
||
|
virtual FMOD_RESULT F_API setInterrupt (bool interrupt) = 0;
|
||
|
virtual FMOD_RESULT F_API getInterrupt (bool *interrupt) = 0;
|
||
|
virtual FMOD_RESULT F_API setCrossfadeTime (int crossfade) = 0;
|
||
|
virtual FMOD_RESULT F_API getCrossfadeTime (int *crossfade) = 0;
|
||
|
virtual FMOD_RESULT F_API setUserData (void *userdata) = 0;
|
||
|
virtual FMOD_RESULT F_API getUserData (void **userdata) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
|
||
|
virtual ~EventQueueEntry(){};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'MusicSystem' API
|
||
|
*/
|
||
|
class MusicSystem
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
virtual FMOD_RESULT F_API reset () = 0;
|
||
|
virtual FMOD_RESULT F_API setVolume (float volume) = 0;
|
||
|
virtual FMOD_RESULT F_API getVolume (float *volume) = 0;
|
||
|
virtual FMOD_RESULT F_API setReverbProperties(const FMOD_REVERB_CHANNELPROPERTIES *props) = 0;
|
||
|
virtual FMOD_RESULT F_API getReverbProperties(FMOD_REVERB_CHANNELPROPERTIES *props) = 0;
|
||
|
virtual FMOD_RESULT F_API setPaused (bool paused) = 0;
|
||
|
virtual FMOD_RESULT F_API getPaused (bool *paused) = 0;
|
||
|
virtual FMOD_RESULT F_API setMute (bool mute) = 0;
|
||
|
virtual FMOD_RESULT F_API getMute (bool *mute) = 0;
|
||
|
virtual FMOD_RESULT F_API getInfo (FMOD_MUSIC_INFO *info) = 0;
|
||
|
virtual FMOD_RESULT F_API promptCue (FMOD_MUSIC_CUE_ID id) = 0;
|
||
|
virtual FMOD_RESULT F_API prepareCue (FMOD_MUSIC_CUE_ID id, MusicPrompt **prompt) = 0;
|
||
|
virtual FMOD_RESULT F_API getParameterValue (FMOD_MUSIC_PARAM_ID id, float *parameter) = 0;
|
||
|
virtual FMOD_RESULT F_API setParameterValue (FMOD_MUSIC_PARAM_ID id, float parameter) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getCues (FMOD_MUSIC_ITERATOR *it, const char *filter = 0) = 0;
|
||
|
virtual FMOD_RESULT F_API getNextCue (FMOD_MUSIC_ITERATOR *it) = 0;
|
||
|
virtual FMOD_RESULT F_API getParameters (FMOD_MUSIC_ITERATOR *it, const char *filter = 0) = 0;
|
||
|
virtual FMOD_RESULT F_API getNextParameter (FMOD_MUSIC_ITERATOR *it) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API loadSoundData (FMOD_EVENT_RESOURCE resource = FMOD_EVENT_RESOURCE_SAMPLES, FMOD_EVENT_MODE mode = FMOD_EVENT_DEFAULT) = 0;
|
||
|
virtual FMOD_RESULT F_API freeSoundData (bool waituntilready = true) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API setCallback (FMOD_MUSIC_CALLBACK callback, void *userdata) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
|
||
|
virtual ~MusicSystem(){};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
'MusicPrompt' API
|
||
|
*/
|
||
|
class MusicPrompt
|
||
|
{
|
||
|
public :
|
||
|
|
||
|
virtual FMOD_RESULT F_API release () = 0;
|
||
|
virtual FMOD_RESULT F_API begin () = 0;
|
||
|
virtual FMOD_RESULT F_API end () = 0;
|
||
|
virtual FMOD_RESULT F_API isActive (bool *active) = 0;
|
||
|
|
||
|
virtual FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
|
||
|
virtual ~MusicPrompt(){};
|
||
|
};
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif
|