Unfortunately, I am no longer able to continue working on BGM or provide support for it on a reasonable basis. I am simply too busy trying to keep up with real life and I don't have time for it anymore. Besides that, I am no longer an active member of the Game Maker Community or YoYo Games, and no longer use Game Maker, so it doesn't make sense to continue to develop anymore.
I had a fun time working on it and providing what help I could offer, but the time has come for me to move on. Sorry, everybody, but that's the way it has to be...
- Brad Harms (a.k.a. The Music Guy)
What is BGM?
It is an extremely simplistic front-end to Un4seen.com's BASS.DLL that acts as a bridge between BASS and Game Maker.
In other words, it is a system that uses Game Maker's functionality to use external DLL files as a means to improve Game Maker's music-playing abillities.
In other other words, BGM lets you play all sorts of tracked music formats like MOD, IT and XM in your Game Maker games.
* Extremely simple interface
* Total amount of data added to your game is less than 200kb
* Support for MOD, XM, S3M, IT, MTM, UMX, MO3 (see below), WAV, AIFF, MP3, MP2, MP1 and OGG.
* Supports un4sen.com's hybrid compressed-tracked format, MO3.
* Uses the latest version of BASS.DLL (which is 2.3 at the time of this writing)
* Play, play looped, pause, stop
* Quick Play - This allows you to easily load and play a song simply by passing it's filename, then automatically stop and unload it when you're done.
* Can use whatever output format you want
* File- and Internet-Streaming for sampled formats
* Load and play as many songs as your system can handle (quite a few, usually)
* Volume, panning, and playback speed control
* Access to many module attributes, such as sample/instrument/channel volumes, pan seperation, etc.
* You can refer to loaded songs via the ID given when they were loaded OR by giving the filename of the song
* Lots of automatic error handling (which can be turned off if you want)
* the list goes on -- See the manual (included in the download) for more details.
* The function bgm_SetLibDir() has been deprecated because it doesn't work correctly and there doesn't seem to be a way to fix it.
* The functions bgm_GetPos() and bgm_GetLen() don't work on non-streamed samples; they always return 4294967295. However, the functions work fine for streamed samples and modules.
(updates above 2.0.1 beta can be found on the website)
2.0.1 beta -
* Updated to BASS.DLL 2.3
* You can now choose what output format you want
* File- and Internet-Streaming now supported for sampled formats
* New API (backwards compatibility has been preserved, however)
* It is now possible to load multiple songs at a time
* Volume, panning, frequency can now be changed for each individual song
* Many module attributes (instrument volume, bpm, pan seperation, ...) can now be both set and retrieved
* You can refer to loaded songs via the ID given when they were loaded OR by giving the filename of the song.
* Lots of automatic error handling
* Example .gm6 now lets you load WAVs and also lets you change to a different file after playback begins.
* Now it can REALLY play MP3s, although it takes a minute for them to load.
Edited by The Music Guy, 23 January 2008 - 05:01 AM.