Skip to content

Add drag-and-drop plugin validation to the main window#170

Open
jcredland wants to merge 1 commit into
Tracktion:developfrom
jcredland:jim/drag-drop-validation
Open

Add drag-and-drop plugin validation to the main window#170
jcredland wants to merge 1 commit into
Tracktion:developfrom
jcredland:jim/drag-drop-validation

Conversation

@jcredland
Copy link
Copy Markdown
Contributor

@jcredland jcredland commented May 19, 2026

Summary

  • Drop a .vst3 / .vst / .component / .dll / .so / .clap anywhere on the pluginval window to validate it.
  • Shows a translucent rounded-rectangle overlay with a "Drop plug-in to validate" label while dragging an accepted file.
  • Routes through Validator::validate(StringArray, options) — the same flow used by Test File…, so it picks up the current strictness level, timeout, sample rates, etc. Console tab is auto-activated when validation starts (existing behaviour).
  • Mixed drops accept the plugin files and ignore the rest; drops with no plugin files are a no-op.

Test plan

  • Drag a .vst3 onto the window — highlight appears, drop starts validation.
  • Drag a non-plugin file (e.g. .txt) — no highlight, drop is ignored.
  • Drag multiple plugins at once — all are queued via a single validate call.
  • Drag onto the Console tab as well as the Plugin List tab — both trigger validation (plugin list table doesn't intercept drops).

Drop a .vst3/.vst/.component/.dll/.so/.clap onto the pluginval
window to validate it. Shows a highlighted overlay during the drag
and routes through Validator::validate — the same flow used by
"Test File...".
@sudara
Copy link
Copy Markdown
Collaborator

sudara commented May 25, 2026

Thanks for this!

I QA'd this and looked through it.

The prior behavior is that a drag would add a plugin to the list (vs. run validation). It was the main way I added plugins (dropping them in from finder). I do think that still makes sense to add, even though it's also useful that it starts a run. We could do both with a change like this: 6ec3eb6

The other thing is that with the run-on-drop behavior, I can reliably beachball pluginval by dropping a plugin in there while another is scanning. Something like this would fix: c7b155a

Otherwise looks and works great, happy to merge with my commits as followups or wait for changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants