Compiling on a virtual machine
-
I'm setting up a Windows 11 VM on my mac to create an environment for compiling my future plugins for PC, is there anything in particular I need to pay attention to or does it just work like on a normal pc? I have zero experience with windows. If the PC/VM is ARM architecture, does the plugin run on non x86 PC's as well if it's built on an ARM machine or is a non ARM PC required to build?
-
@Morphoice If you're using a ARM based mac, you can only run and compile for Windows ARM so you definitely need to get a windows machine for proper x64 binaries.
-
@Christoph-Hart I run Parallels with the latest Win11 on my Macbook and the compiled VSTi runs fine on x64.
There were some unreproducible issues with the UI causing MIDI playback issues - could that possibly be related to the fact that I compiled it on Windows for Arm?
-
@Christoph-Hart damn! I feared as much. Another space-taker on my desk ;)))
-
@aaronventure Ah OK didn't know that but the fact that you're suspecting this workflow to be the cause of random issues kind of disqualifies it to be considered reliable, no?
I'm just building the debug build of HISE on my Macbook on Parallels, and the UI is sluggish as hell, like running an emulator inside an emulator that is powered by a Javascript runtime so I wouldn't be surprised if that will mess up some UI stuff.
-
@Christoph-Hart I haven't tried parallels, but I can tell you in a bit if it does ok with VMWare Fusion. Usually the virtual machines are very fast, there shouldn't be severe performance problems.
I've never used Windows since 1998 so it's already giving me great joy to get visual studio on there... I'm surprised it's not asking for my blood pressure and organ donor status... the amount of popups and things that pop in the way is testing me hardcore lol how can y'all live like this
-
@Christoph-Hart M3 Max UI in Parallels runs fine.
I haven't checked regarding the UI methods messing with MIDI playback - but I never thought about it until you mentioned it.
-
@Christoph-Hart is it possible to set up a github workflow so that pushed commits build the plugin automatically for win and mac? I do it all via CLI anyway. I know you have the github setup for HISE.
If it's possible maybe we can try and work it out so that everyone can have automatic builds?
-
@aaronventure Sure, use GitHub actions. There are a few annoying things that you'll encounter along the way but in the end it should be possible.
That's the build script that is run everytime I commit something to HISE:
https://github.com/christophhart/HISE/blob/develop/.github/workflows/ci_mac.yml
I've tried to put in as few logic as possible into the Action file because that's super annoying during development so the real meat is here in the batch files:
https://github.com/christophhart/HISE/blob/develop/tools/auto_build/build_ci.bat
This builds the CI version of HISE (which is a bit faster than the Release build), then exports the demo_project and runs the unit tests.
Now since you're running it from your project repository, you will need to add a build step that fetches the HISE repository and builds HISE (you can basically just steal my work here and run the batch files), then add your plugin export step with the CI build of HISE.
-
@Christoph-Hart I imagine using Faust and on Windows IPP complicates the issue. Is the whole thing basically a temporary bucket where you can install anything?
Also, if there are any scriptfx that are used in hardcoded mode, don't they have to be compiled first when initially pulling the project on a new setup?
-
@aaronventure No it's my dedicated build machine (like a literal computer in another room) that I've setup once with the tools.
The idea of having a cloud service that compiles your plugins is making this unnecessarily more complex (I think @Dan-Korneff has made a few experiments on this field), especially if you factor in codesigning & AAX.