@prefix trn:  <http://purl.org/stuff/transmissions/> .
@prefix pu:   <http://purl.org/stuff/plugin-universe/> .
@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

## Extensions to the trn: vocabulary made by Plugin Universe.
##
## These are additions to http://purl.org/stuff/transmissions/, not a fork.
## Nothing here redefines an existing trn: term.
##
## **The formats below have been proposed upstream and adopted.** They live in
## ~/github/transmission/vocabs/formats.ttl, which is what that namespace has
## actually served since 2026-09-18 — the PURL resolves and every term 303s to
## it. This file keeps its copy because vocabs/shapes.ttl validates against it
## here, so the two are a pair that can drift, and each repository watches the
## direction that costs it: transmission's tests/vocab/site.test.js fails on a
## term declared here and missing there, and tests/rdf/trn-formats.test.js fails
## on one declared there and missing here — which would be a format the shapes
## refuse although the published vocabulary blesses it. Both skip, and say so,
## when the sibling checkout is absent.
##
## A new trn: term goes upstream first now. This file is for the interval
## between proposing one and its being adopted, and for nothing else.

## ── Plugin formats ──────────────────────────────────────────────────────────
## valis improvises this as val:formats "VST3" string literals. Typed
## individuals let a query ask for LV2 plugins without matching on strings.

trn:PluginFormat a owl:Class ; rdfs:label "Plugin Format" .

trn:VST3       a trn:PluginFormat ; rdfs:label "VST3" .
trn:VST2       a trn:PluginFormat ; rdfs:label "VST2" .
trn:CLAP       a trn:PluginFormat ; rdfs:label "CLAP" .
trn:AudioUnit  a trn:PluginFormat ; rdfs:label "Audio Unit" .
trn:AudioUnitV3 a trn:PluginFormat ; rdfs:label "Audio Unit v3" .
trn:LV2        a trn:PluginFormat ; rdfs:label "LV2" .
trn:LADSPA     a trn:PluginFormat ; rdfs:label "LADSPA" .
trn:AAX        a trn:PluginFormat ; rdfs:label "AAX" .
trn:Standalone a trn:PluginFormat ; rdfs:label "Standalone" .

## A browser plugin built on the Web Audio Modules standard: the processor is
## JavaScript on an AudioWorklet and the signal processing is WebAssembly,
## loaded as a WAM rather than fetched from the plugin's own IRI. A specific
## format rather than a generic technology, so the catalogue can say "WAM" the
## way it says "VST3" — and distinct from "Jig", which is the JigDAW format.
## Proposed upstream first, per the header above.
trn:WAM        a trn:PluginFormat ; rdfs:label "WAM" .

## A JigDAW plugin: a profile typed `jig:WebPlugin`, fetched from the plugin's
## own IRI and verified by digest before anything runs. A specific format
## rather than the generic technology it is built on, so the catalogue can say
## "Jig" the way it says "VST3" — which is what a JigDAW profile declares with
## `trn:format trn:Jig`. Proposed upstream first, per the header above; the
## copy in transmission/vocabs/formats.ttl is the one that is served.
trn:Jig        a trn:PluginFormat ; rdfs:label "Jig" .

trn:format a owl:ObjectProperty ; rdfs:range trn:PluginFormat ;
    rdfs:label "format" ;
    rdfs:comment "A plugin format this plugin is built for." .

## ── Deprecations ────────────────────────────────────────────────────────────
## Terms in use across downspout that the catalogue normalises away. Recorded
## here so the normaliser has something to point at, and so nobody reintroduces
## them by copying an existing profile.

trn:min     owl:deprecated true ; rdfs:comment "Use lv2:minimum. Downspout uses trn:min and trn:minimum inconsistently; both are retired." .
trn:max     owl:deprecated true ; rdfs:comment "Use lv2:maximum." .
trn:minimum owl:deprecated true ; rdfs:comment "Use lv2:minimum." .
trn:maximum owl:deprecated true ; rdfs:comment "Use lv2:maximum." .
trn:hasParameter owl:deprecated true ; rdfs:comment "Typo for trn:parameter; parameters now use lv2:port." .
trn:MIDI    owl:deprecated true ; rdfs:comment "Typo for trn:Midi." .
trn:WebAudio owl:deprecated true ; rdfs:comment "Use trn:Jig. Profiles in the wild declare trn:WebAudio for JigDAW plugins; the normaliser maps it on the way in." .
