-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MacOS Port #7
Comments
I've tried it with both Wine and Crossover on Mac (14.0) but doesn't work unfortunately. Probably something to do with the audio input. Here are my logs in case it helps someone:
|
Same happened with my Exagear. I think Wine doesn't support loopback-capture or WASAPI. |
Suddenly, @gth001 posted a comment that Milkdrop3 worked with Parallels Desktop! Can you try this? If it works, then I can close this issue. That's it. |
Wine supports whatever capture/playback devices are provded by the host OS. The issue on macOS is rather that CoreAudio doesn't support looback capture at all, it can only capture from external input sources like webcams, line-in and microphones. There are some commercial kernel-level drivers which add "virtual loopback cables" to capture application output and make it available as a virtual line-in adapter. That said, on a standard macOS device, you're just out of luck, we have the exact same issue with projectM. If you really want to do a native port, you'd have to replace all Win32-specific code with the respective macOS pendants, like:
You'd end up with similar issues regarding the preset shaders as we have in projectM as Metal doesn't understand HLSL, but uses the MSL, the Metal Shading Language, which is even different from GLSL. |
You are free to PR. Any help is appreciated! :) |
Not an easy task, especially given the decades-old code in the original Milkdrop. Main issue will be the shader translation, which we had lots of fun with in projectM. There are libraries which can do this like niceshade, but I guess none of these will be able to properly translate the undocumented quirks existing in DirectX/HLSL which preset authors inadvertently rely on in many presets. Some HLSL math functions do not return All in all, even with Wine or any other compatibility layer, I'd guess those presets will all look bad unless there's a generic way to fix the issue. We can't fix the presets as they're user-supplied, so this has to be part of the "player". Not really great, but that's what you get if some API designer (Microsoft/HLSL in this case) doesn't stick to their own documentation. Can't even blame the preset authors, as they'll just work by trial and error. If it looks okay, most of them won't get deep into the shader math to see if they ended up with some invalid inputs. But if the presets don't render properly, the users will blame us as the authors of Milkdrop renderers for not being thorough enough. |
The BeatDrop Music Visualizer is only supported for Windows.
I am waiting for porting this visualizer for MacOS, so it should be working.
So, anyone can try to google ".exe to MacOS" or "Windows app to MacOS", or I just try myself.
The text was updated successfully, but these errors were encountered: