hel for bass.dll

Blitz3D Forums/Blitz3D Userlibs/hel for bass.dll

mongia2(Posted 2004) [#1]
excuse my bad english

.....userlibes bass.dll

BASS_RecordFree() : "BASS_RecordFree"
BASS_RecordGetDeviceDescription$(devnum) : "BASS_RecordGetDeviceDescription"
BASS_RecordGetInfo(info*) : "BASS_RecordGetInfo"
BASS_RecordGetInput%(input) : "BASS_RecordGetInput"
BASS_RecordGetInputName$(input) : "BASS_RecordGetInputName"
BASS_RecordInit%(device) : "BASS_RecordInit"
BASS_RecordSetInput%(input,setting) : "BASS_RecordSetInput"
BASS_RecordStart%(freg,chans,flags,proc*,user) : "BASS_RecordStart"


help for function


BASS_RecordStart%(freg,chans,flags,proc*,user) : "BASS_RecordStart"

proc* ?????


and

recordproc

BOOL CALLBACK YourRecordProc(
HRECORD handle,
void *buffer,
DWORD length,
DWORD user
);

FILE *file;
...
// the recording callback
DWORD CALLBACK MyRecordingWriter(HRECORD handle, void *buf, DWORD len, DWORD user) {
fwrite(buf,1,len,file); // write the buffer to the file
return TRUE; // continue recording
}
...
HRECORD record=BASS_RecordStart(44100,2,0,&MyRecordingWriter,0); // start recording


thanks...
mongia


Erroneouss(Posted 2004) [#2]
at blitzcoder.com they have a finished BASS dll with DECLS file. It's in the showcase, which is currently shut down for repairs, because someone deleted a shocase thing, and it went hectic and chaos-ee... I can email it to you if you want? It works perfect.


mongia2(Posted 2004) [#3]
please a link full bass.decls
and eample

thanks


Boiled Sweets(Posted 2006) [#4]
Anyone?


OJay(Posted 2006) [#5]
http://www.blitzbasic.com/Community/posts.php?topic=61339

...


Boiled Sweets(Posted 2006) [#6]
Still doesn't solve the problem!


OJay(Posted 2006) [#7]
which problem? thought you meant the download-request...


Boiled Sweets(Posted 2006) [#8]
No, getting these to work...

BASS_RecordFree() : "BASS_RecordFree"
BASS_RecordGetDeviceDescription$(devnum) : "BASS_RecordGetDeviceDescription"
BASS_RecordGetInfo(info*) : "BASS_RecordGetInfo"
BASS_RecordGetInput%(input) : "BASS_RecordGetInput"
BASS_RecordGetInputName$(input) : "BASS_RecordGetInputName"
BASS_RecordInit%(device) : "BASS_RecordInit"
BASS_RecordSetInput%(input,setting) : "BASS_RecordSetInput"
BASS_RecordStart%(freg,chans,flags,proc*,user) : "BASS_RecordStart"
BASS_RecordStart%(freg,chans,flags,proc*,user) : "BASS_RecordStart"


Boiled Sweets(Posted 2006) [#9]
*** SOLVED IT ***

Can get at the sample data from ANY input (internet radio, audio in, mic etc etc).

I am so happy!

If you want something done, do it yourself :-)


jfk EO-11110(Posted 2006) [#10]
Can you post the source etc? I am currently playing with the spectrum analyzer. It works with a WAV file, but I want it to work with the mic input. Preferably even with a recording option.


Boiled Sweets(Posted 2006) [#11]
jfk,

the problem here is I used BASS 2.3 and I only ported parts of the library, basically just the bits I needed to get it working. The code is also very messy as was justing trying to prove that this would work and wasn't too bothered about the long term maintainability.

To use the recording stuff it's basically...

BASS21_RecordSetInput(record_input, MakeLong(50, BASS_INPUT_ONLEVEL))
chan = BASS21_RecordStart(44100,1,0,0,0)



jfk EO-11110(Posted 2006) [#12]
Thanks a lot. I'll try and see if it's in my decls.

Uh, I replaced the dll by something not that old. RecordSetInput, RecordInit and RecordFree are working, but BASS_RecordStart crashes with several error messages:
MAV, Blitzcc invalid action closer, "GetModuleHandleA succeed". Maybe I better get the latest version...


jfk EO-11110(Posted 2006) [#13]
Ok I got BASS23 now. I've added alternative declarations in the decls file, for those commands that are taking diffrent/other parameters compared to their old versions.


I'm trying to make this work, but there are some troubles.
BASS_Init does not allow me to init any other device than "no audio" (zero for the device parameter). Since this initializes the BASS output device, this may be no probem. BASS_RecordSetInput then seems to work. BASS_RecordInit as well. But when I call BASS_RecordStart now, it gives me a MAV. (Also in debug mode). The puter will then be frozen. I hit ctrl-alt-del, then it takes about 30 seconds or so until the taskmanager shows up.Now I got to cancel, windows will then respond again.

However. it would be really helpful if you share your sourcecode, not only the 2 lines. It's ok if you don't, tho many people including me have spent hundreds if not thousands of hours for the sourcecodes they released for this community and it has already now been pretty frustrating several times to see how few of it is coming back to me , if I occassionally need a little help.

Don't misunderstand this, it's nothing personal, I only want the make clear my general desperation :o)


jfk EO-11110(Posted 2006) [#14]
Ok, I made some progress. Basic Record handle initialisation seems to work.


I made a common mistake in the decls file. Where in the Documentation of the DLL a pointer parameter is required (eg. for a callback procedure), you have to use a bank pointer theoreticly. But if the DLL allows to use NULL instead, as some sort of default or so, then (if you want to use NULL) you should not use the bank pointer (adr*) in the decls file.

So now I got these two working without bank pointers:
BASS_RecordStart%(freq, channels, flags, proc, user)
BASS_Init%(device, freq, win, cslid)


Now I only got to wire this with a channel that can be used with the ftt get data functions. Here's my next problem: In Version 2.3 several functions have been removed, eg. PlayMusic etc. So I replaced them with their alternatives in my previsously working spectrum analyzer test source. The source still includes a FX demo with parametric equalizer and reverb fx, that is controlled by the keys qawsedrf. The weird thing that happens now is: playing sounds seems to work fine, but keyhits and keydown of SOME keys are broken. It's really this way: w,s,r and f still work, qa and ed refuse to work.

What could this be?


jfk EO-11110(Posted 2006) [#15]
Very strange. However, I have pasted the fft code and it works nicely with the record part. It wasn't clear BASS_RecordStart will return a channel handle, but it actually does.

Not sure where the keyboard problem came from, maybe from the FX part.