Bass Module?

BlitzMax Forums/BlitzMax Programming/Bass Module?

Gabriel(Posted 2008) [#1]
Is there a complete Bass (audio) module? I remember trying a couple, but they were both missing a few functions which were tricky to wrap, and if that's the case, I might just as well write my own and be positive I haven't missed anything I'll need.


Gabriel(Posted 2008) [#2]
Ok, so assuming there isn't one, does anyone want one? Seems like there isn't much interest, so I don't want to make my module very fancy or complete unless there's actually anyone who's going to use it apart from me.


MGE(Posted 2008) [#3]
What features do you need in a bass module?


CGV(Posted 2008) [#4]
I think a lot of people would use it but the blitz forums are crawling with FMOD fanboys so you won't get many responses here.

I've never understood the preference for FMOD, Bass is just as good, it's now cross platform and it requires just a one time fee to use it in all your projects.

So why keep paying FMOD over and over again for each project?


GfK(Posted 2008) [#5]
Streaming audio.


Gabriel(Posted 2008) [#6]
What features do you need in a bass module?

3D sound and streaming audio.

CGV: You're probably right. I couldn't agree more about the licensing. The FMod licenses is very restrictive, whereas the Bass license seems to have been rewritten recently, and is certainly very attractive now.

Well we'll see where I get. I've started converting the C headers over.

BTW: If anyone can help me convert this to BlitzMax constant definitions, it would be very handy.

#define BASS_SPEAKER_N(n) ((n)<<24) // n'th pair of speakers (max 15)

I'm thinking Const BASS_SPEAKER_1:Int = 1 Shl 24, etc, but I'm not sure if that's right, or if I'm right to ignore the zero index.


tonyg(Posted 2008) [#7]
Nice EAX effects?


MGE(Posted 2008) [#8]
I used this to design my own simple bass wrapper. I don't know if it would be compatible with the latest versions.




MrTAToad(Posted 2008) [#9]
The problem is BASS is that there isn't a Linux version (hence the reason why FMOD is used).

My FightTune originally used BASS, and thus I created the following interface code:





The interface code isn't complete, but the rest should be.


Gabriel(Posted 2008) [#10]
Thanks for both of those, but they both seem to suffer from what I mentioned in the first post. They both just leave out the stuff which looks tricky to wrap, and although I don't personally need any of that stuff either, I don't really want to release a module which isn't complete. People will start using it and then feel let down when they try to do something and find it's not supported, and I don't want to do that.

Anyway, I wrapped the basics myself last night and I'll write up a quick BlitzMax class to automatically handle a few things ( like string<>char ptr conversions ) and hopefully release a very basic version in a few hours. It would have been earlier, but there was the small matter of an FA Cup semi final.

BTW, I'm only doing the Windows version, so if anyone wants a Mac build, they'll have to make any changes which are required. I'll be releasing under a Creative Commons Non-Derivative license but if someone makes a Mac version, I'm happy bundle it up with my own and host it, if they want that.


Brucey(Posted 2008) [#11]
This BASS stuff is rather fun, isn't it?
I like all this "add-on" functionality you can get too, which makes for an interesting module structure.... I was considering dumping it all in a single module, but I've found it works quite well as separate mods which you Import as required.
Now, if only the Mac IDE included a facility per project to allow you to specify files to include in your App Bundle, it would make running apps with the shared libs a tad less finicky.


Gabriel(Posted 2008) [#12]
..


Gabriel(Posted 2008) [#13]
Ok, I've got something together that's good enough to have a play with. It comes with two examples - nothing fancy - one that plays a loaded song and one that streams a song. Feel free to dabble with fancier stuff though, as everything except recording has been wrapped, and I'll do recording shortly.

This is for the latest version of Bass (2.04) so don't try and get it to work with any older versions.

http://www.glimmergames.com/modules/bass/bass.zip

Any bugs or whatnot, please report it and I'll take a look.

I don't plan to wrap any of the add-on modules at this time, but we'll see.


xlsior(Posted 2008) [#14]
It looks like Brucey is working on a Bass module too -- appeared on his SVN.