Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: components on macOS? (Read 2367 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

components on macOS?

Is there a way to use 3rd party components with foobar2000 on mac? I can't find the option to add one like I was instructed to do in the wiki.

Re: components on macOS?

Reply #1
foobar2000 on macOS doesn't support components.

Re: components on macOS?

Reply #2
Not possible, components are Windows dynamic link libraries and cannot be made work on mac OS by means other than running whole Windows foobar2000 via an emulator (Wine or a full Windows VM).
Microsoft Windows: We can't script here, this is bat country.

Re: components on macOS?

Reply #3
Not possible, components are Windows dynamic link libraries and cannot be made work on mac OS by means other than running whole Windows foobar2000 via an emulator (Wine or a full Windows VM).

I'm sorry to read this. So there are no ways to use Foobar on Mac other than simple playback? No automation of moving files to custom folder structures at all?

Re: components on macOS?

Reply #4
If by "automation of moving files to custom folder structures" you mean the File Operations component, it's fully operational on Mac, just not called a component, or an optional feature.
Microsoft Windows: We can't script here, this is bat country.

Re: components on macOS?

Reply #5
I think I should probably add this comment from a friend: "not possible" is different from "it would require a stable api between both and some work on the part of the component authors".

The latter is as possible as if Peter should decide he wants to implement something that component authors can use. If he ever becomes interested, he can look at my Cog bundle loader, which loads components in the form of .bundle s which contain a dynamic binary and its own extra dependencies.

Parity would still call for a dlopen and retrieving the common foobar2000 named symbol for exporting the service list and init function, same as Windows version components. However, from there, it diverges severely. For instance, developers would have to rewrite absolutely everything that deals with user interface, fork out anything that uses win32 api directly, etc. Configuration is a different system that I don't even know if it's exposed as a service framework that compiled in modules extend programmatically.

But yeah, it's "not possible" in the current state, and frame of mind. Making it extensible would require severe amounts of work on Peter's part to make a stable import API, and stable APIs to handle interfacing to the UI. And then it would require severe work on the part of any component developers who wish to adapt their components to this. And then either every developer will need to be a paying developer to sign their components, or foobar2000 will need to enable the entitlement that allows loading unsigned libraries. Probably not a far stretch anyway, since every developer will need to be a Mac owner, or pay for time with a Mac CI that can support Universal builds.

Re: components on macOS?

Reply #6
Not possible, components are Windows dynamic link libraries and cannot be made work on mac OS by means other than running whole Windows foobar2000 via an emulator (Wine or a full Windows VM).

I'm running Windows FB2K on MacOS with a program called Crossover. It works well, albeit slowly.

 

Re: components on macOS?

Reply #7
The slowly on M1 would be due to x87 math code, which Rosetta runs poorly, possibly because it uses software emulation so it can be 80 bit accurate, rather than translating to ARM floating point code, which would truncate precision to 64 bit.