You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
JSON keys are `snake_case`. The most useful fields:
42
+
43
+
| Field | Notes |
44
+
|---|---|
45
+
|`plugin`| Path to the plugin (or an AU identifier). **Required.**|
46
+
|`input.audio` / `input.midi`| Input files to feed it. Omit both for silence (e.g. instruments driven only by MIDI, or generators). |
47
+
|`state.parameters`| A map of parameter name (or index) → **normalised** value (`0`–`1`), applied before rendering. |
48
+
|`state.file`| A binary `getStateInformation` blob to restore first (e.g. a captured preset). Applied before `state.parameters`. |
49
+
|`reference`| The golden `.wav`. Defaults to `<name>.wav` next to the config. |
50
+
|`render_duration`| Seconds to render. If omitted, the input audio's length is used. |
51
+
|`comparison`| How to compare. `{ "sample": <tolerance> }` is a per-sample absolute-difference tolerance (`0` = bit-exact); the default is one 16-bit LSB. |
52
+
53
+
### Determinism matters
54
+
55
+
Acceptance testing only works for output that is reproducible from a fixed input
56
+
and state. A plugin with free-running randomness can't be golden-tested reliably.
57
+
For the same reason, references are only safely **portable across platforms** when
58
+
you allow a tolerance — exact per-sample matches rarely survive different CPUs and
59
+
floating-point libraries. If a reference recorded on one OS fails on another, raise
60
+
the `sample` tolerance (or use a more tolerant comparison method as they are added).
61
+
62
+
### Running from CI
63
+
64
+
`pluginval test` is just a command that returns an exit code, so any CI system can
65
+
run it the same way it runs your other checks:
66
+
67
+
```bash
68
+
pluginval test tests/acceptance/myReverb-default.json
69
+
```
70
+
71
+
A non-zero exit fails the build. Commit the config and its reference `.wav`
72
+
alongside your project so every run compares against the same golden file.
73
+
74
+
For the complete schema, the comparator design and the planned roadmap, see the
0 commit comments