JUCE 7
-
It has been around (or over, I didn't count exactly) a year since this was last mentioned.
JUCE 7 adds support for a plugin format that has some wider adoption lately; this was one of the main reasons it finally got added.
Christoph appears to believe CLAP will be the format that wins out, which is fine, but JUCE themselves would have to add support for that too - which would again mean updating to a newer version of the framework. I think it would cause less technical debt to keep up-to-date with JUCE in the meantime.
In addition, I believe they have been slowly working towards Wayland support on Linux, such as decoupling X11 windowing code - this WILL have to happen eventually.
Is there any reason there's not been much movement here? -
Since the JUCE library within HISE is a hard fork, it is unfortunately not so easy to update to v7. However, you can still use various features in v6: CLAP can be tested via my experimental CMake branch. Unfortunately only for the HISE plugin itself for now. No CLAP exports.
I actually started a few days ago to make a plan how to update to v7 and especially how to stay up to date better/faster in the future. It'll be a few days before I post it, it's a pretty big undertaking if you want to do it "right". Especially if multiple people will work on it.
Stay tuned for my ideas/roadmap and I agree, an update would be nice.
-
@tobante Interesting, I didn't know HISE made any modifications to JUCE. Is there any developer documentation, for would-be contributors?
LV2 or CLAP, anything to get away from Steinberg is a welcome change; I don't really care which one takes precedence, but official JUCE support tends to work way better than any third-party patches anyone makes.
The Linux world is starting to make the final strides of a really big change from X11 to Wayland, too, so keeping up to date is an absolute necessity in my eyes. I'm even aware of one DAW that has made the move to Wayland, which is REALLY unusual.I'll be waiting for that blog post.
-
I didn't know HISE made any modifications to JUCE.
Mostly small getter / setter functions or other trivial things, but the most important change (which has no chance of getting pulled into the main JUCE codebase) is the addition of a custom Buffer for floating point values to be stored in the
var
class.The process of updating JUCE is rather annoying (and each time it introduces some weird glitches), so I only do it when there's a real reason for it (also my cheap ass doesn't have a JUCE 7 license yet)...
Normally I'm doing these steps:
- Fork the master branch of JUCE exactly from the commit that I forked it into HISE
- Copy over the JUCE directory from the HISE repo. This mark all my changes in the git.
- Review them again, do some cleanup and discard the changes that are useless (sometimes I just remove an assertion that annoys me too much)
- Create a patch from my changes
- Copy the current JUCE version into HISE
- Apply the previously generated patch file to reapply the custom HISE changes (sometimes I need to resolve merge conflicts).