Skip to content

Releases: FreeMixer/omx-plugins

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 05:39
v0.11.0
9fa28d2
  • meter-level: level meters bit for bit, the gain reduction within 1e-4 dB
  • qualify-release: read plugin-qualify's qualification records
  • 0.11.0 changelog: the merged changes and the omx-dsp 0.24.0 and omx-contract 2.16.0 floors
  • ci: omx-dsp-copy-check --enforce, so no source carries a copy of an omx-dsp function again
  • packaging: floor omx-dsp at 0.24.0, the release with omx_meter_level_db
  • faces: a level meter reads through omx_meter_level_db
  • meter-level: a digest of the level meters' values, before they read from omx-dsp
  • oracles: take the rates from OMX_ORACLE_FULL_RATES_* (#177)
  • omx-contract floor 2.16.0, where OMX_ORACLE_FULL_RATES_* first exists (#177)
  • omx-contract.mjs: build the EQ default probe in a private directory and rename it into place (#195)
  • faces: the level meter reads omx-dsp's peak and dB, g_level_db's own copies are gone (#169)
  • test: sabotage arms for clap-params-check, panel-check, clap-ext-check and port-groups-check (#172)
  • clap-crosscheck: a map with more than 256 rules or caps is refused, not written past the table (#190)
  • strip-crosscheck: the low-pass above 0.6 of Nyquist is a declared gap, the rest is green (#190)
  • contract-union test: the fake CLI is a .mjs file, so node 18 loads its ES module syntax (#187)
  • omx-contract.mjs: render the union into a private directory, read it by content name (#187)
  • gen: the LV2 faces state dBFS, dBu, LUFS, dB/oct, x and min (#171)
  • strip-crosscheck: build the hand-ported strip against the omx-dsp and omx-contract it pinned (#130)
  • Release 0.11.0: factory presets
  • install-devel: ship test plugins' generated decl headers too
  • presets: hold the catalogue presets to their measured figures through the DSP (#152)
  • README: say where the factory presets are and how they are made
  • packaging: install the factory presets with the omx-plugins package
  • presets: 120 factory presets for the 19 plugins
  • presets: a generator and a checker for factory preset files

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 19:49
v0.10.0
0e8d08b
  • Release 0.10.0: plugins described in omx-contract's words, faces checked against them; omx-contract 2.15.0 and omx-dsp 0.22.0
  • debian: with no omx-contract command, skip the generator checks and say so
  • eq-identity, the EQ default probe: the EQ's names are omx-dsp's
  • descriptor-view: from omx-contract 2.15.0 on, a schema not found is red
  • omx-contract: a union render carries its owners beside it
  • packaging: build with the omx-contract command, the package that installs it
  • omx-contract: read a 2.15 contract directory through the CLI's union render
  • face-descriptor: our built faces, scanned, against the authored descriptor
  • descriptor-view: each descriptor holds to omx-contract's descriptor words
  • plugins: every single-kernel plugin described in omx-contract's words
  • omx-delay: described in omx-contract's words, its declaration the extras
  • gen: a plugin's declaration may be the view of its descriptor
  • docs: the declaration as a view of the plugin descriptor
  • omx-transient: generated faces follow its family none
  • omx-transient: no dynamics family; a declared family stands on its meanings (#138)
  • panel-description: lay a panel out from a plugin descriptor of any origin (#145)
  • docs: a panel laid out from a plugin descriptor, its widget step and its family from meanings
  • private-refs-check: self-test arms only the dated-filename and dated-citation patterns can catch
  • Refuse AI-attribution lines in commit messages: commit-msg hook and a pull request check
  • qualify-release: read plugin-qualify.rt-safety/1 and /2, refuse an unknown schema
  • ci: the package jobs hand static-table-host the test plugins' ids (#162)
  • omx-test-note-echo: a test instrument, one note out per note in (#162)
  • omx-test-transport-probe: a test probe that records each block's transport (#162)
  • omx-test-sine-voice: a test instrument, one sine per held note (#162)
  • Test plugins: a declaration's "role": "test" links a face and installs nothing (#162)
  • tools: the declaration schema's validator in a module of its own (#162)

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 05:27
v0.9.0
f3f3892
  • Release 0.9.0: the changelog names the pitch units
  • README, BUILDING.md: pitch travel with its units; omx-contract 2.12.0 or later
  • omx pitch: the oracle's plan and one-step sabotage use whole semitones
  • packaging: build against omx-contract 2.12.0 or later
  • omx pitch: generated faces follow omx-contract 2.12.0
  • tools: the semitone unit (st) of omx-contract 2.12.0 maps to semitone12TET
  • Release 0.9.0: coherent meters, comp and de-esser levels, qualify-gated release; version and changelogs
  • tools: qualify-release.sh carries a self-test, and a suitable rating whose rtSafe is not true refuses
  • release: the RPM and DEB jobs wait for the qualify job, so no release goes out without a suitable verdict for every plugin (openmixer#1476)
  • tools: qualify-release.sh builds the tree and refuses unless plugin-qualify's RT-safety document for every .clap says suitable (openmixer#1476)
  • omx comp reports its gain reduction and its input and output levels, every meter coherent
  • Coherent meters: the faces publish every meter through the ring; the de-esser reports its input and output levels
  • include/omx_meter_ring.h: three copies and one word, so a meter read never mixes two blocks
  • Include omx-clap-core's installed clap_meters.h, delete the second copy (#119)

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:53
v0.8.0
1a0aecb
  • Release 0.8.0: dependencies are a floor only; version and changelogs
  • param contract: OMX_CLAP_UNIT_LUFS = 0x103 joins the vendor block (#140)
  • Library dependencies are a floor only: no ceiling in the spec, debian/control or omxplugins.pc
  • ci: the shared release workflow also reads the run it reports on (actions: read)
  • ci: the dry-run job allows the issue-opening step of the shared release workflow
  • release: allow the shared workflow to open an issue when a release fails

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 03:51
v0.7.0
ea2d35c
  • omx-drive: hfRolloff is the contract's roll-off id (off, 12 kHz, 16 kHz), regenerated against omx-contract 2.11.0 (omx-dsp#97)
  • Widen the omx-contract range to >= 2.11.0, < 2.12 (omx-dsp#97)
  • README: the drive's oversampling and the gate's key filter rows, generated
  • omx keyed-gate: key high-pass and low-pass; omx strip fixes them off
  • omx drive: the oversample control, bound to the instance face
  • Build against omx-dsp 0.18: floor 0.18.0, ceiling below 0.19
  • Drop the pin file; tools/deps-check.sh holds the packaging ranges
  • tools: read omx-contract from the installed package, in the spec's range
  • Makefile: take the omx-dsp and omx-contract ranges from the spec
  • packaging: omx-dsp >= 0.17.0, < 0.18 and omx-contract >= 2.10.1, < 2.11
  • omx transient: a thread the arms oracle cannot start is a failed arm, never joined (#36)
  • private-refs-check: catch docs/design and harness paths, and fail when git grep fails
  • omx transient: the arms oracle names no private source, only what it tests (#36)
  • omx deesser: its declaration in the schema's key order, meters after portHints
  • gen: the plugin Makefiles' OMXDSP_MIN follows the omx-dsp pin, 0.15.0
  • Release 0.7.0: omx-dsp 0.15.0, and manuals from the contract; version and changelogs
  • ci: fail on pointers into private repositories, issues, branches and paths
  • Public sources state the facts, not pointers into private specs, issues and paths
  • test: a travel moved in omx-contract moves the manuals (#104)
  • declarations: the manuals read their ranges and defaults from the parameters (#104)
  • gen: fill a manual's range, default and limits from its parameters (#104)
  • omx transient: the engine's transient arms as an oracle on both faces at the nine RME rates (#36)
  • gen: a declaration's oracles are built and run on both faces in make test (#36)
  • docs: a declaration names the oracles moved with its effect from the engine (#36)

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 08:20
v0.6.0
c7bd13c
  • Release 0.6.0: omx-dsp 0.13.0, omx-contract 2.6.0, and omx comp's detector topology; version and changelogs (#125)
  • selftest: the settled chain names the detector topology's two values (#125)
  • Build against omx-dsp 0.13.0 and omx-contract 2.6.0; omx comp takes the detector topology (#125)
  • tools: say what the first meters-abi sabotage really does
  • ci: install diffutils for make meters-abi
  • tools: check include/omx_clap_meters.h against omx-clap-core's clap_meters.h (#119)

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 13 Oct 03:37
v0.5.1
fb614f9
  • Release 0.5.1: omx deesser reports its gain reduction; version and changelogs (#121)
  • omx deesser: the oracle holds the meter to the kernel at every rate (#117)
  • omx deesser: the CLAP face reports the kernel's gain reduction per block (#117)
  • omx deesser: declare its gain-reduction meter (#117)
  • gen: a declaration's meters, served through clap.meters/1 and checked by the oracle (#117)
  • Spec: a plugin's meters through clap.meters/1, declared in its declaration (#117)

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 14:49
v0.5.0
bf7f107
  • Release 0.5.0: omx pitch reports its latency; version and changelogs (#110)
  • omx pitch: the latency at full mix is where the impulse lands, 0 at half mix (#110)
  • oracle: the declaration's latency checks, an impulse through both faces at every rate (#110)
  • CLAP faces: the latency changes only at activation, after a restart asked once (#110)
  • Pin omx-dsp 0.6.0, whose pitch face reports its latency (#110)
  • Declarations: console comments in plain words, no source symbols
  • gen: a released parameter list is read from the parameter table alone (#107)
  • gen: a released parameter list is read from the parameter table alone (#107)
  • docs: BUILDING names look.mjs and its token source (#105)
  • schema: the panel is declared once; console.panel is gone, a second copy is refused (#100)
  • plugins: MOD GUIs regenerated, selectors named selector (#101)
  • build: make test and CI check look.json against its tokens (#105)
  • plugins: one panel per declaration, the console's sections and graphs folded into it (#100)
  • tools: modgui-gen reads the schema's widgets, honours panel.widgets and draws a fader (#101)
  • tools: look.json is generated from tools/look/tokens.css by look.mjs (#105)
  • schema: the shared widgets are the console's names, selector where choice was (#101)
  • plugins: every panel declares a family and roles of the console's vocabulary (#99)
  • schema: panel.family and panel.roles are the console's closed set, a declaration outside it is refused (#99)
  • tools: a variant's per-band role names every band's parameter (#99)
  • panel description: a panel family the extension has no place for is none (#107)
  • panel description: a panel family the extension has no place for is none (#107)
  • test: the CLAP face's contract, pages and placement defaults read back against the declaration (#102)
  • faces: CLAP serves param-contract/1, remote controls and track-info from the declaration (#102)
  • panel description: the contract's per-placement defaults, and the sections as remote-control pages (#102)
  • param contract: every plugin's rows of org.openmixer.param-contract/1, from its declaration (#102)
  • omx-contract reader: a travel's per-kind defaults reach the resolved parameters (#102)
  • test: each built face's panel description read back as a host reads it, against the declaration (#107)
  • faces: CLAP and LV2 serve org.openmixer.panel-description/1 from the generated rows (#107)
  • panel description: every plugin's rows of org.openmixer.panel-description/1, from its declaration (#107)
  • declarations: the EQ, keyed gate and drive panels name the graph drawn over them (#107)
  • test: the LV2 port groups read back through lilv against the declaration (#103)
  • LV2 faces: one port group per panel section, each section's parameters in it (#103)
  • Declarations: the console stage comments name no private branch or file

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 15:43
v0.4.0
5793036
  • Release 0.4.0: libomxplugins; version and changelogs
  • docs: BUILDING and README describe libomxplugins and its table (#98)
  • packaging: the devel packages ship libomxplugins.a and omxplugins.pc (#98)
  • recipe: every plugin is listed in libomxplugins' table (#98)
  • test: a C host links libomxplugins through omxplugins.pc and opens every plugin (#98)
  • build: make builds libomxplugins.a and install-devel installs it with omxplugins.pc (#98)
  • lib: the static table lists every shipped plugin's CLAP entry (#98)
  • tools: gen fills libomxplugins' table of CLAP entries from every shipped plugin (#98)
  • docs: the Zynthian tarball, where it comes from and where its bundles go
  • release: a Zynthian tarball repacked from the bookworm arm64 DEBs

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 10:03
v0.3.0
d0aad4c
  • ci: the recipe selftest runs in its own job beside make test
  • changelogs: 0.3.0 brings omx comp
  • omx comp: version 0.3.0, with the rest of the tree
  • selftest: a swap named in shippedDiff generates; only the unchanged list is checked fresh
  • selftest: the chain arm settles its console placement and the panel of its settled elements
  • wizard: a drafted chain declares its panel, one section per element, and its console placement
  • docs: a chain element's band counts and a fixed control's sheet default
  • Release 0.3.0: version, changelogs; omx-strip's parameter list changed
  • test: the strip cross-check map carries its SPDX line
  • make strip-crosscheck: the chain strip against the hand-ported one, from the top Makefile
  • selftest: a chain held to a released tag, refused when it moves, accepted when named, said when unread
  • wizard: the panel check reads in the present tense
  • omx strip: its EQ exposes the four bands omx-contract declares for it, on the eq8 face
  • gen: an element exposes its contract band count on a face compiled at another; a fixed default names its sheet
  • gen, recipe selftest: two comments in the present tense
  • port hints: the assembled view is a build product, untracked as .gitignore says
  • omx comp: the pinned port hints
  • omx comp: in the README's catalogue
  • omx comp: the kernel-identity test
  • packaging: omx comp in omx-plugins-clap and omx-plugins-lv2
  • test: strip-crosscheck builds the newest strip that is not yet a chain
  • docs: a plugin made of several kernels, a chain
  • test: strip-crosscheck, the chain strip against the hand-ported one it replaced
  • omx strip: its README section and catalogue row
  • omx strip: the identity test against its chain of faces, generated
  • omx strip: CLAP and LV2 faces and the chain binding, generated; the hand-ported core goes
  • omx strip: the generated parameter header, LV2 description, MOD GUI and pinned port hints
  • omx strip: its declaration as a chain of the console's faces, trim, filters, gate, EQ and comp
  • test: clap-crosscheck, two built CLAP plugins bit for bit at the same settings
  • selftest: a chain of eq, gate and comp, drafted, written, tested, its core sabotaged
  • clap-probe: live also tries every other toggle on with one travel at either end
  • gen: an element fixes a control at its default, per band too; a chain's plan engages every element
  • Pin omx-contract 2.3.0 and omx-dsp 0.5.2, the releases with the trim kernel and its face
  • docs: the wizard drafts the panel, the console placement and the port-hint pin
  • declarations: every plugin declares its console block, as the console draws it today
  • declarations: every plugin declares its panel, today's MOD GUI
  • perturb: a composite's reference finds its kernel through omx-contract
  • wizard: --from-contract k1,k2,... drafts a chain
  • recipe: a chain owes what an instance plugin owes, its params read from its elements
  • gen: binding: chain, each element bound to its own instance face
  • schema: a composite plugin, binding: chain, its elements, order and key
  • port hints: the pin lives in the declaration, plugins//port-hints.json goes
  • omx comp: CLAP and LV2 faces in plain C over omx-dsp's comp kernel
  • omx comp: the generated parameter header and LV2 description
  • omx comp: its declaration, parameters by reference to the comp kernel
  • Pin omx-dsp 0.5.1; the gate binds its knee range, the strip and the checks follow omx-dsp 0.5
  • port hints: the EQ variants' whole-EQ switch is the host's bypass
  • omx eq: its variants in the README
  • omx eq: the kernel-identity test of each variant
  • omx eq: CLAP and LV2 faces in plain C over omx-dsp's eq kernel, for each variant
  • omx eq: the generated parameter headers, LV2 descriptions and MOD GUIs of its three variants
  • omx eq: one declaration for omx-eq8, omx-eq16 and omx-eq32, parameters by reference to the eq kernel
  • gen: one declaration for plugins that differ in a band count (variants)
  • gen: a control taken once per band binds as one array argument
  • port hints: omx delay's time under the contract's control name
  • omx delay: the kernel-identity test
  • packaging: omx-plugins-devel carries omx delay's binding, omx_delay_core.h
  • omx delay: CLAP and LV2 faces in plain C over omx-dsp's delay kernel
  • omx delay: the generated parameter header, LV2 description and MOD GUI
  • omx delay: its declaration, parameters by reference to the delay kernel
  • recipe selftest: omx-drive's binding is generated; delay and chorus have faces
  • port hints: omx drive's ports under the contract's control names
  • omx drive: in the README's catalogue
  • omx drive: the kernel-identity test
  • omx drive: CLAP and LV2 faces in plain C over omx-dsp's drive kernel
  • omx drive: the generated parameter header, LV2 description and MOD GUI
  • omx drive: its declaration, parameters by reference to the drive kernel
  • omx-contract.mjs: a set whose ids are exactly off, on is a toggle
  • Pin omx-contract 2.2.0 and omx-dsp 0.5.0
  • omx-limiter: regenerate its Makefile, manifest and MOD GUI (stale after #85 met #86)
  • port hints: omx-limiter's hints move to its own file (#60)
  • omx limiter: in the README's catalogue
  • omx limiter: the kernel-identity test
  • packaging: omx limiter in omx-plugins-clap and omx-plugins-lv2
  • omx limiter: CLAP and LV2 faces in plain C over omx-dsp's limiter kernel
  • omx limiter: the generated parameter header and LV2 description
  • omx limiter: its declaration, parameters by reference to the limiter kernel
  • docs: the identity test's plan reaches every control
  • gen: the identity plan reaches every control
  • clap-probe live: quiet gaps in the signal, and every value of every other choice
  • port hints: omx geq pins its hints
  • omx geq: in the README's catalogue
  • omx geq: the kernel-identity test
  • packaging: omx geq in omx-plugins-clap and omx-plugins-lv2
  • omx geq: CLAP and LV2 faces in plain C over omx-dsp's geq kernel
  • omx geq: the generated parameter header, LV2 description and MOD GUI
  • omx geq: its declaration, parameters by reference to the geq kernel
  • gen: a control taken once per band binds as one array argument
  • generated plugins: their Makefiles generate and check the MOD GUI
  • generated plugins: transient, tremolo, phaser, rotary and pitch carry their MOD GUI
  • modgui: every generated plugin has its MOD GUI, choices drawn as selectors
  • omx de-esser: in the README's catalogue
  • omx de-esser: the kernel-identity test
  • packaging: omx de-esser in omx-plugins-clap and omx-plugins-lv2
  • omx de-esser: CLAP and LV2 faces in plain C over omx-dsp's de-esser kernel
  • omx de-esser: the generated parameter header and LV2 description
  • omx de-esser: its declaration, parameters by reference to the deesser kernel
  • recipe-selftest: the face of another shape and the paid debt are written in the test
  • omx reverb: in the README's catalogue
  • omx reverb: the kernel-identity test
  • packaging: omx reverb in omx-plugins-clap and omx-plugins-lv2
  • omx reverb: CLAP and LV2 faces in plain C over omx-dsp's reverb kernel
  • omx reverb: the generated parameter header and LV2 description
  • omx reverb: its declaration, parameters by reference to the reverb kernel
  • omx-contract.mjs: a kernel's controls come from the render alone
  • recipe-selftest: the face of another shape and the paid debt are written in the test
  • omx flanger: in the README's catalogue
  • omx flanger: the kernel-identity test
  • packaging: omx flanger in omx-plugins-clap and omx-plugins-lv2
  • omx flanger: CLAP and LV2 faces in plain C over omx-dsp's flanger kernel
  • omx flanger: the generated parameter header and LV2 description
  • omx flanger: its declaration, parameters by reference to the flanger kernel
  • docs: the identity test holds a control that re-arms
  • gen: the identity oracle holds a control that re-arms at its default
  • omx-contract.mjs: read a kernel's controls from the render's kernels
  • pins: omx-contract 2.1.0 and omx-dsp 0.4.1
  • recipe-selftest: the face of another shape and the paid debt are written in the test
  • omx chorus: in the README's catalogue
  • omx chorus: the kernel-identity test
  • packaging: omx chorus in omx-plugins-clap and omx-plugins-lv2
  • omx chorus: CLAP and LV2 faces in plain C over omx-dsp's chorus kernel
  • omx chorus: the generated parameter header and LV2 description
  • omx chorus: its declaration, parameters by reference to the chorus kernel
  • recipe-selftest: the face of another shape and the paid debt are written in the test
  • omx keyed-gate: the generated kernel-identity test, keyed and unkeyed
  • omx keyed-gate: CLAP and LV2 faces and the binding generated from the declaration
  • omx keyed-gate: its declaration is the folder's one hand-written file, bound to the gate's instance face
  • gen: keyed instance faces; CLAP latency as the values give it
  • port hints: one file per plugin, the shared view generated (#60)
  • omx pitch: in the README's catalogue
  • omx pitch: the kernel-identity test
  • packaging: omx pitch in omx-plugins-clap and omx-plugins-lv2
  • omx pitch: CLAP and LV2 faces in plain C over omx-dsp's pitch kernel
  • omx pitch: the generated parameter header and LV2 description
  • omx pitch: its declaration, parameters by reference to the pitch kernel
  • Pin omx-dsp 0.4.0, built against omx-contract 2.0.0
  • omx rotary: in the README's catalogue
  • omx rotary: the kernel-identity test
  • packaging: omx rotary in omx-plugins-clap and omx-plugins-lv2
  • omx rotary: CLAP and LV2 faces in plain C over omx-dsp's rotary kernel
  • omx rotary: the generated parameter header and LV2 description
  • omx rotary: its declaration, parameters by reference to the rotary kernel
  • clap-probe live: a fifth setting moves the other choices to their far value, so a rate behind a speed switch is heard
  • recipe selftest: its stand-in kernel is wobble, so a real tremolo plugin in the tree does not collide with it
  • omx phaser: in the README's catalogue
  • omx tremolo: in the README's catalogue
  • omx phaser: the kernel-identity test
  • omx tremolo: the kernel-identity test
  • packaging: omx phaser i...
Read more