This is a very interesting thread with diverse and inspirational views.
Just my 2c:
-
The reason I would like a wallet (yes, crypto wallet) address to be an accepted best-practice for JUCE developers, is entirely about wanting to have a direct relationship with the dev vis a vis a donation. I don’t want 3rd-parties involved when I’m doing a donation (Github, etc.) - I do want to know the developer got the donation directly from a happy customer. My main purpose with this point of view is for us as a community to find it acceptable for developers to do it. Just drop your wallet hash in the About box, and let those who want to use it, use it. Actually it doesn’t have to be a crypto wallet - just an accepted best practice that JUCE devs can take donations, too, if they want to - and that nobodies hair lights on fire if this starts happening in plugins. (Yes: JUCE License applies on top of this.)
-
I have been using a combination of pluginval/auval, and my own plugin hosts for continued JUCE testing and validation, and while things are working fine, I see some things that could be useful.
I find that as a plugin gets developed, its sonic nature changes over time, and having a record of that - alongside git hash ID’s of course - is often very useful in debugging and development. In a couple of projects, just getting things up and running with source code → CI such that daily ‘official installer/packaged’ builds work, from day one of development, really helps things out. Devs can focus on code - other project members can take the CI builds and test, test, test. Because plugins have got to be tested, tested, tested.
For deep testing and plugin validation, of course one must use a real DAW, and from the automation perspective in that sense I have REAPER very well scripted (Lua) with some sample sessions set up for various edge cases and main-use cases of the plugins.
This is mostly useful because it can really be scripted in the build/CI system, happen alongside mainstream development testing, and doesn’t require much hand-holding - other than, of course, to update the test/project settings, automation, etc. as the plugin features get tested. Setting up the DAW for tests and doing plugin development, are two concerns that are wisely separated between minds, I feel. Its better to have an end-user doing manual testing alongside you in the dev environment, but if we plugin devs can’t get that, fully automated testing is worth the effort as well.
I continue to amass a collection of REAPER scripts and test sessions, which all get rendered and exported to a stereo master track, which I can easily audition/replay during development in projects.
So on one end of the spectrum, pluginval fuzzing is awesome - but on the other end, one must DAW.
So .. all of this is a big wind-up to say: It would, perhaps, be nice if pluginval itself were a plugin, so that I could lay out these automated DAW test sessions and have a pluginval fuzztest (or hard-coded seed value) play back, in the track as well.
This way I could pluginval-during-CI (i.e. just plugin the seed and run plugins standalone), but also pluginval-mid-DAW, during testing/development, to make sure things are in a known valid test state.
Does this make sense? Plugin testing environments is a subject that doesn’t get much love and attention - but I can say we are all very definitely granted massive gains by the pluginval tooling, in and of itself… so maybe the future looks really bright for the testers ..