BaH.GME releasedBlitzMax Forums/Brucey's Modules/BaH.GME released
| 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.
| 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.|
| 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.
| Thanks for releasing this Brucey it`s great!|
| Ah, i see. |
This is a cool mod by the way :)
| Nice one. :)|
Oh, good memories.
| 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
| Do you have Brucey's bass module installed Panno?|
On my system its file path looks like this:
| got it |
sorry get a new panno error
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
hmm dylib is available lib/macos/dylib
| 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...)
| thx brucey |
| Great, thanks! :O9|
Can you also unload soundfiles and load new ones?
Btw is bass gone? I somehow couldn't find it on googlecode.
| 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!
| Ignore that, it works!|
The module compiler was giving the error but the open AL module built correctly. Awesome.
Thanks for this module Brucey!