From 6cfc54f019ea793c75c012af9c8249eac936cfac Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 11 Mar 2022 15:33:28 -0500 Subject: Added music and lamp popping sound --- vendor/fmod/inc/fmod_studio_common.h | 336 +++++++++++++++++++++++++++++++++++ 1 file changed, 336 insertions(+) create mode 100644 vendor/fmod/inc/fmod_studio_common.h (limited to 'vendor/fmod/inc/fmod_studio_common.h') diff --git a/vendor/fmod/inc/fmod_studio_common.h b/vendor/fmod/inc/fmod_studio_common.h new file mode 100644 index 0000000..e22d993 --- /dev/null +++ b/vendor/fmod/inc/fmod_studio_common.h @@ -0,0 +1,336 @@ +/* ======================================================================================== */ +/* FMOD Studio API - Common C/C++ header file. */ +/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2021. */ +/* */ +/* This header defines common enumerations, structs and callbacks that are shared between */ +/* the C and C++ interfaces. */ +/* */ +/* For more detail visit: */ +/* https://fmod.com/resources/documentation-api?version=2.0&page=page=studio-api.html */ +/* ======================================================================================== */ +#ifndef FMOD_STUDIO_COMMON_H +#define FMOD_STUDIO_COMMON_H + +#include "fmod.h" + +/* + FMOD Studio types. +*/ +typedef struct FMOD_STUDIO_SYSTEM FMOD_STUDIO_SYSTEM; +typedef struct FMOD_STUDIO_EVENTDESCRIPTION FMOD_STUDIO_EVENTDESCRIPTION; +typedef struct FMOD_STUDIO_EVENTINSTANCE FMOD_STUDIO_EVENTINSTANCE; +typedef struct FMOD_STUDIO_BUS FMOD_STUDIO_BUS; +typedef struct FMOD_STUDIO_VCA FMOD_STUDIO_VCA; +typedef struct FMOD_STUDIO_BANK FMOD_STUDIO_BANK; +typedef struct FMOD_STUDIO_COMMANDREPLAY FMOD_STUDIO_COMMANDREPLAY; + +/* + FMOD Studio constants +*/ +#define FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT 32 + +typedef unsigned int FMOD_STUDIO_INITFLAGS; +#define FMOD_STUDIO_INIT_NORMAL 0x00000000 +#define FMOD_STUDIO_INIT_LIVEUPDATE 0x00000001 +#define FMOD_STUDIO_INIT_ALLOW_MISSING_PLUGINS 0x00000002 +#define FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE 0x00000004 +#define FMOD_STUDIO_INIT_DEFERRED_CALLBACKS 0x00000008 +#define FMOD_STUDIO_INIT_LOAD_FROM_UPDATE 0x00000010 +#define FMOD_STUDIO_INIT_MEMORY_TRACKING 0x00000020 + +typedef unsigned int FMOD_STUDIO_PARAMETER_FLAGS; +#define FMOD_STUDIO_PARAMETER_READONLY 0x00000001 +#define FMOD_STUDIO_PARAMETER_AUTOMATIC 0x00000002 +#define FMOD_STUDIO_PARAMETER_GLOBAL 0x00000004 +#define FMOD_STUDIO_PARAMETER_DISCRETE 0x00000008 +#define FMOD_STUDIO_PARAMETER_LABELED 0x00000010 + +typedef unsigned int FMOD_STUDIO_SYSTEM_CALLBACK_TYPE; +#define FMOD_STUDIO_SYSTEM_CALLBACK_PREUPDATE 0x00000001 +#define FMOD_STUDIO_SYSTEM_CALLBACK_POSTUPDATE 0x00000002 +#define FMOD_STUDIO_SYSTEM_CALLBACK_BANK_UNLOAD 0x00000004 +#define FMOD_STUDIO_SYSTEM_CALLBACK_LIVEUPDATE_CONNECTED 0x00000008 +#define FMOD_STUDIO_SYSTEM_CALLBACK_LIVEUPDATE_DISCONNECTED 0x00000010 +#define FMOD_STUDIO_SYSTEM_CALLBACK_ALL 0xFFFFFFFF + +typedef unsigned int FMOD_STUDIO_EVENT_CALLBACK_TYPE; +#define FMOD_STUDIO_EVENT_CALLBACK_CREATED 0x00000001 +#define FMOD_STUDIO_EVENT_CALLBACK_DESTROYED 0x00000002 +#define FMOD_STUDIO_EVENT_CALLBACK_STARTING 0x00000004 +#define FMOD_STUDIO_EVENT_CALLBACK_STARTED 0x00000008 +#define FMOD_STUDIO_EVENT_CALLBACK_RESTARTED 0x00000010 +#define FMOD_STUDIO_EVENT_CALLBACK_STOPPED 0x00000020 +#define FMOD_STUDIO_EVENT_CALLBACK_START_FAILED 0x00000040 +#define FMOD_STUDIO_EVENT_CALLBACK_CREATE_PROGRAMMER_SOUND 0x00000080 +#define FMOD_STUDIO_EVENT_CALLBACK_DESTROY_PROGRAMMER_SOUND 0x00000100 +#define FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_CREATED 0x00000200 +#define FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_DESTROYED 0x00000400 +#define FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER 0x00000800 +#define FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_BEAT 0x00001000 +#define FMOD_STUDIO_EVENT_CALLBACK_SOUND_PLAYED 0x00002000 +#define FMOD_STUDIO_EVENT_CALLBACK_SOUND_STOPPED 0x00004000 +#define FMOD_STUDIO_EVENT_CALLBACK_REAL_TO_VIRTUAL 0x00008000 +#define FMOD_STUDIO_EVENT_CALLBACK_VIRTUAL_TO_REAL 0x00010000 +#define FMOD_STUDIO_EVENT_CALLBACK_START_EVENT_COMMAND 0x00020000 +#define FMOD_STUDIO_EVENT_CALLBACK_NESTED_TIMELINE_BEAT 0x00040000 +#define FMOD_STUDIO_EVENT_CALLBACK_ALL 0xFFFFFFFF + +typedef unsigned int FMOD_STUDIO_LOAD_BANK_FLAGS; +#define FMOD_STUDIO_LOAD_BANK_NORMAL 0x00000000 +#define FMOD_STUDIO_LOAD_BANK_NONBLOCKING 0x00000001 +#define FMOD_STUDIO_LOAD_BANK_DECOMPRESS_SAMPLES 0x00000002 +#define FMOD_STUDIO_LOAD_BANK_UNENCRYPTED 0x00000004 + +typedef unsigned int FMOD_STUDIO_COMMANDCAPTURE_FLAGS; +#define FMOD_STUDIO_COMMANDCAPTURE_NORMAL 0x00000000 +#define FMOD_STUDIO_COMMANDCAPTURE_FILEFLUSH 0x00000001 +#define FMOD_STUDIO_COMMANDCAPTURE_SKIP_INITIAL_STATE 0x00000002 + +typedef unsigned int FMOD_STUDIO_COMMANDREPLAY_FLAGS; +#define FMOD_STUDIO_COMMANDREPLAY_NORMAL 0x00000000 +#define FMOD_STUDIO_COMMANDREPLAY_SKIP_CLEANUP 0x00000001 +#define FMOD_STUDIO_COMMANDREPLAY_FAST_FORWARD 0x00000002 +#define FMOD_STUDIO_COMMANDREPLAY_SKIP_BANK_LOAD 0x00000004 + +typedef enum FMOD_STUDIO_LOADING_STATE +{ + FMOD_STUDIO_LOADING_STATE_UNLOADING, + FMOD_STUDIO_LOADING_STATE_UNLOADED, + FMOD_STUDIO_LOADING_STATE_LOADING, + FMOD_STUDIO_LOADING_STATE_LOADED, + FMOD_STUDIO_LOADING_STATE_ERROR, + + FMOD_STUDIO_LOADING_STATE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ +} FMOD_STUDIO_LOADING_STATE; + +typedef enum FMOD_STUDIO_LOAD_MEMORY_MODE +{ + FMOD_STUDIO_LOAD_MEMORY, + FMOD_STUDIO_LOAD_MEMORY_POINT, + + FMOD_STUDIO_LOAD_MEMORY_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ +} FMOD_STUDIO_LOAD_MEMORY_MODE; + +typedef enum FMOD_STUDIO_PARAMETER_TYPE +{ + FMOD_STUDIO_PARAMETER_GAME_CONTROLLED, + FMOD_STUDIO_PARAMETER_AUTOMATIC_DISTANCE, + FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_CONE_ANGLE, + FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_ORIENTATION, + FMOD_STUDIO_PARAMETER_AUTOMATIC_DIRECTION, + FMOD_STUDIO_PARAMETER_AUTOMATIC_ELEVATION, + FMOD_STUDIO_PARAMETER_AUTOMATIC_LISTENER_ORIENTATION, + FMOD_STUDIO_PARAMETER_AUTOMATIC_SPEED, + FMOD_STUDIO_PARAMETER_AUTOMATIC_SPEED_ABSOLUTE, + FMOD_STUDIO_PARAMETER_AUTOMATIC_DISTANCE_NORMALIZED, + + FMOD_STUDIO_PARAMETER_MAX, + FMOD_STUDIO_PARAMETER_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ +} FMOD_STUDIO_PARAMETER_TYPE; + +typedef enum FMOD_STUDIO_USER_PROPERTY_TYPE +{ + FMOD_STUDIO_USER_PROPERTY_TYPE_INTEGER, + FMOD_STUDIO_USER_PROPERTY_TYPE_BOOLEAN, + FMOD_STUDIO_USER_PROPERTY_TYPE_FLOAT, + FMOD_STUDIO_USER_PROPERTY_TYPE_STRING, + + FMOD_STUDIO_USER_PROPERTY_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ +} FMOD_STUDIO_USER_PROPERTY_TYPE; + +typedef enum FMOD_STUDIO_EVENT_PROPERTY +{ + FMOD_STUDIO_EVENT_PROPERTY_CHANNELPRIORITY, + FMOD_STUDIO_EVENT_PROPERTY_SCHEDULE_DELAY, + FMOD_STUDIO_EVENT_PROPERTY_SCHEDULE_LOOKAHEAD, + FMOD_STUDIO_EVENT_PROPERTY_MINIMUM_DISTANCE, + FMOD_STUDIO_EVENT_PROPERTY_MAXIMUM_DISTANCE, + FMOD_STUDIO_EVENT_PROPERTY_COOLDOWN, + FMOD_STUDIO_EVENT_PROPERTY_MAX, + + FMOD_STUDIO_EVENT_PROPERTY_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ +} FMOD_STUDIO_EVENT_PROPERTY; + +typedef enum FMOD_STUDIO_PLAYBACK_STATE +{ + FMOD_STUDIO_PLAYBACK_PLAYING, + FMOD_STUDIO_PLAYBACK_SUSTAINING, + FMOD_STUDIO_PLAYBACK_STOPPED, + FMOD_STUDIO_PLAYBACK_STARTING, + FMOD_STUDIO_PLAYBACK_STOPPING, + + FMOD_STUDIO_PLAYBACK_FORCEINT = 65536 +} FMOD_STUDIO_PLAYBACK_STATE; + +typedef enum FMOD_STUDIO_STOP_MODE +{ + FMOD_STUDIO_STOP_ALLOWFADEOUT, + FMOD_STUDIO_STOP_IMMEDIATE, + + FMOD_STUDIO_STOP_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ +} FMOD_STUDIO_STOP_MODE; + +typedef enum FMOD_STUDIO_INSTANCETYPE +{ + FMOD_STUDIO_INSTANCETYPE_NONE, + FMOD_STUDIO_INSTANCETYPE_SYSTEM, + FMOD_STUDIO_INSTANCETYPE_EVENTDESCRIPTION, + FMOD_STUDIO_INSTANCETYPE_EVENTINSTANCE, + FMOD_STUDIO_INSTANCETYPE_PARAMETERINSTANCE, + FMOD_STUDIO_INSTANCETYPE_BUS, + FMOD_STUDIO_INSTANCETYPE_VCA, + FMOD_STUDIO_INSTANCETYPE_BANK, + FMOD_STUDIO_INSTANCETYPE_COMMANDREPLAY, + + FMOD_STUDIO_INSTANCETYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ +} FMOD_STUDIO_INSTANCETYPE; + +/* + FMOD Studio structures +*/ +typedef struct FMOD_STUDIO_BANK_INFO +{ + int size; + void *userdata; + int userdatalength; + FMOD_FILE_OPEN_CALLBACK opencallback; + FMOD_FILE_CLOSE_CALLBACK closecallback; + FMOD_FILE_READ_CALLBACK readcallback; + FMOD_FILE_SEEK_CALLBACK seekcallback; +} FMOD_STUDIO_BANK_INFO; + +typedef struct FMOD_STUDIO_PARAMETER_ID +{ + unsigned int data1; + unsigned int data2; +} FMOD_STUDIO_PARAMETER_ID; + +typedef struct FMOD_STUDIO_PARAMETER_DESCRIPTION +{ + const char *name; + FMOD_STUDIO_PARAMETER_ID id; + float minimum; + float maximum; + float defaultvalue; + FMOD_STUDIO_PARAMETER_TYPE type; + FMOD_STUDIO_PARAMETER_FLAGS flags; + FMOD_GUID guid; +} FMOD_STUDIO_PARAMETER_DESCRIPTION; + +typedef struct FMOD_STUDIO_USER_PROPERTY +{ + const char *name; + FMOD_STUDIO_USER_PROPERTY_TYPE type; + + union + { + int intvalue; + FMOD_BOOL boolvalue; + float floatvalue; + const char *stringvalue; + }; +} FMOD_STUDIO_USER_PROPERTY; + +typedef struct FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES +{ + const char *name; + FMOD_SOUND *sound; + int subsoundIndex; +} FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES; + +typedef struct FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES +{ + const char *name; + FMOD_DSP *dsp; +} FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES; + +typedef struct FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES +{ + const char *name; + int position; +} FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES; + +typedef struct FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES +{ + int bar; + int beat; + int position; + float tempo; + int timesignatureupper; + int timesignaturelower; +} FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES; + +typedef struct FMOD_STUDIO_TIMELINE_NESTED_BEAT_PROPERTIES +{ + FMOD_GUID eventid; + FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES properties; +} FMOD_STUDIO_TIMELINE_NESTED_BEAT_PROPERTIES; + +typedef struct FMOD_STUDIO_ADVANCEDSETTINGS +{ + int cbsize; + unsigned int commandqueuesize; + unsigned int handleinitialsize; + int studioupdateperiod; + int idlesampledatapoolsize; + unsigned int streamingscheduledelay; + const char* encryptionkey; +} FMOD_STUDIO_ADVANCEDSETTINGS; + +typedef struct FMOD_STUDIO_CPU_USAGE +{ + float update; +} FMOD_STUDIO_CPU_USAGE; + +typedef struct FMOD_STUDIO_BUFFER_INFO +{ + int currentusage; + int peakusage; + int capacity; + int stallcount; + float stalltime; +} FMOD_STUDIO_BUFFER_INFO; + +typedef struct FMOD_STUDIO_BUFFER_USAGE +{ + FMOD_STUDIO_BUFFER_INFO studiocommandqueue; + FMOD_STUDIO_BUFFER_INFO studiohandle; +} FMOD_STUDIO_BUFFER_USAGE; + +typedef struct FMOD_STUDIO_SOUND_INFO +{ + const char *name_or_data; + FMOD_MODE mode; + FMOD_CREATESOUNDEXINFO exinfo; + int subsoundindex; +} FMOD_STUDIO_SOUND_INFO; + +typedef struct FMOD_STUDIO_COMMAND_INFO +{ + const char *commandname; + int parentcommandindex; + int framenumber; + float frametime; + FMOD_STUDIO_INSTANCETYPE instancetype; + FMOD_STUDIO_INSTANCETYPE outputtype; + unsigned int instancehandle; + unsigned int outputhandle; +} FMOD_STUDIO_COMMAND_INFO; + +typedef struct FMOD_STUDIO_MEMORY_USAGE +{ + int exclusive; + int inclusive; + int sampledata; +} FMOD_STUDIO_MEMORY_USAGE; + +/* + FMOD Studio callbacks. +*/ +typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_SYSTEM_CALLBACK) (FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE type, void *commanddata, void *userdata); +typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_EVENT_CALLBACK) (FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters); +typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_FRAME_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, float currenttime, void *userdata); +typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_LOAD_BANK_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, const FMOD_GUID *bankguid, const char *bankfilename, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank, void *userdata); +typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_CREATE_INSTANCE_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENTINSTANCE **instance, void *userdata); + +#endif // FMOD_STUDIO_COMMON_H -- cgit 1.4.1