SpectralSuite icon indicating copy to clipboard operation
SpectralSuite copied to clipboard

Linux builds?

Open visagemsc opened this issue 1 year ago • 11 comments

As the name suggests, I would like Linux binaries of the Spectral Suite, as even if I could build it from scratch, I'd be better off with developer-supported Linux binaries that I could just download and use.

visagemsc avatar Jul 15 '24 22:07 visagemsc

This is something I'd like to do but I can't promise it would be anytime soon. It's taken me months to even get a minor release update out unfortunately.

I'm not familiar with plugin formats often used on Linux, LV2 + VST3 ok?

andrewreeman avatar Jul 16 '24 17:07 andrewreeman

I don't really know if anyone uses LADSPA and/or LV2. CLAP might be a nice addition but otherwise VST3 is a good choice.

visagemsc avatar Jul 17 '24 19:07 visagemsc

I have tried to compile this project on Linux, but it failed. The project structure is too difficult and complex for me (completely unfamiliar with JUCE or other things), maybe it's a great idea to write a build tutorial in README.md...?

crisqyxw avatar Sep 06 '24 13:09 crisqyxw

Thanks for trying this out 👍 I'm not sure yet how to get this compiling on linux as I've not had time to check

On here there's someone who said they got a juce vst project working ok: https://forum.juce.com/t/getting-started-on-ubuntu/47209/

So at some point we could try this out and copy a similar process on her 🤔

andrewreeman avatar Sep 06 '24 20:09 andrewreeman

In fact, I have compiled many JUCE projects on Linux, which either have a unified CmakeList file or a Jucer file that can be converted to a CMakeList file (which is what I am used to). However, this project has an additional "Shared" and some strange folder (for me such as "SpectralSuiteBuild") that confuses me, making it difficult for me to understand how to build it. My only successful attempt was to build a blank user interface (i.e. "Base. Jucer")

crisqyxw avatar Sep 07 '24 12:09 crisqyxw

The 'SpectralSuiteBuild' folder shouldn't be required really and is perhaps names badly. I use it for storing tools to create new plugins or creating release builds for all the plugins.

The 'Shared' folder however does contain code shared by all the plugins so should be used.

I don't really have any experience with CMake, is it possible to share either what you tried already or something similar to what's worked in the past for you? If not that's fine.

Thanks for helping out with this

andrewreeman avatar Sep 07 '24 13:09 andrewreeman

I cloned the repository again, added the LinuxMakefile exporter in Projucer, and manually built (via Makefile) a certain plugin, which proved to be successful. However, this also seems very troublesome when you want to build the whole Plugin Suite. Perhaps we can have a build script or something else (considering using CI automation to build?)

crisqyxw avatar Sep 08 '24 02:09 crisqyxw

Ah great ok so there's a way to get it working at least for individual plugins. Agreed a method that would work for Plugin Suite build you be useful too. A build script that also runs via CI too would be ideal.

I guess a first step is just a Makefile for each plugin which doesn't seem too bad and then separately can tackle a general Plugin Suite Makefile.

Does anyone know what DAW would be good to test on for Linux? My default would be Reaper which looks like it now supports native linux builds.Is Ardour still a thing??

andrewreeman avatar Sep 08 '24 08:09 andrewreeman

Ardour is I think but REAPER can also do the job along with being able to utilize the CLAP plugin format

visagemsc avatar Sep 14 '24 05:09 visagemsc

I highly recommend REAPER, which is the DAW I am currently using, and of course Ardour or Zrythm are also good.

crisqyxw avatar Sep 14 '24 09:09 crisqyxw

Nice ok I'll try and test it on Reaper and Ardour. Will try and pick this up in the version after next. I'm glad Reaper is so popular, it's the DAW that I found the most intuitive and flexible

andrewreeman avatar Sep 15 '24 12:09 andrewreeman

It looks like JUCE 9 may support CLAP: https://juce.com/blog/juce-roadmap-update-q3-2024/ Or alternatively: https://github.com/free-audio/clap-juce-extensions

andrewreeman avatar Oct 17 '24 21:10 andrewreeman

I already did Linux OS configuration and it is prety simple to compile https://github.com/tomasmark79/SpectralSuite-2.1.12

tomasmark79 avatar Nov 19 '24 20:11 tomasmark79

Thanks @tomasmark79 , I've done a branch based on your ideas and created some linux vsts via docker: https://github.com/andrewreeman/SpectralSuite/pull/78

With the vst3 builds here: https://github.com/andrewreeman/SpectralSuite/releases/download/v2.1.12/linux-artefacts-draft.zip

I'd appreciate anyone letting me know if these work ok and/or taking a look at that PR if there's anything obvious that needs changing 👍

andrewreeman avatar Dec 24 '24 13:12 andrewreeman

Hello @andrewreeman,

I have tried to open your binaries and all seems fine!

image

Enjoy ;-)

tomasmark79 avatar Dec 24 '24 14:12 tomasmark79

That's fantastic. Thanks for trying :-) I'll tweak this a bit to get it as part of the standard build process and get it merged. Thanks for your help!

andrewreeman avatar Dec 24 '24 15:12 andrewreeman