probonopd / MultiDexed

MultiDexed
10 stars 1 forks source link

Build for Windows #6

Closed probonopd closed 1 year ago

probonopd commented 1 year ago

Since many VSTs are only available for Windows (and the Mac), even on open source operating systems it may be preferable to run Windows versions of VSTs. So we should build this for Windows.

Microsoft conveniently provides free virtual machines of Windows with a compiler preinstalled:

https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/ (the one for VirtualBox is 21 GB large, though)

Kirtai commented 1 year ago

No LV2? I believe the newest JUCE supports it.

probonopd commented 1 year ago

What I meant is: Many of the plugins we like to run in our DAWs are only available for Windows (and the Mac), so pragmatically on Linux and BSD it may be preferable to run the DAW under WINE. Which is why we should also have a MultiDexed for WINE.

probonopd commented 1 year ago

Since I normally don't run Windows, let me write down the steps. Using this approach requires a powerful recent computer with "lots" (16 GB) of RAM and even more fast SSD space.

We should possibly find and instantiate Dexed in a platform independent way, something along these lines:

PluginAudioProcessor::PluginAudioProcessor()
{
    juce::VST3PluginFormat vst3Format;
    juce::PluginDescription dexedDescription;

    description.name = "Dexed";
    description.manufacturerName = "Digital Suburban";
    description.pluginFormatName = "VST3";

    juce::AudioPluginInstance* dexedPluginNode1 = vst3Format.createInstanceFromDescription(dexedDescription, getSampleRate(), getBlockSize()).release();
probonopd commented 1 year ago

It now builds for Windows, macOS, and Linux using GitHub Actions. That it crashes is probably not due to the compilation, but due to stupid bugs in the code. Will be tracked in separate issues.

probonopd commented 1 year ago

As for the resultion, I had to run

sudo vboxmanage list vms # Get the name of the VM
sudo VBoxManage setextradata global GUI/MaxGuestResolution any
sudo VBoxManage setextradata  "WinDev2302Eval" "CustomVideoMode1" "1920x1080x32"
sudo VBoxManage controlvm "WinDev2302Eval" setvideomodehint 1920 1080 32