Well .. that looks quite a sophisticated environment with some interesting aesthetic choices. Dare I say it, you probably make a wicked fruit salad.
The only thing stopping me from downloading your repo and doing a build is the shock factor at how much you’ve altered JUCE .. in my opinion that’s a bit scary (although perfectly fine if all you want is to do your own local builds), because its a big commitment to understand the diffs. I’m curious if you plan on refactoring any of those modifications and maybe use some C++ features to enhance things in your own local codebase, keeping JUCE as clean as possible - or were there simply far too many things that JUCE didn’t quite get right for your needs? That’s actually quite interesting as a subject in itself.
This is a big yes :
I tried to do very few modifications in the JUCE code,
and I’m not against at all to make this more in the JUCE way.
I didn’t manage to make “chords” keyboard shortcuts with the keycodes, which are not coherent when doing key chords. So I did a mess with keycodes and isCurrentlyDown(), redoing a list of keycodes.
I didn’t manage to make some derived objects, with the AudioProcessorGraph. I added fields to Node for example.
And in JUCE 7, nodes are in a container with reorganisation, but it breaks my way to use them.
But I simply have to learn how to cleany derive all that I modify. C++ is very easy, even with templates and smart pointers
I don’t use very much the division in components.
I didn’t manage to make the repaint system working like I wanted.
I’ve prefer to use bools to redraw only portions. Btw it makes problems for the display on Linux.
This may be simple to arrange, with components.
For example with the MonSampler window : I didn’t manage not to redraw the wave when not useful.
There’s still a glitch if the window goes partly out of screen.
Maybe because that’s a MS component in another component, a PluginWindow.
I did a system of presets different from the banks of FXB. But one of my goals was to use easily big databases of presets, of patterns, etc.
But I want to keep it simple, for optimisation.
And a part of me wants to rewrite it without JUCE, maybe in C But I’ll be redo a work yet done, and well done.