@openmixer/omx-contract 1.0.0 → 1.1.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.
- package/README.md +9 -6
- package/data/kernels/deesser.json +93 -0
- package/data/kernels/flanger.json +51 -0
- package/data/kernels/geq.json +33 -0
- package/data/kernels/phaser.json +109 -0
- package/data/kernels/rotary.json +186 -0
- package/data/kernels/tremolo.json +54 -0
- package/dist/ts/omx-contract.d.ts +601 -47
- package/dist/ts/omx-contract.js +611 -56
- package/include/omxcontract/omx_contract_limits.h +180 -0
- package/lib/data.mjs +2 -25
- package/lib/fmt.mjs +1 -3
- package/lib/semver.mjs +17 -16
- package/lib/validate.mjs +1 -16
- package/package.json +1 -1
- package/render/c.mjs +6 -16
- package/render/doors.mjs +2 -3
- package/render/ts.mjs +1 -2
- package/schema/omx-contract.schema.json +6 -36
- package/share/omx-contract/omx-contract.json +657 -52
- package/data/plugins/delay.json +0 -48
- package/include/omxcontract/params/omx_delay_params.h +0 -47
- package/include/omxcontract/params/omx_plugin_param.h +0 -25
package/data/plugins/delay.json
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
// Copyright (C) 2026 Pau Aliagas <linuxnow@gmail.com>
|
|
3
|
-
#ifndef OMX_DELAY_PARAMS_H
|
|
4
|
-
#define OMX_DELAY_PARAMS_H
|
|
5
|
-
/*
|
|
6
|
-
* GENERATED — DO NOT EDIT BY HAND.
|
|
7
|
-
* Produced by `omx-contract render --target c` from FreeMixer/omx-contract's data/plugins/delay.json
|
|
8
|
-
* (DELAY_PLUGIN): FX_DELAY_TIME_RANGE, FX_DELAY_FEEDBACK_RANGE, DELAY_MIX_RANGE for kind input, DELAY_TONE_RANGE, FX_DELAY_PINGPONG_DEFAULT.
|
|
9
|
-
* Change the data, never this file. Order is append-only (omx-contract spec §3.3).
|
|
10
|
-
*/
|
|
11
|
-
#include "omx_plugin_param.h"
|
|
12
|
-
|
|
13
|
-
enum {
|
|
14
|
-
OMX_DELAY_PARAM_TIME_MS = 0,
|
|
15
|
-
OMX_DELAY_PARAM_FEEDBACK = 1,
|
|
16
|
-
OMX_DELAY_PARAM_MIX = 2,
|
|
17
|
-
OMX_DELAY_PARAM_TONE = 3,
|
|
18
|
-
OMX_DELAY_PARAM_PINGPONG = 4,
|
|
19
|
-
OMX_DELAY_PARAM_COUNT = 5
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
static const omx_plugin_param OMX_DELAY_PARAMS[OMX_DELAY_PARAM_COUNT] = {
|
|
23
|
-
{ "timeMs", "Time", "ms", 0.0f, 2000.0f, 300.0f, OMX_PLUGIN_PARAM_INTEGER },
|
|
24
|
-
{ "feedback", "Feedback", "", 0.0f, 0.99f, 0.3f, 0u },
|
|
25
|
-
{ "mix", "Mix", "", 0.0f, 1.0f, 0.3f, 0u },
|
|
26
|
-
{ "tone", "Tone", "", 0.0f, 1.0f, 0.3f, 0u },
|
|
27
|
-
{ "pingpong", "Pingpong", "", 0.0f, 1.0f, 0.0f, OMX_PLUGIN_PARAM_TOGGLE },
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/* One macro per declared bound: what a C face reads where a constant is needed. */
|
|
31
|
-
#define OMX_DELAY_PARAM_TIME_MS_MIN 0.0f
|
|
32
|
-
#define OMX_DELAY_PARAM_TIME_MS_MAX 2000.0f
|
|
33
|
-
#define OMX_DELAY_PARAM_TIME_MS_DEFAULT 300.0f
|
|
34
|
-
#define OMX_DELAY_PARAM_FEEDBACK_MIN 0.0f
|
|
35
|
-
#define OMX_DELAY_PARAM_FEEDBACK_MAX 0.99f
|
|
36
|
-
#define OMX_DELAY_PARAM_FEEDBACK_DEFAULT 0.3f
|
|
37
|
-
#define OMX_DELAY_PARAM_MIX_MIN 0.0f
|
|
38
|
-
#define OMX_DELAY_PARAM_MIX_MAX 1.0f
|
|
39
|
-
#define OMX_DELAY_PARAM_MIX_DEFAULT 0.3f
|
|
40
|
-
#define OMX_DELAY_PARAM_TONE_MIN 0.0f
|
|
41
|
-
#define OMX_DELAY_PARAM_TONE_MAX 1.0f
|
|
42
|
-
#define OMX_DELAY_PARAM_TONE_DEFAULT 0.3f
|
|
43
|
-
#define OMX_DELAY_PARAM_PINGPONG_MIN 0.0f
|
|
44
|
-
#define OMX_DELAY_PARAM_PINGPONG_MAX 1.0f
|
|
45
|
-
#define OMX_DELAY_PARAM_PINGPONG_DEFAULT 0.0f
|
|
46
|
-
|
|
47
|
-
#endif /* OMX_DELAY_PARAMS_H */
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/* SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
* Copyright (C) 2026 Pau Aliagas <linuxnow@gmail.com>
|
|
3
|
-
*
|
|
4
|
-
* omx_plugin_param.h — the SHAPE of one generated plugin parameter, and nothing else: no number
|
|
5
|
-
* lives here. The rows are rendered by `omx-contract render --target c` into omx_<plugin>_params.h
|
|
6
|
-
* beside this file, from FreeMixer/omx-contract's data/plugins/ (omx-contract spec §4.2); a DPF
|
|
7
|
-
* plugin's initParameter reads them and types no range of its own.
|
|
8
|
-
*/
|
|
9
|
-
#ifndef OMX_PLUGIN_PARAM_H
|
|
10
|
-
#define OMX_PLUGIN_PARAM_H
|
|
11
|
-
|
|
12
|
-
/** A whole-number travel (declared `step` >= 1 over integer bounds). */
|
|
13
|
-
#define OMX_PLUGIN_PARAM_INTEGER 1u
|
|
14
|
-
/** A declared boolean: domain {0, 1}, the come-up value declared. */
|
|
15
|
-
#define OMX_PLUGIN_PARAM_TOGGLE 2u
|
|
16
|
-
|
|
17
|
-
typedef struct {
|
|
18
|
-
const char *symbol; /* the declared field name — the LV2 symbol, the CLAP param's identity */
|
|
19
|
-
const char *name; /* derived from the symbol, never a label table */
|
|
20
|
-
const char *unit;
|
|
21
|
-
float min, max, def;
|
|
22
|
-
unsigned flags;
|
|
23
|
-
} omx_plugin_param;
|
|
24
|
-
|
|
25
|
-
#endif /* OMX_PLUGIN_PARAM_H */
|