OfficialIncubo/BeatDrop-Music-Visualizer

Support changing audio input!

OfficialIncubo opened this issue ยท 5 comments

Really excited about this feature!
This feature will change all the audio inputs sequentially, from speakers, microphone to stereo mix! If it's on the final list and you press the hotkey again, it will hop again to speakers.
Hotkey: CTRL + A
I'll share this as a reference: milkdrop2077/MilkDrop3#10

I've been working on that, I can now choose what audio device to choose.
The problem is, beatdrop code is old, and does not support microphone or high res audio source like 192kHz.
Projectm's audio capture seems way more advanced. I don't know how hard it will be to port the code to beatdrop.

Why the BeatDrop code is so old? I wish I want this to support microphone!

Take a look at the projectM's Audio Capture.
We need to convert this to a fully functional one.

As I've reimplemented the whole WASAPI capture code from scratch for the new projectM standalone app, this one would be a better starting point:

https://github.com/projectM-visualizer/frontend-sdl2/blob/master/src/AudioCaptureImpl_WASAPI.cpp

Since I'm still the sole author of the code, so I've relicensed the code under BSD 3-clause and removed the projectM references from it and replaced them with ToDo comments where the buffer code needs to go. See the attached ZIP. You can use it as you see fit. You'll propbably want to replace the POCO stuff with pure Win32 API code, but I can't really help with that I'm afraid.

The second thing worth mentioning is that this implementation works with signed float sample. If that's not desirable, you can either use IAudioClient::IsFormatSupported() to request the proper sample format or convert the float samples yourself.

Sqiek commented

Hey milkdrop2077 and people,

Thank you for your program!
I wonder if there are some news in regard to asio and choosing the audio device.
My music setup is determined to be used with voice banana and vb audio matrix.
With audio matrix, I tried to route a lot of things, just trial and error, but no luck yet.
I would love to use my setup with Milkdrop, but unfortunately did not succeed.

Do you, or any other person has a clue, what I can do?
Thanks in advance!