Skip to content
M.S.T.O.P edited this page Jul 24, 2018 · 26 revisions

v.0.10.0 (Windows, macOS, Linux)

FMODGMS Library

  • FMOD Studio API version: 1.10.07

  • Added GMS2 macOS support (thanks Grix). Currently only works with YYC.

  • macOS and Ubuntu extensions no longer require FMOD dylibs/.so libraries to be installed globally in /usr/local/lib in order to function.

v.0.9.1 (Windows, Linux)

FMODGMS Library

  • FMOD Studio API version: 1.10.07

  • Changed vectors to maps so that sound/channel/effect IDs don't change as you unload them (thanks rissole)

  • The extension package itself now comes in two versions:

    • x64 - contains a 64-bit .so library for Ubuntu. Used with GMS 2 to build 64-bit games for Unbuntu.
    • x86 - contains a 32-bit .so library for Ubuntu. Used with GM:S 1.4 for compatibility.

FMODGMS Demos

  • Added starter projects for both GM:S 1.4 and GMS 2. These contain the bare minimum amount of code needed to get FMODGMS up and running, useful as a starting point to learn how to use the extension.

v.0.9.0 (Windows, Linux)

FMODGMS Library

  • FMOD Studio API version: 1.10.00
  • Added the following functions:
    • FMODGMS_Snd_LoadSound_Ext
    • FMODGMS_Snd_Get_NumChannels
    • FMODGMS_Snd_Get_BitsPerSample
    • FMODGMS_Snd_Get_DefaultFrequency
    • FMODGMS_Snd_ReadData
    • FMODGMS_Snd_Set_DLS
    • FMODGMS_Snd_Get_DLS
    • FMODGMS_Snd_Remove_DLS
    • FMODGMS_Util_FFT

v.0.8.0 (Windows, Linux)

FMODGMS Library

  • FMOD Studio API version: 1.09.01

  • Added functions that allow you to change the FMOD's output mode (e.g. WASAPI, ASIO, etc.)

    • FMODGMS_Sys_Get_SpeakerMode
    • FMODGMS_Sys_Set_OutputMode
    • FMODGMS_Sys_Get_OutputMode
    • FMODGMS_Sys_OutputModeToString
  • Added following macros, these correspond to FMOD Studio's FMOD_OUTPUTTYPE enum type:

    • FMODGMS_OUTPUTTYPE_AUTODETECT
    • FMODGMS_OUTPUTTYPE_UNKNOWN
    • FMODGMS_OUTPUTTYPE_NOSOUND
    • FMODGMS_OUTPUTTYPE_WAVWRITER
    • FMODGMS_OUTPUTTYPE_NOSOUND_NRT
    • FMODGMS_OUTPUTTYPE_WAVWRITER_NRT
    • FMODGMS_OUTPUTTYPE_DSOUND
    • FMODGMS_OUTPUTTYPE_WINMM
    • FMODGMS_OUTPUTTYPE_WASAPI
    • FMODGMS_OUTPUTTYPE_ASIO
    • FMODGMS_OUTPUTTYPE_PULSEAUDIO
    • FMODGMS_OUTPUTTYPE_ALSA
    • FMODGMS_OUTPUTTYPE_COREAUDIO
    • FMODGMS_OUTPUTTYPE_XAUDIO
    • FMODGMS_OUTPUTTYPE_PS3
    • FMODGMS_OUTPUTTYPE_AUDIOTRACK
    • FMODGMS_OUTPUTTYPE_OPENSL
    • FMODGMS_OUTPUTTYPE_WIIU
    • FMODGMS_OUTPUTTYPE_AUDIOOUT
    • FMODGMS_OUTPUTTYPE_AUDIO3D
    • FMODGMS_OUTPUTTYPE_ATMOS
    • FMODGMS_OUTPUTTYPE_MAX
  • Added functions to change and get the number and size of DSP buffers:

    • FMODGMS_Sys_Set_DSPBufferSize
    • FMODGMS_Sys_Get_DSPBufferSize
    • FMODGMS_Sys_Get_NumDSPBuffers
  • The function FMODGMS_Sys_Initialize no longer automatically initializes the FFT DSP used by the FMODGMS_FFT_* functions. Instead, FMODGMS_FFT_Init must be called first before using those functions.

  • Added FMODGMS_Util_Handshake. This function simply returns the string "FMODGMS is working." when called. It can be used to see if FMODGMS was loaded correctly and is responding.

FMODGMS Test Program (1.5.1)

  • Windows: Demo no longer defaults to using ASIO.
  • Fixed inconsistent version numbering

FMODGMS Test Program (1.5.0)

  • Added a label that displays the current output mode.

v.0.7.1 (Windows, Linux)

FMODGMS Library

  • FMOD Studio API version: 1.08.15

  • Added following DSP effect functions:

    • FMODGMS_Chan_Add_Effect
    • FMODGMS_Chan_Remove_Effect
    • FMODGMS_Chan_Get_Level
    • FMODGMS_Chan_Get_Mute
    • FMODGMS_Chan_Set_Mute
    • FMODGMS_Effect_Create
    • FMODGMS_Effect_Get_Parameter
    • FMODGMS_Effect_Set_Parameter
    • FMODGMS_Effect_Remove
    • FMODGMS_Effect_RemoveAll
    • FMODGMS_Effect_TypeToString
    • FMODGMS_FFT_Normalize
  • Added following DSP effect GML macros:

    • FMODGMS_EFFECT_LOWPASS
    • FMODGMS_EFFECT_HIGHPASS
    • FMODGMS_EFFECT_ECHO
    • FMODGMS_EFFECT_FLANGE
    • FMODGMS_EFFECT_DISTORTION
    • FMODGMS_EFFECT_CHORUS
    • FMODGMS_EFFECT_REVERB
    • FMODGMS_EFFECT_TREMOLO
    • FMODGMS_EFFECT_PITCHSHIFT

FMODGMS Test Program (1.4.3)

  • Added functionality to apply and remove a random DSP effect (chorus, distortion, echo, flange, highpass, lowpass, reverb, tremolo) to any demo.
  • Added channel level indicator onto the spectrum visualizer.

v.0.7.0.1 (beta - Windows, Linux)

FMODGMS Library

  • Added bounds checking for FMODGMS_Snd_Set_LoopMode and FMODGMS_Snd_Set_LoopPoints

v.0.7.0 (beta - Windows, Linux)

FMODGMS Library

  • FMOD Studio API version: 1.08.11

  • Improved casting of doubles to integers.

  • The following functions no longer return strings. Instead, they now return doubles so that they can be easily enumerated in GML code:

    • FMODGMS_Snd_Get_Type
    • FMODGMS_Snd_Get_TagTypeFromIndex
    • FMODGMS_Snd_Get_TagTypeFromName
    • FMODGMS_Snd_Get_TagDataTypeFromIndex
    • FMODGMS_Snd_Get_TagDataTypeFromName
  • Added the following GML macros corresponding to the above function changes. These macros are the equivalents of the values in FMOD's FMOD_SOUND_TYPE, FMOD_TAGTYPE, and FMOD_TAGDATATYPE enumerated types:

Sound Type Tag Type Tag Data Type
FMODGMS_SOUND_TYPE_UNKNOWN FMODGMS_TAGTYPE_UNKNOWN FMODGMS_TAGDATATYPE_BINARY
FMODGMS_SOUND_TYPE_AIFF FMODGMS_TAGTYPE_ID3V1 FMODGMS_TAGDATATYPE_INT
FMODGMS_SOUND_TYPE_ASF FMODGMS_TAGTYPE_ID3V2 FMODGMS_TAGDATATYPE_FLOAT
FMODGMS_SOUND_TYPE_DLS FMODGMS_TAGTYPE_VORBISCOMMENT FMODGMS_TAGDATATYPE_STRING
FMODGMS_SOUND_TYPE_FLAC FMODGMS_TAGTYPE_SHOUTCAST FMODGMS_TAGDATATYPE_STRING_UTF16
FMODGMS_SOUND_TYPE_FSB FMODGMS_TAGTYPE_ICECAST FMODGMS_TAGDATATYPE_STRING_UTF16BE
FMODGMS_SOUND_TYPE_IT FMODGMS_TAGTYPE_ASF FMODGMS_TAGDATATYPE_STRING_UTF8
FMODGMS_SOUND_TYPE_MIDI FMODGMS_TAGTYPE_MIDI FMODGMS_TAGDATATYPE_CDTOC
FMODGMS_SOUND_TYPE_MOD FMODGMS_TAGTYPE_PLAYLIST FMODGMS_TAGDATATYPE_MAX
FMODGMS_SOUND_TYPE_MPEG FMODGMS_TAGTYPE_FMOD
FMODGMS_SOUND_TYPE_OGGVORBIS FMODGMS_TAGTYPE_USER
FMODGMS_SOUND_TYPE_PLAYLIST FMODGMS_TAGTYPE_MAX
FMODGMS_SOUND_TYPE_RAW
FMODGMS_SOUND_TYPE_S3M
FMODGMS_SOUND_TYPE_USER
FMODGMS_SOUND_TYPE_WAV
FMODGMS_SOUND_TYPE_XM
FMODGMS_SOUND_TYPE_XMA
FMODGMS_SOUND_TYPE_AUDIOQUEUE
FMODGMS_SOUND_TYPE_AT9
FMODGMS_SOUND_TYPE_VORBIS
FMODGMS_SOUND_TYPE_MEDIA_FOUNDATION
FMODGMS_SOUND_TYPE_MEDIA_CODEC
FMODGMS_SOUND_TYPE_FADPCM
FMODGMS_SOUND_TYPE_MAX
  • Added the following functions which translate the enumerated macro values into the string descriptions from before v.0.7.0:

    • FMODGMS_Snd_TypeToString
    • FMODGMS_Snd_TagTypeToString
    • FMODGMS_Snd_TagDataTypeToString

For more information on how to transition between the pre-0.7.0 versions of these functions to the current versions, refer to the Troubleshooting page.

v.0.6.1

FMODGMS Library

  • FMOD Studio API version used: 1.08.07
  • Added preliminary support for read UTF-16 encoded tags from audio files (e.g. most ID3v2 tags in MP3s). FMODGMS can currently only read a small subset of UTF-8 and UTF-16 characters, i.e. the ASCII subset.
  • build.sh in the source now uses clang++ instead of g++.

FMODGMS Test Program (1.4.0)

  • Added ID3v2 tag reading example in MP3 demo.
  • Added Vorbis tag reading example in OGG demo.
  • Code optimizations to the GUI.

v.0.6.0.1

FMODGMS Test Program (1.3.5)

  • Added tag extraction demo
  • Other minor changes to the UI

v.0.6.0

FMODGMS library

  • FMOD Studio version: 1.08.04
  • Added follow tag functions:
    • FMODGMS_Snd_Get_TagTypeFromIndex
    • FMODGMS_Snd_Get_TagDataTypeFromIndex
    • FMODGMS_Snd_Get_TagRealFromIndex
    • FMODGMS_Snd_Get_TagStringFromIndex
    • FMODGMS_Snd_Get_TagTypeFromName
    • FMODGMS_Snd_Get_TagDataTypeFromName
    • FMODGMS_Snd_Get_TagRealFromName
    • FMODGMS_Snd_Get_TagStringFromName
  • Modified some output strings in FMODGMS_Snd_Get_Type for added clarity

v.0.5.1

  • FMOD Studio version: 1.08.02

v.0.5.0

FMODGMS Test Program (1.3.1)

  • Windows: MIDI demo now properly loops

FMODGMS library

  • Built with FMOD Studio 1.08.00
  • Added preliminary FFT DSP and spectrum analysis support.
  • Added the following functions:
  • FMODGMS_Sys_Get_SampleRate
  • FMODGMS_FFT_Set_WindowSize (buggy)
  • FMODGMS_FFT_Get_DominantFrequency
  • FMODGMS_FFT_Get_BinValue
  • FMODGMS_FFT_Get_NumBins
  • Minor fixes to the error-handling in some functions

FMODGMS Test Program (1.3.0)

  • Added dominant frequency indicator
  • Added spectrum visualizer

v.0.4.1

FMODGMS library

  • Improved FMODGMS_Sys_Close
  • Minor Fixes

FMODGMS Test Program (1.2.1)

  • Added MIDI demo to Windows build. Demo would crash in Linux if no MIDI synth were found on the system.

v.0.4.0

FMODGMS library

  • Added the following functions:
  • FMODGMS_Sys_Update
  • FMODGMS_Chan_Set_Position
  • FMODGMS_Chan_Set_Volume
  • FMODGMS_Chan_Set_Frequency
  • FMODGMS_Chan_Set_Pitch
  • FMODGMS_Chan_Set_ModOrder
  • FMODGMS_Chan_Set_ModRow
  • FMODGMS_Chan_Get_Volume
  • FMODGMS_Chan_Get_Frequency
  • FMODGMS_Chan_Get_Pitch
  • Some minor optimizations

FMODGMS Test Program (1.2.0)

  • Added functions to manipulate volume, frequency and pitch
  • Added MP3 demo with custom loop points. (Represents a more typical use case than the OGG demo.)

v.0.3.2

  • Built with FMOD Studio 1.07.07
  • Fixed a bug where attempting to stop or remove a channel before it was first used would cause a crash.
  • Added functions: FMODGMS_Chan_PauseChannel and FMODGMS_Chan_ResumeChannel.
  • Changed all parameters named "index" to "channel" in Chan functions for consistency.

v.0.3.1

  • First test release