Skip to content

Qualify instruments by playing them, and add an omx-clap-host / plugin-hostd host profile #72

Closed
0 of 3 issues completed

Description

@linuxnow

What is missing. Qualification never plays an instrument, and it has no host profile for omx-clap-host or plugin-hostd.

Why it matters. An instrument with no notes is silent and cheap: its real-time safety and its cost are only seen while voices play. A synth that allocates memory on note on would pass today. And a user of plugin-hostd gets verdicts measured against the console's profile (no instruments, six host extensions), not against the host they run.

Evidence (origin/main).

  • native/clap-qualify.c builds only CLAP_EVENT_PARAM_VALUE events (line 342); no note event is ever sent. noteInputs is only counted (lines 441, 915-916).
  • The LV2 measurer has no MIDI feed (git grep -n midi native/ finds none).
  • HOST_PROFILES is [OPENMIXER_CONSOLE_PROFILE, JALV_PROFILE, MOD_HOST_PROFILE] (src/host-profiles.ts 117). omx-clap-host adds clap.preset-load, clap.track-info, clap.remote-controls and admits instruments (omx-clap-core src/effects.c 724-740), which no profile mirrors.

Where it plugs in. plugin-qualify: the native measurers (a note pattern during the RT and cost arms), a new profile, and the hosting codes.

Done when.

  1. A fixture CLAP instrument that calls malloc on note on is marked not real-time safe; the same fixture without the malloc passes (sabotage pair).
  2. The same for an LV2 instrument fixture fed MIDI through an atom port.
  3. The cost arm reports the cost with a fixed chord held, at every declared rate.
  4. A omx-clap-host profile exists, its extension list is tested equal to omx-clap-core's clap_host_extensions.h plus the three configured ones, and an instrument reads suitable under it and unsuitable under openmixer-console.

Activity

  1. linuxnow commented on Oct 16, 2026

    @linuxnow
    ContributorAuthor

    Done: PR #81 (b9a7245) qualifies instruments by playing them (chord, bend, controller, pressure, a 32-note burst, all notes off, at every rate, in CLAP or MIDI dialect) under its own real-time count, adds the omx-clap-host host profile and the plugin-qualify.rt-safety/2 document. Follow-ups that remain open: #77 (LV2 instruments fed MIDI), #78 (cost with a chord held), #79 (the full classifier reading the note sweep), #80 (clap-loader test reading the image's plugin directory).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important — fix this month

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions