andrewreeman / SpectralSuite

The Unlicense
190 stars 6 forks source link

Linux builds? #62

Open visagemsc opened 4 months ago

visagemsc commented 4 months ago

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.

andrewreeman commented 4 months ago

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?

visagemsc commented 4 months ago

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.

crisqyxw commented 2 months ago

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...?

andrewreeman commented 2 months ago

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 🤔

crisqyxw commented 2 months ago

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")

andrewreeman commented 2 months ago

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

crisqyxw commented 2 months ago

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?)

andrewreeman commented 2 months ago

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??

visagemsc commented 2 months ago

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

crisqyxw commented 2 months ago

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

andrewreeman commented 2 months ago

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 commented 1 month ago

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

tomasmark79 commented 2 weeks ago

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