@openmixer/omx-contract 0.0.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,73 @@
1
+ {
2
+ "$schema": "../../schema/omx-contract.schema.json",
3
+ "TRANSIENT_LIMITS": {
4
+ "kind": "travels",
5
+ "doc": "The legal range of each transient-designer field (engineering units), transient spec §3. Every kind comes up flat: no per-kind default differs. `harness/contract-limits-gen.mjs` emits each as `OMX_TRANSIENT_<FIELD>_{MIN,MAX,DEFAULT}` for `mix_transient.h`'s resolve; the row publishes them on OPTIONS when it lands (issue #921).",
6
+ "fields": {
7
+ "attackDb": {
8
+ "min": -24,
9
+ "max": 24,
10
+ "step": 0.1,
11
+ "unit": "dB",
12
+ "default": 0,
13
+ "defaultFrom": "desk"
14
+ },
15
+ "sustainDb": {
16
+ "min": -24,
17
+ "max": 24,
18
+ "step": 0.1,
19
+ "unit": "dB",
20
+ "default": 0,
21
+ "defaultFrom": "desk"
22
+ },
23
+ "attackTimeMs": {
24
+ "min": 2,
25
+ "max": 50,
26
+ "step": 0.1,
27
+ "unit": "ms",
28
+ "default": 10,
29
+ "defaultFrom": "desk"
30
+ },
31
+ "sustainTimeMs": {
32
+ "min": 50,
33
+ "max": 2000,
34
+ "step": 1,
35
+ "unit": "ms",
36
+ "default": 250,
37
+ "defaultFrom": "desk"
38
+ },
39
+ "outputDb": {
40
+ "min": -24,
41
+ "max": 12,
42
+ "step": 0.1,
43
+ "unit": "dB",
44
+ "default": 0,
45
+ "defaultFrom": "desk"
46
+ }
47
+ }
48
+ },
49
+ "TRANSIENT_FAST_ATTACK_MS": {
50
+ "kind": "scalar",
51
+ "doc": "The fast follower's attack, ms: exactly the dynamics detector's no-oversampling line (transient spec §3, L7).",
52
+ "unit": "ms",
53
+ "value": 0.5
54
+ },
55
+ "TRANSIENT_FAST_RELEASE_MS": {
56
+ "kind": "scalar",
57
+ "doc": "The fast follower's release, ms: one 50 Hz cycle held, a 180 bpm sixteenth forgotten (transient spec §3).",
58
+ "unit": "ms",
59
+ "value": 20
60
+ },
61
+ "TRANSIENT_REF_DB": {
62
+ "kind": "scalar",
63
+ "doc": "The contrast, dB, at which a knob reaches its full value (transient spec §2, §3).",
64
+ "unit": "dB",
65
+ "value": 6
66
+ },
67
+ "TRANSIENT_FLOOR_LIN": {
68
+ "kind": "scalar",
69
+ "doc": "The detector floor, linear (−100 dBFS): below it both envelopes read the floor and the stage is unity (transient spec §3).",
70
+ "unit": "",
71
+ "value": 0.00001
72
+ }
73
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "../../schema/omx-contract.schema.json",
3
+ "DELAY_PLUGIN": {
4
+ "kind": "plugin",
5
+ "doc": "The delay plugin's parameters, in append-only order: DPF's parameter index is the CLAP param id and the LV2 port order (omx-plugins-dpf §3b). Moved from openmixer's packages/omx-plugins/tools/params-gen.mjs PLUGINS.delay.",
6
+ "why": "mix is per instance on the desk (insert or fxReturn); a plugin racked in a foreign host is an INSERT, so it reads the input kind's default (omx-plugins-dpf §3a).",
7
+ "plugin": "delay",
8
+ "header": "omx_delay_params.h",
9
+ "prefix": "OMX_DELAY",
10
+ "source": "FX_DELAY_TIME_RANGE, FX_DELAY_FEEDBACK_RANGE, DELAY_MIX_RANGE for kind input, DELAY_TONE_RANGE, FX_DELAY_PINGPONG_DEFAULT",
11
+ "params": [
12
+ {
13
+ "symbol": "timeMs",
14
+ "from": "FX_DELAY_TIME_RANGE",
15
+ "scale": "linear",
16
+ "since": "1.0.0"
17
+ },
18
+ {
19
+ "symbol": "feedback",
20
+ "from": "FX_DELAY_FEEDBACK_RANGE",
21
+ "scale": "linear",
22
+ "since": "1.0.0"
23
+ },
24
+ {
25
+ "symbol": "mix",
26
+ "from": "DELAY_MIX_RANGE",
27
+ "forKind": "input",
28
+ "scale": "linear",
29
+ "since": "1.0.0"
30
+ },
31
+ {
32
+ "symbol": "tone",
33
+ "from": "DELAY_TONE_RANGE",
34
+ "scale": "linear",
35
+ "since": "1.0.0"
36
+ },
37
+ {
38
+ "symbol": "pingpong",
39
+ "from": "FX_DELAY_PINGPONG_DEFAULT",
40
+ "flags": [
41
+ "toggle"
42
+ ],
43
+ "scale": "linear",
44
+ "since": "1.0.0"
45
+ }
46
+ ]
47
+ }
48
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "../schema/omx-contract.schema.json",
3
+ "BUTTERWORTH_Q": {
4
+ "kind": "scalar",
5
+ "doc": "The Q of a second-order Butterworth section, 1/√2 — maximally flat, the one value every Butterworth biquad in the tree designs at: the LR4 crossover section, the pitch pre-filter and the drive's tilt / band / HF sections, in TS and (as `OMX_BUTTERWORTH_Q`) in C (§7, the scalar door).",
6
+ "unit": "",
7
+ "value": {
8
+ "derive": "sqrt",
9
+ "of": 0.5
10
+ }
11
+ },
12
+ "ALLPASS_LIMITS": {
13
+ "kind": "sheet",
14
+ "doc": "ALLPASS_LIMITS, moved from openmixer.",
15
+ "value": {
16
+ "unityTolerance": 0.0001
17
+ }
18
+ },
19
+ "XOVER_LIMITS": {
20
+ "kind": "sheet",
21
+ "doc": "XOVER_LIMITS, moved from openmixer.",
22
+ "value": {
23
+ "lr2SectionQ": 0.5,
24
+ "lr4SectionQ": {
25
+ "ref": "BUTTERWORTH_Q"
26
+ },
27
+ "partitionTolerance": 0.00001
28
+ }
29
+ },
30
+ "FDELAY_MOD_READ_ORDER": {
31
+ "kind": "scalar",
32
+ "doc": "The order the chorus and flanger construct their lines with (four taps; the fdelay spec §1).",
33
+ "unit": "",
34
+ "value": 3
35
+ },
36
+ "FDELAY_READ_L1_NORM": {
37
+ "kind": "scalar",
38
+ "doc": "`Λ` for the chorus/flanger read — ONE value; the header and every law read this.",
39
+ "unit": "",
40
+ "value": {
41
+ "derive": "lagrangeReadL1",
42
+ "order": {
43
+ "ref": "FDELAY_MOD_READ_ORDER"
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "../schema/omx-contract.schema.json",
3
+ "STANDARD_SAMPLE_RATES": {
4
+ "kind": "list",
5
+ "doc": "The standard sample rates (Hz) the desk recognises — the pro-audio superset. One source of truth for the clock controller's `clock.allowed-rates` seed, the force row's validation ceiling and the device-rate probe fallback. What the operator is OFFERED is always the DEVICE's own `supportedRates` (`2026-07-15-clock-rate-honest-force-rate.md`) — this is the ceiling a write is refused by, never a menu.",
6
+ "unit": "Hz",
7
+ "values": [
8
+ 44100,
9
+ 48000,
10
+ 88200,
11
+ 96000,
12
+ 176400,
13
+ 192000
14
+ ]
15
+ },
16
+ "RT_HARD_TARGET": {
17
+ "kind": "sheet",
18
+ "doc": "THE declaration: 192 kHz at quantum 128.",
19
+ "value": {
20
+ "rate": 192000,
21
+ "quantum": 128
22
+ }
23
+ },
24
+ "DSP_KNOB_REFERENCE_RATE": {
25
+ "kind": "scalar",
26
+ "doc": "The rate a unit-range DSP knob is quoted at (R-058): the rate this desk runs (ruling 2026-09-14). A kernel raises the knob to `REF / sr`, so at this rate the exponent is exactly 1 and the response is bit-for-bit the one cut before the law. Emitted to C as `OMX_DSP_KNOB_REFERENCE_RATE`; the reverb damping and FX-delay tone references `#define` from it.",
27
+ "unit": "Hz",
28
+ "value": 96000
29
+ }
30
+ }