A GameMaker: Studio and GameMaker Studio 2 extension that provides GML bindings to the FMOD Studio low-level API. Can be used in Windows, macOS, and Linux games.
Latest - 0.10.1
- Platform coverage:
Windows x86 | Windows x64 | macOS | Ubuntu | |
---|---|---|---|---|
GM:S 1.4 VM | ✔️ | ❌ | ✔️ | |
GM:S 1.4 YYC | ✔️ | ❌ | 🚧 | ✔️ |
GMS 2.1 VM | ✔️ | ❌ | ✔️ | |
GMS 2.1 YYC | ✔️ | ❌ | ✔️ | ✔️ |
GMS 2.3 VM | ✔️ | ✔️2 | ✔️ | |
GMS 2.3 YYC | ✔️ | ✔️2 | ✔️ | ✔️ |
1. Works with "Create Executable" only, not "Run" or "Debug"
2. Must be replaced with FMODGMS.dll for Windows x64 platform:
You must be copy files from Project directory\extensions\FMODGMS\x64 into Project directory\extensions\FMODGMS if you want to use x64 Windows Runtime.3
fmod.dll and FMODGMS.dll for x86 Windows is located from Project directory\extensions\FMODGMS\x86, You must be copy them into Project directory\extensions\FMODGMS if you want to build game for x86 Windows.3
3. FMODGMS.dll for x64 can't be loaded in x86 Windows game. It can't be loaded with error When trying to load it, and vice-versa.
- FMOD Studio API: 1.10.07
- GMS 2.1 Runtime: v.2.1.5.246
- GMS 2.3 Runtime: v.2.3.2.420
- GM:S Runtime: v.1.4.9999
Stable - 0.9.1
- Platform coverage:
Windows | macOS | Ubuntu | |
---|---|---|---|
GM:S 1.4 VM | ✔️ | ❌ | ✔️ |
GM:S 1.4 YYC | ✔️ | ❌ | ✔️ |
GMS 2.1 VM | ✔️ | ❌ | ✔️ |
GMS 2.1 YYC | ✔️ | ❌ | ✔️ |
- FMOD Studio API: 1.10.07
- GMS 2 Runtime: v.2.1.4.218
- GM:S Runtime: v.1.4.1804
- Load and play a wide variety of audio formats not natively supported by GameMaker:Studio (e.g. MP3, MIDI, MOD, S3M, XM, IT, etc.).
- Play MIDI files using DLS1 sound banks.
- Add custom loop points to sounds. This allows, for example, a music track to have an intro section that can seamlessly transition into an infinitely looping main section without having to break them up into two separate files.
- Dynamically change to volume, playback frequency and relative pitch of a sound.
- Analyze an audio stream using Fast Fourier Transform (FFT) and obtain its spectrum data.
- Support for DSP effects such as flange, reverb and filters.
- Extract tag information from audio files (e.g. ID3 tags from MP3s and Vorbis tags from OGGs).
- Supports various audio output modes (e.g. ASIO, WASAPI, ALSA).
- FMODGMS_x64.gmez - FMODGMS GameMaker: Studio extension for GMS 2.
- FMODGMS_x86.gmez - FMODGMS GameMaker: Studio extension for GM:S 1.4. Contains a 32-bit build of the Linux library for compatibility.
- FMODGMS_Demo_win.zip - FMODGMS player demo for Windows
- FMODGMS_Demo_linux.tar.gz - FMODGMS player demo for Linux
- FMODGMS_Starter.yyz - A minimal FMODGMS project for GMS 2.
- FMODGMS_Starter.gmz - A minimal FMODGMS project for GM:S 1.4.
- src - Library, player demo, and unpackage starter project source code
- code - Library source code
- gms/FMODGMS Test.gmx - GM:S 1.4 project for player demo
- gms/FMODGMS Starter.gmx - GM:S 1.4 starter project
- gms2/FMODGMS Test - GMS 2(pre-2.3) project for player demo
- gms2/FMODGMS Starter - GMS 2(pre-2.3) starter project
- gms2_3/FMODGMS Test - GMS 2.3 project for player demo
- gms2_3/FMODGMS Starter - GMS 2.3 starter project
- linux - Scripts for building Linux library.
- xcode - Xcode project for macOS.
- vc/FMODGMS - Visual Studio project for Windows.
// Optional: Check to see if FMODGMS has loaded properly
if (FMODGMS_Util_Handshake() == "FMODGMS is working.")
show_message_async("Success! FMODGMS has been loaded.");
else {
show_message_async("Error! FMODGMS was not loaded prorperly.");
exit;
}
// Create the system
FMODGMS_Sys_Create();
// Initialize the system
FMODGMS_Sys_Initialize(32);
// Load sound
sound = FMODGMS_Snd_LoadSound(working_directory + "sound.ogg");
// Create a channel
channel = FMODGMS_Chan_CreateChannel();
// Play sound
FMODGMS_Snd_PlaySound(sound,channel);
- More options for FFT and spectrum data functionality.
- Android support.
For a list of changes and development history, click here.