Hi jpf
Happy to see you there too
For my personal usage, I have no problem because I do my show with a real mixer (TTM57SL) and SL1200s with mic (low cost but good for what I do lol Neewer NW-700 + 48V phantom PS) on it. JP send its sound in AUX IN of the mixer.
The (eventual) "Mic input" feature for JP is for who wants to do a (radio) show without real mixer, decks, just a PC and a microphone (commonly USB microphone, ie. low cost Neewer NW-7000/8000) and headphones (USB or jack 1/4").
I downloaded ASIO4ALL, Bass_Asio and trying to make running
I use "Multi" project in vb directory.
VB6 IDE reveals a Compile error: Expected: identifier in bassasio.bas at runtime:
Declare Function BASS_ASIO_Lock Lib "bassasio.dll" (ByVal lock As Long) As Long
(where "lock" is highbrighted).
I renamed "lock" for "lockk" to overide error (but I don't know the consequences).
I can get sound.
But when I try to understand the code, I see the approach looks totally different than from Bass: No Bass_ChannelPlay/Stop(chan ... ), etc.
I'm afraid that it would be very hard to use in JP because of lot of code modification, so that both methods (BASS and BASS_ASIO) can work according to the users choice. Or perhaps it's just on the 2 splitted streams I should apply the BASS ASIO (and not on each commands Play/Stop of channels before mixer)?
About Mic input, I checked the online documentation, I don't also see any BASS_ASIO equivalent for RecordFree/Init etc.
Just tried this:
Dim MicInput As Long
Call BASS_RecordFree
Call BASS_RecordInit(outdev(0))
Call BASS_RecordSetInput(outdev(0), BASS_INPUT_ON, -1)
MicInput = BASS_RecordStart(44100, 2, BASS_RECORD_PAUSE, 0, 0)
Call BASS_ChannelGetData(MicInput, ByVal 0, BASS_DATA_FFT256)
Call BASS_ChannelSetAttribute(MicInput, BASS_ATTRIB_BUFFER, 0)
Call BASS_ChannelPlay(MicInput, BASSTRUE)
'start ASIO output
Dim i As BASS_CHANNELINFO, a As Long
Call BASS_ChannelGetInfo(MicInput, i)
Call BASS_ASIO_ChannelEnableBASS(0, 0, MicInput, BASSTRUE) 'enable ASIO channel(s)
Call BASS_ASIO_SetRate(i.freq) 'try to set the device rate to avoid resampling
If (BASS_ASIO_Start(0, 0) = 0) Then 'start output using default buffer/latency
Call Error_("Can't start ASIO output")
End If
I get sound from the microphone but with the same latency than without BASS ASIO.