Coder Social home page Coder Social logo

nagaseiori / fmodgms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cam900/fmodgms

0.0 0.0 0.0 132.59 MB

๐ŸŽถ GML bindings to the FMOD Studio low-level API for GM:S and GMS2. Can be used in Windows, macOS, and Linux games.

Home Page: https://quadolorgames.itch.io/fmodgms

License: BSD 2-Clause "Simplified" License

Shell 0.05% C++ 20.22% C 73.53% Game Maker Language 6.20%

fmodgms's Introduction

FMODGMS

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.


Status

Note:

The project is on hold for the time being. Work on this project is mainly done by me and I don't have as much time as I did in the past to maintain, add features, and keep up with the development of FMOD Studio. There might be a time when I'll come back to work on this, but I'm not certain when that will be.

If you want to contribute to the project, feel free to create a pull request. I would like to thank Gitle Mikkelsen (Grix), rissole, and BPzeBanshee for their past contributions to the project.

Latest - 0.10.0

  • Platform coverage:
Windows macOS Ubuntu
GM:S 1.4 VM โœ”๏ธ โš ๏ธ1 โœ”๏ธ
GM:S 1.4 YYC โœ”๏ธ ๐Ÿšง โœ”๏ธ
GMS 2.1 VM โœ”๏ธ โš ๏ธ1 โœ”๏ธ
GMS 2.1 YYC โœ”๏ธ โœ”๏ธ โœ”๏ธ

1. Works with "Create Executable" only, not "Run" or "Debug"

  • FMOD Studio API: 1.10.07
  • GMS 2 Runtime: v.2.1.5.246
  • GM:S Runtime: v.1.4.1804

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

Features

  • 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).

What's inside

  • 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
    • 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 project for player demo
    • gms2/FMODGMS Starter - GMS 2 starter project
    • linux - FMODGMS source for Linux
    • xcode - Xcode project for macOS. Shares code with Linux.
    • vc/FMODGMS - FMODGMS source for Windows as a Visual Studio project

Basic Usage

// 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 properly.");
    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);

Possible Features in the Future

  • More options for FFT and spectrum data functionality.
  • Android support.

For a list of changes and development history, click here.

Contributors

fmodgms's People

Contributors

grix avatar mstop4 avatar rissole avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.