/* FAudioGMS - Game Maker FAudio bindings in C * * Copyright (c) 2021 Evan Hemsley * * This software is provided 'as-is', without any express or implied warranty. * In no event will the authors be held liable for any damages arising from * the use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software in a * product, an acknowledgment in the product documentation would be * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. * * Evan "cosmonaut" Hemsley * */ #ifndef FAUDIOGMS_H #define FAUDIOGMS_H #ifdef _WIN32 #define FAUDIOGMSAPI __declspec(dllexport) #define FAUDIOGMSCALL __cdecl #else #define FAUDIOGMSAPI #define FAUDIOGMSCALL #endif #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ FAUDIOGMSAPI void FAudioGMS_Init(); FAUDIOGMSAPI void FAudioGMS_Update(); FAUDIOGMSAPI double FAudioGMS_StaticSound_LoadWAV(char *filePath); /* returns a static sound ID */ FAUDIOGMSAPI void FAudioGMS_StaticSound_PlayOneOff(double staticSoundID, double pan, double pitch, double volume, double reverb); /* automatically frees itself when done! */ FAUDIOGMSAPI double FAudioGMS_StaticSound_Play(double staticSoundID, double pan, double pitch, double volume, double reverb, double loop); /* returns a sound instance ID. must be freed! */ FAUDIOGMSAPI void FAudioGMS_SoundInstance_Play(double id); FAUDIOGMSAPI void FAudioGMS_SoundInstance_Pause(double id); FAUDIOGMSAPI void FAudioGMS_SoundInstance_Stop(double id); FAUDIOGMSAPI void FAudioGMS_SoundInstance_Destroy(double id); FAUDIOGMSAPI void FAudioGMS_SoundInstance_DestroyWhenFinished(double id); FAUDIOGMSAPI void FAudioGMS_StaticSound_Destroy(double id); FAUDIOGMSAPI void FAudioGMS_Destroy(); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* FAUDIOGMS_H */