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.hpp
Aller à la documentation de ce fichier.
1 /* ========================================================================================== */
2 /* FMOD Ex - C++ header file. Copyright (c), Firelight Technologies Pty, Ltd. 2004-2014. */
3 /* */
4 /* Use this header in conjunction with fmod.h (which contains all the constants / callbacks) */
5 /* to develop using C++ classes. */
6 /* ========================================================================================== */
7 
8 #ifndef _FMOD_HPP
9 #define _FMOD_HPP
10 
11 #include "fmod.h"
12 
13 /*
14  Constant and defines
15 */
16 
17 /*
18  FMOD Namespace
19 */
20 namespace FMOD
21 {
22  class System;
23  class Sound;
24  class Channel;
25  class ChannelGroup;
26  class SoundGroup;
27  class Reverb;
28  class DSP;
29  class DSPConnection;
30  class Geometry;
31 
32  /*
33  FMOD global system functions (optional).
34  */
35  inline FMOD_RESULT Memory_Initialize(void *poolmem, int poollen, FMOD_MEMORY_ALLOCCALLBACK useralloc, FMOD_MEMORY_REALLOCCALLBACK userrealloc, FMOD_MEMORY_FREECALLBACK userfree, FMOD_MEMORY_TYPE memtypeflags = FMOD_MEMORY_ALL) { return FMOD_Memory_Initialize(poolmem, poollen, useralloc, userrealloc, userfree, memtypeflags); }
36  inline FMOD_RESULT Memory_GetStats (int *currentalloced, int *maxalloced, bool blocking = true) { return FMOD_Memory_GetStats(currentalloced, maxalloced, blocking); }
39  inline FMOD_RESULT File_SetDiskBusy(int busy) { return FMOD_File_SetDiskBusy(busy); }
40  inline FMOD_RESULT File_GetDiskBusy(int *busy) { return FMOD_File_GetDiskBusy(busy); }
41 
42  /*
43  FMOD System factory functions.
44  */
45  inline FMOD_RESULT System_Create(System **system) { return FMOD_System_Create((FMOD_SYSTEM **)system); }
46 
47  /*
48  'System' API
49  */
50 
51  class System
52  {
53  private:
54 
55  System(); /* Constructor made private so user cannot statically instance a System class.
56  System_Create must be used. */
57  public:
58 
60 
61  // Pre-init functions.
64  FMOD_RESULT F_API getNumDrivers (int *numdrivers);
65  FMOD_RESULT F_API getDriverInfo (int id, char *name, int namelen, FMOD_GUID *guid);
66  FMOD_RESULT F_API getDriverInfoW (int id, short *name, int namelen, FMOD_GUID *guid);
67  FMOD_RESULT F_API getDriverCaps (int id, FMOD_CAPS *caps, int *controlpaneloutputrate, FMOD_SPEAKERMODE *controlpanelspeakermode);
68  FMOD_RESULT F_API setDriver (int driver);
69  FMOD_RESULT F_API getDriver (int *driver);
70  FMOD_RESULT F_API setHardwareChannels (int numhardwarechannels);
71  FMOD_RESULT F_API setSoftwareChannels (int numsoftwarechannels);
72  FMOD_RESULT F_API getSoftwareChannels (int *numsoftwarechannels);
73  FMOD_RESULT F_API setSoftwareFormat (int samplerate, FMOD_SOUND_FORMAT format, int numoutputchannels, int maxinputchannels, FMOD_DSP_RESAMPLER resamplemethod);
74  FMOD_RESULT F_API getSoftwareFormat (int *samplerate, FMOD_SOUND_FORMAT *format, int *numoutputchannels, int *maxinputchannels, FMOD_DSP_RESAMPLER *resamplemethod, int *bits);
75  FMOD_RESULT F_API setDSPBufferSize (unsigned int bufferlength, int numbuffers);
76  FMOD_RESULT F_API getDSPBufferSize (unsigned int *bufferlength, int *numbuffers);
77  FMOD_RESULT F_API setFileSystem (FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FILE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek, FMOD_FILE_ASYNCREADCALLBACK userasyncread, FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel, int blockalign);
78  FMOD_RESULT F_API attachFileSystem (FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FILE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek);
83  FMOD_RESULT F_API setCallback (FMOD_SYSTEM_CALLBACK callback);
84 
85  // Plug-in support
86  FMOD_RESULT F_API setPluginPath (const char *path);
87  FMOD_RESULT F_API loadPlugin (const char *filename, unsigned int *handle, unsigned int priority = 0);
88  FMOD_RESULT F_API unloadPlugin (unsigned int handle);
89  FMOD_RESULT F_API getNumPlugins (FMOD_PLUGINTYPE plugintype, int *numplugins);
90  FMOD_RESULT F_API getPluginHandle (FMOD_PLUGINTYPE plugintype, int index, unsigned int *handle);
91  FMOD_RESULT F_API getPluginInfo (unsigned int handle, FMOD_PLUGINTYPE *plugintype, char *name, int namelen, unsigned int *version);
92  FMOD_RESULT F_API setOutputByPlugin (unsigned int handle);
93  FMOD_RESULT F_API getOutputByPlugin (unsigned int *handle);
94  FMOD_RESULT F_API createDSPByPlugin (unsigned int handle, DSP **dsp);
95  FMOD_RESULT F_API registerCodec (FMOD_CODEC_DESCRIPTION *description, unsigned int *handle, unsigned int priority = 0);
96  FMOD_RESULT F_API registerDSP (FMOD_DSP_DESCRIPTION *description, unsigned int *handle);
97 
98  // Init/Close
99  FMOD_RESULT F_API init (int maxchannels, FMOD_INITFLAGS flags, void *extradriverdata);
101 
102  // General post-init system functions
103  FMOD_RESULT F_API update (); /* IMPORTANT! CALL THIS ONCE PER FRAME! */
104 
105  FMOD_RESULT F_API set3DSettings (float dopplerscale, float distancefactor, float rolloffscale);
106  FMOD_RESULT F_API get3DSettings (float *dopplerscale, float *distancefactor, float *rolloffscale);
107  FMOD_RESULT F_API set3DNumListeners (int numlisteners);
108  FMOD_RESULT F_API get3DNumListeners (int *numlisteners);
109  FMOD_RESULT F_API set3DListenerAttributes(int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel, const FMOD_VECTOR *forward, const FMOD_VECTOR *up);
111  FMOD_RESULT F_API set3DRolloffCallback (FMOD_3D_ROLLOFFCALLBACK callback);
112  FMOD_RESULT F_API set3DSpeakerPosition (FMOD_SPEAKER speaker, float x, float y, bool active);
113  FMOD_RESULT F_API get3DSpeakerPosition (FMOD_SPEAKER speaker, float *x, float *y, bool *active);
114 
115  FMOD_RESULT F_API setStreamBufferSize (unsigned int filebuffersize, FMOD_TIMEUNIT filebuffersizetype);
116  FMOD_RESULT F_API getStreamBufferSize (unsigned int *filebuffersize, FMOD_TIMEUNIT *filebuffersizetype);
117 
118  // System information functions.
119  FMOD_RESULT F_API getVersion (unsigned int *version);
120  FMOD_RESULT F_API getOutputHandle (void **handle);
121  FMOD_RESULT F_API getChannelsPlaying (int *channels);
122  FMOD_RESULT F_API getHardwareChannels (int *numhardwarechannels);
123  FMOD_RESULT F_API getCPUUsage (float *dsp, float *stream, float *geometry, float *update, float *total);
124  FMOD_RESULT F_API getSoundRAM (int *currentalloced, int *maxalloced, int *total);
125  FMOD_RESULT F_API getNumCDROMDrives (int *numdrives);
126  FMOD_RESULT F_API getCDROMDriveName (int drive, char *drivename, int drivenamelen, char *scsiname, int scsinamelen, char *devicename, int devicenamelen);
127  FMOD_RESULT F_API getSpectrum (float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype);
128  FMOD_RESULT F_API getWaveData (float *wavearray, int numvalues, int channeloffset);
129 
130  // Sound/DSP/Channel/FX creation and retrieval.
131  FMOD_RESULT F_API createSound (const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, Sound **sound);
132  FMOD_RESULT F_API createStream (const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, Sound **sound);
133  FMOD_RESULT F_API createDSP (FMOD_DSP_DESCRIPTION *description, DSP **dsp);
135  FMOD_RESULT F_API createChannelGroup (const char *name, ChannelGroup **channelgroup);
136  FMOD_RESULT F_API createSoundGroup (const char *name, SoundGroup **soundgroup);
137  FMOD_RESULT F_API createReverb (Reverb **reverb);
138 
139  FMOD_RESULT F_API playSound (FMOD_CHANNELINDEX channelid, Sound *sound, bool paused, Channel **channel);
140  FMOD_RESULT F_API playDSP (FMOD_CHANNELINDEX channelid, DSP *dsp, bool paused, Channel **channel);
141  FMOD_RESULT F_API getChannel (int channelid, Channel **channel);
144 
145  // Reverb API
150 
151  // System level DSP access.
153  FMOD_RESULT F_API addDSP (DSP *dsp, DSPConnection **connection);
156  FMOD_RESULT F_API getDSPClock (unsigned int *hi, unsigned int *lo);
157 
158  // Recording API.
159  FMOD_RESULT F_API getRecordNumDrivers (int *numdrivers);
160  FMOD_RESULT F_API getRecordDriverInfo (int id, char *name, int namelen, FMOD_GUID *guid);
161  FMOD_RESULT F_API getRecordDriverInfoW (int id, short *name, int namelen, FMOD_GUID *guid);
162  FMOD_RESULT F_API getRecordDriverCaps (int id, FMOD_CAPS *caps, int *minfrequency, int *maxfrequency);
163  FMOD_RESULT F_API getRecordPosition (int id, unsigned int *position);
164 
165  FMOD_RESULT F_API recordStart (int id, Sound *sound, bool loop);
166  FMOD_RESULT F_API recordStop (int id);
167  FMOD_RESULT F_API isRecording (int id, bool *recording);
168 
169  // Geometry API.
170  FMOD_RESULT F_API createGeometry (int maxpolygons, int maxvertices, Geometry **geometry);
171  FMOD_RESULT F_API setGeometrySettings (float maxworldsize);
172  FMOD_RESULT F_API getGeometrySettings (float *maxworldsize);
173  FMOD_RESULT F_API loadGeometry (const void *data, int datasize, Geometry **geometry);
174  FMOD_RESULT F_API getGeometryOcclusion (const FMOD_VECTOR *listener, const FMOD_VECTOR *source, float *direct, float *reverb);
175 
176  // Network functions.
177  FMOD_RESULT F_API setNetworkProxy (const char *proxy);
178  FMOD_RESULT F_API getNetworkProxy (char *proxy, int proxylen);
179  FMOD_RESULT F_API setNetworkTimeout (int timeout);
180  FMOD_RESULT F_API getNetworkTimeout (int *timeout);
181 
182  // Userdata set/get.
184  FMOD_RESULT F_API getUserData (void **userdata);
185 
186  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
187  };
188 
189  /*
190  'Sound' API
191  */
192  class Sound
193  {
194  private:
195 
196  Sound(); /* Constructor made private so user cannot statically instance a Sound class.
197  Appropriate Sound creation or retrieval function must be used. */
198  public:
199 
202 
203  // Standard sound manipulation functions.
204  FMOD_RESULT F_API lock (unsigned int offset, unsigned int length, void **ptr1, void **ptr2, unsigned int *len1, unsigned int *len2);
205  FMOD_RESULT F_API unlock (void *ptr1, void *ptr2, unsigned int len1, unsigned int len2);
206  FMOD_RESULT F_API setDefaults (float frequency, float volume, float pan, int priority);
207  FMOD_RESULT F_API getDefaults (float *frequency, float *volume, float *pan, int *priority);
208  FMOD_RESULT F_API setVariations (float frequencyvar, float volumevar, float panvar);
209  FMOD_RESULT F_API getVariations (float *frequencyvar, float *volumevar, float *panvar);
210  FMOD_RESULT F_API set3DMinMaxDistance (float min, float max);
211  FMOD_RESULT F_API get3DMinMaxDistance (float *min, float *max);
212  FMOD_RESULT F_API set3DConeSettings (float insideconeangle, float outsideconeangle, float outsidevolume);
213  FMOD_RESULT F_API get3DConeSettings (float *insideconeangle, float *outsideconeangle, float *outsidevolume);
214  FMOD_RESULT F_API set3DCustomRolloff (FMOD_VECTOR *points, int numpoints);
215  FMOD_RESULT F_API get3DCustomRolloff (FMOD_VECTOR **points, int *numpoints);
217  FMOD_RESULT F_API getSubSound (int index, Sound **subsound);
218  FMOD_RESULT F_API setSubSoundSentence (int *subsoundlist, int numsubsounds);
219  FMOD_RESULT F_API getName (char *name, int namelen);
220  FMOD_RESULT F_API getLength (unsigned int *length, FMOD_TIMEUNIT lengthtype);
221  FMOD_RESULT F_API getFormat (FMOD_SOUND_TYPE *type, FMOD_SOUND_FORMAT *format, int *channels, int *bits);
222  FMOD_RESULT F_API getNumSubSounds (int *numsubsounds);
223  FMOD_RESULT F_API getNumTags (int *numtags, int *numtagsupdated);
224  FMOD_RESULT F_API getTag (const char *name, int index, FMOD_TAG *tag);
225  FMOD_RESULT F_API getOpenState (FMOD_OPENSTATE *openstate, unsigned int *percentbuffered, bool *starving, bool *diskbusy);
226  FMOD_RESULT F_API readData (void *buffer, unsigned int lenbytes, unsigned int *read);
227  FMOD_RESULT F_API seekData (unsigned int pcm);
228 
230  FMOD_RESULT F_API getSoundGroup (SoundGroup **soundgroup);
231 
232  // Synchronization point API. These points can come from markers embedded in wav files, and can also generate channel callbacks.
233  FMOD_RESULT F_API getNumSyncPoints (int *numsyncpoints);
234  FMOD_RESULT F_API getSyncPoint (int index, FMOD_SYNCPOINT **point);
235  FMOD_RESULT F_API getSyncPointInfo (FMOD_SYNCPOINT *point, char *name, int namelen, unsigned int *offset, FMOD_TIMEUNIT offsettype);
236  FMOD_RESULT F_API addSyncPoint (unsigned int offset, FMOD_TIMEUNIT offsettype, const char *name, FMOD_SYNCPOINT **point);
238 
239  // Functions also in Channel class but here they are the 'default' to save having to change it in Channel all the time.
242  FMOD_RESULT F_API setLoopCount (int loopcount);
243  FMOD_RESULT F_API getLoopCount (int *loopcount);
244  FMOD_RESULT F_API setLoopPoints (unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype);
245  FMOD_RESULT F_API getLoopPoints (unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype);
246 
247  // For MOD/S3M/XM/IT/MID sequenced formats only.
248  FMOD_RESULT F_API getMusicNumChannels (int *numchannels);
249  FMOD_RESULT F_API setMusicChannelVolume (int channel, float volume);
250  FMOD_RESULT F_API getMusicChannelVolume (int channel, float *volume);
251  FMOD_RESULT F_API setMusicSpeed (float speed);
252  FMOD_RESULT F_API getMusicSpeed (float *speed);
253 
254  // Userdata set/get.
256  FMOD_RESULT F_API getUserData (void **userdata);
257 
258  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
259  };
260 
261  /*
262  'Channel' API.
263  */
264  class Channel
265  {
266  private:
267 
268  Channel(); /* Constructor made private so user cannot statically instance a Channel class.
269  Appropriate Channel creation or retrieval function must be used. */
270  public:
271 
273 
275  FMOD_RESULT F_API setPaused (bool paused);
276  FMOD_RESULT F_API getPaused (bool *paused);
277  FMOD_RESULT F_API setVolume (float volume);
278  FMOD_RESULT F_API getVolume (float *volume);
279  FMOD_RESULT F_API setFrequency (float frequency);
280  FMOD_RESULT F_API getFrequency (float *frequency);
281  FMOD_RESULT F_API setPan (float pan);
282  FMOD_RESULT F_API getPan (float *pan);
283  FMOD_RESULT F_API setDelay (FMOD_DELAYTYPE delaytype, unsigned int delayhi, unsigned int delaylo);
284  FMOD_RESULT F_API getDelay (FMOD_DELAYTYPE delaytype, unsigned int *delayhi, unsigned int *delaylo);
285  FMOD_RESULT F_API setSpeakerMix (float frontleft, float frontright, float center, float lfe, float backleft, float backright, float sideleft, float sideright);
286  FMOD_RESULT F_API getSpeakerMix (float *frontleft, float *frontright, float *center, float *lfe, float *backleft, float *backright, float *sideleft, float *sideright);
287  FMOD_RESULT F_API setSpeakerLevels (FMOD_SPEAKER speaker, float *levels, int numlevels);
288  FMOD_RESULT F_API getSpeakerLevels (FMOD_SPEAKER speaker, float *levels, int numlevels);
289  FMOD_RESULT F_API setInputChannelMix (float *levels, int numlevels);
290  FMOD_RESULT F_API getInputChannelMix (float *levels, int numlevels);
291  FMOD_RESULT F_API setMute (bool mute);
292  FMOD_RESULT F_API getMute (bool *mute);
293  FMOD_RESULT F_API setPriority (int priority);
294  FMOD_RESULT F_API getPriority (int *priority);
296  FMOD_RESULT F_API getPosition (unsigned int *position, FMOD_TIMEUNIT postype);
299  FMOD_RESULT F_API setLowPassGain (float gain);
300  FMOD_RESULT F_API getLowPassGain (float *gain);
301 
304  FMOD_RESULT F_API setCallback (FMOD_CHANNEL_CALLBACK callback);
305 
306  // 3D functionality.
309  FMOD_RESULT F_API set3DMinMaxDistance (float mindistance, float maxdistance);
310  FMOD_RESULT F_API get3DMinMaxDistance (float *mindistance, float *maxdistance);
311  FMOD_RESULT F_API set3DConeSettings (float insideconeangle, float outsideconeangle, float outsidevolume);
312  FMOD_RESULT F_API get3DConeSettings (float *insideconeangle, float *outsideconeangle, float *outsidevolume);
315  FMOD_RESULT F_API set3DCustomRolloff (FMOD_VECTOR *points, int numpoints);
316  FMOD_RESULT F_API get3DCustomRolloff (FMOD_VECTOR **points, int *numpoints);
317  FMOD_RESULT F_API set3DOcclusion (float directocclusion, float reverbocclusion);
318  FMOD_RESULT F_API get3DOcclusion (float *directocclusion, float *reverbocclusion);
319  FMOD_RESULT F_API set3DSpread (float angle);
320  FMOD_RESULT F_API get3DSpread (float *angle);
321  FMOD_RESULT F_API set3DPanLevel (float level);
322  FMOD_RESULT F_API get3DPanLevel (float *level);
323  FMOD_RESULT F_API set3DDopplerLevel (float level);
324  FMOD_RESULT F_API get3DDopplerLevel (float *level);
325  FMOD_RESULT F_API set3DDistanceFilter (bool custom, float customLevel, float centerFreq);
326  FMOD_RESULT F_API get3DDistanceFilter (bool *custom, float *customLevel, float *centerFreq);
327 
328  // DSP functionality only for channels playing sounds created with FMOD_SOFTWARE.
330  FMOD_RESULT F_API addDSP (DSP *dsp, DSPConnection **connection);
331 
332  // Information only functions.
333  FMOD_RESULT F_API isPlaying (bool *isplaying);
334  FMOD_RESULT F_API isVirtual (bool *isvirtual);
335  FMOD_RESULT F_API getAudibility (float *audibility);
337  FMOD_RESULT F_API getSpectrum (float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype);
338  FMOD_RESULT F_API getWaveData (float *wavearray, int numvalues, int channeloffset);
340 
341  // Functions also found in Sound class but here they can be set per channel.
344  FMOD_RESULT F_API setLoopCount (int loopcount);
345  FMOD_RESULT F_API getLoopCount (int *loopcount);
346  FMOD_RESULT F_API setLoopPoints (unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype);
347  FMOD_RESULT F_API getLoopPoints (unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype);
348 
349  // Userdata set/get.
351  FMOD_RESULT F_API getUserData (void **userdata);
352 
353  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
354  };
355 
356  /*
357  'ChannelGroup' API
358  */
360  {
361  private:
362 
363  ChannelGroup(); /* Constructor made private so user cannot statically instance a ChannelGroup class.
364  Appropriate ChannelGroup creation or retrieval function must be used. */
365  public:
366 
369 
370  // Channelgroup scale values. (changes attributes relative to the channels, doesn't overwrite them)
371  FMOD_RESULT F_API setVolume (float volume);
372  FMOD_RESULT F_API getVolume (float *volume);
373  FMOD_RESULT F_API setPitch (float pitch);
374  FMOD_RESULT F_API getPitch (float *pitch);
375  FMOD_RESULT F_API set3DOcclusion (float directocclusion, float reverbocclusion);
376  FMOD_RESULT F_API get3DOcclusion (float *directocclusion, float *reverbocclusion);
377  FMOD_RESULT F_API setPaused (bool paused);
378  FMOD_RESULT F_API getPaused (bool *paused);
379  FMOD_RESULT F_API setMute (bool mute);
380  FMOD_RESULT F_API getMute (bool *mute);
381 
382  // Channelgroup override values. (recursively overwrites whatever settings the channels had)
384  FMOD_RESULT F_API overrideVolume (float volume);
385  FMOD_RESULT F_API overrideFrequency (float frequency);
389  FMOD_RESULT F_API overrideSpeakerMix (float frontleft, float frontright, float center, float lfe, float backleft, float backright, float sideleft, float sideright);
390 
391  // Nested channel groups.
393  FMOD_RESULT F_API getNumGroups (int *numgroups);
396 
397  // DSP functionality only for channel groups playing sounds created with FMOD_SOFTWARE.
399  FMOD_RESULT F_API addDSP (DSP *dsp, DSPConnection **connection);
400 
401  // Information only functions.
402  FMOD_RESULT F_API getName (char *name, int namelen);
403  FMOD_RESULT F_API getNumChannels (int *numchannels);
404  FMOD_RESULT F_API getChannel (int index, Channel **channel);
405  FMOD_RESULT F_API getSpectrum (float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype);
406  FMOD_RESULT F_API getWaveData (float *wavearray, int numvalues, int channeloffset);
407 
408  // Userdata set/get.
410  FMOD_RESULT F_API getUserData (void **userdata);
411 
412  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
413  };
414 
415  /*
416  'SoundGroup' API
417  */
419  {
420  private:
421 
422  SoundGroup(); /* Constructor made private so user cannot statically instance a SoundGroup class.
423  Appropriate SoundGroup creation or retrieval function must be used. */
424  public:
425 
428 
429  // SoundGroup control functions.
430  FMOD_RESULT F_API setMaxAudible (int maxaudible);
431  FMOD_RESULT F_API getMaxAudible (int *maxaudible);
434  FMOD_RESULT F_API setMuteFadeSpeed (float speed);
435  FMOD_RESULT F_API getMuteFadeSpeed (float *speed);
436  FMOD_RESULT F_API setVolume (float volume);
437  FMOD_RESULT F_API getVolume (float *volume);
439 
440  // Information only functions.
441  FMOD_RESULT F_API getName (char *name, int namelen);
442  FMOD_RESULT F_API getNumSounds (int *numsounds);
444  FMOD_RESULT F_API getNumPlaying (int *numplaying);
445 
446  // Userdata set/get.
448  FMOD_RESULT F_API getUserData (void **userdata);
449 
450  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
451  };
452 
453  /*
454  'DSP' API
455  */
456  class DSP
457  {
458  private:
459 
460  DSP(); /* Constructor made private so user cannot statically instance a DSP class.
461  Appropriate DSP creation or retrieval function must be used. */
462  public:
463 
466 
467  // Connection / disconnection / input and output enumeration.
468  FMOD_RESULT F_API addInput (DSP *target, DSPConnection **connection);
470  FMOD_RESULT F_API disconnectAll (bool inputs, bool outputs);
471  FMOD_RESULT F_API remove ();
472  FMOD_RESULT F_API getNumInputs (int *numinputs);
473  FMOD_RESULT F_API getNumOutputs (int *numoutputs);
474  FMOD_RESULT F_API getInput (int index, DSP **input, DSPConnection **inputconnection);
475  FMOD_RESULT F_API getOutput (int index, DSP **output, DSPConnection **outputconnection);
476 
477  // DSP unit control.
478  FMOD_RESULT F_API setActive (bool active);
479  FMOD_RESULT F_API getActive (bool *active);
480  FMOD_RESULT F_API setBypass (bool bypass);
481  FMOD_RESULT F_API getBypass (bool *bypass);
482  FMOD_RESULT F_API setSpeakerActive (FMOD_SPEAKER speaker, bool active);
483  FMOD_RESULT F_API getSpeakerActive (FMOD_SPEAKER speaker, bool *active);
485 
486 
487  // DSP parameter control.
488  FMOD_RESULT F_API setParameter (int index, float value);
489  FMOD_RESULT F_API getParameter (int index, float *value, char *valuestr, int valuestrlen);
490  FMOD_RESULT F_API getNumParameters (int *numparams);
491  FMOD_RESULT F_API getParameterInfo (int index, char *name, char *label, char *description, int descriptionlen, float *min, float *max);
493 
494  // DSP attributes.
495  FMOD_RESULT F_API getInfo (char *name, unsigned int *version, int *channels, int *configwidth, int *configheight);
497  FMOD_RESULT F_API setDefaults (float frequency, float volume, float pan, int priority);
498  FMOD_RESULT F_API getDefaults (float *frequency, float *volume, float *pan, int *priority);
499 
500  // Userdata set/get.
502  FMOD_RESULT F_API getUserData (void **userdata);
503 
504  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
505  };
506 
507 
508  /*
509  'DSPConnection' API
510  */
512  {
513  private:
514 
515  DSPConnection(); /* Constructor made private so user cannot statically instance a DSPConnection class.
516  Appropriate DSPConnection creation or retrieval function must be used. */
517 
518  public:
519 
520  FMOD_RESULT F_API getInput (DSP **input);
521  FMOD_RESULT F_API getOutput (DSP **output);
522  FMOD_RESULT F_API setMix (float volume);
523  FMOD_RESULT F_API getMix (float *volume);
524  FMOD_RESULT F_API setLevels (FMOD_SPEAKER speaker, float *levels, int numlevels);
525  FMOD_RESULT F_API getLevels (FMOD_SPEAKER speaker, float *levels, int numlevels);
526 
527  // Userdata set/get.
529  FMOD_RESULT F_API getUserData (void **userdata);
530 
531  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
532  };
533 
534 
535  /*
536  'Geometry' API
537  */
538  class Geometry
539  {
540  private:
541 
542  Geometry(); /* Constructor made private so user cannot statically instance a Geometry class.
543  Appropriate Geometry creation or retrieval function must be used. */
544 
545  public:
546 
548 
549  // Polygon manipulation.
550  FMOD_RESULT F_API addPolygon (float directocclusion, float reverbocclusion, bool doublesided, int numvertices, const FMOD_VECTOR *vertices, int *polygonindex);
551  FMOD_RESULT F_API getNumPolygons (int *numpolygons);
552  FMOD_RESULT F_API getMaxPolygons (int *maxpolygons, int *maxvertices);
553  FMOD_RESULT F_API getPolygonNumVertices (int index, int *numvertices);
554  FMOD_RESULT F_API setPolygonVertex (int index, int vertexindex, const FMOD_VECTOR *vertex);
555  FMOD_RESULT F_API getPolygonVertex (int index, int vertexindex, FMOD_VECTOR *vertex);
556  FMOD_RESULT F_API setPolygonAttributes (int index, float directocclusion, float reverbocclusion, bool doublesided);
557  FMOD_RESULT F_API getPolygonAttributes (int index, float *directocclusion, float *reverbocclusion, bool *doublesided);
558 
559  // Object manipulation.
560  FMOD_RESULT F_API setActive (bool active);
561  FMOD_RESULT F_API getActive (bool *active);
562  FMOD_RESULT F_API setRotation (const FMOD_VECTOR *forward, const FMOD_VECTOR *up);
566  FMOD_RESULT F_API setScale (const FMOD_VECTOR *scale);
568  FMOD_RESULT F_API save (void *data, int *datasize);
569 
570  // Userdata set/get.
572  FMOD_RESULT F_API getUserData (void **userdata);
573 
574  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
575  };
576 
577 
578  /*
579  'Reverb' API
580  */
581  class Reverb
582  {
583  private:
584 
585  Reverb(); /* Constructor made private so user cannot statically instance a Reverb class.
586  Appropriate Reverb creation or retrieval function must be used. */
587 
588  public:
589 
591 
592  // Reverb manipulation.
593  FMOD_RESULT F_API set3DAttributes (const FMOD_VECTOR *position, float mindistance, float maxdistance);
594  FMOD_RESULT F_API get3DAttributes (FMOD_VECTOR *position, float *mindistance,float *maxdistance);
597  FMOD_RESULT F_API setActive (bool active);
598  FMOD_RESULT F_API getActive (bool *active);
599 
600  // Userdata set/get.
602  FMOD_RESULT F_API getUserData (void **userdata);
603 
604  FMOD_RESULT F_API getMemoryInfo (unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
605  };
606 }
607 
608 #endif
FMOD_RESULT F_API set3DMinMaxDistance(float min, float max)
FMOD_RESULT F_API getGeometryOcclusion(const FMOD_VECTOR *listener, const FMOD_VECTOR *source, float *direct, float *reverb)
FMOD_RESULT F_API set3DDistanceFilter(bool custom, float customLevel, float centerFreq)
FMOD_RESULT F_API getBypass(bool *bypass)
FMOD_SPEAKER
Definition: fmod.h:662
FMOD_RESULT F_API getHardwareChannels(int *numhardwarechannels)
FMOD_RESULT F_API getSystemObject(System **system)
FMOD_RESULT F_API setPaused(bool paused)
FMOD_RESULT F_API setProperties(const FMOD_REVERB_PROPERTIES *properties)
FMOD_RESULT F_API getVersion(unsigned int *version)
FMOD_RESULT F_API getPolygonNumVertices(int index, int *numvertices)
FMOD_RESULT F_API getIndex(int *index)
FMOD_RESULT F_API release()
FMOD_RESULT F_API set3DSpread(float angle)
FMOD_RESULT F_API createDSPByPlugin(unsigned int handle, DSP **dsp)
FMOD_RESULT F_API getUserData(void **userdata)
FMOD_RESULT F_API addInput(DSP *target, DSPConnection **connection)
FMOD_RESULT F_API getNumSubSounds(int *numsubsounds)
unsigned int FMOD_DEBUGLEVEL
Definition: fmod.h:79
FMOD_PLUGINTYPE
Definition: fmod.h:700
FMOD_SOUND_FORMAT
Definition: fmod.h:826
FMOD_RESULT F_API getLoopPoints(unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype)
FMOD_RESULT F_API getDelay(FMOD_DELAYTYPE delaytype, unsigned int *delayhi, unsigned int *delaylo)
FMOD_RESULT F_API FMOD_Debug_SetLevel(FMOD_DEBUGLEVEL level)
FMOD_RESULT F_API getUserData(void **userdata)
FMOD_RESULT F_API set3DConeSettings(float insideconeangle, float outsideconeangle, float outsidevolume)
FMOD_RESULT F_API getPosition(FMOD_VECTOR *position)
FMOD_RESULT F_API setMuteFadeSpeed(float speed)
FMOD_RESULT F_API getRecordPosition(int id, unsigned int *position)
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
FMOD_RESULT F_API createStream(const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, Sound **sound)
FMOD_RESULT F_API attachFileSystem(FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FILE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek)
FMOD_RESULT F_API setUserData(void *userdata)
FMOD_RESULT F_API setSoftwareFormat(int samplerate, FMOD_SOUND_FORMAT format, int numoutputchannels, int maxinputchannels, FMOD_DSP_RESAMPLER resamplemethod)
FMOD_RESULT F_API set3DSettings(float dopplerscale, float distancefactor, float rolloffscale)
FMOD_RESULT F_API setUserData(void *userdata)
FMOD_RESULT F_API getPaused(bool *paused)
FMOD_RESULT F_API set3DDopplerLevel(float level)
unsigned int FMOD_INITFLAGS
Definition: fmod.h:77
FMOD_RESULT F_API get3DSpread(float *angle)
FMOD_RESULT F_API deleteSyncPoint(FMOD_SYNCPOINT *point)
FMOD_RESULT F_API getAudibility(float *audibility)
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
void * hwnd
Definition: fmod_dsp.h:28
FMOD_RESULT F_API FMOD_Memory_Initialize(void *poolmem, int poollen, FMOD_MEMORY_ALLOCCALLBACK useralloc, FMOD_MEMORY_REALLOCCALLBACK userrealloc, FMOD_MEMORY_FREECALLBACK userfree, FMOD_MEMORY_TYPE memtypeflags)
struct FMOD_SYNCPOINT FMOD_SYNCPOINT
Definition: fmod.h:74
FMOD_RESULT F_API setSpeakerLevels(FMOD_SPEAKER speaker, float *levels, int numlevels)
FMOD_RESULT F_API isVirtual(bool *isvirtual)
FMOD_OUTPUTTYPE
Definition: fmod.h:347
FMOD_RESULT Debug_SetLevel(FMOD_DEBUGLEVEL level)
Definition: fmod.hpp:37
FMOD_RESULT F_API getSyncPointInfo(FMOD_SYNCPOINT *point, char *name, int namelen, unsigned int *offset, FMOD_TIMEUNIT offsettype)
FMOD_RESULT F_API setUserData(void *userdata)
FMOD_RESULT F_API setMute(bool mute)
FMOD_RESULT F_API setDefaults(float frequency, float volume, float pan, int priority)
FMOD_RESULT F_API get3DMinMaxDistance(float *mindistance, float *maxdistance)
FMOD_RESULT F_API getInput(int index, DSP **input, DSPConnection **inputconnection)
FMOD_RESULT F_API get3DCustomRolloff(FMOD_VECTOR **points, int *numpoints)
FMOD_RESULT F_API getUserData(void **userdata)
FMOD_RESULT F_API getParameterInfo(int index, char *name, char *label, char *description, int descriptionlen, float *min, float *max)
FMOD_RESULT F_API getActive(bool *active)
FMOD_RESULT F_API overrideVolume(float volume)
FMOD_RESULT F_API createSound(const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, Sound **sound)
FMOD_RESULT F_API unlockDSP()
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
FMOD_RESULT F_API getWaveData(float *wavearray, int numvalues, int channeloffset)
FMOD_RESULT F_API getMusicSpeed(float *speed)
FMOD_RESULT F_API getWaveData(float *wavearray, int numvalues, int channeloffset)
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
FMOD_SOUND_TYPE
Definition: fmod.h:772
FMOD_TAGTYPE char * name
Definition: fmod_codec.h:26
FMOD_RESULT F_API setLoopPoints(unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype)
FMOD_RESULT F_API getWaveData(float *wavearray, int numvalues, int channeloffset)
int FMOD_SOUND * sound
Definition: fmod_codec.h:25
FMOD_RESULT F_API getNetworkTimeout(int *timeout)
FMOD_RESULT F_API getCurrentSound(Sound **sound)
FMOD_RESULT F_API setVariations(float frequencyvar, float volumevar, float panvar)
FMOD_RESULT F_API setVolume(float volume)
FMOD_RESULT F_API setUserData(void *userdata)
FMOD_RESULT F_API getUserData(void **userdata)
FMOD_RESULT F_API getMix(float *volume)
FMOD_RESULT F_API set3DPanLevel(float level)
FMOD_RESULT F_API FMOD_Memory_GetStats(int *currentalloced, int *maxalloced, FMOD_BOOL blocking)
void pan(int position, FMOD_CHANNEL *chan)
Definition: VolPan.c:6
FMOD_RESULT F_API getUserData(void **userdata)
FMOD_RESULT F_API getName(char *name, int namelen)
int FMOD_INITFLAGS flags
Definition: fmod_output.h:23
FMOD_RESULT F_API showConfigDialog(void *hwnd, bool show)
FMOD_RESULT F_API getNumOutputs(int *numoutputs)
FMOD_RESULT F_API release()
FMOD_RESULT F_API getSpectrum(float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype)
FMOD_RESULT F_API getRecordDriverCaps(int id, FMOD_CAPS *caps, int *minfrequency, int *maxfrequency)
FMOD_RESULT F_API setLoopPoints(unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype)
unsigned int unsigned int void void unsigned int unsigned int * len2
Definition: fmod_output.h:28
FMOD_RESULT F_API getOutput(FMOD_OUTPUTTYPE *output)
FMOD_RESULT F_API setLevels(FMOD_SPEAKER speaker, float *levels, int numlevels)
FMOD_RESULT F_API get3DMinMaxDistance(float *min, float *max)
int unsigned int void void ** userdata
Definition: fmod.h:1080
FMOD_RESULT F_API getUserData(void **userdata)
FMOD_RESULT F_API getActive(bool *active)
FMOD_RESULT F_API getPriority(int *priority)
FMOD_RESULT F_API getLowPassGain(float *gain)
FMOD_RESULT F_API get3DDopplerLevel(float *level)
FMOD_RESULT F_API seekData(unsigned int pcm)
FMOD_RESULT F_API setPriority(int priority)
FMOD_RESULT F_API get3DSpeakerPosition(FMOD_SPEAKER speaker, float *x, float *y, bool *active)
FMOD_RESULT F_API getDefaults(float *frequency, float *volume, float *pan, int *priority)
FMOD_RESULT F_API getChannelGroup(ChannelGroup **channelgroup)
FMOD_RESULT F_API set3DOcclusion(float directocclusion, float reverbocclusion)
FMOD_DELAYTYPE
Definition: fmod.h:1270
FMOD_RESULT F_API getRotation(FMOD_VECTOR *forward, FMOD_VECTOR *up)
FMOD_RESULT F_API setDriver(int driver)
FMOD_RESULT F_API getChannelsPlaying(int *channels)
FMOD_RESULT F_API setSpeakerMix(float frontleft, float frontright, float center, float lfe, float backleft, float backright, float sideleft, float sideright)
FMOD_RESULT F_API getOutput(DSP **output)
FMOD_RESULT F_API getSyncPoint(int index, FMOD_SYNCPOINT **point)
FMOD_RESULT F_API addDSP(DSP *dsp, DSPConnection **connection)
FMOD_RESULT F_API getDSPHead(DSP **dsp)
FMOD_RESULT F_API getChannel(int channelid, Channel **channel)
void *(F_CALLBACK * FMOD_MEMORY_REALLOCCALLBACK)(void *ptr, unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr)
Definition: fmod.h:1088
FMOD_RESULT F_API setReverbProperties(const FMOD_REVERB_CHANNELPROPERTIES *prop)
FMOD_RESULT F_API set3DRolloffCallback(FMOD_3D_ROLLOFFCALLBACK callback)
FMOD_RESULT F_API createSoundGroup(const char *name, SoundGroup **soundgroup)
FMOD_RESULT F_API loadPlugin(const char *filename, unsigned int *handle, unsigned int priority=0)
FMOD_RESULT F_API getNumGroups(int *numgroups)
FMOD_RESULT F_API setGeometrySettings(float maxworldsize)
FMOD_RESULT F_API setFrequency(float frequency)
FMOD_RESULT F_API getParameter(int index, float *value, char *valuestr, int valuestrlen)
FMOD_RESULT F_API getRecordNumDrivers(int *numdrivers)
FMOD_RESULT F_API close()
FMOD_RESULT F_API getCDROMDriveName(int drive, char *drivename, int drivenamelen, char *scsiname, int scsinamelen, char *devicename, int devicenamelen)
FMOD_RESULT F_API release()
unsigned int FMOD_CAPS
Definition: fmod.h:78
FMOD_RESULT F_API getSystemObject(System **system)
FMOD_RESULT F_API setUserData(void *userdata)
FMOD_RESULT F_API setSpeakerMode(FMOD_SPEAKERMODE speakermode)
FMOD_RESULT F_API getPaused(bool *paused)
FMOD_RESULT F_API getGroup(int index, ChannelGroup **group)
FMOD_RESULT F_API getSpeakerMix(float *frontleft, float *frontright, float *center, float *lfe, float *backleft, float *backright, float *sideleft, float *sideright)
FMOD_RESULT Memory_GetStats(int *currentalloced, int *maxalloced, bool blocking=true)
Definition: fmod.hpp:36
FMOD_RESULT F_API get3DListenerAttributes(int listener, FMOD_VECTOR *pos, FMOD_VECTOR *vel, FMOD_VECTOR *forward, FMOD_VECTOR *up)
FMOD_RESULT F_API getReverbAmbientProperties(FMOD_REVERB_PROPERTIES *prop)
FMOD_RESULT F_API getSpectrum(float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype)
FMOD_RESULT F_API setActive(bool active)
FMOD_RESULT F_API setSubSound(int index, Sound *subsound)
FMOD_RESULT F_API getMute(bool *mute)
FMOD_RESULT F_API getNumPlugins(FMOD_PLUGINTYPE plugintype, int *numplugins)
FMOD_RESULT F_API getNumPolygons(int *numpolygons)
FMOD_RESULT F_API getNetworkProxy(char *proxy, int proxylen)
FMOD_RESULT F_API release()
FMOD_RESULT F_API getNumSyncPoints(int *numsyncpoints)
FMOD_RESULT F_API createGeometry(int maxpolygons, int maxvertices, Geometry **geometry)
FMOD_RESULT F_API setBypass(bool bypass)
FMOD_RESULT F_API getPolygonVertex(int index, int vertexindex, FMOD_VECTOR *vertex)
FMOD_RESULT F_API registerDSP(FMOD_DSP_DESCRIPTION *description, unsigned int *handle)
FMOD_RESULT F_API playSound(FMOD_CHANNELINDEX channelid, Sound *sound, bool paused, Channel **channel)
FMOD_RESULT F_API getPitch(float *pitch)
FMOD_RESULT F_API update()
FMOD_SYSTEM_CALLBACKTYPE
Definition: fmod.h:1054
unsigned int * pcm
Definition: fmod_output.h:27
FMOD_RESULT F_API setUserData(void *userdata)
FMOD_RESULT
Definition: fmod.h:97
FMOD_RESULT F_API getNumDrivers(int *numdrivers)
FMOD_RESULT F_API release()
FMOD_RESULT F_API overridePan(float pan)
FMOD_CHANNELINDEX
Definition: fmod.h:1843
FMOD_RESULT F_API setVolume(float volume)
FMOD_RESULT F_API setUserData(void *userdata)
FMOD_RESULT F_API get3DOcclusion(float *directocclusion, float *reverbocclusion)
FMOD_RESULT F_API set3DListenerAttributes(int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel, const FMOD_VECTOR *forward, const FMOD_VECTOR *up)
unsigned int unsigned int void ** ptr1
Definition: fmod_output.h:28
FMOD_RESULT F_API getMusicNumChannels(int *numchannels)
FMOD_RESULT F_API FMOD_File_SetDiskBusy(int busy)
FMOD_RESULT F_API getLoopCount(int *loopcount)
FMOD_RESULT F_API getDriverInfoW(int id, short *name, int namelen, FMOD_GUID *guid)
FMOD_RESULT F_API getDriver(int *driver)
FMOD_RESULT F_API getSpeakerLevels(FMOD_SPEAKER speaker, float *levels, int numlevels)
FMOD_RESULT F_API createDSPByType(FMOD_DSP_TYPE type, DSP **dsp)
int unsigned int void ** handle
Definition: fmod.h:1080
FMOD_RESULT F_API getOutputByPlugin(unsigned int *handle)
FMOD_RESULT F_API getLoopPoints(unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype)
FMOD_RESULT F_API getRecordDriverInfoW(int id, short *name, int namelen, FMOD_GUID *guid)
FMOD_RESULT F_API FMOD_System_Create(FMOD_SYSTEM **system)
FMOD_RESULT F_API addDSP(DSP *dsp, DSPConnection **connection)
FMOD_RESULT F_API getVolume(float *volume)
FMOD_RESULT F_API getMode(FMOD_MODE *mode)
FMOD_RESULT F_API addPolygon(float directocclusion, float reverbocclusion, bool doublesided, int numvertices, const FMOD_VECTOR *vertices, int *polygonindex)
void int show
Definition: fmod_dsp.h:28
FMOD_RESULT F_API setNetworkProxy(const char *proxy)
FMOD_RESULT F_API getUserData(void **userdata)
FMOD_RESULT F_API set3DSpeakerPosition(FMOD_SPEAKER speaker, float x, float y, bool active)
FMOD_RESULT F_API setMode(FMOD_MODE mode)
FMOD_RESULT F_API setLoopCount(int loopcount)
FMOD_RESULT F_API getTag(const char *name, int index, FMOD_TAG *tag)
FMOD_RESULT F_API release()
FMOD_RESULT F_API getNumCDROMDrives(int *numdrives)
FMOD_SOUNDGROUP_BEHAVIOR
Definition: fmod.h:986
FMOD_RESULT F_API addSyncPoint(unsigned int offset, FMOD_TIMEUNIT offsettype, const char *name, FMOD_SYNCPOINT **point)
FMOD_RESULT F_API getNumParameters(int *numparams)
int unsigned int position
Definition: fmod_codec.h:23
#define F_API
Definition: fmod.h:54
FMOD_RESULT F_API getMusicChannelVolume(int channel, float *volume)
FMOD_RESULT F_API getPan(float *pan)
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
FMOD_RESULT F_API FMOD_Debug_GetLevel(FMOD_DEBUGLEVEL *level)
FMOD_RESULT F_API addDSP(DSP *dsp, DSPConnection **connection)
FMOD_RESULT F_API getMaxAudibleBehavior(FMOD_SOUNDGROUP_BEHAVIOR *behavior)
FMOD_RESULT Memory_Initialize(void *poolmem, int poollen, FMOD_MEMORY_ALLOCCALLBACK useralloc, FMOD_MEMORY_REALLOCCALLBACK userrealloc, FMOD_MEMORY_FREECALLBACK userfree, FMOD_MEMORY_TYPE memtypeflags=FMOD_MEMORY_ALL)
Definition: fmod.hpp:35
FMOD_RESULT F_API setCallback(FMOD_CHANNEL_CALLBACK callback)
int unsigned int FMOD_TIMEUNIT postype
Definition: fmod_codec.h:23
FMOD_RESULT F_API getSoftwareFormat(int *samplerate, FMOD_SOUND_FORMAT *format, int *numoutputchannels, int *maxinputchannels, FMOD_DSP_RESAMPLER *resamplemethod, int *bits)
FMOD_RESULT F_API setUserData(void *userdata)
FMOD_RESULT F_API getOpenState(FMOD_OPENSTATE *openstate, unsigned int *percentbuffered, bool *starving, bool *diskbusy)
struct FMOD_SYSTEM FMOD_SYSTEM
Definition: fmod.h:64
FMOD_SPEAKERMODE
Definition: fmod.h:616
FMOD_RESULT F_API getOutput(int index, DSP **output, DSPConnection **outputconnection)
FMOD_RESULT F_API getMasterSoundGroup(SoundGroup **soundgroup)
void *F_CALLBACK * FMOD_MEMORY_ALLOCCALLBACK(unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr)
Definition: fmod.h:1087
FMOD_DSP_TYPE
Definition: fmod_dsp.h:46
FMOD_RESULT F_API getMaxPolygons(int *maxpolygons, int *maxvertices)
FMOD_RESULT F_API release()
FMOD_RESULT F_API override3DAttributes(const FMOD_VECTOR *pos, const FMOD_VECTOR *vel)
FMOD_RESULT F_API setMaxAudibleBehavior(FMOD_SOUNDGROUP_BEHAVIOR behavior)
FMOD_RESULT F_API get3DOcclusion(float *directocclusion, float *reverbocclusion)
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
FMOD_RESULT F_API getSoftwareChannels(int *numsoftwarechannels)
FMOD_RESULT F_API getMasterChannelGroup(ChannelGroup **channelgroup)
FMOD_RESULT F_API isRecording(int id, bool *recording)
int subsound
Definition: fmod_codec.h:23
FMOD_RESULT F_API setSubSoundSentence(int *subsoundlist, int numsubsounds)
FMOD_RESULT F_API overrideFrequency(float frequency)
FMOD_RESULT F_API setOutputByPlugin(unsigned int handle)
FMOD_RESULT F_API get3DAttributes(FMOD_VECTOR *position, float *mindistance, float *maxdistance)
FMOD_RESULT F_API getChannel(int index, Channel **channel)
FMOD_RESULT F_API getNumChannels(int *numchannels)
FMOD_RESULT F_API setSoftwareChannels(int numsoftwarechannels)
FMOD_RESULT(F_CALLBACK * FMOD_FILE_ASYNCCANCELCALLBACK)(void *handle, void *userdata)
Definition: fmod.h:1085
FMOD_RESULT F_API set3DMinMaxDistance(float mindistance, float maxdistance)
FMOD_RESULT F_API getDriverInfo(int id, char *name, int namelen, FMOD_GUID *guid)
FMOD_RESULT F_API getSoundRAM(int *currentalloced, int *maxalloced, int *total)
FMOD_RESULT F_API lock(unsigned int offset, unsigned int length, void **ptr1, void **ptr2, unsigned int *len1, unsigned int *len2)
FMOD_RESULT F_API lockDSP()
FMOD_RESULT F_API getDSPClock(unsigned int *hi, unsigned int *lo)
FMOD_RESULT F_API stop()
FMOD_RESULT F_API getPolygonAttributes(int index, float *directocclusion, float *reverbocclusion, bool *doublesided)
FMOD_RESULT F_API setDSPBufferSize(unsigned int bufferlength, int numbuffers)
FMOD_RESULT F_API setLowPassGain(float gain)
FMOD_RESULT F_API setParameter(int index, float value)
FMOD_RESULT F_API readData(void *buffer, unsigned int lenbytes, unsigned int *read)
FMOD_RESULT F_API setReverbAmbientProperties(FMOD_REVERB_PROPERTIES *prop)
FMOD_RESULT F_API getSpeakerActive(FMOD_SPEAKER speaker, bool *active)
FMOD_RESULT F_API getDSPBufferSize(unsigned int *bufferlength, int *numbuffers)
FMOD_DSP_RESAMPLER
Definition: fmod.h:1168
FMOD_RESULT F_API set3DAttributes(const FMOD_VECTOR *pos, const FMOD_VECTOR *vel)
FMOD_RESULT F_API getDefaults(float *frequency, float *volume, float *pan, int *priority)
FMOD_RESULT F_API getUserData(void **userdata)
FMOD_RESULT F_API getSound(int index, Sound **sound)
FMOD_RESULT F_API setPaused(bool paused)
unsigned int offset
Definition: fmod_output.h:28
FMOD_RESULT F_API setDefaults(float frequency, float volume, float pan, int priority)
FMOD_RESULT F_API getDSPHead(DSP **dsp)
FMOD_RESULT F_API stop()
unsigned int FMOD_MODE
Definition: fmod.h:75
FMOD_RESULT F_API get3DConeSettings(float *insideconeangle, float *outsideconeangle, float *outsidevolume)
FMOD_RESULT F_API getParentGroup(ChannelGroup **group)
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
FMOD_RESULT F_API set3DConeOrientation(FMOD_VECTOR *orientation)
FMOD_RESULT F_API getSoundGroup(SoundGroup **soundgroup)
FMOD_RESULT F_API setMaxAudible(int maxaudible)
FMOD_RESULT F_API overrideSpeakerMix(float frontleft, float frontright, float center, float lfe, float backleft, float backright, float sideleft, float sideright)
FMOD_RESULT F_API getSpectrum(float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype)
FMOD_RESULT F_API stop()
FMOD_RESULT F_API setSpeakerActive(FMOD_SPEAKER speaker, bool active)
FMOD_RESULT F_API set3DOcclusion(float directocclusion, float reverbocclusion)
FMOD_RESULT F_API setMusicChannelVolume(int channel, float volume)
FMOD_DSP_FFT_WINDOW
Definition: fmod.h:1136
FMOD_RESULT F_API loadGeometry(const void *data, int datasize, Geometry **geometry)
void * buffer
Definition: fmod.h:1082
FMOD_RESULT F_API setScale(const FMOD_VECTOR *scale)
#define FMOD_MEMORY_ALL
Definition: fmod.h:490
FMOD_RESULT F_API setPluginPath(const char *path)
FMOD_OPENSTATE
Definition: fmod.h:947
FMOD_RESULT F_API setSoundGroup(SoundGroup *soundgroup)
FMOD_RESULT F_API setPitch(float pitch)
FMOD_RESULT F_API getLength(unsigned int *length, FMOD_TIMEUNIT lengthtype)
FMOD_RESULT F_API getNumInputs(int *numinputs)
int index
Definition: fmod_codec.h:27
FMOD_RESULT F_API setPolygonAttributes(int index, float directocclusion, float reverbocclusion, bool doublesided)
FMOD_RESULT F_API isPlaying(bool *isplaying)
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
FMOD_RESULT F_API getFrequency(float *frequency)
FMOD_RESULT F_API setMute(bool mute)
unsigned int FMOD_TIMEUNIT
Definition: fmod.h:76
FMOD_RESULT F_API setNetworkTimeout(int timeout)
FMOD_RESULT F_API getVolume(float *volume)
FMOD_RESULT F_API setMode(FMOD_MODE mode)
FMOD_RESULT(F_CALLBACK * FMOD_FILE_ASYNCREADCALLBACK)(FMOD_ASYNCREADINFO *info, void *userdata)
Definition: fmod.h:1084
FMOD_RESULT F_API setStreamBufferSize(unsigned int filebuffersize, FMOD_TIMEUNIT filebuffersizetype)
FMOD_RESULT F_API registerCodec(FMOD_CODEC_DESCRIPTION *description, unsigned int *handle, unsigned int priority=0)
FMOD_RESULT F_API addGroup(ChannelGroup *group)
FMOD_RESULT F_API setPosition(unsigned int position, FMOD_TIMEUNIT postype)
FMOD_RESULT F_API getSystemObject(System **system)
FMOD_RESULT F_API recordStart(int id, Sound *sound, bool loop)
FMOD_RESULT F_API set3DCustomRolloff(FMOD_VECTOR *points, int numpoints)
unsigned int FMOD_TIMEUNIT lengthtype
Definition: fmod_codec.h:22
FMOD_RESULT F_API playDSP(FMOD_CHANNELINDEX channelid, DSP *dsp, bool paused, Channel **channel)
FMOD_RESULT F_API getMaxAudible(int *maxaudible)
FMOD_RESULT F_API setActive(bool active)
FMOD_RESULT F_API setFileSystem(FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FILE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek, FMOD_FILE_ASYNCREADCALLBACK userasyncread, FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel, int blockalign)
FMOD_RESULT F_API getAdvancedSettings(FMOD_ADVANCEDSETTINGS *settings)
FMOD_RESULT F_API disconnectAll(bool inputs, bool outputs)
FMOD_RESULT F_API setDelay(FMOD_DELAYTYPE delaytype, unsigned int delayhi, unsigned int delaylo)
FMOD_RESULT F_API getUserData(void **userdata)
int FMOD_INITFLAGS int int FMOD_SOUND_FORMAT int int void * extradriverdata
Definition: fmod_output.h:23
FMOD_RESULT F_API setChannelGroup(ChannelGroup *channelgroup)
FMOD_RESULT F_API getInfo(char *name, unsigned int *version, int *channels, int *configwidth, int *configheight)
FMOD_RESULT F_API getNumSounds(int *numsounds)
FMOD_RESULT F_API getName(char *name, int namelen)
FMOD_RESULT F_API get3DCustomRolloff(FMOD_VECTOR **points, int *numpoints)
FMOD_RESULT F_API getDSPHead(DSP **dsp)
FMOD_RESULT F_API getCPUUsage(float *dsp, float *stream, float *geometry, float *update, float *total)
FMOD_RESULT F_API createChannelGroup(const char *name, ChannelGroup **channelgroup)
unsigned int FMOD_MEMORY_TYPE
Definition: fmod.h:80
FMOD_RESULT F_API getActive(bool *active)
FMOD_RESULT F_API getSystemObject(System **system)
FMOD_RESULT F_API get3DSettings(float *dopplerscale, float *distancefactor, float *rolloffscale)
FMOD_RESULT F_API getGeometrySettings(float *maxworldsize)
FMOD_RESULT F_API getInput(DSP **input)
FMOD_RESULT Debug_GetLevel(FMOD_DEBUGLEVEL *level)
Definition: fmod.hpp:38
FMOD_RESULT F_API setCallback(FMOD_SYSTEM_CALLBACK callback)
FMOD_TAGTYPE char void * data
Definition: fmod_codec.h:26
FMOD_RESULT F_API getLevels(FMOD_SPEAKER speaker, float *levels, int numlevels)
FMOD_RESULT F_API getPluginInfo(unsigned int handle, FMOD_PLUGINTYPE *plugintype, char *name, int namelen, unsigned int *version)
FMOD_RESULT F_API disconnectFrom(DSP *target)
FMOD_RESULT F_API get3DNumListeners(int *numlisteners)
FMOD_RESULT F_API setVolume(float volume)
FMOD_RESULT F_API setUserData(void *userdata)
unsigned int unsigned int void void unsigned int * len1
Definition: fmod_output.h:28
FMOD_RESULT F_API getType(FMOD_DSP_TYPE *type)
FMOD_RESULT F_API unlock(void *ptr1, void *ptr2, unsigned int len1, unsigned int len2)
FMOD_RESULT F_API getVolume(float *volume)
unsigned int unsigned int void void ** ptr2
Definition: fmod_output.h:28
FMOD_RESULT F_API set3DCustomRolloff(FMOD_VECTOR *points, int numpoints)
FMOD_RESULT F_API setMix(float volume)
FMOD_RESULT F_API getRecordDriverInfo(int id, char *name, int namelen, FMOD_GUID *guid)
FMOD_RESULT F_API getSubSound(int index, Sound **subsound)
FMOD_RESULT F_API get3DConeOrientation(FMOD_VECTOR *orientation)
FMOD_RESULT F_API getNumPlaying(int *numplaying)
FMOD_RESULT F_API set3DConeSettings(float insideconeangle, float outsideconeangle, float outsidevolume)
FMOD_RESULT F_API getLoopCount(int *loopcount)
FMOD_RESULT F_API setPan(float pan)
int float char * valuestr
Definition: fmod_dsp.h:27
FMOD_RESULT F_API getPluginHandle(FMOD_PLUGINTYPE plugintype, int index, unsigned int *handle)
int float value
Definition: fmod_dsp.h:26
FMOD_RESULT F_API overrideReverbProperties(const FMOD_REVERB_CHANNELPROPERTIES *prop)
FMOD_RESULT F_API getReverbProperties(FMOD_REVERB_PROPERTIES *prop)
FMOD_RESULT F_API getName(char *name, int namelen)
unsigned int * length
Definition: fmod_codec.h:22
FMOD_RESULT F_API setOutput(FMOD_OUTPUTTYPE output)
FMOD_RESULT F_API get3DConeSettings(float *insideconeangle, float *outsideconeangle, float *outsidevolume)
FMOD_RESULT F_API get3DDistanceFilter(bool *custom, float *customLevel, float *centerFreq)
FMOD_RESULT F_API getFormat(FMOD_SOUND_TYPE *type, FMOD_SOUND_FORMAT *format, int *channels, int *bits)
FMOD_RESULT F_API getScale(FMOD_VECTOR *scale)
FMOD_RESULT F_API set3DNumListeners(int numlisteners)
FMOD_RESULT F_API get3DAttributes(FMOD_VECTOR *pos, FMOD_VECTOR *vel)
FMOD_RESULT F_API getReverbProperties(FMOD_REVERB_CHANNELPROPERTIES *prop)
FMOD_RESULT F_API getVariations(float *frequencyvar, float *volumevar, float *panvar)
FMOD_RESULT F_API getDriverCaps(int id, FMOD_CAPS *caps, int *controlpaneloutputrate, FMOD_SPEAKERMODE *controlpanelspeakermode)
FMOD_RESULT F_API reset()
FMOD_RESULT F_API setPolygonVertex(int index, int vertexindex, const FMOD_VECTOR *vertex)
FMOD_RESULT F_API setMusicSpeed(float speed)
FMOD_RESULT F_API getNumTags(int *numtags, int *numtagsupdated)
FMOD_RESULT F_API set3DAttributes(const FMOD_VECTOR *position, float mindistance, float maxdistance)
FMOD_RESULT F_API save(void *data, int *datasize)
FMOD_RESULT F_API createDSP(FMOD_DSP_DESCRIPTION *description, DSP **dsp)
FMOD_RESULT F_API getStreamBufferSize(unsigned int *filebuffersize, FMOD_TIMEUNIT *filebuffersizetype)
FMOD_RESULT F_API getPosition(unsigned int *position, FMOD_TIMEUNIT postype)
FMOD_RESULT F_API getProperties(FMOD_REVERB_PROPERTIES *properties)
unsigned int pos
Definition: fmod.h:1083
FMOD_RESULT F_API getMode(FMOD_MODE *mode)
FMOD_RESULT F_API recordStop(int id)
FMOD_RESULT F_API getMute(bool *mute)
FMOD_RESULT F_API setAdvancedSettings(FMOD_ADVANCEDSETTINGS *settings)
FMOD_RESULT F_API init(int maxchannels, FMOD_INITFLAGS flags, void *extradriverdata)
FMOD_RESULT F_API get3DPanLevel(float *level)
FMOD_RESULT F_API setActive(bool active)
FMOD_RESULT F_API setInputChannelMix(float *levels, int numlevels)
FMOD_RESULT System_Create(System **system)
Definition: fmod.hpp:45
FMOD_RESULT F_API unloadPlugin(unsigned int handle)
FMOD_RESULT F_API setRotation(const FMOD_VECTOR *forward, const FMOD_VECTOR *up)
FMOD_RESULT F_API setPosition(const FMOD_VECTOR *position)
FMOD_RESULT File_GetDiskBusy(int *busy)
Definition: fmod.hpp:40
FMOD_RESULT F_API setLoopCount(int loopcount)
FMOD_RESULT F_API getSystemObject(System **system)
FMOD_RESULT File_SetDiskBusy(int busy)
Definition: fmod.hpp:39
FMOD_RESULT F_API getOutputHandle(void **handle)
FMOD_RESULT F_API getSpeakerMode(FMOD_SPEAKERMODE *speakermode)
FMOD_RESULT F_API FMOD_File_GetDiskBusy(int *busy)
FMOD_RESULT F_API createReverb(Reverb **reverb)
FMOD_RESULT F_API setHardwareChannels(int numhardwarechannels)
FMOD_RESULT F_API getInputChannelMix(float *levels, int numlevels)
FMOD_RESULT F_API getMemoryInfo(unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details)
FMOD_RESULT F_API getMuteFadeSpeed(float *speed)
FMOD_RESULT F_API setReverbProperties(const FMOD_REVERB_PROPERTIES *prop)