Login or Signup

BaH.GME released

BlitzMax Forums/Brucey's Modules/BaH.GME released

Brucey1+ years ago #1
Want to get a bit more Retro with your games?

Why not play original chip tunes using the BaH.GME module.
It supports playback of AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, and VGM music formats, which include music from systems such as ZX Spectrum, Game Boy, and SNES.

Audio files can be acquired from sites such as Project AY.

The GME license is LGPL, so the library is shipped as a DLL / DYLIB / SO which you can include in both your free and commercial apps. The module itself is MIT licensed.

The module requires the use of an audio driver module. There are two currently available. One for BASS, the other for OpenAL.

Everything (all three modules) is shipped in a single download, available here.

Two examples are included (one for the BASS driver, one for OpenAL).
Tested on Win32, Mac and Linux.

jkrankie1+ years ago #2
In your example (BASS), loading more tracks doesn't effect the trackcount variable, and so you can't skip to the next track or whatever. Is this a bug? it looks as if i should be able to load a lot of files at once.


Brucey1+ years ago #3
No, a "track" is an individual tune of an audio file - it is possible to have more than one tune in a file.
I think it depends on the particular format if you are likely to get multiple tracks in a file.

QuickSilva1+ years ago #4
Thanks for releasing this Brucey it`s great!


jkrankie1+ years ago #5
Ah, i see.

This is a cool mod by the way :)


byo1+ years ago #6
Nice one. :)
Oh, good memories.

Panno1+ years ago #7
get an error

C:/Program Files/BlitzMax/mod/bah.mod/gmebass.mod/glue.cpp:23:43: bah.mod/bass.mod/include/bass.h: No such file or directory
C:/Program Files/BlitzMax/mod/bah.mod/gmebass.mod/glue.cpp:33: error: `HSTREAM' does not name a type
C:/Program Files/BlitzMax/mod/bah.mod/gmebass.mod/glue.cpp:35: error: `DWORD' does not name a type
C:/Program Files/BlitzMax/mod/bah.mod/gmebass.mod/glue.cpp:46: error: `HSTREAM' does not name a type
C:/Program Files/BlitzMax/mod/bah.mod/gmebass.mod/glue.cpp:51: error: `DWORD' has not been declared

hmm can u help

DavidDC1+ years ago #8
Do you have Brucey's bass module installed Panno?

On my system its file path looks like this:

C:\Program Files\BlitzMax\mod\bah.mod\bass.mod

Panno1+ years ago #9
got it

sorry get a new panno error

Building example01
dyld: Library not loaded: @executable_path/libbass.dylib
Referenced from: /Users/JG/Downloads/BlitzMax 2/mod/bah.mod/bass.mod/examples/example01.debug.app/Contents/MacOS/example01.debug
Reason: image not found

Process complete

hmm dylib is available lib/macos/dylib

Brucey1+ years ago #10
Mac, eh? ;-)

Unfortunately, BlitzMax's default IDE/BMK doesn't allow you to do any post-build scripting, so for some things you need a little manual intervention.

The dylib needs to be copied into your example01.debug app bundle. (like on Windows, where you put the dll into the same directory as the exe).

Right-click on the file in Finder.
Show Package Contents
then double-click into Contents, and then MacOS.
There you will see the "real" exe.
Copy the dylib into that folder.

Note, that as long as you don't delete the .app bundle, you can keep re-building the app and testing it without having to keep copying the dylib there.

Also note, that you will need to copy the GME dylib into the same folder.

Yes, this is not great. But BlitzMax is BlitzMax. With XCode, you could also configure post-build scripts.
I have a version of BMK which can do all this post-build stuff for you, but it's very hacky (maybe one day it will make it into BlitzMax...)

Panno1+ years ago #11
thx brucey

taumel1+ years ago #12
Great, thanks! :O9

Can you also unload soundfiles and load new ones?

Btw is bass gone? I somehow couldn't find it on googlecode.

Robb1+ years ago #13
Despite trying to get NSF working in Blitz for ages, I somehow missed the existence of this mod!

I'm trying to build the module on a Mac, but I'm getting the 'HSTREAM' does not name a type error.

As suggested to Panno above, I have bass.mod installed (via Brucey's SVN - http://maxmods.googlecode.com/svn/trunk/bass.mod/) and the bass.h path is correct.

It just won't compile! Can anyone help?
The bass errors are fairly frustrating as I only want to use the OpenAL side of the module!

Robb1+ years ago #14
Ignore that, it works!
The module compiler was giving the error but the open AL module built correctly. Awesome.

Thanks for this module Brucey!

Blitz BASIC Founders Fund