{
 "_sources": [
  {
   "type": "vendor-doc",
   "url": "https://empresseffects.com/blogs/support-zoia/controlling-the-zoia-and-euroburo-via-midi-cc-control-change-values",
   "notes": "Empress Effects support article 'Controlling the ZOIA and Euroburo via MIDI CC (Control Change) Values' (2025-03-19): CC#60 bypass, CC#61/62 press and release, CC#63 rotary turn. Current firmware 5.41 per the firmware update page (updated 2026-02-04).",
   "firmware": "5.41",
   "imported_at": "2026-10-26"
  },
  {
   "type": "vendor-doc",
   "url": "https://empresseffects.com/cdn/shop/files/ZOIA_Manual_1_dot_13.pdf",
   "notes": "ZOIA manual 1.13 for the parts the article does not change: Program Change loading patches, Starred CC ch, MIDI Consume.",
   "firmware": "1.13",
   "imported_at": "2026-10-26"
  }
 ],
 "_limitations": "Sources: Empress support article on MIDI CC control (2025-03-19), for firmware 5.41 (the current version), and the 1.13 manual for the rest. On the Config Menu's MIDI channel: CC#60 engages or bypasses, CC#61 and CC#62 press and release any button, stompswitch or the rotary switch (so the whole interface can be driven remotely), CC#63 turns the rotary; Program Change loads that patch (0-63; use /program_change). The article does not say which firmware first had CC#61-63 (the published changelog stops at 5.00, which does not mention them); 5.41 is the version the support pages offer now. Everything else lives in each patch: MIDI modules and starred parameters (learned CCs on the Starred CC ch); reach them with /note/on, /note/off and /cc/{num}. No SysEx. Applies to the ZOIA and the Euroburo, which run the same firmware. Untested on hardware.",
 "_coverage": {
  "entries_total": 4,
  "cc_entries": 4,
  "sysex_commands": 0,
  "pc_commands": 0
 },
 "device": {
  "name": "ZOIA",
  "vendor": "Empress",
  "revision": "ZOIA firmware 5.41 (MIDI CC control article)",
  "osc_prefix": "/zoia",
  "manufacturer_id": [],
  "device_id": []
 },
 "sysex": {
  "header": [],
  "footer": [],
  "_notes": "Empty on purpose: the ZOIA documents no SysEx."
 },
 "midi_out": {
  "default_channel": 0,
  "note_offset": 0
 },
 "midi_in": {
  "note_on": "/note/on {note} {velocity} {channel}",
  "note_off": "/note/off {note} {velocity} {channel}",
  "cc": "/cc/{num} {value} {channel}",
  "program_change": "/program_change {program} {channel}"
 },
 "commands": [],
 "cc_params": {
  "channel": 0,
  "entries": [
   {
    "osc": "/bypass",
    "cc": 60,
    "range": [
     0,
     127
    ],
    "expects": "discrete",
    "section": "Bypass",
    "_usage": "Engage and bypass (CC#60 on the Midi Ch of the Config Menu): 127 engaged, 0 bypassed, 64 toggles the bypass state."
   },
   {
    "osc": "/ui/press",
    "cc": 61,
    "range": [
     0,
     127
    ],
    "expects": "discrete",
    "section": "Remote control",
    "_usage": "Press a control; the value names it: Grid buttons 0-39, Page Left 40, Page Right 41, Back 42, Shift 43; Euroburo pushbuttons 44-45, CV inputs 46-49, CV outputs 50-53, audio inputs 54-55, audio outputs 56-57, headphone 58; right, middle and left stompswitch 124, 125, 126; rotary switch 127."
   },
   {
    "osc": "/ui/release",
    "cc": 62,
    "range": [
     0,
     127
    ],
    "expects": "discrete",
    "section": "Remote control",
    "_usage": "Release a control (same values as CC#61). Send a press, then a release."
   },
   {
    "osc": "/ui/rotary_turn",
    "cc": 63,
    "range": [
     0,
     127
    ],
    "expects": "discrete",
    "section": "Remote control",
    "_usage": "Turn the rotary: value - 64 turns, positive clockwise (65 = one turn clockwise, 63 = one turn counterclockwise)."
   }
  ]
 }
}
