Machinesworking wrote:DJYoshaBYD wrote:Mac OSX, if that is what you are referring to, is actually unix (which linux is based off of), and on top of that, the MAC version of Ableton Live is JUST the windows version, that is running wine as a translation layer.
I'm not a coder, but I know enough about what's going on to know you're dead wrong there.
Live is coded in C++ and it's the GUI code on top that makes the difference between the OSX and Windows. At least that's what I was told by a developer from Ableton years ago. Another reason to believe this is the truth over your assertion is pretty simple to look up around the internet, Apple are very rigid and demanding when it comes to GUI guidelines code wise, they will not allow much "foreign" code into Cocoa, which can frustrate people trying to port Windows Apps. It's also probably another reason why Wine is developed exclusively for Windows versions of cross platform software, there has been a more stable and easily reverse engineered GUI on the Windows side as OSX has jumped from PPC to Intel and Carbon to Cocoa.
..and that is all I know about it, but yeah, you ain't talking facts there buddy!
Also good luck, screenshots would be cool!
First off, I understand that its coded in C++, hence the C++ runtime dependency that is provided in the script.
As for you wanting to shit in the cereal bowl, per se, You are only partially right. I wasnt trying to get too technical, since it can get a bit hairy, but yeah:
I wasnt talking about the gui differences between OS. Simply stating that YES: ITS A FACT THAT THE DARWIN KERNEL THAT OSX USES IS A BSD (UNIX) BASED OS. That is why I can "port" software from linux to mac and the other way around, especially if it doesnt require a gui. The commands are mostly the same, as well. This is well documented, so you are incorrect in your assumptions that it is not.
Now, as for Ableton running on Mac, again, YES it IS a "Windows" version of ableton, that is installed on to mac via WINE. It creates a WINEPREFIX, installs a custom patched version of wine, and lets you run this WIN32 software on a *NIX based system.
The difference between Mac and Linux, yes, does lie in its gui. Linux uses X (or FreeX86), Mac does not. Other than that, the underlying kernel is not too far difference.
Now, instead of re-writing the WHOLE PROGRAM for another operating system, ALL NEW SOFTWARE WRITTEN usually uses a runtime environment, so that as long as the system in question has the required runtime environment, the program will run. Like how JAVA apps can be written for so many different systems and architecture: because of the runtime. .NET, C++, Mono, etc etc etc..
So, since the windows version already worked so well, and C++ mostly runs fine through WINE on ANY *NIX system, it stands to reason that the best way, instead of "porting" (which is the wrong term, and WAY off what is actually happening), we are using a compatibility layer to make the RUNTIME work, so that the program itself has everything that it needs to run.
"Live is coded in C++ and it's the GUI code on top that makes the difference between the OSX and Windows."
Shttooopppps.. Of course its coded in C++, which is what we have covered, but with OSX vs Windows..... I mean, when were we talking about the GUI of Mac vs Windows. You need to ask your developer friend to clear some of this up. The gui issues, along with quite a few others, are handled quite elegantly through WINE on MAC and LINUX. Your simplistic explanation leaves much to be desired.
"Apple are very rigid and demanding when it comes to GUI guidelines code wise, they will not allow much "foreign" code into Cocoa, which can frustrate people trying to port Windows Apps.
Which is the reason we use WINE, instead of PORTING THEM, we give them a COMPATIBILITY LAYER. Period. Its not a port. A port would be taking the source code, and modifying it to run on another OS. WINE takes care of this the same way that directX, .NET, VCRUN, or any other runtime does. THE RUNTIME needs to first be compatible, THEN the software can be run in its native development environment, instead of porting stuff from say, Windows to OSX by changing all of the code, we introduce 3rd party code and native DLLs, which take care of the dependencies. As far as that program knows, its on Windows. MUCH easier in the long run to port a whole development environment, instead of rewriting every single bit of code for different OS's and architectures.
"It's also probably another reason why Wine is developed exclusively for Windows versions of cross platform software, there has been a more stable and easily reverse engineered GUI on the Windows side as OSX has jumped from PPC to Intel and Carbon to Cocoa. "
Wow. SMH.
Dude, do you even know what WINE stands for? It has Windows right in the name. The whole goal of the project was to get win32 applications to run on *nix systems, and whatever else they port wine to. Wine can run GDI (the module that draws 2d graphics on a windows system), so that is covered.
Mac has very little software that ISNT available on windows, so yes, it stands to reason, that when the project was started 20 years ago, it was for mac and linux systems (specifically linux, because mac was not using Darwin/*nix/BSD at that time. Not until OSX) to be able to run windows software, for cross compatibility, ONLY FOR THE FACT that no one wrote the good stuff for mac. Period. Stating "its probably another reason why wine is developed exlusively for windows versions of cross platform software" is retarded, because if it was ALREADY CROSS-PLATFORM, THEN WHY USE WINE OR WHY PORT IT?? Wine is to create and INCREASE cross-compatibility.
Please read more before you step in a try to clown. I did this because I believe in this project, and know MANY people who have wanted to run their music software on linux. I dont give a shi+ what the reason is. Its there, it runs, and this is how it works. If you dont like it, fine, but stop being a damn troll and mosey along back to your nerdery and read more. Im no expert, but I know enough to get this project done, and also custom compile WINE for Reason 5, which I just did, and am writing a script for. Im trying to help the community, not prove anyone wrong.
Thanks for your input. Much appreciated.