kmatheussen / radium

A graphical music editor. A next generation tracker.
http://users.notam02.no/~kjetism/radium/
GNU General Public License v2.0
842 stars 36 forks source link

Consider replacing calf-ladspa as default chorus plugin #1158

Open Teteros opened 5 years ago

Teteros commented 5 years ago

Calf's LADSPA support has been deprecated for years and most distros have the LV2 version as their default calf package in repos.

Since radium's chorus plugin defaults to calf this might cause the user to install calf-ladspa manually alongside calf-plugins, which will very likely cause instability, if not crashes, see:

https://github.com/calf-studio-gear/calf/issues/181 https://github.com/calf-studio-gear/calf/issues/134#issuecomment-308960333

Radium includes swh and tap plugins in binary packages already, maybe default to one of their chorus plugins for new song template & chorus pipe?

Teteros commented 5 years ago

I would like to add that the Calf plugin suite (and any other LV2 plugins!) can still be used via Carla patchbay or rack via its VST host, which gives you the benefit of the full GUI and patches that updated calf-plugins have over the legacy LADSPA versions. ss

It might make sense to abandon calf-ladspa package entirely.

EDIT: LMMS has forked and updated the calf-ladspa plugin to 0.90 https://github.com/LMMS/veal

However this changes the namespace/plugin name to veal.so which means the projects would need to be changed as well if the updated LADSPA calf is to be used.

LMMS provided an upgrade path for it https://github.com/LMMS/lmms/issues/3942#issuecomment-343557311

kmatheussen commented 5 years ago

The calf chorus plugin was unstable in the radium binaries for a long time, but there shouldn't be any problems with it now as long as you use the version used in the binaries: https://github.com/kmatheussen/common-ladspa-plugins I should probably include this repository in Radium so that people never use anything else. (radium uses the calf plugins in LMMS by the way)

Thanks for the link to veal by the way, but I think the calf plugins included in radium are stable now. Haven't noticed anything else.

Regarding the TAP plugins, I'm planning to remove it. They are very unstable (at least before I fixed the worst things), and when adding a pull request, the author wasn't interested in it except complaining about some indentation errors.

kmatheussen commented 5 years ago

I considered using the Mutivoice Chorus as default, but I don't think it had enough features, or something, to make it sound as good as the calf chorus. (Oh, and now I tried it too, and the Multivoice Chorus produces nan signals when you set number of voices to 4.)

Teteros commented 5 years ago

Thanks for the link to veal by the way, but I think the calf plugins included in radium are stable now

It's more about the old calf-ladspa plugins being incompatible with calf LV2 plugins installed on the same machine. While it's not radium's problem it's likely the user might want to use Ardour or similar while having radium open (jack transport's great!) which crash on loading of current calf-ladspa/lv2 plugins when found at once.

I think moving to veal is the way to go as the maintainers also fixed a lot of bugs that plagued the old calf-ladspa while porting 0.90 to LADSPA. LMMS moved their calf plugins to this veal fork for this reason too.

For migration Radium's plain text saving format is awesome here because you can do a simple search+replace to rename calf chorus to veal's name:

sed -i 's/Calf MultiChorus LADSPA/Calf Multi Chorus LADSPA/g' /opt/radium/sounds/*.rad

and .rad files with this simple plugin name change just work on the updated plugin.

kmatheussen commented 5 years ago

Sorry, I didn't understand your main point, and thanks for the heads up. I'm thinking about including "veal" with radium (the source of radium too, not just the binaries), and let the plugin loader automatically use "Calf Multi Chorus LADSPA" instead of "Calf MultiChorus LADSPA". Does that sound like a good idea?

kmatheussen commented 5 years ago

I'm thinking about including "veal" with radium (the source of radium

Actually, that's not necessary. It's probably better to give a warning during startup if the "veal" plugins are not available.

Teteros commented 5 years ago

let the plugin loader automatically use "Calf Multi Chorus LADSPA" instead of "Calf MultiChorus LADSPA"

This goes a bit into a general problem of portability in .rad files. IIRC I had one of the plugins in the demo song updated to a new version on my system which merely has bug fixes + name change, but it's enough to need to manually edit the .rad file to have the plugin load.

Likely not easy to solve with just LADSPA as it's the newer formats like LV2/VST3 that have unique IDs in the plugin itself I think.

Actually, that's not necessary. It's probably better to give a warning during startup if the "veal" plugins are not available.

Yes, this is already there when user is missing calf-ladspa on their system altogether, would just switch to veal's name. I think the warning is coming from the plugin loader when the new_song.rad is loaded.

It can be hard to tell if a plugin is missing other than looking in the logs. Perhaps the UI could have a question mark on the plugin box to hint it better and clicking on it opens a replacement prompt, just an idea. Possibly the plugin loader could offer suggestions for replacement if it finds a similar name to the missing plugins'. Chances are it's the same plugin with just a slight name change (like a whitespace in calf's case). Going offtopic and outside this issue though...

I'm thinking about including "veal" with radium (the source of radium too, not just the binaries)

Maybe it could be a seperate download for the binaries on site, like "radium-plugins" or a git submodule pointing to https://github.com/kmatheussen/common-ladspa-plugins to utilize that repo in source.