From ee522b1e03025ed537a906c20e9a7615a00638f7 Mon Sep 17 00:00:00 2001 From: Jeffrey Louden Date: Sun, 12 Jul 2026 16:19:27 -0400 Subject: [PATCH 1/2] feat(io): standardize io types and enforce the vocabulary schema/io-types.yaml was advisory -- unknown values warned but did not fail CI -- so the vocabulary drifted. Three distinct problems had accumulated: Spelling variants: spdif alongside s/pdif, wordclock and word-clock alongside word clock, aes3 and aes-ebu alongside aes/ebu. A consumer filtering on 'has S/PDIF' silently missed them. Connectors in the type field: Electro-Voice wireless receivers carried type: bnc with connection: bnc, where the ports are in fact RF antenna inputs. type is the signal; connection is the connector. Values too vague to query: audio, analog, digital, other -- 133 ports whose type said nothing the category field did not already say. Fix the data rather than alias it at read time. An alias map makes the wrong value canonical forever and hides the mistake from review, and the 23-value enum was never the right shape for aliasing anyway (contrast categories: 335 canonical + 262 aliases, where synonyms are real). - widen the vocabulary with 10 genuinely missing types - canonicalize 371 ports across 78 hardware entries - promote unknown io types to a hard error (E117) via the Zod IOSchema, matching how signalFlow, category, and position already behave - add the io.type enum to the generated JSON Schema for editor autocomplete Co-Authored-By: Claude Opus 4.8 (1M context) --- .changeset/olive-pandas-attack.md | 9 +++ data/hardware/allen-and-heath-cc-7-cc-10.yaml | 2 +- .../allen-and-heath-dlive-mixracks.yaml | 8 +-- .../allen-and-heath-dlive-surfaces.yaml | 22 +++---- data/hardware/allen-and-heath-dx164-w.yaml | 40 ++++++------ data/hardware/allen-and-heath-dx168.yaml | 4 +- data/hardware/allen-and-heath-gr4.yaml | 2 +- data/hardware/allen-and-heath-me-u.yaml | 2 +- data/hardware/allen-and-heath-qu-5.yaml | 2 +- data/hardware/allen-and-heath-qu-6.yaml | 2 +- data/hardware/allen-and-heath-qu-7.yaml | 2 +- data/hardware/allen-and-heath-xone24.yaml | 8 +-- data/hardware/allen-and-heath-xone43.yaml | 28 ++++----- data/hardware/austrian-audio-pb17.yaml | 2 +- data/hardware/austrian-audio-pg16.yaml | 2 +- data/hardware/bastl-instruments-1983.yaml | 18 +++--- data/hardware/bastl-instruments-abc.yaml | 16 ++--- data/hardware/bastl-instruments-aikido.yaml | 20 +++--- data/hardware/bastl-instruments-basil.yaml | 8 +-- data/hardware/bastl-instruments-buddy.yaml | 12 ++-- data/hardware/bastl-instruments-ciaoii.yaml | 8 +-- data/hardware/bastl-instruments-cinnamon.yaml | 8 +-- .../bastl-instruments-citadel-alchemist.yaml | 12 ++-- .../bastl-instruments-citadel-fx-wizard.yaml | 14 ++--- .../bastl-instruments-citadel-wave-bard.yaml | 14 ++--- data/hardware/bastl-instruments-crust.yaml | 4 +- .../bastl-instruments-cv-trinity-exp.yaml | 12 ++-- .../bastl-instruments-dark-matter.yaml | 8 +-- data/hardware/bastl-instruments-dup-dup.yaml | 20 +++--- data/hardware/bastl-instruments-dynamo.yaml | 10 +-- data/hardware/bastl-instruments-ikarie.yaml | 10 +-- data/hardware/bastl-instruments-klik.yaml | 4 +- .../bastl-instruments-knit-rider.yaml | 12 ++-- data/hardware/bastl-instruments-kompas.yaml | 8 +-- data/hardware/bastl-instruments-kong.yaml | 12 ++-- data/hardware/bastl-instruments-pizza.yaml | 10 +-- .../bastl-instruments-popcorn-cv-exp.yaml | 2 +- data/hardware/bastl-instruments-popcorn.yaml | 6 +- data/hardware/bastl-instruments-propust.yaml | 24 +++---- .../bastl-instruments-quattro-figaro.yaml | 24 +++---- data/hardware/bastl-instruments-sense.yaml | 4 +- data/hardware/bastl-instruments-servo.yaml | 4 +- data/hardware/bastl-instruments-skis-2.yaml | 12 ++-- data/hardware/bastl-instruments-softpop.yaml | 6 +- data/hardware/bastl-instruments-solenoid.yaml | 8 +-- data/hardware/bastl-instruments-tea-kick.yaml | 10 +-- data/hardware/bastl-instruments-timber.yaml | 6 +- data/hardware/bastl-instruments-tromso.yaml | 12 ++-- data/hardware/bastl-instruments-waver.yaml | 14 ++--- data/hardware/dbx-166ad.yaml | 4 +- data/hardware/dbx-166xl.yaml | 16 ++--- data/hardware/dbx-166xs.yaml | 16 ++--- data/hardware/dbx-2031.yaml | 16 ++--- data/hardware/dbx-215.yaml | 16 ++--- data/hardware/dbx-215s.yaml | 16 ++--- data/hardware/dbx-2215.yaml | 16 ++--- data/hardware/dbx-266xl.yaml | 16 ++--- data/hardware/dbx-266xs.yaml | 16 ++--- data/hardware/dbx-286a.yaml | 4 +- data/hardware/dbx-286s.yaml | 4 +- data/hardware/dbx-376.yaml | 10 +-- data/hardware/dbx-386.yaml | 16 ++--- data/hardware/electro-voice-r300-e.yaml | 4 +- data/hardware/electro-voice-r300-hd.yaml | 4 +- data/hardware/electro-voice-r300-l.yaml | 4 +- data/hardware/electro-voice-re3-bpcl.yaml | 4 +- data/hardware/electro-voice-re3-bpgc.yaml | 4 +- data/hardware/electro-voice-re3-bphw.yaml | 4 +- data/hardware/electro-voice-re3-bpnid.yaml | 4 +- data/hardware/electro-voice-re3-bpol.yaml | 4 +- data/hardware/electro-voice-re3-nd76.yaml | 4 +- data/hardware/electro-voice-re3-nd86.yaml | 4 +- data/hardware/electro-voice-re3-nd96.yaml | 4 +- data/hardware/electro-voice-re3-re520.yaml | 4 +- data/hardware/mackie-dlm12.yaml | 8 +-- data/hardware/mackie-dlz-creator.yaml | 8 +-- data/hardware/mackie-hr824mk2.yaml | 6 +- data/hardware/mackie-thrash215.yaml | 4 +- data/hardware/mackie-thump15v4.yaml | 4 +- docs/VALIDATION_ERRORS.md | 62 +++++++++++++------ schema/CONTEXT.md | 10 +++ schema/io-types.yaml | 30 +++++++-- schema/json/hardware.json | 37 ++++++++++- scripts/generate-json-schemas.ts | 3 +- scripts/lib/error-codes.ts | 5 ++ scripts/validate.ts | 30 +++++---- 86 files changed, 521 insertions(+), 407 deletions(-) create mode 100644 .changeset/olive-pandas-attack.md diff --git a/.changeset/olive-pandas-attack.md b/.changeset/olive-pandas-attack.md new file mode 100644 index 000000000..1d3ba8c14 --- /dev/null +++ b/.changeset/olive-pandas-attack.md @@ -0,0 +1,9 @@ +--- +"catalog": minor +--- + +Standardize `io[].type` across the catalog and enforce the vocabulary. Widen +`schema/io-types.yaml` with 10 real port types that were missing (`rf`, `hdmi`, +`gpio`, `insert`, `clock`, `bluetooth`, `wifi`, `video`, `ground`, +`proprietary`), canonicalize 371 ports across 78 hardware entries, and promote +unknown types from an advisory warning to a hard validation error (E117). diff --git a/data/hardware/allen-and-heath-cc-7-cc-10.yaml b/data/hardware/allen-and-heath-cc-7-cc-10.yaml index addd0d1e7..b100e726a 100644 --- a/data/hardware/allen-and-heath-cc-7-cc-10.yaml +++ b/data/hardware/allen-and-heath-cc-7-cc-10.yaml @@ -36,7 +36,7 @@ io: - name: DC Power (12V) signalFlow: input category: power - type: dc-power + type: power connection: barrel maxConnections: 1 position: Left diff --git a/data/hardware/allen-and-heath-dlive-mixracks.yaml b/data/hardware/allen-and-heath-dlive-mixracks.yaml index 92eab84a2..f13c44b90 100644 --- a/data/hardware/allen-and-heath-dlive-mixracks.yaml +++ b/data/hardware/allen-and-heath-dlive-mixracks.yaml @@ -770,14 +770,14 @@ io: - name: Wordclock BNC In (S Class) signalFlow: input category: digital - type: wordclock + type: word clock connection: bnc maxConnections: 1 position: Left - name: Wordclock BNC Out (S Class) signalFlow: output category: digital - type: wordclock + type: word clock connection: bnc maxConnections: 1 position: Left @@ -819,14 +819,14 @@ io: - name: Wordclock BNC In (C Class) signalFlow: input category: digital - type: wordclock + type: word clock connection: bnc maxConnections: 1 position: Left - name: Wordclock BNC Out (C Class) signalFlow: output category: digital - type: wordclock + type: word clock connection: bnc maxConnections: 1 position: Left diff --git a/data/hardware/allen-and-heath-dlive-surfaces.yaml b/data/hardware/allen-and-heath-dlive-surfaces.yaml index 43c247672..491672e78 100644 --- a/data/hardware/allen-and-heath-dlive-surfaces.yaml +++ b/data/hardware/allen-and-heath-dlive-surfaces.yaml @@ -86,14 +86,14 @@ io: - name: Wordclock BNC In (S Class) signalFlow: input category: digital - type: wordclock + type: word clock connection: bnc maxConnections: 1 position: Left - name: Wordclock BNC Out (S Class) signalFlow: output category: digital - type: wordclock + type: word clock connection: bnc maxConnections: 1 position: Left @@ -219,35 +219,35 @@ io: - name: Digital Stereo AES3 Input 1 (S Class) signalFlow: input category: digital - type: aes3 + type: "aes/ebu" connection: xlr maxConnections: 1 position: Left - name: Digital Stereo AES3 Input 2 (S Class) signalFlow: input category: digital - type: aes3 + type: "aes/ebu" connection: xlr maxConnections: 1 position: Left - name: Digital Stereo AES3 Output 1 (S Class) signalFlow: output category: digital - type: aes3 + type: "aes/ebu" connection: xlr maxConnections: 1 position: Left - name: Digital Stereo AES3 Output 2 (S Class) signalFlow: output category: digital - type: aes3 + type: "aes/ebu" connection: xlr maxConnections: 1 position: Left - name: Digital Stereo AES3 Output 3 (S Class) signalFlow: output category: digital - type: aes3 + type: "aes/ebu" connection: xlr maxConnections: 1 position: Left @@ -282,14 +282,14 @@ io: - name: Wordclock BNC In (C Class) signalFlow: input category: digital - type: wordclock + type: word clock connection: bnc maxConnections: 1 position: Left - name: Wordclock BNC Out (C Class) signalFlow: output category: digital - type: wordclock + type: word clock connection: bnc maxConnections: 1 position: Left @@ -387,14 +387,14 @@ io: - name: Digital Stereo AES3 Input (C Class) signalFlow: input category: digital - type: aes3 + type: "aes/ebu" connection: xlr maxConnections: 1 position: Left - name: Digital Stereo AES3 Output (C Class) signalFlow: output category: digital - type: aes3 + type: "aes/ebu" connection: xlr maxConnections: 1 position: Left diff --git a/data/hardware/allen-and-heath-dx164-w.yaml b/data/hardware/allen-and-heath-dx164-w.yaml index 75c289be5..e9351061a 100644 --- a/data/hardware/allen-and-heath-dx164-w.yaml +++ b/data/hardware/allen-and-heath-dx164-w.yaml @@ -28,112 +28,112 @@ io: - name: Mic/Line Input 1 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 2 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 3 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 4 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 5 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 6 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 7 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 8 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 9 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 10 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 11 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 12 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 13 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 14 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 15 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right - name: Mic/Line Input 16 signalFlow: input category: audio - type: mic-line + type: mic connection: xlr maxConnections: 1 position: Right @@ -168,28 +168,28 @@ io: - name: DX Port (Primary) signalFlow: bidirectional category: digital - type: dx-link + type: proprietary connection: ethercon maxConnections: 1 position: Right - name: DX Port (Redundant / Cascade) signalFlow: bidirectional category: digital - type: dx-link + type: proprietary connection: ethercon maxConnections: 1 position: Right - name: AC Mains Inlet signalFlow: input category: power - type: ac-power + type: power connection: iec maxConnections: 1 position: Left - name: DC 12V Backup Input signalFlow: input category: power - type: dc-power + type: power connection: dc-jack maxConnections: 1 position: Left diff --git a/data/hardware/allen-and-heath-dx168.yaml b/data/hardware/allen-and-heath-dx168.yaml index 54ddef728..80c72e7ff 100644 --- a/data/hardware/allen-and-heath-dx168.yaml +++ b/data/hardware/allen-and-heath-dx168.yaml @@ -210,14 +210,14 @@ io: - name: DX Link (Primary) signalFlow: bidirectional category: digital - type: proprietary-digital + type: proprietary connection: etherCON maxConnections: 1 position: Right - name: DX Link (Redundant / Daisy-chain) signalFlow: bidirectional category: digital - type: proprietary-digital + type: proprietary connection: etherCON maxConnections: 1 position: Right diff --git a/data/hardware/allen-and-heath-gr4.yaml b/data/hardware/allen-and-heath-gr4.yaml index a8fa9dbbb..4672cf748 100644 --- a/data/hardware/allen-and-heath-gr4.yaml +++ b/data/hardware/allen-and-heath-gr4.yaml @@ -99,7 +99,7 @@ io: - name: AC Mains Inlet (100-240V, 50/60Hz) signalFlow: input category: power - type: ac-power + type: power connection: iec-c6 maxConnections: 1 position: Left diff --git a/data/hardware/allen-and-heath-me-u.yaml b/data/hardware/allen-and-heath-me-u.yaml index 3ba2895d8..56a28dc04 100644 --- a/data/hardware/allen-and-heath-me-u.yaml +++ b/data/hardware/allen-and-heath-me-u.yaml @@ -48,7 +48,7 @@ io: - name: Option Card Slot (M-DANTE / M-MADI / DMI-ME) signalFlow: bidirectional category: digital - type: digital + type: proprietary connection: option-card maxConnections: 1 position: Left diff --git a/data/hardware/allen-and-heath-qu-5.yaml b/data/hardware/allen-and-heath-qu-5.yaml index ad2903a99..189168e5d 100644 --- a/data/hardware/allen-and-heath-qu-5.yaml +++ b/data/hardware/allen-and-heath-qu-5.yaml @@ -275,7 +275,7 @@ io: - name: SLink Port signalFlow: bidirectional category: digital - type: other + type: proprietary connection: etherCON maxConnections: 1 position: Right diff --git a/data/hardware/allen-and-heath-qu-6.yaml b/data/hardware/allen-and-heath-qu-6.yaml index 0891c5e40..89fa71b79 100644 --- a/data/hardware/allen-and-heath-qu-6.yaml +++ b/data/hardware/allen-and-heath-qu-6.yaml @@ -358,7 +358,7 @@ io: - name: SLink Port signalFlow: bidirectional category: digital - type: other + type: proprietary connection: etherCON maxConnections: 1 position: Right diff --git a/data/hardware/allen-and-heath-qu-7.yaml b/data/hardware/allen-and-heath-qu-7.yaml index e062ed9e2..c3d4b976a 100644 --- a/data/hardware/allen-and-heath-qu-7.yaml +++ b/data/hardware/allen-and-heath-qu-7.yaml @@ -442,7 +442,7 @@ io: - name: SLink Port signalFlow: bidirectional category: digital - type: other + type: proprietary connection: etherCON maxConnections: 1 position: Right diff --git a/data/hardware/allen-and-heath-xone24.yaml b/data/hardware/allen-and-heath-xone24.yaml index 225605266..5d7f7e0e2 100644 --- a/data/hardware/allen-and-heath-xone24.yaml +++ b/data/hardware/allen-and-heath-xone24.yaml @@ -48,28 +48,28 @@ io: - name: Channel 1 Phono/Line Input signalFlow: input category: audio - type: line-phono + type: phono connection: rca maxConnections: 1 position: Left - name: Channel 2 Phono/Line Input signalFlow: input category: audio - type: line-phono + type: phono connection: rca maxConnections: 1 position: Left - name: Master Insert Send signalFlow: output category: audio - type: insert-send + type: insert connection: trs maxConnections: 1 position: Left - name: Master Insert Return signalFlow: input category: audio - type: insert-return + type: insert connection: trs maxConnections: 1 position: Left diff --git a/data/hardware/allen-and-heath-xone43.yaml b/data/hardware/allen-and-heath-xone43.yaml index fcb4162a7..4f7e15e81 100644 --- a/data/hardware/allen-and-heath-xone43.yaml +++ b/data/hardware/allen-and-heath-xone43.yaml @@ -31,28 +31,28 @@ io: - name: Channel 1 Phono/Line Input signalFlow: input category: audio - type: line-phono + type: phono connection: rca maxConnections: 1 position: Left - name: Channel 2 Phono/Line Input signalFlow: input category: audio - type: line-phono + type: phono connection: rca maxConnections: 1 position: Left - name: Channel 3 Phono/Line Input signalFlow: input category: audio - type: line-phono + type: phono connection: rca maxConnections: 1 position: Left - name: Channel 4 Phono/Line Input signalFlow: input category: audio - type: line-phono + type: phono connection: rca maxConnections: 1 position: Left @@ -66,70 +66,70 @@ io: - name: Main Mix Output L signalFlow: output category: audio - type: main + type: line connection: xlr maxConnections: 1 position: Left - name: Main Mix Output R signalFlow: output category: audio - type: main + type: line connection: xlr maxConnections: 1 position: Left - name: Booth Output L signalFlow: output category: audio - type: booth + type: line connection: rca maxConnections: 1 position: Left - name: Booth Output R signalFlow: output category: audio - type: booth + type: line connection: rca maxConnections: 1 position: Left - name: Record Output L signalFlow: output category: audio - type: record + type: line connection: rca maxConnections: 1 position: Left - name: Record Output R signalFlow: output category: audio - type: record + type: line connection: rca maxConnections: 1 position: Left - name: X:FX Send L signalFlow: output category: audio - type: fx-send + type: line connection: trs maxConnections: 1 position: Left - name: X:FX Send R signalFlow: output category: audio - type: fx-send + type: line connection: trs maxConnections: 1 position: Left - name: X:FX Return L signalFlow: input category: audio - type: fx-return + type: line connection: trs maxConnections: 1 position: Left - name: X:FX Return R signalFlow: input category: audio - type: fx-return + type: line connection: trs maxConnections: 1 position: Left diff --git a/data/hardware/austrian-audio-pb17.yaml b/data/hardware/austrian-audio-pb17.yaml index 401906c7b..b2ab1dbb1 100644 --- a/data/hardware/austrian-audio-pb17.yaml +++ b/data/hardware/austrian-audio-pb17.yaml @@ -32,7 +32,7 @@ io: - name: Headset Jack (TRRS) signalFlow: bidirectional category: audio - type: headset + type: headphone connection: 1/8-inch maxConnections: 1 position: Left diff --git a/data/hardware/austrian-audio-pg16.yaml b/data/hardware/austrian-audio-pg16.yaml index e12b68ae3..1559f3fca 100644 --- a/data/hardware/austrian-audio-pg16.yaml +++ b/data/hardware/austrian-audio-pg16.yaml @@ -35,7 +35,7 @@ io: - name: Headset Jack (TRRS) signalFlow: bidirectional category: audio - type: headset + type: headphone connection: 1/8-inch maxConnections: 1 position: Left diff --git a/data/hardware/bastl-instruments-1983.yaml b/data/hardware/bastl-instruments-1983.yaml index 6e699c005..73add2e67 100644 --- a/data/hardware/bastl-instruments-1983.yaml +++ b/data/hardware/bastl-instruments-1983.yaml @@ -55,56 +55,56 @@ io: - name: Gate 1 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Gate 2 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Gate 3 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Gate 4 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Listen 1 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Listen 2 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Listen 3 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Listen 4 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -139,7 +139,7 @@ io: - name: Update signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-abc.yaml b/data/hardware/bastl-instruments-abc.yaml index b369466ad..563d10856 100644 --- a/data/hardware/bastl-instruments-abc.yaml +++ b/data/hardware/bastl-instruments-abc.yaml @@ -17,56 +17,56 @@ io: - name: A signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: B signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: C signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: D signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: E signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: F signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: A+B+C signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: D+E+F signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-aikido.yaml b/data/hardware/bastl-instruments-aikido.yaml index 114e79ab6..bd2edb977 100644 --- a/data/hardware/bastl-instruments-aikido.yaml +++ b/data/hardware/bastl-instruments-aikido.yaml @@ -23,7 +23,7 @@ io: - name: Channel A Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -37,14 +37,14 @@ io: - name: Channel A Output signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel B Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -58,14 +58,14 @@ io: - name: Channel B Output signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel C Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -79,14 +79,14 @@ io: - name: Channel C Output signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel D Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -100,21 +100,21 @@ io: - name: Channel D Output signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Mix Output signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Sidechain Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-basil.yaml b/data/hardware/bastl-instruments-basil.yaml index 3b3942f76..81b232814 100644 --- a/data/hardware/bastl-instruments-basil.yaml +++ b/data/hardware/bastl-instruments-basil.yaml @@ -22,28 +22,28 @@ io: - name: Audio In L signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio In R signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio Out L signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio Out R signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-buddy.yaml b/data/hardware/bastl-instruments-buddy.yaml index aabbadf71..bc7a67702 100644 --- a/data/hardware/bastl-instruments-buddy.yaml +++ b/data/hardware/bastl-instruments-buddy.yaml @@ -20,28 +20,28 @@ io: - name: Channel A Left Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel A Right Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel B Left Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel B Right Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -62,14 +62,14 @@ io: - name: Left Output signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Right Output signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-ciaoii.yaml b/data/hardware/bastl-instruments-ciaoii.yaml index b719fe4d9..36b8389c4 100644 --- a/data/hardware/bastl-instruments-ciaoii.yaml +++ b/data/hardware/bastl-instruments-ciaoii.yaml @@ -25,28 +25,28 @@ io: - name: Channel A Left Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel A Right Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel B Left Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Channel B Right Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-cinnamon.yaml b/data/hardware/bastl-instruments-cinnamon.yaml index 772553e8f..715362ea8 100644 --- a/data/hardware/bastl-instruments-cinnamon.yaml +++ b/data/hardware/bastl-instruments-cinnamon.yaml @@ -22,7 +22,7 @@ io: - name: Audio In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -43,21 +43,21 @@ io: - name: LP Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: BP Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: HP Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-citadel-alchemist.yaml b/data/hardware/bastl-instruments-citadel-alchemist.yaml index 4475ae4e3..baa413eda 100644 --- a/data/hardware/bastl-instruments-citadel-alchemist.yaml +++ b/data/hardware/bastl-instruments-citadel-alchemist.yaml @@ -23,14 +23,14 @@ io: - name: Audio L In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio R In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -79,14 +79,14 @@ io: - name: Trigger signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: LFO Reset signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -128,14 +128,14 @@ io: - name: Audio L Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio R Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-citadel-fx-wizard.yaml b/data/hardware/bastl-instruments-citadel-fx-wizard.yaml index 9e48a3e6e..6dff69c75 100644 --- a/data/hardware/bastl-instruments-citadel-fx-wizard.yaml +++ b/data/hardware/bastl-instruments-citadel-fx-wizard.yaml @@ -23,28 +23,28 @@ io: - name: Audio In L signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio In R signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio Out L signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio Out R signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -79,7 +79,7 @@ io: - name: Reset In signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -128,14 +128,14 @@ io: - name: LFO Reset In signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trig In signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-citadel-wave-bard.yaml b/data/hardware/bastl-instruments-citadel-wave-bard.yaml index 296bc73f1..bbc4ebf49 100644 --- a/data/hardware/bastl-instruments-citadel-wave-bard.yaml +++ b/data/hardware/bastl-instruments-citadel-wave-bard.yaml @@ -47,14 +47,14 @@ io: - name: RESET In signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: TRIG In signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -89,21 +89,21 @@ io: - name: LFO RESET signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: L In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: R In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -159,14 +159,14 @@ io: - name: L Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: R Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-crust.yaml b/data/hardware/bastl-instruments-crust.yaml index de5f7f530..53abcb554 100644 --- a/data/hardware/bastl-instruments-crust.yaml +++ b/data/hardware/bastl-instruments-crust.yaml @@ -32,7 +32,7 @@ io: - name: Trigger signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -81,7 +81,7 @@ io: - name: OUT signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-cv-trinity-exp.yaml b/data/hardware/bastl-instruments-cv-trinity-exp.yaml index 453c871dc..40fef2e16 100644 --- a/data/hardware/bastl-instruments-cv-trinity-exp.yaml +++ b/data/hardware/bastl-instruments-cv-trinity-exp.yaml @@ -14,42 +14,42 @@ io: - name: Trigger 1 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger 2 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger 3 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger 4 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger 5 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger 6 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-dark-matter.yaml b/data/hardware/bastl-instruments-dark-matter.yaml index 62e73f0ff..68fb5626f 100644 --- a/data/hardware/bastl-instruments-dark-matter.yaml +++ b/data/hardware/bastl-instruments-dark-matter.yaml @@ -27,7 +27,7 @@ io: - name: IN signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -62,14 +62,14 @@ io: - name: FBK OUT signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: FBK IN signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -90,7 +90,7 @@ io: - name: OUT signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-dup-dup.yaml b/data/hardware/bastl-instruments-dup-dup.yaml index bed6b68d3..accc14873 100644 --- a/data/hardware/bastl-instruments-dup-dup.yaml +++ b/data/hardware/bastl-instruments-dup-dup.yaml @@ -18,28 +18,28 @@ io: - name: Ch 1 Signal In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Ch 1 FX Send signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Ch 1 FX Return signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Ch 1 Signal Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -53,35 +53,35 @@ io: - name: Ch 1 Footswitch signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: proprietary maxConnections: 1 position: Top - name: Ch 2 Signal In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Ch 2 FX Send signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Ch 2 FX Return signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Ch 2 Signal Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -95,7 +95,7 @@ io: - name: Ch 2 Footswitch signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: proprietary maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-dynamo.yaml b/data/hardware/bastl-instruments-dynamo.yaml index 1a74f364f..2221706b7 100644 --- a/data/hardware/bastl-instruments-dynamo.yaml +++ b/data/hardware/bastl-instruments-dynamo.yaml @@ -16,14 +16,14 @@ io: - name: Envelope Follower In 1 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Envelope Follower In 2 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -79,7 +79,7 @@ io: - name: Comparator Out signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -93,14 +93,14 @@ io: - name: VCS A signalFlow: bidirectional category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: VCS B signalFlow: bidirectional category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-ikarie.yaml b/data/hardware/bastl-instruments-ikarie.yaml index 8e818f76d..08f238cd2 100644 --- a/data/hardware/bastl-instruments-ikarie.yaml +++ b/data/hardware/bastl-instruments-ikarie.yaml @@ -26,35 +26,35 @@ io: - name: In L signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: In R signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Out L signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Out R signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Beyond signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-klik.yaml b/data/hardware/bastl-instruments-klik.yaml index ac46efe39..a3301b6af 100644 --- a/data/hardware/bastl-instruments-klik.yaml +++ b/data/hardware/bastl-instruments-klik.yaml @@ -27,14 +27,14 @@ io: - name: Clock Output signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Reset Output signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-knit-rider.yaml b/data/hardware/bastl-instruments-knit-rider.yaml index 0558105a6..f9b6da589 100644 --- a/data/hardware/bastl-instruments-knit-rider.yaml +++ b/data/hardware/bastl-instruments-knit-rider.yaml @@ -23,42 +23,42 @@ io: - name: Voice 1 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Voice 2 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Voice 3 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Voice 4 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Voice 5 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Voice 6 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-kompas.yaml b/data/hardware/bastl-instruments-kompas.yaml index 9caef790c..9c7133454 100644 --- a/data/hardware/bastl-instruments-kompas.yaml +++ b/data/hardware/bastl-instruments-kompas.yaml @@ -26,7 +26,7 @@ io: - name: Reset signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -54,21 +54,21 @@ io: - name: Trigger Out 1 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger Out 2 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger Out 3 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-kong.yaml b/data/hardware/bastl-instruments-kong.yaml index 1d3c6efe2..fe68f16d0 100644 --- a/data/hardware/bastl-instruments-kong.yaml +++ b/data/hardware/bastl-instruments-kong.yaml @@ -17,42 +17,42 @@ io: - name: Audio In 1 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio In 2 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio Out 1 signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Audio Out 2 signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger Out 1 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger Out 2 signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-pizza.yaml b/data/hardware/bastl-instruments-pizza.yaml index 9fb4f380f..216e03da0 100644 --- a/data/hardware/bastl-instruments-pizza.yaml +++ b/data/hardware/bastl-instruments-pizza.yaml @@ -38,35 +38,35 @@ io: - name: EXT (Phase Mod) signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Sync signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Main Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Pulse Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: OSC Out (Octave) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-popcorn-cv-exp.yaml b/data/hardware/bastl-instruments-popcorn-cv-exp.yaml index 970377b3e..ffa1bb967 100644 --- a/data/hardware/bastl-instruments-popcorn-cv-exp.yaml +++ b/data/hardware/bastl-instruments-popcorn-cv-exp.yaml @@ -38,7 +38,7 @@ io: - name: Step Jump CV signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-popcorn.yaml b/data/hardware/bastl-instruments-popcorn.yaml index 616be0dbd..0a504a3ee 100644 --- a/data/hardware/bastl-instruments-popcorn.yaml +++ b/data/hardware/bastl-instruments-popcorn.yaml @@ -39,21 +39,21 @@ io: - name: Trigger A signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger B signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Reset signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-propust.yaml b/data/hardware/bastl-instruments-propust.yaml index 0042dc84f..d78557fac 100644 --- a/data/hardware/bastl-instruments-propust.yaml +++ b/data/hardware/bastl-instruments-propust.yaml @@ -18,84 +18,84 @@ io: - name: HP Input 1 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: HP Output 1 (~7kHz) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: HP Input 2 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: HP Output 2 (~3.5kHz) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: HP Input 3 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: HP Output 3 (~220Hz) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: LP Input 1 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: LP Output 1 (~1.5kHz) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: LP Input 2 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: LP Output 2 (~4.1kHz) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: LP Input 3 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: LP Output 3 (~880Hz) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-quattro-figaro.yaml b/data/hardware/bastl-instruments-quattro-figaro.yaml index c2134040a..107a1a838 100644 --- a/data/hardware/bastl-instruments-quattro-figaro.yaml +++ b/data/hardware/bastl-instruments-quattro-figaro.yaml @@ -20,7 +20,7 @@ io: - name: Signal In A signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -41,14 +41,14 @@ io: - name: Signal Out A signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Signal In B signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -69,14 +69,14 @@ io: - name: Signal Out B signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Signal In C signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -97,14 +97,14 @@ io: - name: Signal Out C signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Signal In D signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -125,35 +125,35 @@ io: - name: Signal Out D signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Mix Out -(A+C) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Mix Out -(B+D) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Mix Out A+B+C+D signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Mix Out -(A+B+C+D) signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-sense.yaml b/data/hardware/bastl-instruments-sense.yaml index 976b0728b..08829dd15 100644 --- a/data/hardware/bastl-instruments-sense.yaml +++ b/data/hardware/bastl-instruments-sense.yaml @@ -39,14 +39,14 @@ io: - name: Gate Out signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Bottom - name: Gate Out (Inverted) signalFlow: output category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Bottom diff --git a/data/hardware/bastl-instruments-servo.yaml b/data/hardware/bastl-instruments-servo.yaml index e6a246f0b..b79dc6085 100644 --- a/data/hardware/bastl-instruments-servo.yaml +++ b/data/hardware/bastl-instruments-servo.yaml @@ -16,7 +16,7 @@ io: - name: Trigger/Gate In 1 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -30,7 +30,7 @@ io: - name: Trigger/Gate In 2 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-skis-2.yaml b/data/hardware/bastl-instruments-skis-2.yaml index db37a639e..22be127c2 100644 --- a/data/hardware/bastl-instruments-skis-2.yaml +++ b/data/hardware/bastl-instruments-skis-2.yaml @@ -18,7 +18,7 @@ io: - name: TRIG 1 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -32,21 +32,21 @@ io: - name: IN 1 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: OUT 1 signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: TRIG 2 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top @@ -60,14 +60,14 @@ io: - name: IN 2 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: OUT 2 signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-softpop.yaml b/data/hardware/bastl-instruments-softpop.yaml index 1cdeecb18..8f47e86e5 100644 --- a/data/hardware/bastl-instruments-softpop.yaml +++ b/data/hardware/bastl-instruments-softpop.yaml @@ -25,21 +25,21 @@ io: - name: Jack A signalFlow: bidirectional category: audio - type: modular + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Jack B signalFlow: bidirectional category: audio - type: modular + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Jack C signalFlow: bidirectional category: audio - type: modular + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-solenoid.yaml b/data/hardware/bastl-instruments-solenoid.yaml index fa63fac63..0fce6e22c 100644 --- a/data/hardware/bastl-instruments-solenoid.yaml +++ b/data/hardware/bastl-instruments-solenoid.yaml @@ -19,28 +19,28 @@ io: - name: Trigger In 1 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger In 2 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger In 3 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: Trigger In 4 signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-tea-kick.yaml b/data/hardware/bastl-instruments-tea-kick.yaml index b28975fb1..f83424534 100644 --- a/data/hardware/bastl-instruments-tea-kick.yaml +++ b/data/hardware/bastl-instruments-tea-kick.yaml @@ -17,7 +17,7 @@ io: - name: Trigger signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Bottom @@ -31,28 +31,28 @@ io: - name: WTF signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Bottom - name: Click Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Bottom - name: Square Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Bottom - name: Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Bottom diff --git a/data/hardware/bastl-instruments-timber.yaml b/data/hardware/bastl-instruments-timber.yaml index 7afd0b5c7..6eef0976f 100644 --- a/data/hardware/bastl-instruments-timber.yaml +++ b/data/hardware/bastl-instruments-timber.yaml @@ -24,7 +24,7 @@ io: - name: Input signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -52,14 +52,14 @@ io: - name: Wave Driver Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Wave Folder Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-tromso.yaml b/data/hardware/bastl-instruments-tromso.yaml index f9b5f3520..f305960cf 100644 --- a/data/hardware/bastl-instruments-tromso.yaml +++ b/data/hardware/bastl-instruments-tromso.yaml @@ -24,7 +24,7 @@ io: - name: VCO Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -38,35 +38,35 @@ io: - name: Comparator In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Comparator Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Gate signalFlow: input category: audio - type: trigger + type: "cv/gate" connection: 1/8-inch maxConnections: 1 position: Top - name: S&H In signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: S&H Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/bastl-instruments-waver.yaml b/data/hardware/bastl-instruments-waver.yaml index cf16c8b5c..0f840f277 100644 --- a/data/hardware/bastl-instruments-waver.yaml +++ b/data/hardware/bastl-instruments-waver.yaml @@ -17,21 +17,21 @@ io: - name: Input 1 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Input 2 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Input 3 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top @@ -52,28 +52,28 @@ io: - name: Input 4 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Input 5 signalFlow: input category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Mix Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top - name: Shape Out signalFlow: output category: audio - type: audio + type: line connection: 1/8-inch maxConnections: 1 position: Top diff --git a/data/hardware/dbx-166ad.yaml b/data/hardware/dbx-166ad.yaml index 1698b49c1..5b1ce7218 100644 --- a/data/hardware/dbx-166ad.yaml +++ b/data/hardware/dbx-166ad.yaml @@ -25,14 +25,14 @@ io: - name: Digital Output signalFlow: output category: digital - type: aes-ebu + type: "aes/ebu" connection: xlr-male maxConnections: 1 position: Right - name: Digital Output signalFlow: output category: digital - type: spdif + type: "s/pdif" connection: rca maxConnections: 1 position: Right diff --git a/data/hardware/dbx-166xl.yaml b/data/hardware/dbx-166xl.yaml index a241da58d..2e1b1a529 100644 --- a/data/hardware/dbx-166xl.yaml +++ b/data/hardware/dbx-166xl.yaml @@ -37,56 +37,56 @@ io: - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right diff --git a/data/hardware/dbx-166xs.yaml b/data/hardware/dbx-166xs.yaml index 867420102..1d4ff5018 100644 --- a/data/hardware/dbx-166xs.yaml +++ b/data/hardware/dbx-166xs.yaml @@ -45,56 +45,56 @@ io: - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right diff --git a/data/hardware/dbx-2031.yaml b/data/hardware/dbx-2031.yaml index f5c2a1c05..7bf1a6a05 100644 --- a/data/hardware/dbx-2031.yaml +++ b/data/hardware/dbx-2031.yaml @@ -42,56 +42,56 @@ io: - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right diff --git a/data/hardware/dbx-215.yaml b/data/hardware/dbx-215.yaml index abd859713..0412bcfc3 100644 --- a/data/hardware/dbx-215.yaml +++ b/data/hardware/dbx-215.yaml @@ -37,56 +37,56 @@ io: - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right diff --git a/data/hardware/dbx-215s.yaml b/data/hardware/dbx-215s.yaml index 23077610b..d9d6091ab 100644 --- a/data/hardware/dbx-215s.yaml +++ b/data/hardware/dbx-215s.yaml @@ -39,56 +39,56 @@ io: - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right diff --git a/data/hardware/dbx-2215.yaml b/data/hardware/dbx-2215.yaml index 9ae71caaf..8f6551f70 100644 --- a/data/hardware/dbx-2215.yaml +++ b/data/hardware/dbx-2215.yaml @@ -41,56 +41,56 @@ io: - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input L signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: analog-balanced + type: line connection: trs-female maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: analog-balanced + type: line connection: trs-male maxConnections: 1 position: Right diff --git a/data/hardware/dbx-266xl.yaml b/data/hardware/dbx-266xl.yaml index cdc926626..08d808d23 100644 --- a/data/hardware/dbx-266xl.yaml +++ b/data/hardware/dbx-266xl.yaml @@ -43,56 +43,56 @@ io: - name: Input L signalFlow: input category: audio - type: balanced-line + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input L signalFlow: input category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: balanced-line + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: balanced-line + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: balanced-line + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right diff --git a/data/hardware/dbx-266xs.yaml b/data/hardware/dbx-266xs.yaml index 89d3abf8a..71f82a1bd 100644 --- a/data/hardware/dbx-266xs.yaml +++ b/data/hardware/dbx-266xs.yaml @@ -49,56 +49,56 @@ io: - name: Input L signalFlow: input category: audio - type: balanced-line + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input L signalFlow: input category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: balanced-line + type: line connection: xlr-female maxConnections: 1 position: Right - name: Input R signalFlow: input category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: balanced-line + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output L signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: balanced-line + type: line connection: xlr-male maxConnections: 1 position: Right - name: Output R signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right diff --git a/data/hardware/dbx-286a.yaml b/data/hardware/dbx-286a.yaml index dcd94a4f5..eee791ba0 100644 --- a/data/hardware/dbx-286a.yaml +++ b/data/hardware/dbx-286a.yaml @@ -73,7 +73,7 @@ io: - name: Line Input signalFlow: input category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right @@ -87,7 +87,7 @@ io: - name: Output signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right diff --git a/data/hardware/dbx-286s.yaml b/data/hardware/dbx-286s.yaml index 1d7c32100..23129878a 100644 --- a/data/hardware/dbx-286s.yaml +++ b/data/hardware/dbx-286s.yaml @@ -74,7 +74,7 @@ io: - name: Line Input signalFlow: input category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right @@ -88,7 +88,7 @@ io: - name: Output signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right diff --git a/data/hardware/dbx-376.yaml b/data/hardware/dbx-376.yaml index c70b239ec..3d94378ce 100644 --- a/data/hardware/dbx-376.yaml +++ b/data/hardware/dbx-376.yaml @@ -64,35 +64,35 @@ io: - name: Analog Output signalFlow: output category: audio - type: balanced-line + type: line connection: xlr-male maxConnections: 1 position: Right - name: Analog Output signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: AES/EBU Digital Output signalFlow: output category: digital - type: aes-ebu + type: "aes/ebu" connection: xlr-male maxConnections: 1 position: Right - name: S/PDIF Digital Output signalFlow: output category: digital - type: spdif + type: "s/pdif" connection: rca maxConnections: 1 position: Right - name: Word Sync signalFlow: bidirectional category: digital - type: word-clock + type: word clock connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/dbx-386.yaml b/data/hardware/dbx-386.yaml index 3a9be41f6..5fb049722 100644 --- a/data/hardware/dbx-386.yaml +++ b/data/hardware/dbx-386.yaml @@ -85,56 +85,56 @@ io: - name: Analog Output L signalFlow: output category: audio - type: balanced-line + type: line connection: xlr-male maxConnections: 1 position: Right - name: Analog Output L signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: Analog Output R signalFlow: output category: audio - type: balanced-line + type: line connection: xlr-male maxConnections: 1 position: Right - name: Analog Output R signalFlow: output category: audio - type: balanced-line + type: line connection: trs maxConnections: 1 position: Right - name: AES/EBU Digital Output signalFlow: output category: digital - type: aes-ebu + type: "aes/ebu" connection: xlr-male maxConnections: 1 position: Right - name: S/PDIF Digital Output signalFlow: output category: digital - type: spdif + type: "s/pdif" connection: rca maxConnections: 1 position: Right - name: Word Clock Sync In signalFlow: input category: digital - type: word-clock + type: word clock connection: bnc maxConnections: 1 position: Right - name: Word Clock Sync Out signalFlow: output category: digital - type: word-clock + type: word clock connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-r300-e.yaml b/data/hardware/electro-voice-r300-e.yaml index 90c754a7d..cda680324 100644 --- a/data/hardware/electro-voice-r300-e.yaml +++ b/data/hardware/electro-voice-r300-e.yaml @@ -70,14 +70,14 @@ io: - name: Antenna A (Diversity) signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Bottom - name: Antenna B (Diversity) signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Bottom diff --git a/data/hardware/electro-voice-r300-hd.yaml b/data/hardware/electro-voice-r300-hd.yaml index 967220c02..816a65fe4 100644 --- a/data/hardware/electro-voice-r300-hd.yaml +++ b/data/hardware/electro-voice-r300-hd.yaml @@ -81,14 +81,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-r300-l.yaml b/data/hardware/electro-voice-r300-l.yaml index 2aa7d3b20..7e2b19e30 100644 --- a/data/hardware/electro-voice-r300-l.yaml +++ b/data/hardware/electro-voice-r300-l.yaml @@ -79,14 +79,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-bpcl.yaml b/data/hardware/electro-voice-re3-bpcl.yaml index bee369d0b..ef1eb998b 100644 --- a/data/hardware/electro-voice-re3-bpcl.yaml +++ b/data/hardware/electro-voice-re3-bpcl.yaml @@ -97,14 +97,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-bpgc.yaml b/data/hardware/electro-voice-re3-bpgc.yaml index b7dcde347..75b6d97bd 100644 --- a/data/hardware/electro-voice-re3-bpgc.yaml +++ b/data/hardware/electro-voice-re3-bpgc.yaml @@ -95,14 +95,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-bphw.yaml b/data/hardware/electro-voice-re3-bphw.yaml index 007a608c7..627f1f0be 100644 --- a/data/hardware/electro-voice-re3-bphw.yaml +++ b/data/hardware/electro-voice-re3-bphw.yaml @@ -104,14 +104,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-bpnid.yaml b/data/hardware/electro-voice-re3-bpnid.yaml index 87f061839..85ed8f487 100644 --- a/data/hardware/electro-voice-re3-bpnid.yaml +++ b/data/hardware/electro-voice-re3-bpnid.yaml @@ -92,14 +92,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-bpol.yaml b/data/hardware/electro-voice-re3-bpol.yaml index cfe170dbf..1e976aa6c 100644 --- a/data/hardware/electro-voice-re3-bpol.yaml +++ b/data/hardware/electro-voice-re3-bpol.yaml @@ -101,14 +101,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-nd76.yaml b/data/hardware/electro-voice-re3-nd76.yaml index f949a92c3..e21d066ab 100644 --- a/data/hardware/electro-voice-re3-nd76.yaml +++ b/data/hardware/electro-voice-re3-nd76.yaml @@ -132,14 +132,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-nd86.yaml b/data/hardware/electro-voice-re3-nd86.yaml index d03063a0a..bdb3eec78 100644 --- a/data/hardware/electro-voice-re3-nd86.yaml +++ b/data/hardware/electro-voice-re3-nd86.yaml @@ -131,14 +131,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-nd96.yaml b/data/hardware/electro-voice-re3-nd96.yaml index 48a4ea451..767016d6c 100644 --- a/data/hardware/electro-voice-re3-nd96.yaml +++ b/data/hardware/electro-voice-re3-nd96.yaml @@ -133,14 +133,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/electro-voice-re3-re520.yaml b/data/hardware/electro-voice-re3-re520.yaml index 3d6ebd599..b95deae68 100644 --- a/data/hardware/electro-voice-re3-re520.yaml +++ b/data/hardware/electro-voice-re3-re520.yaml @@ -104,14 +104,14 @@ io: - name: Antenna A Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right - name: Antenna B Input signalFlow: input category: digital - type: bnc + type: rf connection: bnc maxConnections: 1 position: Right diff --git a/data/hardware/mackie-dlm12.yaml b/data/hardware/mackie-dlm12.yaml index d9eef39d6..ab32c711c 100644 --- a/data/hardware/mackie-dlm12.yaml +++ b/data/hardware/mackie-dlm12.yaml @@ -33,28 +33,28 @@ io: - name: Channel 1 Input signalFlow: input category: audio - type: audio + type: line connection: combo jack maxConnections: 1 position: Bottom - name: Channel 2 Input signalFlow: input category: audio - type: audio + type: line connection: combo jack maxConnections: 1 position: Bottom - name: Channel 2 RCA Left signalFlow: input category: audio - type: audio + type: line connection: rca maxConnections: 1 position: Bottom - name: Channel 2 RCA Right signalFlow: input category: audio - type: audio + type: line connection: rca maxConnections: 1 position: Bottom diff --git a/data/hardware/mackie-dlz-creator.yaml b/data/hardware/mackie-dlz-creator.yaml index 7ff6017e1..cae5b27f3 100644 --- a/data/hardware/mackie-dlz-creator.yaml +++ b/data/hardware/mackie-dlz-creator.yaml @@ -35,28 +35,28 @@ io: - name: Mic/Line 1 signalFlow: input category: audio - type: mic/line + type: mic connection: combo jack maxConnections: 1 position: Top - name: Mic/Line 2 signalFlow: input category: audio - type: mic/line + type: mic connection: combo jack maxConnections: 1 position: Top - name: Mic/Line 3 signalFlow: input category: audio - type: mic/line + type: mic connection: combo jack maxConnections: 1 position: Top - name: Mic/Line 4 signalFlow: input category: audio - type: mic/line + type: mic connection: combo jack maxConnections: 1 position: Top diff --git a/data/hardware/mackie-hr824mk2.yaml b/data/hardware/mackie-hr824mk2.yaml index 11f0f47d2..b256b6a60 100644 --- a/data/hardware/mackie-hr824mk2.yaml +++ b/data/hardware/mackie-hr824mk2.yaml @@ -28,21 +28,21 @@ io: - name: Balanced XLR Input signalFlow: input category: audio - type: analog + type: line connection: xlr maxConnections: 1 position: Bottom - name: Balanced TRS Input signalFlow: input category: audio - type: analog + type: line connection: 1/4-inch maxConnections: 1 position: Bottom - name: Unbalanced RCA Input signalFlow: input category: audio - type: analog + type: line connection: rca maxConnections: 1 position: Bottom diff --git a/data/hardware/mackie-thrash215.yaml b/data/hardware/mackie-thrash215.yaml index d0f35d1ac..589ec43c7 100644 --- a/data/hardware/mackie-thrash215.yaml +++ b/data/hardware/mackie-thrash215.yaml @@ -19,14 +19,14 @@ io: - name: Input 1 signalFlow: input category: audio - type: line/mic + type: mic connection: combo jack maxConnections: 1 position: Bottom - name: Input 2 signalFlow: input category: audio - type: line/mic + type: mic connection: combo jack maxConnections: 1 position: Bottom diff --git a/data/hardware/mackie-thump15v4.yaml b/data/hardware/mackie-thump15v4.yaml index b1dd858ba..cff6d795f 100644 --- a/data/hardware/mackie-thump15v4.yaml +++ b/data/hardware/mackie-thump15v4.yaml @@ -31,14 +31,14 @@ io: - name: Channel 1 Input signalFlow: input category: audio - type: line-mic + type: mic connection: combo jack maxConnections: 1 position: Bottom - name: Channel 2 Input signalFlow: input category: audio - type: line-mic + type: mic connection: combo jack maxConnections: 1 position: Bottom diff --git a/docs/VALIDATION_ERRORS.md b/docs/VALIDATION_ERRORS.md index 5e8ceb781..6d559d115 100644 --- a/docs/VALIDATION_ERRORS.md +++ b/docs/VALIDATION_ERRORS.md @@ -28,11 +28,11 @@ A required field is missing from the entry. **Required fields by type:** -| Entry Type | Required Fields | Recommended Fields | -| ------------ | ------------------------------ | ----------------------------------------------- | -| Manufacturer | `slug`, `name` | `url` | -| Software | `slug`, `name`, `manufacturer` | `primaryCategory`, `platforms`, `identifiers` | -| Hardware | `slug`, `name`, `manufacturer` | `primaryCategory`, `description` | +| Entry Type | Required Fields | Recommended Fields | +| ------------ | ------------------------------ | --------------------------------------------- | +| Manufacturer | `slug`, `name` | `url` | +| Software | `slug`, `name`, `manufacturer` | `primaryCategory`, `platforms`, `identifiers` | +| Hardware | `slug`, `name`, `manufacturer` | `primaryCategory`, `description` | **Fix:** Add the missing field to your YAML file. @@ -73,10 +73,10 @@ The slug doesn't match the required pattern. ```yaml # Wrong -slug: Serum # uppercase -slug: -serum # leading hyphen -slug: serum- # trailing hyphen -slug: serum--x # double hyphen +slug: Serum # uppercase +slug: -serum # leading hyphen +slug: serum- # trailing hyphen +slug: serum--x # double hyphen # Correct slug: serum @@ -96,8 +96,8 @@ A URL field is malformed. ```yaml # Wrong -url: xferrecords.com # missing protocol -url: htp://xferrecords.com # typo in protocol +url: xferrecords.com # missing protocol +url: htp://xferrecords.com # typo in protocol # Correct url: https://xferrecords.com @@ -217,6 +217,7 @@ The `category` field in an IO entry has an invalid value. **Valid values:** `audio`, `midi`, `digital`, `data`, `control`, `power`, `cv` **Common mistakes:** + - `instrument` → use `audio` - `headphone` → use `audio` - `usb` → use `data` @@ -276,6 +277,31 @@ The `type` field in a link entry is not a valid value. --- +### E117: Invalid IO Type + +The `type` field in an IO entry is not in `schema/io-types.yaml`. + +`type` is **what the signal is**. `connection` is **the physical connector**. +Putting a connector name in `type` is the most common mistake here: a wireless +receiver's BNC ports are `type: rf` (an antenna) with `connection: bnc` — not +`type: bnc`. + +**Common mistakes:** + +- `bnc`, `xlr`, `trs` -> connectors, not signals. Put them in `connection` and give `type` the actual signal (`rf`, `line`, `mic`) +- `spdif` -> use `s/pdif` +- `aes3`, `aes-ebu` -> use `aes/ebu` +- `wordclock`, `word-clock` -> use `word clock` +- `audio`, `analog`, `digital`, `other` -> too vague to query. Name the signal (`line`, `mic`, `cv/gate`) +- `mic/line`, `mic-line` -> a combo input is `mic`; the `connection` carries `combo jack` + +**Fix:** Use a value from `schema/io-types.yaml`. If a signal type is genuinely +missing, add it there. Do **not** alias it in a consumer and do not fall back to a +vague value — the vocabulary is a small closed enum on purpose, and an alias makes +the wrong value canonical forever. + +--- + ### E199: Validation Error A generic validation error that doesn't fall into a more specific category. @@ -353,7 +379,7 @@ io: translations: de: io: - - originalName: Headphones Out # Wrong - doesn't match "Headphone Out" + - originalName: Headphones Out # Wrong - doesn't match "Headphone Out" name: Kopfhörerausgang ``` @@ -438,12 +464,12 @@ A plugin identifier doesn't match the expected format. **Expected formats:** -| Format | Pattern | Example | -| ------ | ------------------ | ---------------------------------- | -| `au` | Reverse domain | `com.xferrecords.Serum` | -| `vst3` | Reverse domain | `com.native-instruments.Massive` | -| `aax` | 4-letter PACE code | `XfRc` | -| `clap` | Reverse domain | `com.u-he.Diva` | +| Format | Pattern | Example | +| ------ | ------------------ | -------------------------------- | +| `au` | Reverse domain | `com.xferrecords.Serum` | +| `vst3` | Reverse domain | `com.native-instruments.Massive` | +| `aax` | 4-letter PACE code | `XfRc` | +| `clap` | Reverse domain | `com.u-he.Diva` | **Fix:** Update the identifier to match the expected format for that plugin type. diff --git a/schema/CONTEXT.md b/schema/CONTEXT.md index 609c68a9b..9250afbb1 100644 --- a/schema/CONTEXT.md +++ b/schema/CONTEXT.md @@ -805,6 +805,7 @@ rear-panel diagram — assign them with `pnpm enrich-io `, not during bulk - `headphone` - `phono` - `speaker-level` +- `insert` - `midi` - `s/pdif` - `adat` @@ -821,7 +822,16 @@ rear-panel diagram — assign them with `pnpm enrich-io `, not during bulk - `snake` - `expression` - `cv/gate` +- `clock` +- `gpio` +- `rf` +- `bluetooth` +- `wifi` +- `hdmi` +- `video` - `power` +- `ground` +- `proprietary` ### IO Connections (advisory — unknown values produce warnings) diff --git a/schema/io-types.yaml b/schema/io-types.yaml index 4de321611..62e0f199e 100644 --- a/schema/io-types.yaml +++ b/schema/io-types.yaml @@ -1,8 +1,14 @@ -# Known IO port types (advisory - warning if not matched, does not block CI) +# Known IO port types (ENFORCED - `pnpm validate` fails on unknown values, E117) # # The `type` field describes the signal characteristic or function of an IO port. -# Add new values here as they appear in data. Unknown values generate warnings -# in `pnpm validate` and are surfaced during data review. +# The physical connector belongs in `connection` (see io-connections.yaml) — do +# not put a connector name here. `bnc` was once used as a type on wireless +# receivers whose ports are, in fact, RF antenna inputs; that is why this list +# is now enforced rather than advisory. +# +# This vocabulary is a small closed enum, deliberately. If a value is missing, +# ADD IT HERE rather than aliasing it at read time in a consumer: an alias map +# makes the wrong value canonical forever and hides the mistake from review. types: # Audio signal types - line @@ -11,6 +17,7 @@ types: - headphone - phono - speaker-level + - insert # send/return insert point; the direction is in signalFlow # MIDI types - midi @@ -20,7 +27,7 @@ types: - adat - aes/ebu - madi - - word clock + - word clock # digital clock distribution, typically over BNC - dante - hiqnet - blu-link @@ -37,6 +44,21 @@ types: # Control types - expression - cv/gate + - clock # modular sync/clock pulse (1/8-inch), distinct from `word clock` + - gpio + + # Wireless types + - rf # antenna input/output on wireless receivers and transmitters + - bluetooth + - wifi + + # Video types + - hdmi + - video # Power types - power + - ground # chassis/turntable grounding post, not a signal path + + # Vendor-specific + - proprietary # SLink, DX link, option-card slots, and similar closed links diff --git a/schema/json/hardware.json b/schema/json/hardware.json index c05b322dc..80077d108 100644 --- a/schema/json/hardware.json +++ b/schema/json/hardware.json @@ -2333,7 +2333,42 @@ }, "type": { "type": "string", - "description": "Signal type (e.g., line, instrument, mic, headphone, usb). Describes what kind of signal, not the physical connector. Known values are in schema/io-types.yaml — unknown values produce warnings." + "enum": [ + "line", + "instrument", + "mic", + "headphone", + "phono", + "speaker-level", + "insert", + "midi", + "s/pdif", + "adat", + "aes/ebu", + "madi", + "word clock", + "dante", + "hiqnet", + "blu-link", + "usb", + "thunderbolt", + "firewire", + "ethernet", + "snake", + "expression", + "cv/gate", + "clock", + "gpio", + "rf", + "bluetooth", + "wifi", + "hdmi", + "video", + "power", + "ground", + "proprietary" + ], + "description": "Signal type (e.g., line, instrument, mic, headphone, usb). Describes what kind of signal, NOT the physical connector — that belongs in `connection`. Defined in schema/io-types.yaml; add missing values there rather than inventing one here." }, "connection": { "type": "string", diff --git a/scripts/generate-json-schemas.ts b/scripts/generate-json-schemas.ts index e9f628fb5..ec7dccc60 100644 --- a/scripts/generate-json-schemas.ts +++ b/scripts/generate-json-schemas.ts @@ -109,8 +109,9 @@ const ioSchema = { }, type: { type: "string", + enum: ctx.ioTypes, description: - "Signal type (e.g., line, instrument, mic, headphone, usb). Describes what kind of signal, not the physical connector. Known values are in schema/io-types.yaml — unknown values produce warnings.", + "Signal type (e.g., line, instrument, mic, headphone, usb). Describes what kind of signal, NOT the physical connector — that belongs in `connection`. Defined in schema/io-types.yaml; add missing values there rather than inventing one here.", }, connection: { type: "string", diff --git a/scripts/lib/error-codes.ts b/scripts/lib/error-codes.ts index e80ba3f81..f7dfa9d32 100644 --- a/scripts/lib/error-codes.ts +++ b/scripts/lib/error-codes.ts @@ -37,6 +37,7 @@ export enum ValidationErrorCode { E114_INVALID_CURRENCY = "E114", E115_INVALID_CONNECTOR_DETAIL = "E115", E116_INVALID_LINK_TYPE = "E116", + E117_INVALID_IO_TYPE = "E117", E199_VALIDATION_ERROR = "E199", // Reference errors (E2xx) @@ -187,6 +188,10 @@ const ERROR_INFO: Record = { title: "Invalid link type", anchor: "e116-invalid-link-type", }, + [ValidationErrorCode.E117_INVALID_IO_TYPE]: { + title: "Invalid IO type", + anchor: "e117-invalid-io-type", + }, [ValidationErrorCode.E199_VALIDATION_ERROR]: { title: "Validation error", anchor: "e199-validation-error", diff --git a/scripts/validate.ts b/scripts/validate.ts index 43fcb643d..0568ae6ae 100644 --- a/scripts/validate.ts +++ b/scripts/validate.ts @@ -155,6 +155,9 @@ function getErrorCodeFromZodIssue(issue: { if (message.includes("invalid io position")) { return ValidationErrorCode.E113_INVALID_IO_POSITION; } + if (message.includes("invalid io type")) { + return ValidationErrorCode.E117_INVALID_IO_TYPE; + } // Connector detail errors if (message.includes("connectordetail")) { @@ -374,7 +377,19 @@ const IOSchema = z ctx.issues.push({ code: "custom", message, input: ctx.value }); } }), - type: z.string(), + type: z.string().check((ctx) => { + if (!KNOWN_IO_TYPES.has(ctx.value)) { + const suggestion = findClosestMatch(ctx.value, KNOWN_IO_TYPES); + let message = `Invalid IO type '${ctx.value}'.`; + if (suggestion) { + message += ` Did you mean '${suggestion}'?`; + } + message += ` Valid values: ${formatValidOptions(KNOWN_IO_TYPES)}`; + message += ` (If this is a real signal type, add it to schema/io-types.yaml.`; + message += ` If it names a physical connector, it belongs in \`connection\`.)`; + ctx.issues.push({ code: "custom", message, input: ctx.value }); + } + }), connection: z.string(), connectorDetail: z.array(z.string()).optional(), maxConnections: z.number(), @@ -1068,21 +1083,12 @@ function collectWarnings( const warnings: ValidationWarningDetail[] = []; const relativeFile = path.relative(process.cwd(), filePath); - // Check IO types and connections (advisory) + // io.type is not checked here: it is a hard error (E117) via the Zod IOSchema, + // so an unknown value fails validation outright. io.connection remains advisory. if (Array.isArray(data.io)) { for (let i = 0; i < data.io.length; i++) { const io = data.io[i]; - if (io.type && !KNOWN_IO_TYPES.has(io.type)) { - const line = getLineForPath(document, lineCounter, ["io", i, "type"]); - warnings.push({ - code: ValidationErrorCode.W120_UNKNOWN_IO_TYPE, - message: `Unknown IO type '${io.type}' on '${io.name}'. Consider adding to schema/io-types.yaml if valid.`, - path: `io[${i}].type`, - line: line ?? undefined, - }); - } - if (io.connection && !KNOWN_IO_CONNECTIONS.has(io.connection)) { const line = getLineForPath(document, lineCounter, ["io", i, "connection"]); warnings.push({ From a561df1bb9d9b0c3bf92bfd3d00cbd3755b3abe5 Mon Sep 17 00:00:00 2001 From: Jeffrey Louden Date: Sun, 12 Jul 2026 17:23:05 -0400 Subject: [PATCH 2/2] fix(io): canonicalize '5-pin DIN' connection casing befaco-vcmc-2 carried a midi port with connection '5-pin DIN'; the canonical spelling is '5-pin din'. The casing variant made the device invisible to consumers filtering for MIDI DIN ports. Connection drift is broader than this (31 off-vocabulary values across 324 ports: trs/trs-male/trs-female, rj45/rj-45, etherCON/ethercon). That needs the same data-fix-plus-enforce treatment this PR gives io types, and is tracked separately. Co-Authored-By: Claude Opus 4.8 (1M context) --- data/hardware/befaco-vcmc-2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/hardware/befaco-vcmc-2.yaml b/data/hardware/befaco-vcmc-2.yaml index 1e052461f..dc8534a8e 100644 --- a/data/hardware/befaco-vcmc-2.yaml +++ b/data/hardware/befaco-vcmc-2.yaml @@ -154,7 +154,7 @@ io: signalFlow: output category: midi type: midi - connection: 5-pin DIN + connection: 5-pin din maxConnections: 1 position: Bottom - name: USB MIDI