-
-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Description
Jotting this down to keep track of me looking into this. The idea is to have pluginval as a project dependency vs. an external tool.
To be clear (also for GPL licensing reasons), pluginval wouldn't be linked to the plugin and shipped to end users. It's just used locally when debugging.
The benefits are:
- Full call stack. Right now when debugging via pluginval, one only gets the exact line of code in my project vs. the full stacktrace. Not sure if there's another way to get more of call stack, but it impedes investigation when there's an error.
- Less friction to start pluginval. Build the target from within the IDE and pluginval runs against the project. No need to open another project, pull changes, build, etc.
- Easy ability to set breakpoints in the main project
- I could add pluginval to pamplejuce so everyone starting out gets 1-click pluginval.
@eyalamirmusic and I merged some initial work to enable this a while back.
#78
He has a sample plugin showing how he added a custom target for running:
add_custom_target(${BaseTargetName}_Pluginval
COMMAND
pluginval
--validate
--strictness-level 10
${artefact}
DEPENDS ${BaseTargetName}_VST3 pluginval
VERBATIM)
- Confirm Eyal's setup is happy, or if more changes needed
- Check Windows vs. Mac — possible to do AU on Mac vs. VST3 Windows?
- Evaluate CI workflow (in particular, pluginval's copy of JUCE isn't wanted/needed when its a dependency, can we somehow not recurse submodules for this particular repo? Or could we move pluginval's version of juce to FetchContent/CPM and be conditional on the cmake variable? Or are we just happy to suck down an extra copy of JUCE we don't want)
- Update README with instructions
ruurdadema
Metadata
Metadata
Assignees
Labels
No labels