BASS.dll and Blitz3D

Blitz3D Forums/Blitz3D Userlibs/BASS.dll and Blitz3D

yinch(Posted 2006) [#1]
Hi all,

I would like to use the Bass.dll with Blitz3D.

I can longer find the BlitzBass zip file that contained the sample code.

I have a few questions
1. The most recent version of Bass.dll is 2.3. Does anyone know if Blitz3D can call the functions in this dll? Specifically, does anyone know if the dll was compiled with a convention (?stdcall) that can be accessed by Blitz3D

2. Does anyone have the BlitzBass zip file? I am willing to go back to an earlier version of Bass if there are compatibility issues with the latest or the recent versions of Bass.dll

Much thanks in advance for any help anyone can point me to.

cheers,

yinch'06


LineOf7s(Posted 2006) [#2]
http://downloads.lineof7s.2ya.com/BlitzBass160.zip
or
http://members.iinet.net.au/~cassiebusta/downloads/BlitzBass160.zip

and

http://www.nigelibrown.pwp.blueyonder.co.uk/blitz/userlibs/index.htm

although I see you're familiar with the second, from this thread.


yinch(Posted 2006) [#3]
Fantastic!
Thank you LineOf7s

I am slowly building up a new version of the decls to use the latest version 2.3 of Bass.dll

yinch'06


LineOf7s(Posted 2006) [#4]
Now it's my turn to say 'Fantastic!'

Sounds like something to look forward to. :o)


yinch(Posted 2006) [#5]
You wouldn't happen to have the Bass.dll Help file (chm) for version 1.4 or 1.6 would you?

I only have the lastest version of the bass docs and they did change the Sample playing architecture - so that part of the new docs dont match the older API any more.

yinch'06


LineOf7s(Posted 2006) [#6]
http://members.iinet.net.au/~cassiebusta/downloads/bass_v1.7_chm.zip

I can only find v1.7 and v2.1 chm files, but I don't remember too much changing between 1.6 and 1.7.

I hope it helps.


yinch(Posted 2006) [#7]
Thanks Line,

It looks like a good match.

Do you know if Rob is still working on BlitzBass? I'd like to check with him before messing around the blitzbass.dll codebase.

yinch'06


LineOf7s(Posted 2006) [#8]
I can't really speak for him, but from what I know, no.

If I remember correctly, it was originally created for the use of Lab[AU]. It went through a number of versions, but development seemed to peter out about the time BASS reached version 1.6 (which is why the latest BlitzBASS version I have/know of is 1.6). Halo released a version of a BASS interface for v1.7 and the thread mentioned earlier had Lab[AU] themselves (himself?) pointing people to yet another WIP interface to... a later version I can't quite determine. :o)

I'm no authority, but my memory is Rob being pretty open to the possibility of people expanding upon his work. I'm happy to be corrected, and I'll do some research myself, but based on that memory, I'd suggest you can expand upon it as you like.


yinch(Posted 2006) [#9]
Callback functions

Does anyone have any tutorials on how to interface Blitz3D with "C" DLLs that use callback functions?


yinch'06


LineOf7s(Posted 2006) [#10]
That would be The Bad News.

Again, I'm no expert, but from what people have said: you can't. Any facility that requires the use of callback functions is beyond the scope of B3D's ability to interface with that DLL.

The only 'solution' thus far used (specifically to do with BASS) has been to just leave out the functions that require it.

On the plus side, that's a lil bit of work you can save yourself. :o) [/grasping at straws]


yinch(Posted 2006) [#11]
Haha, thanks Line, that's useful to know.

Rob did a great job of covering just about everything you could achieve without callbacks - but unfortunately (for me) I want to use the Record function to do real time audio analysis (i.e. audio analysis of runtime input from the user microphone) and THAT function *HAS* to use callbacks (specifically, RecordToStream).
This means that I will probably have to do it in <ugh> DirectX/C instead - oh, well.

On a positive note, I have managed to use it to audio analyse a audio file as input, so thats progress.

And maybe the battle isnt *quite* over - I might see if I can buffer the callback data somewhere and serve it up to Blitz3D when it requests it. Maybe write a small, standalone AudioBridge EXE that communicates the audio spectrum data to the Blitz App.
It won't be as elegant or compact as getting full access to the Bass.dll function calls - but if I can get a result this way, then that's just what I'll have to do.

I am sure more able coders have also attempted to hack together a workaround for the Callback problem - but maybe I will have another look at that as well.

Much much thanks for your help with finding the blitzbass project and the Bass1.7 documentation


cheers,

yinch'06


LineOf7s(Posted 2006) [#12]
You're welcome. Thankyou for sharing a thread with me. :o)