{
 "firmware": "ChoralRoot",
 "slug": "choralroot",
 "author": "Quixotic7",
 "repo": "https://github.com/Quixotic7/ChoralRootFM1",
 "licence": "GPL-3.0-only",
 "closed_source": false,
 "mapped_release": "v0.24",
 "mapped_commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
 "version_note": "Stable v0.24 replaces v0.23 and the three 0.24 betas as the installer default; the Classic chord-key layout remains the default.",
 "release_date": "2026-10-17",
 "date_mapped": "2026-10-16",
 "turns_it_into": "A chord instrument with two sound parts, seven synth engines, performance patterns and a chord looper.",
 "docs": [
  {
   "title": "Playing guide",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/MANUAL.md",
   "words": 32210,
   "read_at": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7"
  },
  {
   "title": "Sound editor",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/EDITOR.md",
   "words": 10638,
   "read_at": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7"
  },
  {
   "title": "Settings and session storage",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/SETTINGS.md",
   "words": 14249,
   "read_at": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7"
  },
  {
   "title": "Flash storage",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/FLASH.md",
   "words": 1904,
   "read_at": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7"
  },
  {
   "title": "Chord Layout: Classic and FM-1",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md",
   "words": 11059,
   "read_at": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7"
  },
  {
   "title": "0.24 release notes",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/releases/0.24.md",
   "words": 1217,
   "read_at": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7"
  }
 ],
 "install": {
  "official": "https://github.com/Quixotic7/ChoralRootFM1/releases/tag/v0.24",
  "hub": "https://thefirmwarehub.com/"
 },
 "part_id_notes": "Panel names stay in the shared IDs: SEL is KEY, ENV is BASS, LFO is LATCH in Classic or LOCK in FM-1, GLO is OPT, ARP is PERF, PLAY is LOOP, and SEQ opens the loop editor; button LEDs are under lights and key LEDs under lights.key_lights. FMT in compact screen labels means FM TONE; numbered OSC, OP, ENV, LFO, SRC and MOD labels identify the active target. Editor lanes are reached with EDIT, then the section button (FX/SEL/ENV/LFO/SEQ/PLAY/REC for OSC/FILT/ENV/LFO/MOD/FX/MIX), then SELECT through lanes and screens; catalog-derived entries are graded inferred unless a specific handler was read. Classic remains the default. FM-1 makes B3 the ninth and C4/C#4 roots, with SUS on G#3+A#3 and LATCH on GLO then LFO. Pick maps still start at D4. Full shortcuts reserve F#5/G5 before picker and naming handling except KEY Pick; their entries take priority. No SMK-37 controls or storage are mapped here.",
 "modes": [
  {
   "id": "home",
   "name": "Home",
   "how_to_get_there": "Press HOME.",
   "what_it_is": "Play chords and notes while the chosen view follows them.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7672-7846",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7672-L7846"
    }
   ]
  },
  {
   "id": "full_keyboard",
   "name": "Full keyboard",
   "how_to_get_there": "KEY page 2: turn KNOB 2 right.",
   "what_it_is": "Every key is musical unless Full K Shorts reserves F#5/G5, with Key Mode and the shortcut’s chord switch choosing notes or chords, bass splits retained, and KNOB 1 changing voicing.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3881-3891",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3881-L3891"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_engine.c",
     "lines": "289-305",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_engine.c",
     "lines": "992-1033",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1446-1453",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1540-1553",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4746-4788",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4746-L4788"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5288-5295",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5288-L5295"
    }
   ]
  },
  {
   "id": "key",
   "name": "KEY layer",
   "how_to_get_there": "Hold SEL.",
   "what_it_is": "Two pages set key, scale and keyboard behavior.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7219-7243",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7219-L7243"
    }
   ]
  },
  {
   "id": "key_play",
   "name": "KEY keys play",
   "how_to_get_there": "Tap GLO in the KEY layer.",
   "what_it_is": "KEY retains its page controls while the keybed plays.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3821-3835",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3821-L3835"
    }
   ]
  },
  {
   "id": "perf",
   "name": "Performance",
   "how_to_get_there": "Hold ARP.",
   "what_it_is": "Choose a performance mode and edit its four settings.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7245-7261",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7245-L7261"
    }
   ]
  },
  {
   "id": "fx",
   "name": "FX layer",
   "how_to_get_there": "Hold FX.",
   "what_it_is": "Eight pages set sends and effects.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7263-7274",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
    }
   ]
  },
  {
   "id": "bass",
   "name": "Bass layer",
   "how_to_get_there": "Hold ENV.",
   "what_it_is": "Set bass behavior, register, sound and level.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7300-7308",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7300-L7308"
    }
   ]
  },
  {
   "id": "engine_picker",
   "name": "Sound browser",
   "how_to_get_there": "Hold EDIT from any screen, or turn PRESETS while the sound editor is open.",
   "what_it_is": "Preview an engine and its sounds before keeping or canceling.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7308-7321",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7308-L7321"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4876-4879",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4876-L4879"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5966-5972",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5966-L5972"
    }
   ]
  },
  {
   "id": "engine_hold",
   "name": "Engine hold",
   "how_to_get_there": "Hold GLO and turn PRESETS or ALGORITHM where it picks a sound.",
   "what_it_is": "Choose the part’s engine and apply it when GLO is released.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7412-7427",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7412-L7427"
    }
   ]
  },
  {
   "id": "metro",
   "name": "Metronome",
   "how_to_get_there": "Hold SEQ outside the sound and loop editors.",
   "what_it_is": "Choose a time signature and click level.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7325-7339",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7325-L7339"
    }
   ]
  },
  {
   "id": "loop",
   "name": "PLAY menu",
   "how_to_get_there": "Hold PLAY or cycle SEQ to the PLAY menu.",
   "what_it_is": "Two pages set loop recording and playback behavior.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "6994-7059",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6994-L7059"
    }
   ]
  },
  {
   "id": "loop_play",
   "name": "PLAY keys play",
   "how_to_get_there": "Tap GLO in the PLAY menu until Keys is Play.",
   "what_it_is": "PLAY retains its page controls while the keybed plays.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2309-2315",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2309-L2315"
    }
   ]
  },
  {
   "id": "loop_editor",
   "name": "Loop editor",
   "how_to_get_there": "Tap EDIT in the PLAY menu or use SEQ.",
   "what_it_is": "Change the loop’s chord events and step settings on its editing grid.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2355-2376",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2355-L2376"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2367-2394",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2367-L2394"
    }
   ]
  },
  {
   "id": "lock",
   "name": "LOCK layer",
   "how_to_get_there": "Hold B3 with Classic chord keys active, or hold LFO in the FM-1 layout, outside the sound editor.",
   "what_it_is": "Set how type and extension keys replace a locked chord.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7276-7290",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7276-L7290"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3019-3023",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3019-L3023"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4846-4896",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4846-L4896"
    }
   ]
  },
  {
   "id": "view_menu",
   "name": "View menu",
   "how_to_get_there": "Hold HOME alone.",
   "what_it_is": "Choose a view and set its lock.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7291-7300",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7291-L7300"
    }
   ]
  },
  {
   "id": "options",
   "name": "Options",
   "how_to_get_there": "Tap GLO outside KEY, PLAY and the sound editor.",
   "what_it_is": "SELECT chooses a setting and KNOB 1 changes it.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7344-7406",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
    }
   ]
  },
  {
   "id": "save_choice",
   "name": "Save menu",
   "how_to_get_there": "Tap SAVE.",
   "what_it_is": "Save a sound and set its favorite, filter and type values.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7450-7487",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7450-L7487"
    }
   ]
  },
  {
   "id": "save_name",
   "name": "Sound naming",
   "how_to_get_there": "Choose Save as new and confirm.",
   "what_it_is": "Enter the sound’s name and confirm its save.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7488-7503",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7488-L7503"
    }
   ]
  },
  {
   "id": "save_delete",
   "name": "Delete ask",
   "how_to_get_there": "Hold SAVE for one second in the sound-save dialog.",
   "what_it_is": "Confirm deleting a user sound or restoring a factory sound.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7430-7449",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7430-L7449"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5906-5910",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5906-L5910"
    }
   ]
  },
  {
   "id": "step_entry",
   "name": "Step entry",
   "how_to_get_there": "Choose Step recording and press REC.",
   "what_it_is": "Enter one chord per sixteenth-note step.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2355-2376",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2355-L2376"
    }
   ]
  },
  {
   "id": "calibration",
   "name": "Calibration",
   "how_to_get_there": "Choose Options > Calibrate and press OCT+, or hold OCT- and OCT+ while switching on.",
   "what_it_is": "Assign the printed buttons and encoder directions; thirty seconds without input cancels and discards the unfinished calibration.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5399-5461",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5399-L5461"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/main.c",
     "lines": "295-299",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/main.c#L295-L299"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5345-5348",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5345-L5348"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5399-5403",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5399-L5403"
    }
   ]
  },
  {
   "id": "safe_mode",
   "name": "Safe mode",
   "how_to_get_there": "Starts automatically after two successive crash or watchdog resets before the 30-second settling point; a power-on clears that count.",
   "what_it_is": "Flash records are skipped and recovery controls remain available.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "6598-6622",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6598-L6622"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_bootguard.h",
     "lines": "18-29",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_bootguard.h#L18-L29"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_bootguard.h",
     "lines": "74-104",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_bootguard.h#L74-L104"
    }
   ]
  },
  {
   "id": "startup",
   "name": "Startup",
   "how_to_get_there": "Switch the unit on.",
   "what_it_is": "Start-up gestures and the initial stripe display.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7848-7865",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7848-L7865"
    }
   ]
  },
  {
   "id": "sound_edit",
   "name": "Sound editor",
   "how_to_get_there": "Tap EDIT for chords or hold ENV and tap EDIT for bass.",
   "what_it_is": "Choose a section, screen and lane to edit four cells.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "953-1000",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L953-L1000"
    }
   ]
  },
  {
   "id": "record_overwrite",
   "name": "Overwrite recording",
   "how_to_get_there": "Choose Overwrite with ALGORITHM in the PLAY menu or cycle GLO+REC.",
   "what_it_is": "REC follows this record mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2286-2356",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2286-L2356"
    }
   ]
  },
  {
   "id": "record_advance",
   "name": "Advance recording",
   "how_to_get_there": "Choose Advance with ALGORITHM in the PLAY menu or cycle GLO+REC.",
   "what_it_is": "REC follows this record mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2286-2356",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2286-L2356"
    }
   ]
  },
  {
   "id": "record_overdub",
   "name": "Overdub recording",
   "how_to_get_there": "Choose Overdub with ALGORITHM in the PLAY menu or cycle GLO+REC.",
   "what_it_is": "REC follows this record mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2286-2356",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2286-L2356"
    }
   ]
  },
  {
   "id": "record_replace",
   "name": "Replace recording",
   "how_to_get_there": "Choose Replace with ALGORITHM in the PLAY menu or cycle GLO+REC.",
   "what_it_is": "REC follows this record mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2286-2356",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2286-L2356"
    }
   ]
  },
  {
   "id": "key_1",
   "name": "KEY page 1",
   "how_to_get_there": "Hold SEL and turn SELECT left for page 1 or right for page 2.",
   "what_it_is": "Key and keyboard settings.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3880-3926",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3880-L3926"
    }
   ]
  },
  {
   "id": "key_2",
   "name": "KEY page 2",
   "how_to_get_there": "Hold SEL and turn SELECT left for page 1 or right for page 2.",
   "what_it_is": "Key and keyboard settings.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3880-3926",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3880-L3926"
    }
   ]
  },
  {
   "id": "perf_strum",
   "name": "Strum performance",
   "how_to_get_there": "Hold ARP and choose the mode with SELECT.",
   "what_it_is": "The performance mode’s four parameters.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "487-501",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L487-L501"
    }
   ]
  },
  {
   "id": "perf_slop",
   "name": "Slop performance",
   "how_to_get_there": "Hold ARP and choose the mode with SELECT.",
   "what_it_is": "The performance mode’s four parameters.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "487-501",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L487-L501"
    }
   ]
  },
  {
   "id": "perf_arp",
   "name": "Arp performance",
   "how_to_get_there": "Hold ARP and choose the mode with SELECT.",
   "what_it_is": "The performance mode’s four parameters.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "487-501",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L487-L501"
    }
   ]
  },
  {
   "id": "perf_pattern",
   "name": "Pattern performance",
   "how_to_get_there": "Hold ARP and choose the mode with SELECT.",
   "what_it_is": "The performance mode’s four parameters.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "487-501",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L487-L501"
    }
   ]
  },
  {
   "id": "perf_harp",
   "name": "Harp performance",
   "how_to_get_there": "Hold ARP and choose the mode with SELECT.",
   "what_it_is": "The performance mode’s four parameters.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "487-501",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L487-L501"
    }
   ]
  },
  {
   "id": "fx_sends",
   "name": "FX sends",
   "how_to_get_there": "Hold FX and choose the page with SELECT.",
   "what_it_is": "Four controls for this FX page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "525-537",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
    }
   ]
  },
  {
   "id": "fx_reverb_1",
   "name": "FX reverb 1",
   "how_to_get_there": "Hold FX and choose the page with SELECT.",
   "what_it_is": "Four controls for this FX page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "525-537",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
    }
   ]
  },
  {
   "id": "fx_reverb_2",
   "name": "FX reverb 2",
   "how_to_get_there": "Hold FX and choose the page with SELECT.",
   "what_it_is": "Four controls for this FX page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "525-537",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
    }
   ]
  },
  {
   "id": "fx_chorus",
   "name": "FX chorus",
   "how_to_get_there": "Hold FX and choose the page with SELECT.",
   "what_it_is": "Four controls for this FX page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "525-537",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
    }
   ]
  },
  {
   "id": "fx_delay_1",
   "name": "FX delay 1",
   "how_to_get_there": "Hold FX and choose the page with SELECT.",
   "what_it_is": "Four controls for this FX page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "525-537",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
    }
   ]
  },
  {
   "id": "fx_delay_2",
   "name": "FX delay 2",
   "how_to_get_there": "Hold FX and choose the page with SELECT.",
   "what_it_is": "Four controls for this FX page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "525-537",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
    }
   ]
  },
  {
   "id": "fx_drive",
   "name": "FX drive",
   "how_to_get_there": "Hold FX and choose the page with SELECT.",
   "what_it_is": "Four controls for this FX page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "525-537",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
    }
   ]
  },
  {
   "id": "fx_filter",
   "name": "FX filter",
   "how_to_get_there": "Hold FX and choose the page with SELECT.",
   "what_it_is": "Four controls for this FX page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "525-537",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
    }
   ]
  },
  {
   "id": "loop_1",
   "name": "PLAY page 1",
   "how_to_get_there": "Open the PLAY menu and turn SELECT left for page 1 or right for page 2.",
   "what_it_is": "Loop recording and playback settings.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5173-5204",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5173-L5204"
    }
   ]
  },
  {
   "id": "loop_2",
   "name": "PLAY page 2",
   "how_to_get_there": "Open the PLAY menu and turn SELECT left for page 1 or right for page 2.",
   "what_it_is": "Loop recording and playback settings.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5173-5204",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5173-L5204"
    }
   ]
  },
  {
   "id": "loop_edit_1",
   "name": "Loop editor 1",
   "how_to_get_there": "Open the loop editor and turn SELECT left for page 1 or right for page 2.",
   "what_it_is": "Step properties.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5173-5204",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5173-L5204"
    }
   ]
  },
  {
   "id": "loop_edit_2",
   "name": "Loop editor 2",
   "how_to_get_there": "Open the loop editor and turn SELECT left for page 1 or right for page 2.",
   "what_it_is": "Step properties.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "5173-5204",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5173-L5204"
    }
   ]
  },
  {
   "id": "count_in",
   "name": "Count-in",
   "how_to_get_there": "Appears automatically in this state.",
   "what_it_is": "Shows remaining count-in beats in red with a progress ring.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7874-7884",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7874-L7884"
    }
   ]
  },
  {
   "id": "undo_result",
   "name": "Undo result",
   "how_to_get_there": "Appears automatically in this state.",
   "what_it_is": "Shows remaining recording layers and an undo ring.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7886-7895",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7886-L7895"
    }
   ]
  },
  {
   "id": "panic",
   "name": "Panic",
   "how_to_get_there": "Press OCT- and OCT+ together.",
   "what_it_is": "Shows PANIC in red while the panel lights flash.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7865-7873",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7865-L7873"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4853-4859",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4853-L4859"
    }
   ]
  },
  {
   "id": "stripes",
   "name": "Idle stripes",
   "how_to_get_there": "Appears automatically in this state.",
   "what_it_is": "Shows moving stripes at startup or after three idle minutes.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7965-7975",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7965-L7975"
    }
   ]
  },
  {
   "id": "knob_popup",
   "name": "Knob readout",
   "how_to_get_there": "Appears automatically in this state.",
   "what_it_is": "Shows the changed value, parameter name and meter over the current page.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7905-7947",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7905-L7947"
    }
   ]
  },
  {
   "id": "view_chord",
   "name": "Chord",
   "how_to_get_there": "Choose this view in the HOME hold menu.",
   "what_it_is": "Shows the chord name, notes, voicing and optional degree.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7830-7846",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7830-L7846"
    }
   ]
  },
  {
   "id": "view_keyboard",
   "name": "Keyboard",
   "how_to_get_there": "Choose this view in the HOME hold menu.",
   "what_it_is": "Shows the chord and its notes on a keyboard drawing.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7713-7718",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7713-L7718"
    }
   ]
  },
  {
   "id": "view_notes",
   "name": "Notes",
   "how_to_get_there": "Choose this view in the HOME hold menu.",
   "what_it_is": "Lists voiced note names.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7719-7735",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7719-L7735"
    }
   ]
  },
  {
   "id": "view_geek",
   "name": "Geek Out",
   "how_to_get_there": "Choose this view in the HOME hold menu.",
   "what_it_is": "Shows the chord name, note list and keyboard, voicing, play style, bass state, tempo and audio, core or boot diagnostics.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7736-7807",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7736-L7807"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "541",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L541"
    }
   ]
  },
  {
   "id": "view_scope",
   "name": "Scope",
   "how_to_get_there": "Choose this view in the HOME hold menu.",
   "what_it_is": "Draws the audio waveform with the chord above it.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7700-7712",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7700-L7712"
    }
   ]
  },
  {
   "id": "view_geek2",
   "name": "Geek Out 2",
   "how_to_get_there": "Choose this view in the HOME hold menu.",
   "what_it_is": "Shows two-core load, RAM and pool-memory meters.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7602-7669",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7602-L7669"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "541",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L541"
    }
   ]
  },
  {
   "id": "option_play_style",
   "name": "Options: Play Style",
   "how_to_get_there": "Tap GLO and choose Play Style with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_extension_addition",
   "name": "Options: Extension Addition",
   "how_to_get_there": "Tap GLO and choose Extension Addition with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_secret_chords",
   "name": "Options: Secret Chords",
   "how_to_get_there": "Tap GLO and choose Secret Chords with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_6th_with_7th",
   "name": "Options: 6th with 7th",
   "how_to_get_there": "Tap GLO and choose 6th with 7th with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_velocity",
   "name": "Options: Velocity",
   "how_to_get_there": "Tap GLO and choose Velocity with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_key_touch",
   "name": "Options: Key Touch",
   "how_to_get_there": "Tap GLO and choose Key Touch with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_velocity_sens",
   "name": "Options: Velocity Sens",
   "how_to_get_there": "Tap GLO and choose Velocity Sens with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_velocity_curve",
   "name": "Options: Velocity Curve",
   "how_to_get_there": "Tap GLO and choose Velocity Curve with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_aftertouch_sens",
   "name": "Options: Aftertouch Sens",
   "how_to_get_there": "Tap GLO and choose Aftertouch Sens with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_bass_behaviour",
   "name": "Options: Bass Behaviour",
   "how_to_get_there": "Tap GLO and choose Bass Behaviour with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_single_notes",
   "name": "Options: Single Notes",
   "how_to_get_there": "Tap GLO and choose Single Notes with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_split_point",
   "name": "Options: Split Point",
   "how_to_get_there": "Tap GLO and choose Split Point with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_midi_perform",
   "name": "Options: MIDI Perform",
   "how_to_get_there": "Tap GLO and choose MIDI Perform with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_midi_bass",
   "name": "Options: MIDI Bass",
   "how_to_get_there": "Tap GLO and choose MIDI Bass with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_midi_raw_chord",
   "name": "Options: MIDI Raw Chord",
   "how_to_get_there": "Tap GLO and choose MIDI Raw Chord with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_raw_chord_sound",
   "name": "Options: Raw Chord Sound",
   "how_to_get_there": "Tap GLO and choose Raw Chord Sound with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_midi_clock",
   "name": "Options: MIDI Clock",
   "how_to_get_there": "Tap GLO and choose MIDI Clock with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_view",
   "name": "Options: View",
   "how_to_get_there": "Tap GLO and choose View with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_motion",
   "name": "Options: Motion",
   "how_to_get_there": "Tap GLO and choose Motion with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_chord_names",
   "name": "Options: Chord Names",
   "how_to_get_there": "Tap GLO and choose Chord Names with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_leds",
   "name": "Options: LEDs",
   "how_to_get_there": "Tap GLO and choose LEDs with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_hold_time",
   "name": "Options: Hold Time",
   "how_to_get_there": "Tap GLO and choose Hold Time with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_usb_record",
   "name": "Options: USB Record",
   "how_to_get_there": "Tap GLO and choose USB Record with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_usb_level",
   "name": "Options: USB Level",
   "how_to_get_there": "Tap GLO and choose USB Level with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_usb_rate",
   "name": "Options: USB Rate",
   "how_to_get_there": "Tap GLO and choose USB Rate with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_dual_core",
   "name": "Options: Dual Core",
   "how_to_get_there": "Tap GLO and choose Dual Core with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_output",
   "name": "Options: Output",
   "how_to_get_there": "Tap GLO and choose Output with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_version",
   "name": "Options: Version",
   "how_to_get_there": "Tap GLO and choose Version with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_calibrate",
   "name": "Options: Calibrate",
   "how_to_get_there": "Tap GLO and choose Calibrate with SELECT.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_reset_settings",
   "name": "Options: Reset Settings",
   "how_to_get_there": "Tap GLO and choose Reset Settings with SELECT.",
   "what_it_is": "Restores default preferences, including LOCK/LATCH off, Type key Clears, Ext keys Toggle, Chords keyboard and Key plays, Key Mode off, C Major, Transpose/voicing/octave 0, Snap/Numerals off including Solfège, Classic chord keys, Glow LEDs, Full K Shorts off, SUS Window 30 ms and MIDI Keys off, then resets the live sounds and saved session while retaining saved presets, favorites, loop slots and calibration.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "1508-1555",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1508-L1555"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3191-3196",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3191-L3196"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "2915-2920",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2915-L2920"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_out.c",
     "lines": "587",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L587"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_loop.c",
     "lines": "865-875",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L865-L875"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3187-3196",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3187-L3196"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "72-123",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L72-L123"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "126-132",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L126-L132"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "1090-1114",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1090-L1114"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "1130-1153",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1130-L1153"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.h",
     "lines": "47-51",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L47-L51"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.h",
     "lines": "69-80",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L69-L80"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.h",
     "lines": "120-132",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L120-L132"
    }
   ]
  },
  {
   "id": "option_safe_mode",
   "name": "Options: Safe Mode",
   "how_to_get_there": "Tap GLO and choose Safe Mode with SELECT in safe mode.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "option_flash_data",
   "name": "Options: Flash Data",
   "how_to_get_there": "Tap GLO and choose Flash Data with SELECT in safe mode.",
   "what_it_is": "One Options row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1078-1087",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1087"
    }
   ]
  },
  {
   "id": "edit_va_osc_1_1",
   "name": "VA OSC screen 1, lane 1: OSC 1 · A",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Wave, Level, Coarse, Fine.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "347-356",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L347-L356"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_osc_1_2",
   "name": "VA OSC screen 1, lane 2: OSC 2 · A",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Wave, Level, Coarse, Fine.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "357-366",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L357-L366"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_osc_1_3",
   "name": "VA OSC screen 1, lane 3: OSC 3 · A",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 3.",
   "what_it_is": "The active lane shows Wave, Level, Coarse, Fine.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "367-376",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L367-L376"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_osc_1_4",
   "name": "VA OSC screen 1, lane 4: OSC 4 · A",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 4.",
   "what_it_is": "The active lane shows Wave, Level, Coarse, Fine.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "377-386",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L377-L386"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_osc_2_1",
   "name": "VA OSC screen 2, lane 1: OSC 1 · B",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Mode, Shape, Key trk, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "399-408",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L399-L408"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_osc_2_2",
   "name": "VA OSC screen 2, lane 2: OSC 2 · B",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Mode, Shape, Key trk, Sync.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "409-418",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L409-L418"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_osc_2_3",
   "name": "VA OSC screen 2, lane 3: OSC 3 · B",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 3.",
   "what_it_is": "The active lane shows Mode, Shape, Key trk, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "419-428",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L419-L428"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_osc_2_4",
   "name": "VA OSC screen 2, lane 4: OSC 4 · B",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 4.",
   "what_it_is": "The active lane shows Mode, Shape, Key trk, Ring.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "429-438",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L429-L438"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_osc_3_1",
   "name": "VA OSC screen 3, lane 1: OSC · MIX",
   "how_to_get_there": "In the VA sound editor, tap FX for OSC and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows Level, Level, Level, Level.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "450-459",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L450-L459"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_filt_1_1",
   "name": "VA FILT screen 1, lane 1: FILTER",
   "how_to_get_there": "In the VA sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Cutoff, Reso, Ftype, Env amt.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "478-487",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L478-L487"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_filt_1_2",
   "name": "VA FILT screen 1, lane 2: FILTER",
   "how_to_get_there": "In the VA sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Key trk, empty, Spread, Drive.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "488-497",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L488-L497"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_env_1_1",
   "name": "VA ENV screen 1, lane 1: ENV 1 · amp",
   "how_to_get_there": "In the VA sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "516-525",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L516-L525"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_env_1_2",
   "name": "VA ENV screen 1, lane 2: ENV 1 · amp",
   "how_to_get_there": "In the VA sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Hold, Velocity, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "526-535",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L526-L535"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_env_2_1",
   "name": "VA ENV screen 2, lane 1: ENV 2 · filter",
   "how_to_get_there": "In the VA sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "547-556",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L547-L556"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_env_2_2",
   "name": "VA ENV screen 2, lane 2: ENV 2 · filter",
   "how_to_get_there": "In the VA sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Hold, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "557-566",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L557-L566"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_env_3_1",
   "name": "VA ENV screen 3, lane 1: ENV 3 · free",
   "how_to_get_there": "In the VA sound editor, tap ENV for ENV and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "578-587",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L578-L587"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_env_3_2",
   "name": "VA ENV screen 3, lane 2: ENV 3 · free",
   "how_to_get_there": "In the VA sound editor, tap ENV for ENV and use SELECT to reach screen 3, lane 2.",
   "what_it_is": "The active lane shows Hold, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "588-597",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L588-L597"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_env_4_1",
   "name": "VA ENV screen 4, lane 1: ENV 4 · free",
   "how_to_get_there": "In the VA sound editor, tap ENV for ENV and use SELECT to reach screen 4, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "609-618",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L609-L618"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_env_4_2",
   "name": "VA ENV screen 4, lane 2: ENV 4 · free",
   "how_to_get_there": "In the VA sound editor, tap ENV for ENV and use SELECT to reach screen 4, lane 2.",
   "what_it_is": "The active lane shows Hold, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "619-628",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L619-L628"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_1_1",
   "name": "VA LFO screen 1, lane 1: LFO 1 · A",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Rate, Wave, Depth, Fade.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "648-657",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L648-L657"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_1_2",
   "name": "VA LFO screen 1, lane 2: LFO 2 · A",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Rate, Wave, Depth, Fade.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "658-667",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L658-L667"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_1_3",
   "name": "VA LFO screen 1, lane 3: LFO 3 · A",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 3.",
   "what_it_is": "The active lane shows Rate, Wave, Depth, Fade.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "668-677",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L668-L677"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_1_4",
   "name": "VA LFO screen 1, lane 4: LFO 4 · A",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 4.",
   "what_it_is": "The active lane shows Rate, Wave, Depth, Fade.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "678-687",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L678-L687"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_2_1",
   "name": "VA LFO screen 2, lane 1: LFO 1 · B",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Sync1, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "700-709",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L700-L709"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_2_2",
   "name": "VA LFO screen 2, lane 2: LFO 2 · B",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Sync2, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "710-719",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L710-L719"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_2_3",
   "name": "VA LFO screen 2, lane 3: LFO 3 · B",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 3.",
   "what_it_is": "The active lane shows Sync3, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "720-729",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L720-L729"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_2_4",
   "name": "VA LFO screen 2, lane 4: LFO 4 · B",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 4.",
   "what_it_is": "The active lane shows Sync4, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "730-739",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L730-L739"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_lfo_3_1",
   "name": "VA LFO screen 3, lane 1: VOICE",
   "how_to_get_there": "In the VA sound editor, tap LFO for LFO and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows Uspread, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "751-760",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L751-L760"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_1_1",
   "name": "VA MOD screen 1, lane 1: MOD 1",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "780-789",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L780-L789"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_1_2",
   "name": "VA MOD screen 1, lane 2: MOD 2",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "790-799",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L790-L799"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_1_3",
   "name": "VA MOD screen 1, lane 3: MOD 3",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 3.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "800-809",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L800-L809"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_1_4",
   "name": "VA MOD screen 1, lane 4: MOD 4",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 4.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "810-819",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L810-L819"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_1_5",
   "name": "VA MOD screen 1, lane 5: MOD 5",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 5.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "820-829",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L820-L829"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_1_6",
   "name": "VA MOD screen 1, lane 6: MOD 6",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 6.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "830-839",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L830-L839"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_1_7",
   "name": "VA MOD screen 1, lane 7: MOD 7",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 7.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "840-849",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L840-L849"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_1_8",
   "name": "VA MOD screen 1, lane 8: MOD 8",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 8.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "850-859",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L850-L859"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_2_1",
   "name": "VA MOD screen 2, lane 1: EXPR · VEL",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows VEL, AMP, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "872-881",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L872-L881"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mod_2_2",
   "name": "VA MOD screen 2, lane 2: EXPR · AT",
   "how_to_get_there": "In the VA sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows AT, CUT, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "882-891",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L882-L891"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_fx_1_1",
   "name": "VA FX screen 1, lane 1: FX",
   "how_to_get_there": "In the VA sound editor, tap PLAY for FX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Drive, Chorus, Delay, Reverb.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "910-919",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L910-L919"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mix_1_1",
   "name": "VA MIX screen 1, lane 1: MIX",
   "how_to_get_there": "In the VA sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Level, Pan, Voice, Glide.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "938-947",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L938-L947"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_va_mix_1_2",
   "name": "VA MIX screen 1, lane 2: MIX",
   "how_to_get_there": "In the VA sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Trans, Detune, Priority, Gl. mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/va.json",
     "lines": "948-957",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L948-L957"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_va.c",
     "lines": "134-168",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_1_1",
   "name": "FM6 OSC screen 1, lane 1: OP 1 · A",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Level, Coarse, Fine, Detune.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "417-426",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L417-L426"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_1_2",
   "name": "FM6 OSC screen 1, lane 2: OP 2 · A",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Level, Coarse, Fine, Detune.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "427-436",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L427-L436"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_1_3",
   "name": "FM6 OSC screen 1, lane 3: OP 3 · A",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 3.",
   "what_it_is": "The active lane shows Level, Coarse, Fine, Detune.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "437-446",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L437-L446"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_1_4",
   "name": "FM6 OSC screen 1, lane 4: OP 4 · A",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 4.",
   "what_it_is": "The active lane shows Level, Coarse, Fine, Detune.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "447-456",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L447-L456"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_1_5",
   "name": "FM6 OSC screen 1, lane 5: OP 5 · A",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 5.",
   "what_it_is": "The active lane shows Level, Coarse, Fine, Detune.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "457-466",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L457-L466"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_1_6",
   "name": "FM6 OSC screen 1, lane 6: OP 6 · A",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 6.",
   "what_it_is": "The active lane shows Level, Coarse, Fine, Detune.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "467-476",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L467-L476"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_2_1",
   "name": "FM6 OSC screen 2, lane 1: OP 1 · B",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Mode, Vel sens, AM sens, Rate scl.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "489-498",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L489-L498"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_2_2",
   "name": "FM6 OSC screen 2, lane 2: OP 2 · B",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Mode, Vel sens, AM sens, Rate scl.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "499-508",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L499-L508"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_2_3",
   "name": "FM6 OSC screen 2, lane 3: OP 3 · B",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 3.",
   "what_it_is": "The active lane shows Mode, Vel sens, AM sens, Rate scl.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "509-518",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L509-L518"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_2_4",
   "name": "FM6 OSC screen 2, lane 4: OP 4 · B",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 4.",
   "what_it_is": "The active lane shows Mode, Vel sens, AM sens, Rate scl.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "519-528",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L519-L528"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_2_5",
   "name": "FM6 OSC screen 2, lane 5: OP 5 · B",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 5.",
   "what_it_is": "The active lane shows Mode, Vel sens, AM sens, Rate scl.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "529-538",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L529-L538"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_2_6",
   "name": "FM6 OSC screen 2, lane 6: OP 6 · B",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 6.",
   "what_it_is": "The active lane shows Mode, Vel sens, AM sens, Rate scl.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "539-548",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L539-L548"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_3_1",
   "name": "FM6 OSC screen 3, lane 1: SCALE 1 · C",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows Break pt, L depth, R depth, Curve.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "561-570",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L561-L570"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_3_2",
   "name": "FM6 OSC screen 3, lane 2: SCALE 2 · C",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 3, lane 2.",
   "what_it_is": "The active lane shows Break pt, L depth, R depth, Curve.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "571-580",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L571-L580"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_3_3",
   "name": "FM6 OSC screen 3, lane 3: SCALE 3 · C",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 3, lane 3.",
   "what_it_is": "The active lane shows Break pt, L depth, R depth, Curve.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "581-590",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L581-L590"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_3_4",
   "name": "FM6 OSC screen 3, lane 4: SCALE 4 · C",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 3, lane 4.",
   "what_it_is": "The active lane shows Break pt, L depth, R depth, Curve.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "591-600",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L591-L600"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_3_5",
   "name": "FM6 OSC screen 3, lane 5: SCALE 5 · C",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 3, lane 5.",
   "what_it_is": "The active lane shows Break pt, L depth, R depth, Curve.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "601-610",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L601-L610"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_osc_3_6",
   "name": "FM6 OSC screen 3, lane 6: SCALE 6 · C",
   "how_to_get_there": "In the FM6 sound editor, tap FX for OSC and use SELECT to reach screen 3, lane 6.",
   "what_it_is": "The active lane shows Break pt, L depth, R depth, Curve.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "611-620",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L611-L620"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_filt_1_1",
   "name": "FM6 FILT screen 1, lane 1: ALGO",
   "how_to_get_there": "In the FM6 sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Algo, Feedback, Transp, Osc sync.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "639-648",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L639-L648"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_1_1",
   "name": "FM6 ENV screen 1, lane 1: ENV 1",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "667-676",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L667-L676"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_1_2",
   "name": "FM6 ENV screen 1, lane 2: ENV 1",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "677-686",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L677-L686"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_2_1",
   "name": "FM6 ENV screen 2, lane 1: ENV 2",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "698-707",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L698-L707"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_2_2",
   "name": "FM6 ENV screen 2, lane 2: ENV 2",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "708-717",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L708-L717"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_3_1",
   "name": "FM6 ENV screen 3, lane 1: ENV 3",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "729-738",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L729-L738"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_3_2",
   "name": "FM6 ENV screen 3, lane 2: ENV 3",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 3, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "739-748",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L739-L748"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_4_1",
   "name": "FM6 ENV screen 4, lane 1: ENV 4",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 4, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "760-769",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L760-L769"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_4_2",
   "name": "FM6 ENV screen 4, lane 2: ENV 4",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 4, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "770-779",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L770-L779"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_5_1",
   "name": "FM6 ENV screen 5, lane 1: ENV 5",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 5, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "791-800",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L791-L800"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_5_2",
   "name": "FM6 ENV screen 5, lane 2: ENV 5",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 5, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "801-810",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L801-L810"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_6_1",
   "name": "FM6 ENV screen 6, lane 1: ENV 6",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 6, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "822-831",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L822-L831"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_6_2",
   "name": "FM6 ENV screen 6, lane 2: ENV 6",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 6, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "832-841",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L832-L841"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_7_1",
   "name": "FM6 ENV screen 7, lane 1: PITCH EG",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 7, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "853-862",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L853-L862"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_env_7_2",
   "name": "FM6 ENV screen 7, lane 2: PITCH EG",
   "how_to_get_there": "In the FM6 sound editor, tap ENV for ENV and use SELECT to reach screen 7, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "863-872",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L863-L872"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_lfo_1_1",
   "name": "FM6 LFO screen 1, lane 1: LFO",
   "how_to_get_there": "In the FM6 sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Speed, Delay, PM depth, AM depth.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "891-900",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L891-L900"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_lfo_1_2",
   "name": "FM6 LFO screen 1, lane 2: LFO",
   "how_to_get_there": "In the FM6 sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Wave, Sync, PM sens, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "901-910",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L901-L910"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_mod_1_1",
   "name": "FM6 MOD screen 1, lane 1: FUNC",
   "how_to_get_there": "In the FM6 sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Bend, Porta, Engine, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "929-938",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L929-L938"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_mod_1_2",
   "name": "FM6 MOD screen 1, lane 2: FUNC",
   "how_to_get_there": "In the FM6 sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Step, Porta md, Gliss, DX vel.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "939-948",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L939-L948"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_mod_2_1",
   "name": "FM6 MOD screen 2, lane 1: CTRL",
   "how_to_get_there": "In the FM6 sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Wheel, W.dst, Foot, F.dst.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "960-969",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L960-L969"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_mod_2_2",
   "name": "FM6 MOD screen 2, lane 2: CTRL",
   "how_to_get_there": "In the FM6 sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Breath, B.dst, Aftertch, A.dst.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "970-979",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L970-L979"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_mod_3_1",
   "name": "FM6 MOD screen 3, lane 1: EXPR · VEL",
   "how_to_get_there": "In the FM6 sound editor, tap SEQ for MOD and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows VEL, AMP, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "992-1001",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L992-L1001"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_mod_3_2",
   "name": "FM6 MOD screen 3, lane 2: EXPR · AT",
   "how_to_get_there": "In the FM6 sound editor, tap SEQ for MOD and use SELECT to reach screen 3, lane 2.",
   "what_it_is": "The active lane shows AT, CUT, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "1002-1011",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1002-L1011"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_fx_1_1",
   "name": "FM6 FX screen 1, lane 1: FX",
   "how_to_get_there": "In the FM6 sound editor, tap PLAY for FX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Drive, Chorus, Delay, Reverb.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "1030-1039",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1030-L1039"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_mix_1_1",
   "name": "FM6 MIX screen 1, lane 1: MIX",
   "how_to_get_there": "In the FM6 sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Level, Pan, Voice, Glide.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "1058-1067",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1058-L1067"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_fm6_mix_1_2",
   "name": "FM6 MIX screen 1, lane 2: MIX",
   "how_to_get_there": "In the FM6 sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Trans, Detune, Priority, Gl. mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm6.json",
     "lines": "1068-1077",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1068-L1077"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_fm6.c",
     "lines": "1285-1324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
    }
   ]
  },
  {
   "id": "edit_cz_1_osc_1_1",
   "name": "CZ-1 OSC screen 1, lane 1: LINE 1 · A",
   "how_to_get_there": "In the CZ-1 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Wave, Wave2, Window, Level.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "397-406",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L397-L406"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_osc_1_2",
   "name": "CZ-1 OSC screen 1, lane 2: LINE 2 · A",
   "how_to_get_there": "In the CZ-1 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Wave, Wave2, Window, Level.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "407-416",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L407-L416"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_osc_2_1",
   "name": "CZ-1 OSC screen 2, lane 1: DETUNE",
   "how_to_get_there": "In the CZ-1 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Sign, Oct, Note, Fine.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "428-437",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L428-L437"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_osc_3_1",
   "name": "CZ-1 OSC screen 3, lane 1: OSC · MIX",
   "how_to_get_there": "In the CZ-1 sound editor, tap FX for OSC and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows Level, Level, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "449-458",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L449-L458"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_filt_1_1",
   "name": "CZ-1 FILT screen 1, lane 1: DCW",
   "how_to_get_there": "In the CZ-1 sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows DCW key 1, DCW key 2, DCW vel 1, DCW vel 2.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "477-486",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L477-L486"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_filt_1_2",
   "name": "CZ-1 FILT screen 1, lane 2: DCW",
   "how_to_get_there": "In the CZ-1 sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows DCA key 1, DCA key 2, DCA vel 1, DCA vel 2.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "487-496",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L487-L496"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_1_1",
   "name": "CZ-1 ENV screen 1, lane 1: PITCH 1 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "515-524",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L515-L524"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_1_2",
   "name": "CZ-1 ENV screen 1, lane 2: PITCH 1 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "525-534",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L525-L534"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_2_1",
   "name": "CZ-1 ENV screen 2, lane 1: PITCH 1 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Rate 5, Rate 6, Rate 7, Rate 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "546-555",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L546-L555"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_2_2",
   "name": "CZ-1 ENV screen 2, lane 2: PITCH 1 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Level 5, Level 6, Level 7, Level 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "556-565",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L556-L565"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_3_1",
   "name": "CZ-1 ENV screen 3, lane 1: PITCH 1 · END",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows Sustain, End, Pitch vel, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "577-586",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L577-L586"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_4_1",
   "name": "CZ-1 ENV screen 4, lane 1: DCW 1 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 4, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "598-607",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L598-L607"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_4_2",
   "name": "CZ-1 ENV screen 4, lane 2: DCW 1 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 4, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "608-617",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L608-L617"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_5_1",
   "name": "CZ-1 ENV screen 5, lane 1: DCW 1 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 5, lane 1.",
   "what_it_is": "The active lane shows Rate 5, Rate 6, Rate 7, Rate 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "629-638",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L629-L638"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_5_2",
   "name": "CZ-1 ENV screen 5, lane 2: DCW 1 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 5, lane 2.",
   "what_it_is": "The active lane shows Level 5, Level 6, Level 7, Level 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "639-648",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L639-L648"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_6_1",
   "name": "CZ-1 ENV screen 6, lane 1: DCW 1 · END",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 6, lane 1.",
   "what_it_is": "The active lane shows Sustain, End, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "660-669",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L660-L669"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_7_1",
   "name": "CZ-1 ENV screen 7, lane 1: DCA 1 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 7, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "681-690",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L681-L690"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_7_2",
   "name": "CZ-1 ENV screen 7, lane 2: DCA 1 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 7, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "691-700",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L691-L700"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_8_1",
   "name": "CZ-1 ENV screen 8, lane 1: DCA 1 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 8, lane 1.",
   "what_it_is": "The active lane shows Rate 5, Rate 6, Rate 7, Rate 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "712-721",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L712-L721"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_8_2",
   "name": "CZ-1 ENV screen 8, lane 2: DCA 1 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 8, lane 2.",
   "what_it_is": "The active lane shows Level 5, Level 6, Level 7, Level 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "722-731",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L722-L731"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_9_1",
   "name": "CZ-1 ENV screen 9, lane 1: DCA 1 · END",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 9, lane 1.",
   "what_it_is": "The active lane shows Sustain, End, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "743-752",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L743-L752"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_10_1",
   "name": "CZ-1 ENV screen 10, lane 1: PITCH 2 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 10, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "764-773",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L764-L773"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_10_2",
   "name": "CZ-1 ENV screen 10, lane 2: PITCH 2 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 10, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "774-783",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L774-L783"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_11_1",
   "name": "CZ-1 ENV screen 11, lane 1: PITCH 2 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 11, lane 1.",
   "what_it_is": "The active lane shows Rate 5, Rate 6, Rate 7, Rate 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "795-804",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L795-L804"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_11_2",
   "name": "CZ-1 ENV screen 11, lane 2: PITCH 2 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 11, lane 2.",
   "what_it_is": "The active lane shows Level 5, Level 6, Level 7, Level 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "805-814",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L805-L814"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_12_1",
   "name": "CZ-1 ENV screen 12, lane 1: PITCH 2 · END",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 12, lane 1.",
   "what_it_is": "The active lane shows Sustain, End, Pitch vel, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "826-835",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L826-L835"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_13_1",
   "name": "CZ-1 ENV screen 13, lane 1: DCW 2 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 13, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "847-856",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L847-L856"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_13_2",
   "name": "CZ-1 ENV screen 13, lane 2: DCW 2 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 13, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "857-866",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L857-L866"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_14_1",
   "name": "CZ-1 ENV screen 14, lane 1: DCW 2 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 14, lane 1.",
   "what_it_is": "The active lane shows Rate 5, Rate 6, Rate 7, Rate 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "878-887",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L878-L887"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_14_2",
   "name": "CZ-1 ENV screen 14, lane 2: DCW 2 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 14, lane 2.",
   "what_it_is": "The active lane shows Level 5, Level 6, Level 7, Level 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "888-897",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L888-L897"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_15_1",
   "name": "CZ-1 ENV screen 15, lane 1: DCW 2 · END",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 15, lane 1.",
   "what_it_is": "The active lane shows Sustain, End, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "909-918",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L909-L918"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_16_1",
   "name": "CZ-1 ENV screen 16, lane 1: DCA 2 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 16, lane 1.",
   "what_it_is": "The active lane shows Rate 1, Rate 2, Rate 3, Rate 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "930-939",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L930-L939"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_16_2",
   "name": "CZ-1 ENV screen 16, lane 2: DCA 2 · 1-4",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 16, lane 2.",
   "what_it_is": "The active lane shows Level 1, Level 2, Level 3, Level 4.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "940-949",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L940-L949"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_17_1",
   "name": "CZ-1 ENV screen 17, lane 1: DCA 2 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 17, lane 1.",
   "what_it_is": "The active lane shows Rate 5, Rate 6, Rate 7, Rate 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "961-970",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L961-L970"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_17_2",
   "name": "CZ-1 ENV screen 17, lane 2: DCA 2 · 5-8",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 17, lane 2.",
   "what_it_is": "The active lane shows Level 5, Level 6, Level 7, Level 8.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "971-980",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L971-L980"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_env_18_1",
   "name": "CZ-1 ENV screen 18, lane 1: DCA 2 · END",
   "how_to_get_there": "In the CZ-1 sound editor, tap ENV for ENV and use SELECT to reach screen 18, lane 1.",
   "what_it_is": "The active lane shows Sustain, End, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "992-1001",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L992-L1001"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_lfo_1_1",
   "name": "CZ-1 LFO screen 1, lane 1: VIB",
   "how_to_get_there": "In the CZ-1 sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Wave, Delay, Rate, Depth.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "1020-1029",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1020-L1029"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_mod_1_1",
   "name": "CZ-1 MOD screen 1, lane 1: TONE",
   "how_to_get_there": "In the CZ-1 sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Line, Mod, Oct, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "1048-1057",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1048-L1057"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_mod_2_1",
   "name": "CZ-1 MOD screen 2, lane 1: EXPR · VEL",
   "how_to_get_there": "In the CZ-1 sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows VEL, AMP, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "1070-1079",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1070-L1079"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_mod_2_2",
   "name": "CZ-1 MOD screen 2, lane 2: EXPR · AT",
   "how_to_get_there": "In the CZ-1 sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows AT, CUT, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "1080-1089",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1080-L1089"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_fx_1_1",
   "name": "CZ-1 FX screen 1, lane 1: FX",
   "how_to_get_there": "In the CZ-1 sound editor, tap PLAY for FX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Drive, Chorus, Delay, Reverb.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "1108-1117",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1108-L1117"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_mix_1_1",
   "name": "CZ-1 MIX screen 1, lane 1: MIX",
   "how_to_get_there": "In the CZ-1 sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Level, Pan, Voice, Glide.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "1136-1145",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1136-L1145"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_cz_1_mix_1_2",
   "name": "CZ-1 MIX screen 1, lane 2: MIX",
   "how_to_get_there": "In the CZ-1 sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Trans, Detune, Priority, Gl. mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/cz-1.json",
     "lines": "1146-1155",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1146-L1155"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_cz.c",
     "lines": "240-269",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
    }
   ]
  },
  {
   "id": "edit_fm_tone_osc_1_1",
   "name": "FM TONE OSC screen 1, lane 1: SYN 1 · A",
   "how_to_get_there": "In the FM TONE sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Algo, Ratio C, Ratio A, Ratio B.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "228-237",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L228-L237"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_osc_1_2",
   "name": "FM TONE OSC screen 1, lane 2: SYN 1 · B",
   "how_to_get_there": "In the FM TONE sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Harm, Dtune, Feedback, Mix.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "238-247",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L238-L247"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_osc_2_1",
   "name": "FM TONE OSC screen 2, lane 1: SYN 2",
   "how_to_get_there": "In the FM TONE sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Offset C, Offset A, Offset B1, Offset B2.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "261-270",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L261-L270"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_filt_1_1",
   "name": "FM TONE FILT screen 1, lane 1: FILTER · A",
   "how_to_get_there": "In the FM TONE sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "291-300",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L291-L300"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_filt_1_2",
   "name": "FM TONE FILT screen 1, lane 2: FILTER · B",
   "how_to_get_there": "In the FM TONE sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Freq, Reso, Type, Env depth.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "301-310",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L301-L310"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_filt_2_1",
   "name": "FM TONE FILT screen 2, lane 1: FILTER 2 · A",
   "how_to_get_there": "In the FM TONE sound editor, tap SEL for FILT and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Env delay, Key track, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "324-333",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L324-L333"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_filt_2_2",
   "name": "FM TONE FILT screen 2, lane 2: FILTER 2 · B",
   "how_to_get_there": "In the FM TONE sound editor, tap SEL for FILT and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Base, Width, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "334-343",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L334-L343"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_env_1_1",
   "name": "FM TONE ENV screen 1, lane 1: ENV A/B",
   "how_to_get_there": "In the FM TONE sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows A Attack, A Decay, A End, A Level.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "364-373",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L364-L373"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_env_1_2",
   "name": "FM TONE ENV screen 1, lane 2: ENV A/B",
   "how_to_get_there": "In the FM TONE sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows B Attack, B Decay, B End, B Level.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "374-383",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L374-L383"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_env_2_1",
   "name": "FM TONE ENV screen 2, lane 1: ENV 2",
   "how_to_get_there": "In the FM TONE sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows A Delay, A Trig, A Reset, Phase.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "397-406",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L397-L406"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_env_2_2",
   "name": "FM TONE ENV screen 2, lane 2: ENV 2",
   "how_to_get_there": "In the FM TONE sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows B Delay, B Trig, B Reset, Velocity.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "407-416",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L407-L416"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_env_3_1",
   "name": "FM TONE ENV screen 3, lane 1: ENV 3",
   "how_to_get_there": "In the FM TONE sound editor, tap ENV for ENV and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows A Key, B1 Key, B2 Key, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "430-439",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L430-L439"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_env_4_1",
   "name": "FM TONE ENV screen 4, lane 1: AMP · A",
   "how_to_get_there": "In the FM TONE sound editor, tap ENV for ENV and use SELECT to reach screen 4, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "453-462",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L453-L462"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_env_4_2",
   "name": "FM TONE ENV screen 4, lane 2: AMP · B",
   "how_to_get_there": "In the FM TONE sound editor, tap ENV for ENV and use SELECT to reach screen 4, lane 2.",
   "what_it_is": "The active lane shows Level, Pan, Drive, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "463-472",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L463-L472"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_lfo_1_1",
   "name": "FM TONE LFO screen 1, lane 1: LFO 1 · A",
   "how_to_get_there": "In the FM TONE sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Speed, Mult, Fade, Dest.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "493-502",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L493-L502"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_lfo_1_2",
   "name": "FM TONE LFO screen 1, lane 2: LFO 1 · B",
   "how_to_get_there": "In the FM TONE sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Wave · Phase, Phase, Trig, Depth.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "503-512",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L503-L512"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_lfo_2_1",
   "name": "FM TONE LFO screen 2, lane 1: LFO 2 · A",
   "how_to_get_there": "In the FM TONE sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Speed, Mult, Fade, Dest.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "526-535",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L526-L535"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_lfo_2_2",
   "name": "FM TONE LFO screen 2, lane 2: LFO 2 · B",
   "how_to_get_there": "In the FM TONE sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Wave · Phase, Phase, Trig, Depth.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "536-545",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L536-L545"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_lfo_3_1",
   "name": "FM TONE LFO screen 3, lane 1: LFO 3 · A",
   "how_to_get_there": "In the FM TONE sound editor, tap LFO for LFO and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows Speed, Mult, Fade, Dest.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "559-568",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L559-L568"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_lfo_3_2",
   "name": "FM TONE LFO screen 3, lane 2: LFO 3 · B",
   "how_to_get_there": "In the FM TONE sound editor, tap LFO for LFO and use SELECT to reach screen 3, lane 2.",
   "what_it_is": "The active lane shows Wave · Phase, Phase, Trig, Depth.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "569-578",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L569-L578"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_mod_1_1",
   "name": "FM TONE MOD screen 1, lane 1: MOD 1",
   "how_to_get_there": "In the FM TONE sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows ENV, FILT, Env>Filter, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "598-607",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L598-L607"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_mod_1_2",
   "name": "FM TONE MOD screen 1, lane 2: MOD 2",
   "how_to_get_there": "In the FM TONE sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows ENV, PITCH, Env>Pitch, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "608-617",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L608-L617"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_mod_1_3",
   "name": "FM TONE MOD screen 1, lane 3: MOD 3",
   "how_to_get_there": "In the FM TONE sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 3.",
   "what_it_is": "The active lane shows ENV, SHAPE, Env>Shape, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "618-627",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L618-L627"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_mod_1_4",
   "name": "FM TONE MOD screen 1, lane 4: MOD 4",
   "how_to_get_there": "In the FM TONE sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 4.",
   "what_it_is": "The active lane shows LFO, AMP, Tremolo, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "628-637",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L628-L637"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_mod_2_1",
   "name": "FM TONE MOD screen 2, lane 1: EXPR · VEL",
   "how_to_get_there": "In the FM TONE sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows VEL, AMP, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "650-659",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L650-L659"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_mod_2_2",
   "name": "FM TONE MOD screen 2, lane 2: EXPR · AT",
   "how_to_get_there": "In the FM TONE sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows AT, CUT, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "660-669",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L660-L669"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_fx_1_1",
   "name": "FM TONE FX screen 1, lane 1: FX",
   "how_to_get_there": "In the FM TONE sound editor, tap PLAY for FX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Drive, Chorus, Delay, Reverb.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "688-697",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L688-L697"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_mix_1_1",
   "name": "FM TONE MIX screen 1, lane 1: MIX",
   "how_to_get_there": "In the FM TONE sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Level, Pan, Voice, Glide.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "716-725",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L716-L725"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_fm_tone_mix_1_2",
   "name": "FM TONE MIX screen 1, lane 2: MIX",
   "how_to_get_there": "In the FM TONE sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Trans, Detune, Priority, Gl. mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/fm-tone.json",
     "lines": "726-735",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L726-L735"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_quad.c",
     "lines": "207-234",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
    }
   ]
  },
  {
   "id": "edit_wheel_osc_1_1",
   "name": "WHEEL OSC screen 1, lane 1: BARS",
   "how_to_get_there": "In the WHEEL sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Reg, Sub, Body, Top.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "25-34",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L25-L34"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_filt_1_1",
   "name": "WHEEL FILT screen 1, lane 1: TONE",
   "how_to_get_there": "In the WHEEL sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Perc, Click, Drv, Rotr.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "53-62",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L53-L62"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_env_1_1",
   "name": "WHEEL ENV screen 1, lane 1: ENV",
   "how_to_get_there": "In the WHEEL sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "81-90",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L81-L90"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_lfo_1_1",
   "name": "WHEEL LFO screen 1, lane 1: LFO",
   "how_to_get_there": "In the WHEEL sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Rate, Wave, Vibrato, Wah.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "109-118",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L109-L118"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_mod_1_1",
   "name": "WHEEL MOD screen 1, lane 1: MOD 1",
   "how_to_get_there": "In the WHEEL sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows ENV, FILT, Env>Filter, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "138-147",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L138-L147"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_mod_1_2",
   "name": "WHEEL MOD screen 1, lane 2: MOD 2",
   "how_to_get_there": "In the WHEEL sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows ENV, PITCH, Env>Pitch, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "148-157",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L148-L157"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_mod_1_3",
   "name": "WHEEL MOD screen 1, lane 3: MOD 3",
   "how_to_get_there": "In the WHEEL sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 3.",
   "what_it_is": "The active lane shows ENV, SHAPE, Env>Shape, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "158-167",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L158-L167"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_mod_1_4",
   "name": "WHEEL MOD screen 1, lane 4: MOD 4",
   "how_to_get_there": "In the WHEEL sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 4.",
   "what_it_is": "The active lane shows LFO, AMP, Tremolo, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "168-177",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L168-L177"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_mod_2_1",
   "name": "WHEEL MOD screen 2, lane 1: EXPR · VEL",
   "how_to_get_there": "In the WHEEL sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows VEL, AMP, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "190-199",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L190-L199"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_mod_2_2",
   "name": "WHEEL MOD screen 2, lane 2: EXPR · AT",
   "how_to_get_there": "In the WHEEL sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows AT, CUT, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "200-209",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L200-L209"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_fx_1_1",
   "name": "WHEEL FX screen 1, lane 1: FX",
   "how_to_get_there": "In the WHEEL sound editor, tap PLAY for FX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Drive, Chorus, Delay, Reverb.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "228-237",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L228-L237"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_mix_1_1",
   "name": "WHEEL MIX screen 1, lane 1: MIX",
   "how_to_get_there": "In the WHEEL sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Level, Pan, Voice, Glide.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "256-265",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L256-L265"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_wheel_mix_1_2",
   "name": "WHEEL MIX screen 1, lane 2: MIX",
   "how_to_get_there": "In the WHEEL sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Trans, Detune, Priority, Gl. mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/wheel.json",
     "lines": "266-275",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L266-L275"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_wheel.c",
     "lines": "290-302",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
    }
   ]
  },
  {
   "id": "edit_grain_osc_1_1",
   "name": "GRAIN OSC screen 1, lane 1: SRC · A",
   "how_to_get_there": "In the GRAIN sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Type, Tone, Motion, Seed.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "218-227",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L218-L227"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_osc_1_2",
   "name": "GRAIN OSC screen 1, lane 2: SRC · B",
   "how_to_get_there": "In the GRAIN sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Type, Tone, Motion, Seed.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "228-237",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L228-L237"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_osc_2_1",
   "name": "GRAIN OSC screen 2, lane 1: GRAIN · A",
   "how_to_get_there": "In the GRAIN sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Size, Dens, Pos, Sprd.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "251-260",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L251-L260"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_osc_2_2",
   "name": "GRAIN OSC screen 2, lane 2: GRAIN · B",
   "how_to_get_there": "In the GRAIN sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Morph, Rand, Pitch, Scan.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "261-270",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L261-L270"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_filt_1_1",
   "name": "GRAIN FILT screen 1, lane 1: FILTER",
   "how_to_get_there": "In the GRAIN sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Cutoff, Reso, Ftype, Drive.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "289-298",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L289-L298"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_filt_1_2",
   "name": "GRAIN FILT screen 1, lane 2: FILTER",
   "how_to_get_there": "In the GRAIN sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Key trk, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "299-308",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L299-L308"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_env_1_1",
   "name": "GRAIN ENV screen 1, lane 1: ENV 1 · amp",
   "how_to_get_there": "In the GRAIN sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "329-338",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L329-L338"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_env_2_1",
   "name": "GRAIN ENV screen 2, lane 1: ENV 2 · mod",
   "how_to_get_there": "In the GRAIN sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Attack, Decay, Sustain, Release.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "352-361",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L352-L361"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_lfo_1_1",
   "name": "GRAIN LFO screen 1, lane 1: LFO 1 · A",
   "how_to_get_there": "In the GRAIN sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Rate, Wave, Depth, Fade.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "381-390",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L381-L390"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_lfo_1_2",
   "name": "GRAIN LFO screen 1, lane 2: LFO 2 · A",
   "how_to_get_there": "In the GRAIN sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Rate, Wave, Depth, Fade.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "391-400",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L391-L400"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_lfo_2_1",
   "name": "GRAIN LFO screen 2, lane 1: LFO 1 · B",
   "how_to_get_there": "In the GRAIN sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows Sync1, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "413-422",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L413-L422"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_lfo_2_2",
   "name": "GRAIN LFO screen 2, lane 2: LFO 2 · B",
   "how_to_get_there": "In the GRAIN sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows Sync2, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "423-432",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L423-L432"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_1_1",
   "name": "GRAIN MOD screen 1, lane 1: MOD 1",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "452-461",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L452-L461"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_1_2",
   "name": "GRAIN MOD screen 1, lane 2: MOD 2",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "462-471",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L462-L471"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_1_3",
   "name": "GRAIN MOD screen 1, lane 3: MOD 3",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 3.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "472-481",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L472-L481"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_1_4",
   "name": "GRAIN MOD screen 1, lane 4: MOD 4",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 4.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "482-491",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L482-L491"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_1_5",
   "name": "GRAIN MOD screen 1, lane 5: MOD 5",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 5.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "492-501",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L492-L501"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_1_6",
   "name": "GRAIN MOD screen 1, lane 6: MOD 6",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 6.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "502-511",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L502-L511"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_1_7",
   "name": "GRAIN MOD screen 1, lane 7: MOD 7",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 7.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "512-521",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L512-L521"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_1_8",
   "name": "GRAIN MOD screen 1, lane 8: MOD 8",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 8.",
   "what_it_is": "The active lane shows Source, Dest, Amount, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "522-531",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L522-L531"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_2_1",
   "name": "GRAIN MOD screen 2, lane 1: EXPR · VEL",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows VEL, AMP, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "544-553",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L544-L553"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mod_2_2",
   "name": "GRAIN MOD screen 2, lane 2: EXPR · AT",
   "how_to_get_there": "In the GRAIN sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows AT, CUT, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "554-563",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L554-L563"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_fx_1_1",
   "name": "GRAIN FX screen 1, lane 1: FX",
   "how_to_get_there": "In the GRAIN sound editor, tap PLAY for FX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Drive, Chorus, Delay, Reverb.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "582-591",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L582-L591"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mix_1_1",
   "name": "GRAIN MIX screen 1, lane 1: MIX",
   "how_to_get_there": "In the GRAIN sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Level, Pan, Voice, Glide.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "610-619",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L610-L619"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_grain_mix_1_2",
   "name": "GRAIN MIX screen 1, lane 2: MIX",
   "how_to_get_there": "In the GRAIN sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Trans, Detune, Priority, Gl. mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/grain.json",
     "lines": "620-629",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L620-L629"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/eng_grain.c",
     "lines": "200-222",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
    }
   ]
  },
  {
   "id": "edit_p5_osc_1_1",
   "name": "P5 OSC screen 1, lane 1: OSC A",
   "how_to_get_there": "In the P5 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows FREQ, SAW, PULSE, P WIDTH.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "219-228",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L219-L228"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "38-40",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L38-L40"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/designs/p5-rows.json",
     "lines": "16-115",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/designs/p5-rows.json#L16-L115"
    }
   ]
  },
  {
   "id": "edit_p5_osc_1_2",
   "name": "P5 OSC screen 1, lane 2: OSC A",
   "how_to_get_there": "In the P5 sound editor, tap FX for OSC and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows SYNC, MIX A, MIX B, NOISE.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "229-238",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L229-L238"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "38-40",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L38-L40"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/designs/p5-rows.json",
     "lines": "16-115",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/designs/p5-rows.json#L16-L115"
    }
   ]
  },
  {
   "id": "edit_p5_osc_2_1",
   "name": "P5 OSC screen 2, lane 1: OSC B",
   "how_to_get_there": "In the P5 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows FREQ, SAW, TRI, PULSE.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "252-261",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L252-L261"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_osc_2_2",
   "name": "P5 OSC screen 2, lane 2: OSC B",
   "how_to_get_there": "In the P5 sound editor, tap FX for OSC and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows FINE, P WIDTH, LO FREQ, KEYB.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "262-271",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L262-L271"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_filt_1_1",
   "name": "P5 FILT screen 1, lane 1: FILTER",
   "how_to_get_there": "In the P5 sound editor, tap SEL for FILT and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows CUTOFF, RES, ENV AMT, REV.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "292-301",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L292-L301"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_filt_2_1",
   "name": "P5 FILT screen 2, lane 1: ENV 2 · filter",
   "how_to_get_there": "In the P5 sound editor, tap SEL for FILT and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows ATTACK, DECAY, SUSTAIN, RELEASE.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "315-324",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L315-L324"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_filt_3_1",
   "name": "P5 FILT screen 3, lane 1: ENV 2 +",
   "how_to_get_there": "In the P5 sound editor, tap SEL for FILT and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows VELOC, empty, KEY TRK, AFTER.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "338-347",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L338-L347"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_env_1_1",
   "name": "P5 ENV screen 1, lane 1: ENV 1 · amp",
   "how_to_get_there": "In the P5 sound editor, tap ENV for ENV and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows ATTACK, DECAY, SUSTAIN, RELEASE.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "368-377",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L368-L377"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_env_2_1",
   "name": "P5 ENV screen 2, lane 1: ENV 1 +",
   "how_to_get_there": "In the P5 sound editor, tap ENV for ENV and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows VELOC, REL SW, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "391-400",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L391-L400"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_lfo_1_1",
   "name": "P5 LFO screen 1, lane 1: LFO",
   "how_to_get_there": "In the P5 sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows FREQ, SAW, TRI, SQUARE.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "421-430",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L421-L430"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_lfo_1_2",
   "name": "P5 LFO screen 1, lane 2: LFO",
   "how_to_get_there": "In the P5 sound editor, tap LFO for LFO and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows INIT AMT, AFTER, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "431-440",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L431-L440"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_lfo_2_1",
   "name": "P5 LFO screen 2, lane 1: WHEEL",
   "how_to_get_there": "In the P5 sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows SRC MIX, FREQ A, FREQ B, PW A.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "454-463",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L454-L463"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_lfo_2_2",
   "name": "P5 LFO screen 2, lane 2: WHEEL",
   "how_to_get_there": "In the P5 sound editor, tap LFO for LFO and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows PW B, FILTER, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "464-473",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L464-L473"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_mod_1_1",
   "name": "P5 MOD screen 1, lane 1: POLYMOD",
   "how_to_get_there": "In the P5 sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows FILT ENV, OSC B, FREQ A, PW A.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "494-503",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L494-L503"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_mod_1_2",
   "name": "P5 MOD screen 1, lane 2: POLYMOD",
   "how_to_get_there": "In the P5 sound editor, tap SEQ for MOD and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows FILTER, empty, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "504-513",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L504-L513"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_mod_2_1",
   "name": "P5 MOD screen 2, lane 1: VOICE",
   "how_to_get_there": "In the P5 sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 1.",
   "what_it_is": "The active lane shows UNISON, VOICES, DETUNE, GLIDE.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "527-536",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L527-L536"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_mod_2_2",
   "name": "P5 MOD screen 2, lane 2: VOICE",
   "how_to_get_there": "In the P5 sound editor, tap SEQ for MOD and use SELECT to reach screen 2, lane 2.",
   "what_it_is": "The active lane shows PRIORITY, VINTAGE, empty, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "537-546",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L537-L546"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_mod_3_1",
   "name": "P5 MOD screen 3, lane 1: EXPR · VEL",
   "how_to_get_there": "In the P5 sound editor, tap SEQ for MOD and use SELECT to reach screen 3, lane 1.",
   "what_it_is": "The active lane shows VEL, AMP, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "559-568",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L559-L568"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_mod_3_2",
   "name": "P5 MOD screen 3, lane 2: EXPR · AT",
   "how_to_get_there": "In the P5 sound editor, tap SEQ for MOD and use SELECT to reach screen 3, lane 2.",
   "what_it_is": "The active lane shows AT, CUT, auto, empty.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "569-578",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L569-L578"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_fx_1_1",
   "name": "P5 FX screen 1, lane 1: FX",
   "how_to_get_there": "In the P5 sound editor, tap PLAY for FX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Drive, Chorus, Delay, Reverb.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "597-606",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L597-L606"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_mix_1_1",
   "name": "P5 MIX screen 1, lane 1: MIX",
   "how_to_get_there": "In the P5 sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 1.",
   "what_it_is": "The active lane shows Level, Pan, Voice, Glide.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "625-634",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L625-L634"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "edit_p5_mix_1_2",
   "name": "P5 MIX screen 1, lane 2: MIX",
   "how_to_get_there": "In the P5 sound editor, tap REC for MIX and use SELECT to reach screen 1, lane 2.",
   "what_it_is": "The active lane shows Trans, Detune, Priority, Gl. mode.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "design/layouts/p5.json",
     "lines": "635-644",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L635-L644"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_edit.c",
     "lines": "453-468",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "tools/gen_layout.py",
     "lines": "41",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_pages.c",
     "lines": "118-143",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
    }
   ]
  },
  {
   "id": "fm1_chords",
   "name": "FM-1 chord keys",
   "how_to_get_there": "Options > Chord Keys: FM-1, with Keyboard Chords or F#5 restoring the chord keys.",
   "what_it_is": "Uses seven low modifier keys and C4–G5 as roots, except where a picker or naming takes the roots.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "57-67",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1446-1453",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4599-4687",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
    }
   ]
  },
  {
   "id": "fm1_key_pick",
   "name": "FM-1: KEY Pick",
   "how_to_get_there": "Choose Chord Keys FM-1, hold SEL, then use GLO until the keys pick.",
   "what_it_is": "G#3/A#3 choose the scale; D4–G5 choose the tonic; all other low keys have no pick action.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3826-3857",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4630-4646",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
    }
   ]
  },
  {
   "id": "full_shortcuts",
   "name": "Full keyboard shortcuts",
   "how_to_get_there": "Options > Full K Shorts: On, then KEY page 2 > Keyboard: Full.",
   "what_it_is": "F#5 restores the active layout’s low chord keys; G5 changes the Full keyboard between chords and notes; both switch at press and restore their prior state after a long hold. Musical entries apply where keys play; picker and naming maps retain their jobs, except F#5/G5 switch everywhere outside KEY Pick.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1446-1453",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4746-4788",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4746-L4788"
    }
   ]
  },
  {
   "id": "full_chord_keys",
   "name": "Full: chord keys restored",
   "how_to_get_there": "With Full K Shorts On and Keyboard Full, press F#5.",
   "what_it_is": "The selected layout’s low chord keys return and roots stop at F5; F#5/G5 keep their switch jobs.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1446-1453",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4746-4788",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4746-L4788"
    }
   ]
  },
  {
   "id": "option_chord_keys",
   "name": "Options: Chord Keys",
   "how_to_get_there": "Tap GLO, then turn SELECT to Chord Keys.",
   "what_it_is": "Classic is selected with no valid settings record, with settings written by 0.23 or the pre-layout betas, and after Reset Settings; an existing 0.24 layout preference survives an ordinary reinstall, and changing layouts releases held keys while keeping LOCK’s latch.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1066-1107",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1066-L1107"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1187",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1187"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4728-4743",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4728-L4743"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "72-91",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L72-L91"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "126-132",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L126-L132"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "276-291",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L276-L291"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.h",
     "lines": "120-128",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L120-L128"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "1111-1114",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1111-L1114"
    }
   ]
  },
  {
   "id": "option_sus_window",
   "name": "Options: SUS Window",
   "how_to_get_there": "Tap GLO, then turn SELECT to SUS Window.",
   "what_it_is": "Sets the FM-1 type-key combination window from 30 to 80 ms in 5 ms steps, starting at 30 ms; Classic hides this row.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1066-1107",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1066-L1107"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1188",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1188"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1090-1096",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1090-L1096"
    }
   ]
  },
  {
   "id": "option_full_k_shorts",
   "name": "Options: Full K Shorts",
   "how_to_get_there": "Tap GLO, then turn SELECT to Full K Shorts.",
   "what_it_is": "Enables F#5/G5 switches while Keyboard is Full, with Off as the default.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1066-1107",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1066-L1107"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1189",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1189"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4782-4788",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4782-L4788"
    }
   ]
  },
  {
   "id": "option_midi_keys",
   "name": "Options: MIDI Keys",
   "how_to_get_there": "Tap GLO, then turn SELECT to MIDI Keys.",
   "what_it_is": "Chooses Off or a key-control channel from 1 to 16, skipping MIDI Perform and MIDI Bass channels.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1066-1107",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1066-L1107"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1190-1198",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1190-L1198"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4791-4826",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4791-L4826"
    }
   ]
  },
  {
   "id": "fm1_layout_active",
   "name": "FM-1 layout active",
   "how_to_get_there": "Options > Chord Keys: FM-1, with either Keyboard setting.",
   "what_it_is": "LFO and GLO use the FM-1 layout’s LOCK and LATCH jobs, and LFO shows their state, including on Full keyboard; the sound editor keeps its section controls.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "609-627",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L609-L627"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3050-3055",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3050-L3055"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4901-4904",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4901-L4904"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "6139-6150",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6139-L6150"
    }
   ]
  }
 ],
 "controls": {
  "button_sel": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "Toggles Key Mode when SEL is tapped and released without another control being used.",
    "short_label": "KEY MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3025-3028",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3025-L3028"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Opens the KEY menu after the chosen 300–600 ms hold time outside the sound editor, keeping it open after release.",
    "short_label": "KEY MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3146",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3146"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5926-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5926-L5972"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "long_press",
    "action": "Closes this menu after the chosen 300–600 ms hold time if nothing else is touched.",
    "short_label": "CLOSE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5959-5971",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5959-L5971"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Opens its menu immediately when another key, knob or button is used during the hold, except for the sound editor’s own section buttons.",
    "short_label": "MENU COMBO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4123"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Opens the sound editor’s FILT section or advances its pages when that section is already selected.",
    "short_label": "FILT SECTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "984-997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L984-L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "56-57",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L56-L57"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "930-951",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L930-L951"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "long_press",
    "action": "Has no separate long-hold action in the sound editor.",
    "short_label": "SECTION HOLD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "990-996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L990-L996"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_arp": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "Toggles performance processing when ARP is tapped and released.",
    "short_label": "PERFORM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3029-3031",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3029-L3031"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Opens the PERF menu after the chosen 300–600 ms hold time outside the sound editor, keeping it open after release.",
    "short_label": "PERF MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3146",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3146"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5926-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5926-L5972"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "long_press",
    "action": "Closes this menu after the chosen 300–600 ms hold time if nothing else is touched.",
    "short_label": "CLOSE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5959-5971",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5959-L5971"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Opens its menu immediately when another key, knob or button is used during the hold, except for the sound editor’s own section buttons.",
    "short_label": "MENU COMBO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4123"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_fx": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "Toggles the effects when FX is tapped and released outside the sound editor.",
    "short_label": "FX ENABLE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3032-3034",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3032-L3034"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Opens the FX menu after the chosen 300–600 ms hold time outside the sound editor, keeping it open after release.",
    "short_label": "FX MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3146",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3146"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5926-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5926-L5972"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "long_press",
    "action": "Closes this menu after the chosen 300–600 ms hold time if nothing else is touched.",
    "short_label": "CLOSE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5959-5971",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5959-L5971"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Opens its menu immediately when another key, knob or button is used during the hold, except for the sound editor’s own section buttons.",
    "short_label": "MENU COMBO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4123"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Opens the sound editor’s OSC section or advances its pages when that section is already selected.",
    "short_label": "OSC SECTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "984-997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L984-L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "56-57",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L56-L57"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "930-951",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L930-L951"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "long_press",
    "action": "Has no separate long-hold action in the sound editor.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "990-996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L990-L996"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "990-995",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L990-L995"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_env": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "Toggles the bass part outside the sound editor, restoring its selected sound if it was off.",
    "short_label": "BASS ENABLE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3035-3049",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3035-L3049"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Opens the BASS menu after the chosen 300–600 ms hold time outside the sound editor, keeping it open after release.",
    "short_label": "BASS MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3146",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3146"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5926-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5926-L5972"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "long_press",
    "action": "Closes this menu after the chosen 300–600 ms hold time if nothing else is touched.",
    "short_label": "CLOSE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5959-5971",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5959-L5971"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Opens its menu immediately when another key, knob or button is used during the hold, except for the sound editor’s own section buttons.",
    "short_label": "MENU COMBO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4123"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Opens the sound editor’s ENV section or advances its pages when that section is already selected.",
    "short_label": "ENV SECTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "984-997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L984-L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "56-57",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L56-L57"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "930-951",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L930-L951"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "long_press",
    "action": "Has no separate long-hold action in the sound editor.",
    "short_label": "SECTION HOLD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "990-996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L990-L996"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_lfo": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "In the Classic layout, toggles Latch outside the sound editor, or first disables the current performance mode’s active Hold.",
    "short_label": "LATCH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3050-3056",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3050-L3056"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4829-4844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4829-L4844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3050-3055",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3050-L3055"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Opens the sound editor’s LFO section or advances its pages when that section is already selected.",
    "short_label": "LFO SECTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "984-997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L984-L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "56-57",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L56-L57"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "930-951",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L930-L951"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "long_press",
    "action": "Has no separate long-hold action in the sound editor.",
    "short_label": "SECTION HOLD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "990-996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L990-L996"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   },
   {
    "mode": "fm1_layout_active",
    "gesture": "press",
    "short_label": "LOCK",
    "action": "With FM-1 chord keys, toggles LOCK on release before Hold Time, outside the sound editor.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3050-3055",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3050-L3055"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4920-4950",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4920-L4950"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4204-4215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4204-L4215"
     }
    ]
   },
   {
    "mode": "fm1_layout_active",
    "gesture": "long_press",
    "short_label": "LOCK MENU",
    "action": "With FM-1 chord keys, opens or closes the LOCK layer when held alone past the selected Hold Time, outside the sound editor.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "618-620",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L618-L620"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3143"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5927-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5927-L5972"
     }
    ]
   },
   {
    "mode": "fm1_layout_active",
    "gesture": "hold",
    "short_label": "LOCK KEY",
    "action": "With FM-1 chord keys, switches LOCK immediately when another key is pressed before its hold opens a layer, without also opening the layer.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4604-4608",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4604-L4608"
     }
    ]
   },
   {
    "mode": "fm1_layout_active",
    "gesture": "press_while_holding:button_glo",
    "short_label": "LATCH",
    "action": "With FM-1 chord keys, GLO held first then LFO toggles Latch or first clears an active performance Hold, outside the sound editor.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4829-4844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4829-L4844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4901-4904",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4901-L4904"
     }
    ]
   }
  ],
  "button_edit": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "Opens or closes the chord sound editor outside the PLAY menu and engine picker.",
    "short_label": "SOUND EDIT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3074-3089",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3074-L3089"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Opens the engine menu after the chosen 300–600 ms hold time outside the sound editor, keeping it open after release.",
    "short_label": "ENGINE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3146",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3146"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5926-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5926-L5972"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "long_press",
    "action": "Closes this menu after the chosen 300–600 ms hold time if nothing else is touched.",
    "short_label": "CLOSE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5959-5971",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5959-L5971"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Opens its menu immediately when another key, knob or button is used during the hold, except for the sound editor’s own section buttons.",
    "short_label": "MENU COMBO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4123"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:button_env",
    "action": "Opens the bass sound editor.",
    "short_label": "EDIT BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4910-4913",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4910-L4913"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Opens the loop editor.",
    "short_label": "EDIT LOOP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3074-3081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3074-L3081"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Opens the loop editor.",
    "short_label": "EDIT LOOP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3074-3081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3074-L3081"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "long_press",
    "action": "Closes the loop editor after the chosen 300–600 ms hold time alone.",
    "short_label": "END EDIT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5929-5937",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5929-L5937"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Closes the loop editor to reveal the PLAY menu.",
    "short_label": "END EDIT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3074-3081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3074-L3081"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Keeps the previewed sound and closes the engine picker.",
    "short_label": "KEEP SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3082-3085",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3082-L3085"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Closes the sound editor.",
    "short_label": "END SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "979-982",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L979-L982"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press_while_holding:button_glo",
    "action": "Switches the sound editor between chord and bass parts.",
    "short_label": "OTHER PART",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "967-977",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L967-L977"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4890-4896",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4890-L4896"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_glo": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "A quick tap opens or closes Options outside the KEY layer, PLAY menu and sound editor, while holding it alone leaves Options closed.",
    "short_label": "OPTIONS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3060-3073",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3060-L3073"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5927-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5927-L5972"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Provides alternate knob actions while held without opening Options on release.",
    "short_label": "KNOB SHIFT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4123"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4936-4953",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4936-L4953"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Loads the engine selected by the held GLO plus PRESETS or ALGORITHM gesture.",
    "short_label": "LOAD ENGINE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4938-4950",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4938-L4950"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4977-5008",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4977-L5008"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Switches the KEY menu’s keys between selecting the key and playing music.",
    "short_label": "PICK OR PLAY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3064-3069",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3064-L3069"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Returns the KEY menu’s keys to tonic and scale selection.",
    "short_label": "PICK KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3064-3069",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3064-L3069"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Switches the PLAY menu’s keys between loop slots and musical playing.",
    "short_label": "LOOPS PLAY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3060-3064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3060-L3064"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2307-2312",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2307-L2312"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Returns the PLAY menu’s keys to loop slot selection.",
    "short_label": "CHOOSE LOOPS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3060-3064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3060-L3064"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Leaves the loop editor’s keys playing music without changing their role.",
    "short_label": "EDITOR GLO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3060-3064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3060-L3064"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Latches or unlatches the sound editor’s Shift functions.",
    "short_label": "SHIFT LATCH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "983-989",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L983-L989"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "hold",
    "action": "Applies the sound editor’s Shift functions while GLO is held.",
    "short_label": "SHIFT HELD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "983-989",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L983-L989"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   },
   {
    "mode": "fm1_layout_active",
    "gesture": "press_while_holding:button_lfo",
    "short_label": "LOCK LAYER",
    "action": "With FM-1 chord keys, LFO held first then GLO opens the LOCK layer without changing Latch or opening Options, outside the sound editor.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "618-620",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L618-L620"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4121",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4121"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4886-4904",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4886-L4904"
     }
    ]
   }
  ],
  "button_save": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "Opens the chord sound’s save menu, or the edited part’s menu from the sound editor, except that SAFE MODE refuses to open this save menu.",
    "short_label": "SAVE SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3090-3102",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3090-L3102"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3512-3517",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3512-L3517"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "After the chosen 300–600 ms hold time alone, saves settings, session and changed loops or defers until stop, with SAFE MODE refusing and a restored settings backup requiring a restart first.",
    "short_label": "GLOBAL SAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2757-2801",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2757-L2801"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5943-5950",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5943-L5950"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2777-2793",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2777-L2793"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:button_env",
    "action": "Opens the bass sound’s save menu, except that SAFE MODE refuses to open this save menu.",
    "short_label": "SAVE BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4914-4917",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4914-L4917"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3512-3517",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3512-L3517"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_with:button_glo",
    "action": "Holding GLO and SAVE for one second reloads the saved setup and loop without a question, except in SAFE MODE or after a settings restore awaiting restart.",
    "short_label": "REVERT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2951-2998",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2951-L2998"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4886-4889",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4886-L4889"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5921-5925",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5921-L5925"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2963-2999",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2963-L2999"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "long_press",
    "action": "After one second alone, asks to delete an added user sound or reset an overwritten factory sound, while untouched factory sounds and INIT cannot be deleted.",
    "short_label": "DELETE ASK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3649-3661",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3649-L3661"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5905-5909",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5905-L5909"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "long_press",
    "action": "After one second alone, asks to delete an added user sound or reset an overwritten factory sound, while untouched factory sounds and INIT cannot be deleted.",
    "short_label": "DELETE ASK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3649-3661",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3649-L3661"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5905-5909",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5905-L5909"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Commits Overwrite or opens naming for Save as New, while Favorite, Filter and Type close the menu.",
    "short_label": "TAKE CHOICE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3090-3101",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3090-L3101"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3555-3628",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3555-L3628"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Stores the current part as a new user sound with the entered name.",
    "short_label": "WRITE SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3630-3651",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3630-L3651"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "press",
    "action": "Cancels the deletion question.",
    "short_label": "KEEP SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3090-3093",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3090-L3093"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_play_stop": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "Starts or stops the loop outside the sound editor, committing an active take or cancelling its count-in.",
    "short_label": "PLAY STOP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3107-3109",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3107-L3109"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Opens the PLAY menu after the chosen 300–600 ms hold time outside the sound editor, keeping it open after release.",
    "short_label": "PLAY MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3146",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3146"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5926-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5926-L5972"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "long_press",
    "action": "Closes this menu after the chosen 300–600 ms hold time if nothing else is touched.",
    "short_label": "CLOSE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5959-5971",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5959-L5971"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Opens its menu immediately when another key, knob or button is used during the hold, except for the sound editor’s own section buttons.",
    "short_label": "MENU COMBO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4123"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "long_press",
    "action": "Closes the loop editor after the chosen 300–600 ms hold time, keeping the PLAY menu open.",
    "short_label": "SHOW PLAY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5938-5942",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5938-L5942"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Opens the sound editor’s FX section or advances its pages when that section is already selected.",
    "short_label": "FX SECTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "984-997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L984-L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "56-57",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L56-L57"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "930-951",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L930-L951"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "long_press",
    "action": "Has no separate long-hold action in the sound editor.",
    "short_label": "SECTION HOLD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "990-996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L990-L996"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Commits step entry and starts the resulting loop.",
    "short_label": "PLAY STEPS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "798-801",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L798-L801"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_rec": [
   {
    "mode": "any",
    "gesture": "press",
    "action": "Starts or ends capture in the selected record mode outside the sound and loop editors.",
    "short_label": "RECORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3110-3116",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3110-L3116"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:button_glo",
    "action": "Cycles Overwrite, Advance, Overdub, Replace and Step for the next recording outside the sound editor.",
    "short_label": "RECORD MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4905-4909",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4905-L4909"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2298-2305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2298-L2305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.h",
      "lines": "59",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.h#L59"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Undoes the latest looper layer after the chosen 300–600 ms hold time alone outside the sound editor.",
    "short_label": "UNDO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3124",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3124"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Deletes the notes starting in the selected step.",
    "short_label": "CLEAR STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3110-3114",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3110-L3114"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "1099-1112",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L1099-L1112"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Opens the sound editor’s MIX section or advances its pages when that section is already selected.",
    "short_label": "MIX SECTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "984-997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L984-L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "56-57",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L56-L57"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "930-951",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L930-L951"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "long_press",
    "action": "Has no separate long-hold action in the sound editor.",
    "short_label": "SECTION HOLD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "990-996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L990-L996"
     }
    ]
   },
   {
    "mode": "record_overwrite",
    "gesture": "press",
    "action": "Starts a replacement take after arming or count-in, keeping the old loop until capture starts.",
    "short_label": "OVERWRITE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "731-764",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L731-L764"
     }
    ]
   },
   {
    "mode": "record_advance",
    "gesture": "press",
    "action": "When the current loop is nonempty, stops playback, writes any changed departing loop to its slot, then advances and starts an overwrite take, so revert cannot restore the previous take in the slot just written.",
    "short_label": "NEXT SLOT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2317-2356",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2317-L2356"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2318-2334",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2318-L2334"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2195-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2195-L2217"
     }
    ]
   },
   {
    "mode": "record_overdub",
    "gesture": "press",
    "action": "Starts playback if needed and arms an added layer over the existing loop.",
    "short_label": "OVERDUB",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "765-773",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L765-L773"
     }
    ]
   },
   {
    "mode": "record_replace",
    "gesture": "press",
    "action": "Arms a layer that replaces the old material where new notes are played.",
    "short_label": "REPLACE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "765-773",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L765-L773"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Starts step entry at the first sixteenth, or commits the current step-entry pass.",
    "short_label": "STEP RECORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "710-730",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L710-L730"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "During a take, ends and commits capture; before capture starts, cancels the armed take or count-in.",
    "short_label": "END CAPTURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "774-784",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L774-L784"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_seq": [
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Opens the metronome menu after the chosen 300–600 ms hold time outside the sound editor, keeping it open after release.",
    "short_label": "METRO MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3120-3146",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3120-L3146"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5926-5972",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5926-L5972"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "long_press",
    "action": "Closes this menu after the chosen 300–600 ms hold time if nothing else is touched.",
    "short_label": "CLOSE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5959-5971",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5959-L5971"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Opens its menu immediately when another key, knob or button is used during the hold, except for the sound editor’s own section buttons.",
    "short_label": "MENU COMBO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4104-4123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4104-L4123"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:button_glo",
    "action": "Toggles the metronome outside the sound editor.",
    "short_label": "CLICK ON OFF",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4897-4900",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4897-L4900"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Opens the loop editor unless a take or pending slot switch prevents it.",
    "short_label": "STEP EDITOR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2498-2519",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2498-L2519"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2444-2473",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2444-L2473"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Closes the loop editor to reveal the PLAY menu.",
    "short_label": "LEAVE EDITOR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2504-2509",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2504-L2509"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Closes the PLAY menu.",
    "short_label": "LEAVE PLAY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2504-2509",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2504-L2509"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Closes the PLAY menu.",
    "short_label": "LEAVE PLAY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2504-2509",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2504-L2509"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Toggles the metronome while its menu is open.",
    "short_label": "CLICK ON OFF",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2500-2503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2500-L2503"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "Has no tap action in other layers, Options or sound naming, while the sound editor uses it for modulation.",
    "short_label": "SEQ CONTEXT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2488-2519",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2488-L2519"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "long_press",
    "action": "Closes the loop editor after the chosen 300–600 ms hold time alone.",
    "short_label": "END EDIT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5929-5937",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5929-L5937"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Opens the sound editor’s MOD section or advances its pages when that section is already selected.",
    "short_label": "MOD SECTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "984-997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L984-L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "56-57",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L56-L57"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "930-951",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L930-L951"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "long_press",
    "action": "Has no separate long-hold action in the sound editor.",
    "short_label": "SECTION HOLD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "990-996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L990-L996"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_home": [
   {
    "mode": "home",
    "gesture": "press",
    "action": "Steps through Chord, Keyboard, Notes, Geek Out, Scope and Geek Out 2 on release unless the view is locked.",
    "short_label": "NEXT VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3148-3161",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3148-L3161"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "541-547",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L541-L547"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "Closes a menu or page on release, returning to the sound editor when a layer covered it.",
    "short_label": "BACK HOME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3148-3161",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3148-L3161"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "Opens the view menu after 600 ms alone, except during sound naming.",
    "short_label": "VIEW MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3163-3179",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3163-L3179"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5911-5919",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5911-L5919"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "long_press",
    "action": "Closes the view menu after 600 ms alone.",
    "short_label": "CLOSE VIEWS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5911-5919",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5911-L5919"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Restores the sound from before the engine preview and closes the picker.",
    "short_label": "CANCEL SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3148-3154",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3148-L3154"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3446-3496",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3446-L3496"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Closes the loop editor and PLAY menu, returning to the home view.",
    "short_label": "CLOSE LOOP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3148-3161",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3148-L3161"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2905-2906",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2905-L2906"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:button_oct_down+button_oct_up",
    "action": "Hold HOME, OCT- and OCT+ together for five seconds to enter update mode or USB boot, with a countdown after two seconds and only automatic settings and favorites eligible to save if neither playback nor a pending restore blocks writes, while session edits and changed loops remain unsaved.",
    "short_label": "UPDATE MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1146-1166",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1146-L1166"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1172-1219",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1172-L1219"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1169-1215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1169-L1215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Cancels the save dialog and returns to the page that opened it.",
    "short_label": "CANCEL SAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3153-3155",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3153-L3155"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Cancels the save dialog and returns to the page that opened it.",
    "short_label": "CANCEL SAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3153-3155",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3153-L3155"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_oct_down": [
   {
    "mode": "home",
    "gesture": "press",
    "action": "Moves the playing octave down on release within the range −2 to +2.",
    "short_label": "OCTAVE DOWN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3281-3287",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3281-L3287"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Moves the octave for notes entered in the loop editor down within the range −2 to +2.",
    "short_label": "ENTRY OCTAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3241-3249",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3241-L3249"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "Closes an open layer on release, except the engine picker, loop editor and active step entry.",
    "short_label": "CLOSE LAYER",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3257-3278",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3257-L3278"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "At the final calibration prompt, restores the previous panel assignments.",
    "short_label": "CANCEL CALIB",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5456-5461",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5456-L5461"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5371-5397",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5371-L5397"
     }
    ]
   },
   {
    "mode": "startup",
    "gesture": "power_on_holding:button_oct_down+button_oct_up",
    "action": "Starts panel calibration when both octave buttons are held at power-on and immediately saves changed automatic settings with the current panel table before calibration is completed.",
    "short_label": "CALIBRATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/main.c",
      "lines": "295-299",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/main.c#L295-L299"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_shim.c",
      "lines": "90-94",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_shim.c#L90-L94"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "1460-1478",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1460-L1478"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Moves the step-entry cursor back one sixteenth on release, wrapping only when a fixed length is selected.",
    "short_label": "STEP BACK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3251-3255",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3251-L3255"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Restores the sound from before the preview and closes the engine picker.",
    "short_label": "UNDO PREVIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3260-3264",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3260-L3264"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Closes Options and cancels any reset or erase question.",
    "short_label": "LEAVE OPTS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3273-3277",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3273-L3277"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_with:button_oct_up",
    "action": "Stops notes and transport, drops a fresh take or step-entry notes, keeps a partial overdub, clears Latch and the latched chord while leaving LOCK enabled, and resets octave shift.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4851-4862",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4851-L4862"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2917-2939",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2917-L2939"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "859-883",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L859-L883"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L587"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4175-4186",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4175-L4186"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Cancels the save dialog and returns to the page that opened it.",
    "short_label": "CANCEL SAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3213-3219",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3213-L3219"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Cancels the save dialog and returns to the page that opened it.",
    "short_label": "CANCEL SAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3213-3219",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3213-L3219"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "press",
    "action": "Cancels the deletion question.",
    "short_label": "KEEP SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3209-3213",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3209-L3213"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "button_oct_up": [
   {
    "mode": "home",
    "gesture": "press",
    "action": "Moves the playing octave up on release within the range −2 to +2.",
    "short_label": "OCTAVE UP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3281-3287",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3281-L3287"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Moves the octave for notes entered in the loop editor up within the range −2 to +2.",
    "short_label": "ENTRY OCTAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3241-3249",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3241-L3249"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "Closes an open layer on release, except the engine picker, loop editor and active step entry.",
    "short_label": "CLOSE LAYER",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3257-3278",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3257-L3278"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "At the final calibration prompt, saves the new panel assignments.",
    "short_label": "KEEP CALIB",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5456-5461",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5456-L5461"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5371-5397",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5371-L5397"
     }
    ]
   },
   {
    "mode": "startup",
    "gesture": "power_on_holding:button_oct_down+button_oct_up",
    "action": "Starts panel calibration when both octave buttons are held at power-on and immediately saves changed automatic settings with the current panel table before calibration is completed.",
    "short_label": "CALIBRATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/main.c",
      "lines": "295-299",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/main.c#L295-L299"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_shim.c",
      "lines": "90-94",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_shim.c#L90-L94"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "1460-1478",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1460-L1478"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Advances the step-entry cursor by one sixteenth on release, allowing a rest.",
    "short_label": "REST",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3251-3255",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3251-L3255"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Keeps the current preview and closes the engine picker.",
    "short_label": "KEEP PREVIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3260-3264",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3260-L3264"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Closes Options except on Reset Settings, Calibrate or Flash Data, which have their own actions.",
    "short_label": "OPTION OK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3221-3239",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3221-L3239"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3273-3277",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3273-L3277"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1078-1084",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1078-L1084"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "On Reset Settings, a second OCT+ restores default preferences with LOCK and LATCH off, Type key Clears, Ext keys Toggle, Keyboard Chords, Key plays Chords, Key Mode off, C Major, Transpose, voicing and octave 0, Snap and Numerals off including Solfège, Chord Keys Classic, LEDs Glow, Full K Shorts off, SUS Window 30 ms and MIDI Keys off, stops playback, drops a fresh take while keeping a partial overdub in memory, discards unsaved live-sound edits, restores TINE EP and DEEP SUB with bass off and default levels, pans and effects, and writes reset settings and the session while preserving saved presets, favorites, loop slots, the selected loop slot and calibration.",
    "short_label": "RESET SETUP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3229-3236",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3229-L3236"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3188-3210",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3188-L3210"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3183-3205",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3183-L3205"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "1508-1555",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1508-L1555"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2915-2928",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2915-L2928"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L587"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "865-875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L865-L875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3187-3196",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3187-L3196"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "72-123",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L72-L123"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "126-132",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L126-L132"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "1090-1114",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1090-L1114"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "1130-1153",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1130-L1153"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.h",
      "lines": "47-51",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L47-L51"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.h",
      "lines": "69-80",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L69-L80"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.h",
      "lines": "120-132",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L120-L132"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "On Calibrate, starts the panel assignment procedure.",
    "short_label": "CALIBRATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3237-3240",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3237-L3240"
     }
    ]
   },
   {
    "mode": "safe_mode",
    "gesture": "press",
    "action": "On Flash Data, the second OCT+ erases settings, the saved session, favorites, all ten loops, all 128 user sounds, imported DX7 and CZ-1 banks, and legacy stores before restarting, while preserving the firmware and update area.",
    "short_label": "ERASE DATA",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3221-3228",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3221-L3228"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6636-6686",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6636-L6686"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6631-6686",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6631-L6686"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Commits Overwrite or opens naming for Save as New, with no save action on Favorite, Filter or Type.",
    "short_label": "SAVE CHOICE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3213-3219",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3213-L3219"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3555-3628",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3555-L3628"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Stores the current part as a new user sound with the entered name.",
    "short_label": "WRITE SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3630-3651",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3630-L3651"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "press",
    "action": "Confirms deletion of the added sound or resets its overwritten factory sound.",
    "short_label": "DELETE SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3209-3211",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3209-L3211"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Registers this physical button when calibration asks for its printed label.",
    "short_label": "TEACH BUTTON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5411-5427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5411-L5427"
     }
    ]
   }
  ],
  "key_f3": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays F3 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "F3 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "Selects the sixth extension outside Full keyboard and the KEY menu’s Pick setting.",
    "short_label": "6",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "611-616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L611-L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4262"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Adds the sixth to roots played while held only when a chord comes from a held or locked type or enabled Key Mode in Chords mode, with Advanced and Free also updating sounding chords.",
    "short_label": "HOLD 6",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "199-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L199-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-878",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L878"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "903-917",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L903-L917"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Ends the physical modifier hold, retaining it under LOCK unless it was toggled off or repeated alone to remove the last selected type or extension.",
    "short_label": "LATCH 6",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4289"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With LOCK on, extension keys either toggle individually or replace the extension set in Pushed mode, where repeating its sole extension removes it on release.",
    "short_label": "LOCK EXT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4240-4263",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4240-L4263"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4272-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4272-L4289"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Does nothing while the KEY menu’s keys are set to Pick.",
    "short_label": "KEY INACTIVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3829-3838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3829-L3838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "6",
    "action": "In the FM-1 layout, adds the sixth while held only when a held or locked type or Key Mode Chords supplies a chord, following the configured LOCK extension style.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-64",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L64"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "hold",
    "short_label": "HOLD 6",
    "action": "In the FM-1 layout, adds the sixth while held only when a held or locked type or Key Mode Chords supplies a chord, following the configured LOCK extension style.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-64",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L64"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "LATCH 6",
    "action": "In the FM-1 layout, ends this extension hold, keeping it under LOCK unless this press toggled it off or repeated the sole Pushed extension to clear it.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4411-4427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4411-L4427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4505-4522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4505-L4522"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL F3",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays F3 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "6",
    "action": "With chord keys restored, this key supplies the sixth in either layout, using FM-1’s type-key window and pair rules where relevant, except during KEY Pick.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "KEY INACTIVE",
    "action": "With FM-1 chord keys and KEY Pick, does nothing.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   }
  ],
  "key_fs3": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays F♯3 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "F♯3 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, selects the diminished chord type outside Full keyboard and the KEY menu’s Pick setting.",
    "short_label": "DIM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "611-616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L611-L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4262"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Classic chord keys active, applies the diminished chord type to roots played while held, with Advanced and Free styles also changing sounding chords.",
    "short_label": "HOLD DIM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "With Classic chord keys active, ends the physical modifier hold, retaining it under LOCK unless it was toggled off or repeated alone to remove the last selected type or extension.",
    "short_label": "LATCH DIM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, with LOCK on, a lone type press replaces the selected type and clears or keeps extensions as configured, while repeating the sole type removes it on release.",
    "short_label": "LOCK TYPE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4226-4243",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4226-L4243"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4272-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4272-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Does nothing while the KEY menu’s keys are set to Pick.",
    "short_label": "KEY INACTIVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3829-3838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3829-L3838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:key_cs4",
    "action": "In the Classic layout, with Secret Chords enabled for this play style, combines this type with SUS to select a root-and-fifth chord.",
    "short_label": "POWER CHORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "250-271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L250-L271"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "DIM",
    "action": "With FM-1 chord keys active, selects DIM alone, immediately when Secret Chords does not apply or after the SUS Window when it does, while additional type keys use the combination rules, with LOCK replacing a different latched type set when no extension key is held and dropping its latched extensions under Type key Clears (default) or retaining them under Keeps.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4434-4452",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4434-L4452"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "hold",
    "short_label": "HOLD DIM",
    "action": "With FM-1 chord keys active, selects DIM alone, immediately when Secret Chords does not apply or after the SUS Window when it does, while additional type keys use the combination rules.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "LATCH DIM",
    "action": "Releases this FM-1 type key without restriking the chord, leaving LOCK’s resolved type latched unless repeated alone to clear it, while a different type set chosen without a held extension replaces the previous type and drops its extensions with Type key Clears (default) or keeps them with Keeps.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4411-4427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4411-L4427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4505-4522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4505-L4522"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4434-4452",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4434-L4452"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL F#3",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays F#3 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "DIM",
    "action": "With chord keys restored, this key supplies the diminished type in either layout, using FM-1’s type-key window and pair rules where relevant, except during KEY Pick.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_gs3",
    "short_label": "MINOR ADD4",
    "action": "In the FM-1 layout, F#3 with G#3 resolves to minor add-four when Secret Chords applies; otherwise the latest type press wins.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_as3",
    "short_label": "AUGMENTED",
    "action": "In the FM-1 layout, F#3 with A#3 resolves to augmented when Secret Chords applies; otherwise the latest type press wins.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_gs3+key_as3",
    "short_label": "POWER CHORD",
    "action": "In the FM-1 layout, all three type keys resolve to a root-and-fifth chord when Secret Chords applies, deciding an open window immediately; otherwise the last type or completed SUS pair wins.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "KEY INACTIVE",
    "action": "With FM-1 chord keys and KEY Pick, does nothing.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   }
  ],
  "key_g3": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays G3 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "G3 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "Selects the minor-seventh extension outside Full keyboard and the KEY menu’s Pick setting.",
    "short_label": "m7",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "611-616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L611-L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4262"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Adds the minor-seventh to roots played while held only when a chord comes from a held or locked type or enabled Key Mode in Chords mode, with Advanced and Free also updating sounding chords.",
    "short_label": "HOLD m7",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "199-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L199-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-878",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L878"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "903-917",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L903-L917"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Ends the physical modifier hold, retaining it under LOCK unless it was toggled off or repeated alone to remove the last selected type or extension.",
    "short_label": "LATCH m7",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4289"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With LOCK on, extension keys either toggle individually or replace the extension set in Pushed mode, where repeating its sole extension removes it on release.",
    "short_label": "LOCK EXT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4240-4263",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4240-L4263"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4272-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4272-L4289"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Does nothing while the KEY menu’s keys are set to Pick.",
    "short_label": "KEY INACTIVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3829-3838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3829-L3838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "m7",
    "action": "In the FM-1 layout, adds the minor seventh while held only when a held or locked type or Key Mode Chords supplies a chord, following the configured LOCK extension style.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-64",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L64"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "hold",
    "short_label": "HOLD m7",
    "action": "In the FM-1 layout, adds the minor seventh while held only when a held or locked type or Key Mode Chords supplies a chord, following the configured LOCK extension style.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-64",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L64"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "LATCH m7",
    "action": "In the FM-1 layout, ends this extension hold, keeping it under LOCK unless this press toggled it off or repeated the sole Pushed extension to clear it.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4411-4427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4411-L4427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4505-4522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4505-L4522"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL G3",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays G3 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "m7",
    "action": "With chord keys restored, this key supplies the minor seventh in either layout, using FM-1’s type-key window and pair rules where relevant, except during KEY Pick.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "KEY INACTIVE",
    "action": "With FM-1 chord keys and KEY Pick, does nothing.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   }
  ],
  "key_gs3": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays G♯3 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "G♯3 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, selects the minor chord type outside Full keyboard and the KEY menu’s Pick setting.",
    "short_label": "MIN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "611-616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L611-L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4262"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Classic chord keys active, applies the minor chord type to roots played while held, with Advanced and Free styles also changing sounding chords.",
    "short_label": "HOLD MIN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "With Classic chord keys active, ends the physical modifier hold, retaining it under LOCK unless it was toggled off or repeated alone to remove the last selected type or extension.",
    "short_label": "LATCH MIN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, with LOCK on, a lone type press replaces the selected type and clears or keeps extensions as configured, while repeating the sole type removes it on release.",
    "short_label": "LOCK TYPE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4226-4243",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4226-L4243"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4272-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4272-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "In Classic, selects the minor scale without sounding a chord.",
    "short_label": "MINOR SCALE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3829-3838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3829-L3838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4641",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4641"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:key_cs4",
    "action": "In the Classic layout, with Secret Chords enabled for this play style, combines this type with SUS to select a minor add-four chord.",
    "short_label": "MINOR ADD4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "250-271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L250-L271"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "MIN",
    "action": "With FM-1 chord keys active, selects MIN alone after the SUS Window, or resolves with held type keys to SUS or an enabled Secret Chord, with LOCK replacing a different latched type set when no extension key is held and dropping its latched extensions under Type key Clears (default) or retaining them under Keeps.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4434-4452",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4434-L4452"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "hold",
    "short_label": "HOLD MIN",
    "action": "With FM-1 chord keys active, selects MIN alone after the SUS Window, or resolves with held type keys to SUS or an enabled Secret Chord.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "LATCH MIN",
    "action": "Releases this FM-1 type key without restriking the chord, leaving LOCK’s resolved type latched unless repeated alone to clear it, while a different type set chosen without a held extension replaces the previous type and drops its extensions with Type key Clears (default) or keeps them with Keeps.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4411-4427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4411-L4427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4505-4522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4505-L4522"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4434-4452",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4434-L4452"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL G#3",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays G#3 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "MIN",
    "action": "With chord keys restored, this key supplies the minor type in either layout, using FM-1’s type-key window and pair rules where relevant, except during KEY Pick.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_as3",
    "short_label": "SUS PAIR",
    "action": "In the FM-1 layout, G#3 with A#3 resolves to SUS even when Secret Chords is off, after the pair completes or the open window expires.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_fs3",
    "short_label": "MINOR ADD4",
    "action": "In the FM-1 layout, G#3 with F#3 resolves to minor add-four when Secret Chords applies; otherwise the latest type press wins.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_fs3+key_as3",
    "short_label": "POWER CHORD",
    "action": "In the FM-1 layout, all three type keys resolve to a root-and-fifth chord when Secret Chords applies, deciding an open window immediately; otherwise the last type or completed SUS pair wins.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "MINOR SCALE",
    "action": "With FM-1 chord keys and KEY Pick, selects the minor scale unless the other scale key was pressed within the still-held pair’s SUS Window; releasing has no modifier effect.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   }
  ],
  "key_a3": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays A3 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "A3 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "Selects the major-seventh extension outside Full keyboard and the KEY menu’s Pick setting.",
    "short_label": "M7",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "611-616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L611-L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4262"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "Adds the major-seventh to roots played while held only when a chord comes from a held or locked type or enabled Key Mode in Chords mode, with Advanced and Free also updating sounding chords.",
    "short_label": "HOLD M7",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "199-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L199-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-878",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L878"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "903-917",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L903-L917"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Ends the physical modifier hold, retaining it under LOCK unless it was toggled off or repeated alone to remove the last selected type or extension.",
    "short_label": "LATCH M7",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4289"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With LOCK on, extension keys either toggle individually or replace the extension set in Pushed mode, where repeating its sole extension removes it on release.",
    "short_label": "LOCK EXT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4240-4263",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4240-L4263"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4272-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4272-L4289"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Does nothing while the KEY menu’s keys are set to Pick.",
    "short_label": "KEY INACTIVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3829-3838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3829-L3838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "M7",
    "action": "In the FM-1 layout, adds the major seventh while held only when a held or locked type or Key Mode Chords supplies a chord, following the configured LOCK extension style.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-64",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L64"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "hold",
    "short_label": "HOLD M7",
    "action": "In the FM-1 layout, adds the major seventh while held only when a held or locked type or Key Mode Chords supplies a chord, following the configured LOCK extension style.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-64",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L64"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "LATCH M7",
    "action": "In the FM-1 layout, ends this extension hold, keeping it under LOCK unless this press toggled it off or repeated the sole Pushed extension to clear it.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4411-4427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4411-L4427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4505-4522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4505-L4522"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL A3",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays A3 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "M7",
    "action": "With chord keys restored, this key supplies the major seventh in either layout, using FM-1’s type-key window and pair rules where relevant, except during KEY Pick.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "KEY INACTIVE",
    "action": "With FM-1 chord keys and KEY Pick, does nothing.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   }
  ],
  "key_as3": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays A♯3 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "A♯3 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, selects the major chord type outside Full keyboard and the KEY menu’s Pick setting.",
    "short_label": "MAJ",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "611-616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L611-L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4262"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Classic chord keys active, applies the major chord type to roots played while held, with Advanced and Free styles also changing sounding chords.",
    "short_label": "HOLD MAJ",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "With Classic chord keys active, ends the physical modifier hold, retaining it under LOCK unless it was toggled off or repeated alone to remove the last selected type or extension.",
    "short_label": "LATCH MAJ",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, with LOCK on, a lone type press replaces the selected type and clears or keeps extensions as configured, while repeating the sole type removes it on release.",
    "short_label": "LOCK TYPE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4226-4243",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4226-L4243"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4272-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4272-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "In Classic, selects the major scale without sounding a chord.",
    "short_label": "MAJOR SCALE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3829-3838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3829-L3838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4641",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4641"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:key_cs4",
    "action": "In the Classic layout, with Secret Chords enabled for this play style, combines this type with SUS to select an augmented chord.",
    "short_label": "AUGMENTED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "250-271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L250-L271"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "MAJ",
    "action": "With FM-1 chord keys active, selects MAJ alone after the SUS Window, or resolves with held type keys to SUS or an enabled Secret Chord, with LOCK replacing a different latched type set when no extension key is held and dropping its latched extensions under Type key Clears (default) or retaining them under Keeps.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4434-4452",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4434-L4452"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "hold",
    "short_label": "HOLD MAJ",
    "action": "With FM-1 chord keys active, selects MAJ alone after the SUS Window, or resolves with held type keys to SUS or an enabled Secret Chord.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "LATCH MAJ",
    "action": "Releases this FM-1 type key without restriking the chord, leaving LOCK’s resolved type latched unless repeated alone to clear it, while a different type set chosen without a held extension replaces the previous type and drops its extensions with Type key Clears (default) or keeps them with Keeps.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4411-4427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4411-L4427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4505-4522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4505-L4522"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4434-4452",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4434-L4452"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL A#3",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays A#3 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "MAJ",
    "action": "With chord keys restored, this key supplies the major type in either layout, using FM-1’s type-key window and pair rules where relevant, except during KEY Pick.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_gs3",
    "short_label": "SUS PAIR",
    "action": "In the FM-1 layout, A#3 with G#3 resolves to SUS even when Secret Chords is off, after the pair completes or the open window expires.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_fs3",
    "short_label": "AUGMENTED",
    "action": "In the FM-1 layout, A#3 with F#3 resolves to augmented when Secret Chords applies; otherwise the latest type press wins.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press_while_holding:key_fs3+key_gs3",
    "short_label": "POWER CHORD",
    "action": "In the FM-1 layout, all three type keys resolve to a root-and-fifth chord when Secret Chords applies, deciding an open window immediately; otherwise the last type or completed SUS pair wins.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4309-4315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4309-L4315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4470-4503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4470-L4503"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "MAJOR SCALE",
    "action": "With FM-1 chord keys and KEY Pick, selects the major scale unless the other scale key was pressed within the still-held pair’s SUS Window; releasing has no modifier effect.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   }
  ],
  "key_b3": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays B3 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "B3 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "In the Classic layout, toggles chord-key locking on a short release outside Full keyboard, also acting immediately if another key is pressed during the hold.",
    "short_label": "LOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4610-4624",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4610-L4624"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4705",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4705"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4204-4215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4204-L4215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4620-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4620-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "long_press",
    "action": "In the Classic layout, opens or closes the LOCK menu after the chosen 300–600 ms hold time alone outside Full keyboard, except during sound naming.",
    "short_label": "LOCK MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4184-4202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4184-L4202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5978-5983",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5978-L5983"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/panel.c",
      "lines": "99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/panel.c#L99"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4620-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4620-L4646"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "In the Classic layout, toggles chord-key locking on release in the chord keyboard layout, while Full keyboard leaves B3 inactive in Pick mode.",
    "short_label": "LOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4620-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4620-L4646"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "9",
    "action": "In the FM-1 layout, adds the ninth while held only when a held or locked type or Key Mode Chords supplies a chord, following the configured LOCK extension style.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-64",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L64"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "hold",
    "short_label": "HOLD 9",
    "action": "In the FM-1 layout, adds the ninth while held only when a held or locked type or Key Mode Chords supplies a chord, following the configured LOCK extension style.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-64",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L64"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "LATCH 9",
    "action": "In the FM-1 layout, ends this extension hold, keeping it under LOCK unless this press toggled it off or repeated the sole Pushed extension to clear it.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4288",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4288"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4411-4427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4411-L4427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4505-4522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4505-L4522"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL B3",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays B3 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "LOCK OR 9",
    "action": "With chord keys restored, B3 toggles LOCK in Classic or supplies the ninth extension in FM-1, with KEY Pick retaining its own rules.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "KEY INACTIVE",
    "action": "With FM-1 chord keys and KEY Pick, does nothing.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   }
  ],
  "key_c4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays C4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "C4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, selects the ninth extension outside Full keyboard and the KEY menu’s Pick setting.",
    "short_label": "9",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "611-616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L611-L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4262"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Classic chord keys active, adds the ninth to roots played while held only when a chord comes from a held or locked type or enabled Key Mode in Chords mode, with Advanced and Free also updating sounding chords.",
    "short_label": "HOLD 9",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "199-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L199-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-878",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L878"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "903-917",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L903-L917"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "With Classic chord keys active, ends the physical modifier hold, retaining it under LOCK unless it was toggled off or repeated alone to remove the last selected type or extension.",
    "short_label": "LATCH 9",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, with LOCK on, extension keys either toggle individually or replace the extension set in Pushed mode, where repeating its sole extension removes it on release.",
    "short_label": "LOCK EXT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4240-4263",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4240-L4263"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4272-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4272-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Does nothing while the KEY menu’s keys are set to Pick.",
    "short_label": "KEY INACTIVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3829-3838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3829-L3838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY C4",
    "action": "In the FM-1 layout, plays C4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL C4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays C4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "9 OR C4",
    "action": "With chord keys restored, C4 supplies the ninth extension in Classic or plays its C root in FM-1, except that FM-1 gives it no action in picker maps or naming.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "KEY INACTIVE",
    "action": "With FM-1 chord keys and KEY Pick, does nothing.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   }
  ],
  "key_cs4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays C♯4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "C♯4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "With Full keyboard selected, this lower key has no typing or musical action on the naming page.",
    "short_label": "NAME LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4665"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "With Full K Shorts off, with Full keyboard selected, plays this pitch using Key Mode’s chord or Notes rules and the split settings for the selected loop step, with the gesture written when released.",
    "short_label": "LOW KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "289-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, selects the suspended chord type outside Full keyboard and the KEY menu’s Pick setting.",
    "short_label": "SUS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "611-616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L611-L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4217-4262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4217-L4262"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Classic chord keys active, applies the suspended chord type to roots played while held, with Advanced and Free styles also changing sounding chords.",
    "short_label": "HOLD SUS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "865-892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "With Classic chord keys active, ends the physical modifier hold, retaining it under LOCK unless it was toggled off or repeated alone to remove the last selected type or extension.",
    "short_label": "LATCH SUS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4263-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4263-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press",
    "action": "With Classic chord keys active, with LOCK on, a lone type press replaces the selected type and clears or keeps extensions as configured, while repeating the sole type removes it on release.",
    "short_label": "LOCK TYPE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4226-4243",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4226-L4243"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4272-4289",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4272-L4289"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Does nothing while the KEY menu’s keys are set to Pick.",
    "short_label": "KEY INACTIVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3829-3838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3829-L3838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4648"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:key_fs3",
    "action": "In the Classic layout, with Secret Chords enabled for this play style, combines SUS with the held type to select a root-and-fifth chord.",
    "short_label": "POWER CHORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "250-271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L250-L271"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:key_gs3",
    "action": "In the Classic layout, with Secret Chords enabled for this play style, combines SUS with the held type to select a minor add-four chord.",
    "short_label": "MINOR ADD4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "250-271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L250-L271"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "press_while_holding:key_as3",
    "action": "In the Classic layout, with Secret Chords enabled for this play style, combines SUS with the held type to select an augmented chord.",
    "short_label": "AUGMENTED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "250-271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L250-L271"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4334-4369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4334-L4369"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY C#4",
    "action": "In the FM-1 layout, plays C#4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL C#4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays C#4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "SUS OR C#4",
    "action": "With chord keys restored, C#4 supplies SUS in Classic or plays its C# root in FM-1, except that FM-1 gives it no action in picker maps or naming.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "short_label": "KEY INACTIVE",
    "action": "With FM-1 chord keys and KEY Pick, does nothing.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3826-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3826-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4630-4646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4630-L4646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4706-4714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4706-L4714"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "short_label": "FM1 NO PICK",
    "action": "With FM-1 chord keys, this key has no selection, typing or musical action in this map.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4665"
     }
    ]
   }
  ],
  "key_d4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "D4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays D4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to D and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets D as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets D as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Selects Chords Only as the bass behavior.",
    "short_label": "CHORD BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Selects 4/4 as the time signature.",
    "short_label": "4/4 TIME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Selects the Chord view.",
    "short_label": "CHORD VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 1 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 1",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the ABC group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE ABC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY D4",
    "action": "In the FM-1 layout, plays D4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL D4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays D4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY D4",
    "action": "With chord keys restored, plays the D4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to D and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC D4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_ds4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "D♯4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays D♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to D♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets D♯ as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets D♯ as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Arms clearing the loop while this key remains held.",
    "short_label": "CLEAR ARM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3859-3862",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3859-L3862"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5988-5994",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5988-L5994"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "long_press",
    "action": "After one second held in the PLAY slot menu, clears the loop in memory, with global SAVE or a later slot switch deleting its stored record and revert restoring it until that write.",
    "short_label": "CLEAR LOOP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5990-5997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5990-L5997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "846-857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L846-L857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2167-2174",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2167-L2174"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2797-2824",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2797-L2824"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Inserts a space after the name cursor.",
    "short_label": "SPACE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY D#4",
    "action": "In the FM-1 layout, plays D#4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL D#4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays D#4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY D#4",
    "action": "With chord keys restored, plays the D#4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to D♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC D#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_e4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "E4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays E4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to E and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets E as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets E as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Selects Unison Bass as the bass behavior.",
    "short_label": "UNISON BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Selects 3/4 as the time signature.",
    "short_label": "3/4 TIME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Selects the Keyboard view.",
    "short_label": "KEYS VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 2 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 2",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the DEF group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE DEF",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY E4",
    "action": "In the FM-1 layout, plays E4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL E4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays E4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY E4",
    "action": "With chord keys restored, plays the E4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to E and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC E4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_f4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "F4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays F4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to F and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets F as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets F as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Selects Bass Single Notes as the bass behavior.",
    "short_label": "NOTE BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Selects 6/8 as the time signature.",
    "short_label": "6/8 TIME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Selects the Notes view.",
    "short_label": "NOTES VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 3 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 3",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the GHI group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE GHI",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY F4",
    "action": "In the FM-1 layout, plays F4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL F4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays F4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY F4",
    "action": "With chord keys restored, plays the F4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to F and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC F4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_fs4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "F♯4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays F♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to F♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets F♯ as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets F♯ as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Cancels an armed or active overdub, or removes the last added layer from memory, without redo, a slot change or an immediate flash write.",
    "short_label": "LOOP UNDO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3864-3867",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3864-L3867"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "538-549",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L538-L549"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "819-844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L819-L844"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Deletes the character under the cursor and moves back.",
    "short_label": "BACKSPACE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY F#4",
    "action": "In the FM-1 layout, plays F#4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL F#4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays F#4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY F#4",
    "action": "With chord keys restored, plays the F#4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to F♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC F#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_g4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "G4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays G4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to G and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets G as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets G as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Selects Solo as the bass behavior.",
    "short_label": "SOLO BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Selects the Geek Out view.",
    "short_label": "GEEK VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 4 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the JKL group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE JKL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY G4",
    "action": "In the FM-1 layout, plays G4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL G4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays G4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY G4",
    "action": "With chord keys restored, plays the G4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to G and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC G4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_gs4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "G♯4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays G♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to G♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets G♯ as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets G♯ as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Does nothing in this menu.",
    "short_label": "LOOP UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "70-77",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L70-L77"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3868-3873",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3868-L3873"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3707-3711",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3707-L3711"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.h",
      "lines": "25",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.h#L25"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Has no typing action in the naming page.",
    "short_label": "NAME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY G#4",
    "action": "In the FM-1 layout, plays G#4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL G#4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays G#4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY G#4",
    "action": "With chord keys restored, plays the G#4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to G♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC G#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_a4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "A4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays A4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to A and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets A as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets A as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Selects the Scope view.",
    "short_label": "SCOPE VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 5 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the MNO group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE MNO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY A4",
    "action": "In the FM-1 layout, plays A4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL A4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays A4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY A4",
    "action": "With chord keys restored, plays the A4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to A and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC A4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_as4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "A♯4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays A♯4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to A♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets A♯ as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets A♯ as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Does nothing in this menu.",
    "short_label": "LOOP UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "70-77",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L70-L77"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3868-3873",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3868-L3873"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3707-3711",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3707-L3711"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.h",
      "lines": "25",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.h#L25"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Has no typing action in the naming page.",
    "short_label": "NAME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY A#4",
    "action": "In the FM-1 layout, plays A#4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL A#4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays A#4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY A#4",
    "action": "With chord keys restored, plays the A#4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to A♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC A#4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_b4": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "B4 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays B4 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to B and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets B as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets B as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Selects the Geek Out 2 view.",
    "short_label": "GEEK 2 VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 6 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 6",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the PQRS group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE PQRS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY B4",
    "action": "In the FM-1 layout, plays B4 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL B4",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays B4 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY B4",
    "action": "With chord keys restored, plays the B4 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to B and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC B4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_c5": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "C5 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, pressure on this held musical key contributes aftertouch.",
    "short_label": "NOTE PRESS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays C5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to C and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets C as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets C as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Toggles the view lock.",
    "short_label": "VIEW LOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 7 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 7",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the TUV group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE TUV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "hold",
    "action": "With Vel + Aftertouch or Vel + Poly AT selected, eligible held musical keys contribute pressure to modulation.",
    "short_label": "PRESSURE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1509-1532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1509-L1532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_sense.c",
      "lines": "27-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY C5",
    "action": "In the FM-1 layout, plays C5 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL C5",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays C5 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY C5",
    "action": "With chord keys restored, plays the C5 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to C and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC C5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_cs5": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "C♯5 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays C♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to C♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets C♯ as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets C♯ as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Does nothing in this menu.",
    "short_label": "LOOP UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "70-77",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L70-L77"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3868-3873",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3868-L3873"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3707-3711",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3707-L3711"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.h",
      "lines": "25",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.h#L25"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Has no typing action in the naming page.",
    "short_label": "NAME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY C#5",
    "action": "In the FM-1 layout, plays C#5 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL C#5",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays C#5 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY C#5",
    "action": "With chord keys restored, plays the C#5 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to C♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC C#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_d5": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "D5 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays D5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to D and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets D as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets D as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 8 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 8",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the WXYZ group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE WXYZ",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY D5",
    "action": "In the FM-1 layout, plays D5 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL D5",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays D5 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY D5",
    "action": "With chord keys restored, plays the D5 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to D and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC D5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_ds5": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "D♯5 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays D♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to D♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets D♯ as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets D♯ as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Does nothing in this menu.",
    "short_label": "LOOP UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "70-77",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L70-L77"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3868-3873",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3868-L3873"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3707-3711",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3707-L3711"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.h",
      "lines": "25",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.h#L25"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Has no typing action in the naming page.",
    "short_label": "NAME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY D#5",
    "action": "In the FM-1 layout, plays D#5 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL D#5",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays D#5 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY D#5",
    "action": "With chord keys restored, plays the D#5 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to D♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC D#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_e5": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "E5 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays E5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to E and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets E as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets E as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 9 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 9",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the 0123 group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE 0123",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY E5",
    "action": "In the FM-1 layout, plays E5 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL E5",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays E5 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY E5",
    "action": "With chord keys restored, plays the E5 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to E and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC E5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_f5": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "F5 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "Releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "Plays F5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "Releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to F and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets F as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets F as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "Has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "Has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "Has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "Chooses loop slot 10 at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP 10",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3862-3875",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3862-L3875"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "Types from the 4567 group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE 4567",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "Writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "Plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "Advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY F5",
    "action": "In the FM-1 layout, plays F5 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL F5",
    "action": "Where keys play music, with Full K Shorts On and chord keys hidden, plays F5 as one note when G5 is off, or uses locked modifiers and Key Mode chord rules when G5 is on, keeping the bass split as notes and Notes filtering in force.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4670-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "FULL RELEASE",
    "action": "Releases this musical key unless Latch or the current performance Hold keeps it sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_chord_keys",
    "gesture": "press",
    "short_label": "PLAY F5",
    "action": "With chord keys restored, plays the F5 root under ordinary Key Mode, modifier and split rules, except where a picker or naming assigns this key another job.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4599-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4599-L4687"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to F and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC F5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_fs5": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "F♯5 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "When not reserved as a Full keyboard shortcut, releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays F♯5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "When not reserved as a Full keyboard shortcut, releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to F♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets F♯ as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets F♯ as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, does nothing in this menu.",
    "short_label": "LOOP UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "70-77",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L70-L77"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3868-3873",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3868-L3873"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3707-3711",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3707-L3711"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.h",
      "lines": "25",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.h#L25"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, has no typing action in the naming page.",
    "short_label": "NAME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "When not reserved as a Full keyboard shortcut, writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "When not reserved as a Full keyboard shortcut, advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY F#5",
    "action": "In the FM-1 layout, plays F#5 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "CHORD KEYS",
    "action": "Switches between the Full notes and the active layout’s chord keys on press without sounding a note.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4749-4773",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4749-L4773"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "hold",
    "short_label": "TEMP SWITCH",
    "action": "Keeps the reversed switch state while held; the chosen Hold Time decides whether release restores its prior state.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4768-4780",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4768-L4780"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "RESTORE",
    "action": "Restores the state from before the press after a hold past Hold Time, or keeps the new state after a shorter press.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4775-4780",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4775-L4780"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to F♯ and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC F#5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "key_g5": [
   {
    "mode": "full_keyboard",
    "gesture": "press",
    "action": "With Full K Shorts off, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4, or follows its Notes filtering and Snap, or plays a single note with Key Mode off, with bass-split keys kept as notes.",
    "short_label": "G5 KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4625-4649",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4625-L4649"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1213-1230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1230"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1446-1453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1540-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "release",
    "action": "When not reserved as a Full keyboard shortcut, releases this key’s note unless Latch or the current performance Hold keeps it sounding.",
    "short_label": "RELEASE NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "603-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "748-759",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "key_play",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "loop_play",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays G5 at the current octave as Key Mode’s scale chord or neighboring sus4 with held or locked type overrides and extensions, or follows Notes filtering and Snap, or plays its note or modifier chord with Key Mode off, respecting split settings.",
    "short_label": "PLAY G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "983-1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L983-L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "release",
    "action": "When not reserved as a Full keyboard shortcut, releases this root’s note or chord unless Latch or a performance Hold sustains it.",
    "short_label": "ROOT RELEASE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4716-4723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4716-L4723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1038-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1038-L1057"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press",
    "action": "Sets the key’s tonic to G and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_gs3",
    "action": "Sets G as the tonic and selects the minor scale.",
    "short_label": "MINOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "press_while_holding:key_as3",
    "action": "Sets G as the tonic and selects the major scale unless MIN is also held.",
    "short_label": "MAJOR KEY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, has no key-selection action in the bass menu.",
    "short_label": "BASS UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3753-3761",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3753-L3761"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, has no key-selection action in the metronome menu.",
    "short_label": "TIME UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3782-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3782-L3787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, has no key-selection action in the view menu.",
    "short_label": "VIEW UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, does nothing in this menu.",
    "short_label": "LOOP UNUSED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "70-77",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L70-L77"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3868-3873",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3868-L3873"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3707-3711",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3707-L3711"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.h",
      "lines": "25",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.h#L25"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, types from the 89-. group, cycling on another press within 800 ms and replacing the untouched prefilled name on the first letter.",
    "short_label": "TYPE 89-.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4651-4665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4651-L4665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "30-33",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L30-L33"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_name.c",
      "lines": "67-108",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_name.c#L67-L108"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays this pitch under Home’s Key Mode, modifier and split rules and starts a gesture for the selected step without moving the cursor.",
    "short_label": "PREPARE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "437-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L437-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4553-4559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4553-L4559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "release",
    "action": "When not reserved as a Full keyboard shortcut, writes the played gesture into the selected step, replacing its chord or bass side on the first completed gesture of a push.",
    "short_label": "REPLACE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "418-434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "488-499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L488-L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "980-1013",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L980-L1013"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "press",
    "action": "When not reserved as a Full keyboard shortcut, plays this pitch under Home’s Key Mode, modifier and split rules for step entry, moving to the next step if the previous chord was already entered.",
    "short_label": "WRITE STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "458-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L458-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4668-4689",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4668-L4689"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "25-28",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "273-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L273-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "992-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "195-215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "684-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "409-412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "release",
    "action": "When not reserved as a Full keyboard shortcut, advances the step cursor once every key and locked modifier is released after an entered chord.",
    "short_label": "NEXT STEP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5565-5579",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5565-L5579"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_loop.c",
      "lines": "909-924",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L909-L924"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4694-4697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4694-L4697"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "press",
    "action": "Has no musical key action while panel calibration is running.",
    "short_label": "CALIB KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5882-5890",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5882-L5890"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "press",
    "short_label": "PLAY G5",
    "action": "In the FM-1 layout, plays G5 at the current octave under Key Mode, held or locked modifiers and split settings, waiting for an open type-key window before sounding.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "57-67",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L57-L67"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4648-4687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4648-L4687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "286-305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L286-L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_engine.c",
      "lines": "1021-1033",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "release",
    "short_label": "ROOT RELEASE",
    "action": "In the FM-1 layout, releases this root unless Latch or performance Hold sustains it, or marks it for a short chord when an open type-key window closes.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4393-4409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4393-L4409"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4690-4722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4690-L4722"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "press",
    "short_label": "FULL CHORDS",
    "action": "Switches the Full notes between single notes and chords from locked modifiers or Key Mode on press without sounding a note.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4749-4773",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4749-L4773"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "hold",
    "short_label": "TEMP SWITCH",
    "action": "Keeps the reversed switch state while held; the chosen Hold Time decides whether release restores its prior state.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4768-4780",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4768-L4780"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "release",
    "short_label": "RESTORE",
    "action": "Restores the state from before the press after a hold past Hold Time, or keeps the new state after a shorter press.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4775-4780",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4775-L4780"
     }
    ]
   },
   {
    "mode": "fm1_key_pick",
    "gesture": "press",
    "action": "With the FM-1 layout in KEY Pick, sets the key’s tonic to G and enables Key Mode, retaining the scale unless MIN or MAJ is held.",
    "short_label": "TONIC G5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3841-3861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3841-L3861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3840-3857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3840-L3857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4615-4618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4615-L4618"
     }
    ]
   }
  ],
  "encoder_select": [
   {
    "mode": "home",
    "gesture": "turn",
    "action": "Sets tempo from 20 to 300 BPM.",
    "short_label": "TEMPO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5329-5333",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5329-L5333"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "turn",
    "action": "Sets tempo from 20 to 300 BPM.",
    "short_label": "TEMPO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5329-5333",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5329-L5333"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn_while_holding:button_glo",
    "action": "Sets metronome level outside the sound editor and naming page.",
    "short_label": "CLICK LEVEL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5152-5158",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5152-L5158"
     }
    ]
   },
   {
    "mode": "key_1",
    "gesture": "turn",
    "action": "Chooses page 1 counterclockwise or page 2 clockwise.",
    "short_label": "KEY PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5207-5215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5207-L5215"
     }
    ]
   },
   {
    "mode": "key_2",
    "gesture": "turn",
    "action": "Chooses page 1 counterclockwise or page 2 clockwise.",
    "short_label": "KEY PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5207-5215",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5207-L5215"
     }
    ]
   },
   {
    "mode": "perf_strum",
    "gesture": "turn",
    "action": "Chooses Strum, Strum 2 Octaves, Slop, Arpeggiate, Arp 2 Octaves, Pattern or Harp and enables performance.",
    "short_label": "PERFORM MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3713-3724",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3713-L3724"
     }
    ]
   },
   {
    "mode": "perf_slop",
    "gesture": "turn",
    "action": "Chooses Strum, Strum 2 Octaves, Slop, Arpeggiate, Arp 2 Octaves, Pattern or Harp and enables performance.",
    "short_label": "PERFORM MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3713-3724",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3713-L3724"
     }
    ]
   },
   {
    "mode": "perf_arp",
    "gesture": "turn",
    "action": "Chooses Strum, Strum 2 Octaves, Slop, Arpeggiate, Arp 2 Octaves, Pattern or Harp and enables performance.",
    "short_label": "PERFORM MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3713-3724",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3713-L3724"
     }
    ]
   },
   {
    "mode": "perf_pattern",
    "gesture": "turn",
    "action": "Chooses Strum, Strum 2 Octaves, Slop, Arpeggiate, Arp 2 Octaves, Pattern or Harp and enables performance.",
    "short_label": "PERFORM MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3713-3724",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3713-L3724"
     }
    ]
   },
   {
    "mode": "perf_harp",
    "gesture": "turn",
    "action": "Chooses Strum, Strum 2 Octaves, Slop, Arpeggiate, Arp 2 Octaves, Pattern or Harp and enables performance.",
    "short_label": "PERFORM MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3713-3724",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3713-L3724"
     }
    ]
   },
   {
    "mode": "fx_sends",
    "gesture": "turn",
    "action": "Steps through Sends, Reverb 1, Reverb 2, Chorus, Delay 1, Delay 2, Drive and Filter.",
    "short_label": "FX PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3734-3752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3734-L3752"
     }
    ]
   },
   {
    "mode": "fx_reverb_1",
    "gesture": "turn",
    "action": "Steps through Sends, Reverb 1, Reverb 2, Chorus, Delay 1, Delay 2, Drive and Filter.",
    "short_label": "FX PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3734-3752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3734-L3752"
     }
    ]
   },
   {
    "mode": "fx_reverb_2",
    "gesture": "turn",
    "action": "Steps through Sends, Reverb 1, Reverb 2, Chorus, Delay 1, Delay 2, Drive and Filter.",
    "short_label": "FX PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3734-3752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3734-L3752"
     }
    ]
   },
   {
    "mode": "fx_chorus",
    "gesture": "turn",
    "action": "Steps through Sends, Reverb 1, Reverb 2, Chorus, Delay 1, Delay 2, Drive and Filter.",
    "short_label": "FX PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3734-3752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3734-L3752"
     }
    ]
   },
   {
    "mode": "fx_delay_1",
    "gesture": "turn",
    "action": "Steps through Sends, Reverb 1, Reverb 2, Chorus, Delay 1, Delay 2, Drive and Filter.",
    "short_label": "FX PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3734-3752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3734-L3752"
     }
    ]
   },
   {
    "mode": "fx_delay_2",
    "gesture": "turn",
    "action": "Steps through Sends, Reverb 1, Reverb 2, Chorus, Delay 1, Delay 2, Drive and Filter.",
    "short_label": "FX PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3734-3752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3734-L3752"
     }
    ]
   },
   {
    "mode": "fx_drive",
    "gesture": "turn",
    "action": "Steps through Sends, Reverb 1, Reverb 2, Chorus, Delay 1, Delay 2, Drive and Filter.",
    "short_label": "FX PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3734-3752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3734-L3752"
     }
    ]
   },
   {
    "mode": "fx_filter",
    "gesture": "turn",
    "action": "Steps through Sends, Reverb 1, Reverb 2, Chorus, Delay 1, Delay 2, Drive and Filter.",
    "short_label": "FX PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3734-3752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3734-L3752"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "turn",
    "action": "Chooses Chords Only, Unison Bass, Bass Single Notes or Solo.",
    "short_label": "BASS BEHAV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3754-3763",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3754-L3763"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "turn",
    "action": "Selects and previews an engine.",
    "short_label": "ENGINE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3765-3772",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3765-L3772"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "turn",
    "action": "Chooses 4/4, 3/4 or 6/8.",
    "short_label": "TIME SIGN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3781-3787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3781-L3787"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "turn",
    "action": "Sets tempo from 20 to 300 BPM.",
    "short_label": "TEMPO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5216-5222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5216-L5222"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5329-5333",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5329-L5333"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "turn",
    "action": "Chooses Chord, Keyboard, Notes, Geek Out, Scope or Geek Out 2.",
    "short_label": "VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3725-3733",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3725-L3733"
     }
    ]
   },
   {
    "mode": "loop_1",
    "gesture": "turn",
    "action": "Chooses page 1 counterclockwise or page 2 clockwise.",
    "short_label": "LOOP PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5188-5205",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5188-L5205"
     }
    ]
   },
   {
    "mode": "loop_2",
    "gesture": "turn",
    "action": "Chooses page 1 counterclockwise or page 2 clockwise.",
    "short_label": "LOOP PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5188-5205",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5188-L5205"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn",
    "action": "Chooses page 1 counterclockwise or page 2 clockwise.",
    "short_label": "LOOP PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5188-5205",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5188-L5205"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn",
    "action": "Chooses page 1 counterclockwise or page 2 clockwise.",
    "short_label": "LOOP PAGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5188-5205",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5188-L5205"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "turn",
    "action": "Chooses Overwrite, Save as new, Favorite, Favorites filter or Favorite type for every engine, including P5.",
    "short_label": "SAVE CHOICE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5238-5252",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5238-L5252"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3501-3511",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3501-L3511"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/core.h",
      "lines": "107-110",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/core.h#L107-L110"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "turn",
    "action": "Moves the name cursor one character.",
    "short_label": "NAME CURSOR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5081"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn",
    "action": "Moves across lanes and then screens within the section, wrapping around.",
    "short_label": "EDIT LANE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1000-1040",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1000-L1040"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_glo",
    "action": "Moves through lanes and screens as a plain turn does.",
    "short_label": "EDIT LANE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5128-5134",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5128-L5134"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "turn",
    "action": "Moves through settings, listing Safe Mode and Flash Data only in safe mode.",
    "short_label": "OPTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5224-5233",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5224-L5233"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "turn_cw",
    "action": "When prompted for this encoder, teaches its identity and clockwise direction.",
    "short_label": "TEACH TURN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5429-5453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5429-L5453"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "turn",
    "action": "Cancels a delete question over the choice list and moves its selection, or moves the text cursor without dismissing the question when it was opened from naming.",
    "short_label": "ASK SELECT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5073",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5073"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5089-5093",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5089-L5093"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5238-5248",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5238-L5248"
     }
    ]
   },
   {
    "mode": "option_chord_keys",
    "gesture": "turn",
    "short_label": "OPTION PICK",
    "action": "Moves through the visible Options rows, skipping SUS Window in Classic.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1090-1110",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1090-L1110"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5222-5230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5222-L5230"
     }
    ]
   },
   {
    "mode": "option_sus_window",
    "gesture": "turn",
    "short_label": "OPTION PICK",
    "action": "Moves through the visible Options rows, skipping SUS Window in Classic.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1090-1110",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1090-L1110"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5222-5230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5222-L5230"
     }
    ]
   },
   {
    "mode": "option_full_k_shorts",
    "gesture": "turn",
    "short_label": "OPTION PICK",
    "action": "Moves through the visible Options rows, skipping SUS Window in Classic.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1090-1110",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1090-L1110"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5222-5230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5222-L5230"
     }
    ]
   },
   {
    "mode": "option_midi_keys",
    "gesture": "turn",
    "short_label": "OPTION PICK",
    "action": "Moves through the visible Options rows, skipping SUS Window in Classic.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1090-1110",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1090-L1110"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5222-5230",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5222-L5230"
     }
    ]
   }
  ],
  "encoder_presets": [
   {
    "mode": "home",
    "gesture": "turn",
    "action": "Loads another chord sound from the current engine, wrapping at the ends and honoring the favorites filter.",
    "short_label": "CHORD SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5311-5322",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5311-L5322"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "turn",
    "action": "Loads another chord sound from the current engine, wrapping at the ends and honoring the favorites filter.",
    "short_label": "CHORD SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5311-5322",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5311-L5322"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn_while_holding:button_glo",
    "action": "Chooses the chord engine wherever the plain turn picks its sound, applying it when GLO is released.",
    "short_label": "CHORD ENGINE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5136-5144",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5136-L5144"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1669-1680",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1669-L1680"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "turn",
    "action": "Previews another sound from the selected engine.",
    "short_label": "PREVIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5165-5169",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5165-L5169"
     }
    ]
   },
   {
    "mode": "loop_1",
    "gesture": "turn",
    "action": "Chooses a loop slot at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP SLOT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2278-2301",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2278-L2301"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "loop_2",
    "gesture": "turn",
    "action": "Chooses a loop slot at the next loop boundary if playing, writes departing changes now if stopped or stages them until a stop, later switch, global save or revert if playing, and loses unwritten changes on power-off.",
    "short_label": "LOOP SLOT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2278-2301",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2278-L2301"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2162-2217",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2162-L2217"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2900-2903",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2900-L2903"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn",
    "action": "Moves the step cursor and auditions notes when stopped.",
    "short_label": "STEP CURSOR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2520-2540",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2520-L2540"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn",
    "action": "Moves the step cursor and auditions notes when stopped.",
    "short_label": "STEP CURSOR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2520-2540",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2520-L2540"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn_while_holding:button_glo",
    "action": "Moves the cursor eight steps per detent.",
    "short_label": "EIGHT STEPS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5111-5116",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5111-L5116"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn_while_holding:button_glo",
    "action": "Moves the cursor eight steps per detent.",
    "short_label": "EIGHT STEPS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5111-5116",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5111-L5116"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "turn",
    "action": "Does nothing while naming a sound.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5081"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn",
    "action": "Opens the browser to preview another sound.",
    "short_label": "OPEN BROWSER",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5160-5167",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5160-L5167"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn",
    "action": "Outside the loop, sound browser and sound naming contexts, loads another chord sound from its engine’s pool.",
    "short_label": "CHORD SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5311-5330",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5311-L5330"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "turn_cw",
    "action": "When prompted for this encoder, teaches its identity and clockwise direction.",
    "short_label": "TEACH TURN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5429-5453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5429-L5453"
     }
    ]
   }
  ],
  "encoder_algorithm": [
   {
    "mode": "home",
    "gesture": "turn",
    "action": "Moves through bass off and the current engine’s sounds, wrapping at the ends and honoring the favorites filter.",
    "short_label": "BASS SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5323-5330",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5323-L5330"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "turn",
    "action": "Moves through bass off and the current engine’s sounds, wrapping at the ends and honoring the favorites filter.",
    "short_label": "BASS SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5323-5330",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5323-L5330"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn_while_holding:button_glo",
    "action": "Chooses the bass engine wherever the plain turn picks its sound, applying it when GLO is released.",
    "short_label": "BASS ENGINE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5136-5144",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5136-L5144"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1669-1680",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1669-L1680"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn_while_holding:button_env",
    "action": "Sets bass level while ENV is held, except in the loop editor or the sound editor’s own ENV section.",
    "short_label": "BASS LEVEL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5025-5053",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5025-L5053"
     }
    ]
   },
   {
    "mode": "loop_1",
    "gesture": "turn",
    "action": "Chooses Overwrite, Advance, Overdub, Replace or Step recording.",
    "short_label": "RECORD MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2286-2292",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2286-L2292"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5182-5186",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5182-L5186"
     }
    ]
   },
   {
    "mode": "loop_2",
    "gesture": "turn",
    "action": "Chooses Overwrite, Advance, Overdub, Replace or Step recording.",
    "short_label": "RECORD MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2286-2292",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2286-L2292"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5182-5186",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5182-L5186"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn",
    "action": "Sets the selected step’s voicing.",
    "short_label": "STEP VOICING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2564-2586",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2564-L2586"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn",
    "action": "Sets the selected step’s voicing.",
    "short_label": "STEP VOICING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2564-2586",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2564-L2586"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn_while_holding:button_glo",
    "action": "Snaps step voicing between Follow and zero rotation.",
    "short_label": "VOICING SNAP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5122-5126",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5122-L5126"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn_while_holding:button_glo",
    "action": "Snaps step voicing between Follow and zero rotation.",
    "short_label": "VOICING SNAP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5122-5126",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5122-L5126"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "turn",
    "action": "Does nothing while naming a sound.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5081"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn",
    "action": "Chooses the bass sound unless a browser is open.",
    "short_label": "BASS SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5323-5330",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5323-L5330"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn",
    "action": "Outside the loop and sound naming contexts, picks bass off or another sound from its engine’s pool.",
    "short_label": "BASS SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5311-5330",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5311-L5330"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "turn_cw",
    "action": "When prompted for this encoder, teaches its identity and clockwise direction.",
    "short_label": "TEACH TURN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5429-5453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5429-L5453"
     }
    ]
   }
  ],
  "encoder_knob1": [
   {
    "mode": "home",
    "gesture": "turn",
    "action": "Moves the chord voicing up or down by an inversion.",
    "short_label": "VOICING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5288-5295",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5288-L5295"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "turn",
    "action": "Moves the chord voicing up or down by an inversion, including the Full keyboard; octave shift stays on OCT- and OCT+.",
    "short_label": "VOICING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5288-5295",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5288-L5295"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn_while_holding:button_glo",
    "action": "Chooses the Single Notes split pitch outside the sound editor and naming page.",
    "short_label": "SPLIT POINT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5145-5151",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5145-L5151"
     }
    ]
   },
   {
    "mode": "key_1",
    "gesture": "turn",
    "action": "Chooses a tonic and enables Key Mode.",
    "short_label": "TONIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3912-3926",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3912-L3926"
     }
    ]
   },
   {
    "mode": "key_2",
    "gesture": "turn",
    "action": "Chooses Key Mode Chords counterclockwise or Notes clockwise.",
    "short_label": "KEY PLAYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3881-3909",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3881-L3909"
     }
    ]
   },
   {
    "mode": "perf_strum",
    "gesture": "turn",
    "action": "Sets strum time from 1 to 1000 ms.",
    "short_label": "STRUM RATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_slop",
    "gesture": "turn",
    "action": "Sets timing variation amount.",
    "short_label": "SLOP AMOUNT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_arp",
    "gesture": "turn",
    "action": "Chooses the arpeggio tempo division.",
    "short_label": "ARP DIVISION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-3948",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L3948"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "492-495",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L492-L495"
     }
    ]
   },
   {
    "mode": "perf_pattern",
    "gesture": "turn",
    "action": "Chooses the performance pattern.",
    "short_label": "PATTERN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_harp",
    "gesture": "turn",
    "action": "Sets harp rate.",
    "short_label": "HARP RATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "fx_sends",
    "gesture": "turn",
    "action": "Sets the chord drive amount.",
    "short_label": "CHORD DRIVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_reverb_1",
    "gesture": "turn",
    "action": "Sets reverb size.",
    "short_label": "REV SIZE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_reverb_2",
    "gesture": "turn",
    "action": "Sets reverb pre-delay.",
    "short_label": "REV PREDELAY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_chorus",
    "gesture": "turn",
    "action": "Sets chorus rate.",
    "short_label": "CHORUS RATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_delay_1",
    "gesture": "turn",
    "action": "Shortens echo time clockwise and lengthens it counterclockwise, using divisions when synced.",
    "short_label": "DELAY TIME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_delay_2",
    "gesture": "turn",
    "action": "Chooses Free or Tempo delay timing.",
    "short_label": "DELAY SYNC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_drive",
    "gesture": "turn",
    "action": "Does nothing on this page.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_filter",
    "gesture": "turn",
    "action": "Sets the master low cut, enabling the filter and FX when changed.",
    "short_label": "LOW CUT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "turn",
    "action": "Chooses Chords Only, Unison Bass, Bass Single Notes or Solo.",
    "short_label": "BASS BEHAV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4002-4024",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4002-L4024"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "turn",
    "action": "Previews another sound from the selected engine.",
    "short_label": "PREVIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4026-4050",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4026-L4050"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "turn",
    "action": "Sets click level from 0 to 100 in steps of five.",
    "short_label": "CLICK LEVEL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4088-4097",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4088-L4097"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "turn",
    "action": "Chooses whether type keys clear or keep locked extensions.",
    "short_label": "TYPE KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3928-3941",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3928-L3941"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "turn",
    "action": "Switches view lock off counterclockwise or on clockwise.",
    "short_label": "VIEW LOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3947",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3947"
     }
    ]
   },
   {
    "mode": "loop_1",
    "gesture": "turn",
    "action": "Chooses Free or 1, 2, 4, 8 or 16 bars for the next take.",
    "short_label": "TAKE LENGTH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4064-4087",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4064-L4087"
     }
    ]
   },
   {
    "mode": "loop_2",
    "gesture": "turn",
    "action": "Sets loop level from 0 to 100 in steps of five.",
    "short_label": "LOOP LEVEL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4052-4064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4052-L4064"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn",
    "action": "Sets selected-step note length without moving other steps.",
    "short_label": "STEP LENGTH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2655-2755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2655-L2755"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn",
    "action": "Chooses no ratchet or two, three or four hits.",
    "short_label": "STEP RATCHET",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2655-2755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2655-L2755"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "turn",
    "action": "Changes the selected favorite, filter or type value, doing nothing on the two save commands.",
    "short_label": "SAVE VALUE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5253-5287",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5253-L5287"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "turn",
    "action": "Changes the character at the cursor.",
    "short_label": "NAME LETTER",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5081"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "turn",
    "action": "Changes the current name’s letter if the delete question was opened from naming, but does nothing over the choice-list question.",
    "short_label": "NAME LETTER",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5263-5267",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5263-L5267"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5076",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5076"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5089-5093",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5089-L5093"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5262-5264",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5262-L5264"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_glo",
    "action": "Changes the active value in snapped steps, selecting the slower component of an FM TONE ratio pair.",
    "short_label": "SNAP VALUE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1310-1316",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1310-L1316"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_env",
    "action": "Adds or adjusts the last selected envelope’s route to the active parameter when matrix mapping is supported.",
    "short_label": "MAP ENV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1111-1172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1111-L1172"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_lfo",
    "action": "Adds or adjusts the last selected LFO’s route to the active parameter when matrix mapping is supported.",
    "short_label": "MAP LFO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1111-1172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1111-L1172"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_oct_down",
    "action": "Clears all matrix routes into the active parameter when supported.",
    "short_label": "CLEAR MOD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1175-1208",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1175-L1208"
     }
    ]
   },
   {
    "mode": "option_play_style",
    "gesture": "turn",
    "action": "Chooses Simple, Advanced or Free chord playing.",
    "short_label": "PLAY STYLE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_extension_addition",
    "gesture": "turn",
    "action": "Chooses Add Note or Play Chord for extension presses.",
    "short_label": "EXT ADD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_secret_chords",
    "gesture": "turn",
    "action": "Chooses Off, Simple or All secret-chord combinations.",
    "short_label": "SECRET",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_6th_with_7th",
    "gesture": "turn",
    "action": "Chooses the sixth in place or one octave above beside a seventh.",
    "short_label": "SIXTH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_velocity",
    "gesture": "turn",
    "action": "Sets fixed velocity from 1 to 127.",
    "short_label": "VELOCITY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_key_touch",
    "gesture": "turn",
    "action": "Chooses Fixed, Dynamic, Vel + Aftertouch or Vel + Poly AT.",
    "short_label": "KEY TOUCH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_velocity_sens",
    "gesture": "turn",
    "action": "Chooses Mid, Low or High velocity sensitivity.",
    "short_label": "VEL SENS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_velocity_curve",
    "gesture": "turn",
    "action": "Sets velocity curve from -3 to +3.",
    "short_label": "VEL CURVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_aftertouch_sens",
    "gesture": "turn",
    "action": "Chooses Mid, Low or High aftertouch sensitivity.",
    "short_label": "AT SENS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_bass_behaviour",
    "gesture": "turn",
    "action": "Chooses bass behavior.",
    "short_label": "BASS BEHAV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_single_notes",
    "gesture": "turn",
    "action": "Chooses Full Octave, Split Oct or Split Bass.",
    "short_label": "SINGLE NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_split_point",
    "gesture": "turn",
    "action": "Chooses the Single Notes split pitch.",
    "short_label": "SPLIT POINT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_midi_perform",
    "gesture": "turn",
    "action": "Selects the performed MIDI channel or switches it off, disabling MIDI Keys if this channel matches it.",
    "short_label": "MIDI PERFORM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1209-1216",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1209-L1216"
     }
    ]
   },
   {
    "mode": "option_midi_bass",
    "gesture": "turn",
    "action": "Selects the bass MIDI channel or switches it off, disabling MIDI Keys if this channel matches it.",
    "short_label": "MIDI BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1209-1216",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1209-L1216"
     }
    ]
   },
   {
    "mode": "option_midi_raw_chord",
    "gesture": "turn",
    "action": "Selects the raw-chord MIDI channel or switches it off.",
    "short_label": "MIDI RAW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_raw_chord_sound",
    "gesture": "turn",
    "action": "Turns raw-chord sound playback off or on.",
    "short_label": "RAW SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_midi_clock",
    "gesture": "turn",
    "action": "Chooses MIDI clock Off, Out or In.",
    "short_label": "MIDI CLOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_view",
    "gesture": "turn",
    "action": "Chooses the display view.",
    "short_label": "VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_motion",
    "gesture": "turn",
    "action": "Chooses Full, Calm or Off screen motion.",
    "short_label": "MOTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_chord_names",
    "gesture": "turn",
    "action": "Chooses Orchid or Standard spelling without changing notes.",
    "short_label": "CHORD NAMES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_leds",
    "gesture": "turn",
    "action": "Chooses Glow or Stock light behavior.",
    "short_label": "LED STYLE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_hold_time",
    "gesture": "turn",
    "action": "Chooses the button-hold threshold.",
    "short_label": "HOLD TIME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_usb_record",
    "gesture": "turn",
    "action": "Enables or disables USB recording of master, chord and bass channels.",
    "short_label": "USB RECORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_usb_level",
    "gesture": "turn",
    "action": "Chooses Master-controlled or Fixed USB recording level.",
    "short_label": "USB LEVEL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_usb_rate",
    "gesture": "turn",
    "action": "Offers 44.1 kHz alone or both 44.1 and 48 kHz recording rates.",
    "short_label": "USB RATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_dual_core",
    "gesture": "turn",
    "action": "Enables or disables the second core after restart in the standard build.",
    "short_label": "DUAL CORE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_output",
    "gesture": "turn",
    "action": "Chooses the Classic or Clean audio chain.",
    "short_label": "OUTPUT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_version",
    "gesture": "turn",
    "action": "Does nothing because this entry displays version and unit ID.",
    "short_label": "VERSION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_calibrate",
    "gesture": "turn",
    "action": "Does nothing because OCT+ starts panel calibration.",
    "short_label": "CALIBRATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_reset_settings",
    "gesture": "turn",
    "action": "Does nothing because OCT+ twice resets settings.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1238-1240",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1238-L1240"
     }
    ]
   },
   {
    "mode": "option_safe_mode",
    "gesture": "turn",
    "action": "Does nothing because this entry displays safe-mode status.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1238-1240",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1238-L1240"
     }
    ]
   },
   {
    "mode": "option_flash_data",
    "gesture": "turn",
    "action": "Does nothing because OCT+ twice erases stored data and restarts.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1241",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1241"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1238-1240",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1238-L1240"
     }
    ]
   },
   {
    "mode": "edit_va_osc_1_1",
    "gesture": "turn",
    "action": "Sets oscillator 1 waveform in Basic mode, morph position in Morph mode, or noise type in Noise mode.",
    "short_label": "VA1 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "351",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L351"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "559-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L559-L587"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_2",
    "gesture": "turn",
    "action": "Sets oscillator 2 waveform in Basic mode, morph position in Morph mode, or noise type in Noise mode.",
    "short_label": "VA2 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "361",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L361"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "559-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L559-L587"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_3",
    "gesture": "turn",
    "action": "Sets oscillator 3 waveform in Basic mode, morph position in Morph mode, or noise type in Noise mode.",
    "short_label": "VA3 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "371",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L371"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "559-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L559-L587"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_4",
    "gesture": "turn",
    "action": "Sets oscillator 4 waveform in Basic mode, morph position in Morph mode, or noise type in Noise mode.",
    "short_label": "VA4 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "381",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L381"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "559-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L559-L587"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_1",
    "gesture": "turn",
    "action": "Sets Mode for VA OSC 1+.",
    "short_label": "OSC1 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "403",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L403"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_2",
    "gesture": "turn",
    "action": "Sets Mode for VA OSC 2+.",
    "short_label": "OSC2 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "413",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L413"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_3",
    "gesture": "turn",
    "action": "Sets Mode for VA OSC 3+.",
    "short_label": "OSC3 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "423",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L423"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_4",
    "gesture": "turn",
    "action": "Sets Mode for VA OSC 4+.",
    "short_label": "OSC4 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "433",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L433"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_3_1",
    "gesture": "turn",
    "action": "Sets Level for VA OSC 1.",
    "short_label": "VA OSC LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "454",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L454"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_1",
    "gesture": "turn",
    "action": "Sets Cutoff for VA FILTER.",
    "short_label": "VA FILT CUT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "482",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L482"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_2",
    "gesture": "turn",
    "action": "Sets Key trk for VA FILTER+.",
    "short_label": "VA FILT KTRK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "492",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L492"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_1",
    "gesture": "turn",
    "action": "Sets Attack for VA ENV 1.",
    "short_label": "ENV1 ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "520",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L520"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_2",
    "gesture": "turn",
    "action": "Sets Hold for VA ENV 1+.",
    "short_label": "ENV1 HOLD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "530",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L530"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_1",
    "gesture": "turn",
    "action": "Sets Attack for VA ENV 2.",
    "short_label": "ENV2 ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "551",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L551"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_2",
    "gesture": "turn",
    "action": "Sets Hold for VA ENV 2+.",
    "short_label": "ENV2 HOLD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "561",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L561"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_1",
    "gesture": "turn",
    "action": "Sets Attack for VA ENV 3.",
    "short_label": "ENV3 ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "582",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L582"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_2",
    "gesture": "turn",
    "action": "Sets Hold for VA ENV 3+.",
    "short_label": "ENV3 HOLD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "592",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L592"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_1",
    "gesture": "turn",
    "action": "Sets Attack for VA ENV 4.",
    "short_label": "ENV4 ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "613",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L613"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_2",
    "gesture": "turn",
    "action": "Sets Hold for VA ENV 4+.",
    "short_label": "ENV4 HOLD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "623",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L623"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_1",
    "gesture": "turn",
    "action": "Sets VA LFO 1 rate in hertz or tempo divisions according to its Sync setting.",
    "short_label": "LFO1 RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "652",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L652"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "569-574",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L569-L574"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_2",
    "gesture": "turn",
    "action": "Sets VA LFO 2 rate in hertz or tempo divisions according to its Sync setting.",
    "short_label": "LFO2 RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "662",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L662"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "569-574",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L569-L574"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_3",
    "gesture": "turn",
    "action": "Sets VA LFO 3 rate in hertz or tempo divisions according to its Sync setting.",
    "short_label": "LFO3 RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "672",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L672"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "569-574",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L569-L574"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_4",
    "gesture": "turn",
    "action": "Sets VA LFO 4 rate in hertz or tempo divisions according to its Sync setting.",
    "short_label": "LFO4 RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "682",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L682"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "569-574",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L569-L574"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_1",
    "gesture": "turn",
    "action": "Sets Sync1 for VA LFO SYN.",
    "short_label": "LFO1 SYNC1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "704",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L704"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_2",
    "gesture": "turn",
    "action": "Sets Sync2 for VA LFO SYN.",
    "short_label": "LFO2 SYNC2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L714"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_3",
    "gesture": "turn",
    "action": "Sets Sync3 for VA LFO SYN.",
    "short_label": "LFO3 SYNC3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "724",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L724"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_4",
    "gesture": "turn",
    "action": "Sets Sync4 for VA LFO SYN.",
    "short_label": "LFO4 SYNC4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "734",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L734"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_3_1",
    "gesture": "turn",
    "action": "Sets Uspread for VA VOICE.",
    "short_label": "VA USPREAD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L755"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_1",
    "gesture": "turn",
    "action": "Sets Source for VA MOD 1.",
    "short_label": "MOD1 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "784",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L784"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_2",
    "gesture": "turn",
    "action": "Sets Source for VA MOD 2.",
    "short_label": "MOD2 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "794",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L794"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_3",
    "gesture": "turn",
    "action": "Sets Source for VA MOD 3.",
    "short_label": "MOD3 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "804",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L804"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_4",
    "gesture": "turn",
    "action": "Sets Source for VA MOD 4.",
    "short_label": "MOD4 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "814",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L814"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_5",
    "gesture": "turn",
    "action": "Sets Source for VA MOD 5.",
    "short_label": "MOD5 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "824",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L824"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_6",
    "gesture": "turn",
    "action": "Sets Source for VA MOD 6.",
    "short_label": "MOD6 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "834",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L834"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_7",
    "gesture": "turn",
    "action": "Sets Source for VA MOD 7.",
    "short_label": "MOD7 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "844",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L844"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_8",
    "gesture": "turn",
    "action": "Sets Source for VA MOD 8.",
    "short_label": "MOD8 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "854",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L854"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "876",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L876"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "886",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L886"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s drive amount.",
    "short_label": "DRIVE SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "914",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L914"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_1",
    "gesture": "turn",
    "action": "Sets Level for VA MIX.",
    "short_label": "PART LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "942",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L942"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_2",
    "gesture": "turn",
    "action": "Sets Trans for VA MIX.",
    "short_label": "PART TRANS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "952",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L952"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_1",
    "gesture": "turn",
    "action": "Sets Level for FM6 OP 1.",
    "short_label": "OP1 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "421",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L421"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_2",
    "gesture": "turn",
    "action": "Sets Level for FM6 OP 2.",
    "short_label": "OP2 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "431",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L431"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_3",
    "gesture": "turn",
    "action": "Sets Level for FM6 OP 3.",
    "short_label": "OP3 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "441",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L441"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_4",
    "gesture": "turn",
    "action": "Sets Level for FM6 OP 4.",
    "short_label": "OP4 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "451",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L451"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_5",
    "gesture": "turn",
    "action": "Sets Level for FM6 OP 5.",
    "short_label": "OP5 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "461",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L461"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_6",
    "gesture": "turn",
    "action": "Sets Level for FM6 OP 6.",
    "short_label": "OP6 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "471",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L471"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_1",
    "gesture": "turn",
    "action": "Sets Mode for FM6 OP 1+.",
    "short_label": "OP1 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "493",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L493"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_2",
    "gesture": "turn",
    "action": "Sets Mode for FM6 OP 2+.",
    "short_label": "OP2 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L503"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_3",
    "gesture": "turn",
    "action": "Sets Mode for FM6 OP 3+.",
    "short_label": "OP3 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "513",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L513"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_4",
    "gesture": "turn",
    "action": "Sets Mode for FM6 OP 4+.",
    "short_label": "OP4 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "523",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L523"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_5",
    "gesture": "turn",
    "action": "Sets Mode for FM6 OP 5+.",
    "short_label": "OP5 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "533",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L533"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_6",
    "gesture": "turn",
    "action": "Sets Mode for FM6 OP 6+.",
    "short_label": "OP6 MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "543",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L543"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_1",
    "gesture": "turn",
    "action": "Sets Break pt for FM6 SCALE 1.",
    "short_label": "OP1 BREAK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "565",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L565"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_2",
    "gesture": "turn",
    "action": "Sets Break pt for FM6 SCALE 2.",
    "short_label": "OP2 BREAK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "575",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L575"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_3",
    "gesture": "turn",
    "action": "Sets Break pt for FM6 SCALE 3.",
    "short_label": "OP3 BREAK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "585",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L585"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_4",
    "gesture": "turn",
    "action": "Sets Break pt for FM6 SCALE 4.",
    "short_label": "OP4 BREAK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "595",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L595"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_5",
    "gesture": "turn",
    "action": "Sets Break pt for FM6 SCALE 5.",
    "short_label": "OP5 BREAK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "605",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L605"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_6",
    "gesture": "turn",
    "action": "Sets Break pt for FM6 SCALE 6.",
    "short_label": "OP6 BREAK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "615",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L615"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_filt_1_1",
    "gesture": "turn",
    "action": "Sets Algo for FM6 ALGO.",
    "short_label": "FM6 FILT ALG",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "643",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L643"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for FM6 ENV 1.",
    "short_label": "ENV1 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "671",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L671"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_2",
    "gesture": "turn",
    "action": "Sets Level 1 for FM6 ENV 1+.",
    "short_label": "ENV1 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "681",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L681"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for FM6 ENV 2.",
    "short_label": "ENV2 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "702",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L702"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_2",
    "gesture": "turn",
    "action": "Sets Level 1 for FM6 ENV 2+.",
    "short_label": "ENV2 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "712",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L712"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for FM6 ENV 3.",
    "short_label": "ENV3 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "733",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L733"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_2",
    "gesture": "turn",
    "action": "Sets Level 1 for FM6 ENV 3+.",
    "short_label": "ENV3 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "743",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L743"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for FM6 ENV 4.",
    "short_label": "ENV4 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "764",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L764"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_2",
    "gesture": "turn",
    "action": "Sets Level 1 for FM6 ENV 4+.",
    "short_label": "ENV4 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "774",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L774"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for FM6 ENV 5.",
    "short_label": "ENV5 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "795",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L795"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_2",
    "gesture": "turn",
    "action": "Sets Level 1 for FM6 ENV 5+.",
    "short_label": "ENV5 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "805",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L805"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for FM6 ENV 6.",
    "short_label": "ENV6 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "826",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L826"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_2",
    "gesture": "turn",
    "action": "Sets Level 1 for FM6 ENV 6+.",
    "short_label": "ENV6 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "836",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L836"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for FM6 PITCH EG.",
    "short_label": "PITCH EG R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_2",
    "gesture": "turn",
    "action": "Sets Level 1 for FM6 PITCH EG+.",
    "short_label": "PITCH EG L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "867",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L867"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Speed for FM6 LFO.",
    "short_label": "FM6 SPEED",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "895",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L895"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Wave for FM6 LFO+.",
    "short_label": "FM6 LFO WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "905",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L905"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_1",
    "gesture": "turn",
    "action": "Sets Bend for FM6 FUNC.",
    "short_label": "FM6 MOD BEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "933",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L933"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_2",
    "gesture": "turn",
    "action": "Sets Step for FM6 FUNC+.",
    "short_label": "FM6 MOD STEP",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "943",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L943"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_1",
    "gesture": "turn",
    "action": "Sets Wheel for FM6 CTRL.",
    "short_label": "FM6 WHEEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "964",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L964"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_2",
    "gesture": "turn",
    "action": "Sets Breath for FM6 CTRL+.",
    "short_label": "FM6 MOD BRTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "974",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L974"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L996"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1006",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1006"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s drive amount.",
    "short_label": "DRIVE SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1034",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1034"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_1",
    "gesture": "turn",
    "action": "Sets Level for FM6 MIX.",
    "short_label": "PART LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1062",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1062"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_2",
    "gesture": "turn",
    "action": "Sets Trans for FM6 MIX.",
    "short_label": "PART TRANS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1072",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1072"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_1",
    "gesture": "turn",
    "action": "Sets Wave for CZ-1 LINE 1.",
    "short_label": "LINE1 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "401",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L401"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_2",
    "gesture": "turn",
    "action": "Sets Wave for CZ-1 LINE 2.",
    "short_label": "LINE2 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "411",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L411"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_2_1",
    "gesture": "turn",
    "action": "Sets Sign for CZ-1 DETUNE.",
    "short_label": "CZ OSC SIGN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "432",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L432"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_3_1",
    "gesture": "turn",
    "action": "Sets Level for CZ-1 LINE 1.",
    "short_label": "CZ OSC LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_1",
    "gesture": "turn",
    "action": "Sets DCW key 1 for CZ-1 DCW.",
    "short_label": "CZ W.KEY1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "481",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L481"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_2",
    "gesture": "turn",
    "action": "Sets DCA key 1 for CZ-1 DCW+.",
    "short_label": "CZ A.KEY1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "491",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L491"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for CZ-1 PITCH 1.",
    "short_label": "PITCH1 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "519",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L519"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_2",
    "gesture": "turn",
    "action": "Sets Level 1 for CZ-1 PITCH 1+.",
    "short_label": "PITCH1 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "529",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L529"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_1",
    "gesture": "turn",
    "action": "Sets Rate 5 for CZ-1 PITCH 1 B.",
    "short_label": "PITCH1 R5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "550",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L550"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_2",
    "gesture": "turn",
    "action": "Sets Level 5 for CZ-1 PITCH 1 B+.",
    "short_label": "PITCH1 L5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "560",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L560"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_3_1",
    "gesture": "turn",
    "action": "Sets Sustain for CZ-1 PITCH 1 S.",
    "short_label": "PITCH1 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "581",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L581"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for CZ-1 DCW 1.",
    "short_label": "DCW1 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "602",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L602"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_2",
    "gesture": "turn",
    "action": "Sets Level 1 for CZ-1 DCW 1+.",
    "short_label": "DCW1 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "612",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L612"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_1",
    "gesture": "turn",
    "action": "Sets Rate 5 for CZ-1 DCW 1 B.",
    "short_label": "DCW1 R5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "633",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L633"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_2",
    "gesture": "turn",
    "action": "Sets Level 5 for CZ-1 DCW 1 B+.",
    "short_label": "DCW1 L5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "643",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L643"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_6_1",
    "gesture": "turn",
    "action": "Sets Sustain for CZ-1 DCW 1 S.",
    "short_label": "DCW1 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "664",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L664"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for CZ-1 DCA 1.",
    "short_label": "DCA1 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "685",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L685"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_2",
    "gesture": "turn",
    "action": "Sets Level 1 for CZ-1 DCA 1+.",
    "short_label": "DCA1 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "695",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L695"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_1",
    "gesture": "turn",
    "action": "Sets Rate 5 for CZ-1 DCA 1 B.",
    "short_label": "DCA1 R5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "716",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L716"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_2",
    "gesture": "turn",
    "action": "Sets Level 5 for CZ-1 DCA 1 B+.",
    "short_label": "DCA1 L5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "726",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L726"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_9_1",
    "gesture": "turn",
    "action": "Selects the sustain stage of CZ-1’s DCA 1 envelope.",
    "short_label": "DCA1 SUS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "747",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L747"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "249-264",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L249-L264"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "297-304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L297-L304"
     }
    ]
   },
   {
    "mode": "edit_cz_1_env_10_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for CZ-1 PITCH 2.",
    "short_label": "PITCH2 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "768",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L768"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_2",
    "gesture": "turn",
    "action": "Sets Level 1 for CZ-1 PITCH 2+.",
    "short_label": "PITCH2 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "778",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L778"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_1",
    "gesture": "turn",
    "action": "Sets Rate 5 for CZ-1 PITCH 2 B.",
    "short_label": "PITCH2 R5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "799",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L799"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_2",
    "gesture": "turn",
    "action": "Sets Level 5 for CZ-1 PITCH 2 B+.",
    "short_label": "PITCH2 L5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "809",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L809"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_12_1",
    "gesture": "turn",
    "action": "Sets Sustain for CZ-1 PITCH 2 S.",
    "short_label": "PITCH2 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "830",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L830"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for CZ-1 DCW 2.",
    "short_label": "DCW2 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "851",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L851"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_2",
    "gesture": "turn",
    "action": "Sets Level 1 for CZ-1 DCW 2+.",
    "short_label": "DCW2 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "861",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L861"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_1",
    "gesture": "turn",
    "action": "Sets Rate 5 for CZ-1 DCW 2 B.",
    "short_label": "DCW2 R5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "882",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L882"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_2",
    "gesture": "turn",
    "action": "Sets Level 5 for CZ-1 DCW 2 B+.",
    "short_label": "DCW2 L5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "892",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L892"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_15_1",
    "gesture": "turn",
    "action": "Sets Sustain for CZ-1 DCW 2 S.",
    "short_label": "DCW2 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "913",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L913"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_1",
    "gesture": "turn",
    "action": "Sets Rate 1 for CZ-1 DCA 2.",
    "short_label": "DCA2 R1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "934",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L934"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_2",
    "gesture": "turn",
    "action": "Sets Level 1 for CZ-1 DCA 2+.",
    "short_label": "DCA2 L1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "944",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L944"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_1",
    "gesture": "turn",
    "action": "Sets Rate 5 for CZ-1 DCA 2 B.",
    "short_label": "DCA2 R5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "965",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L965"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_2",
    "gesture": "turn",
    "action": "Sets Level 5 for CZ-1 DCA 2 B+.",
    "short_label": "DCA2 L5",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "975",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L975"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_18_1",
    "gesture": "turn",
    "action": "Sets Sustain for CZ-1 DCA 2 S.",
    "short_label": "DCA2 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "996",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L996"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Wave for CZ-1 VIB.",
    "short_label": "CZ LFO WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1024",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1024"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_1_1",
    "gesture": "turn",
    "action": "Sets Line for CZ-1 TONE.",
    "short_label": "CZ MOD LINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1052",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1052"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1074",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1074"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1084",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1084"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s drive amount.",
    "short_label": "DRIVE SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1112",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1112"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_1",
    "gesture": "turn",
    "action": "Sets Level for CZ-1 MIX.",
    "short_label": "PART LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1140",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1140"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_2",
    "gesture": "turn",
    "action": "Sets Trans for CZ-1 MIX.",
    "short_label": "PART TRANS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1150",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1150"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_1",
    "gesture": "turn",
    "action": "Sets Algo for FM TONE SYN 1.",
    "short_label": "FM TONE ALGO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "232",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L232"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_2",
    "gesture": "turn",
    "action": "Sets Harm for FM TONE SYN 1+.",
    "short_label": "FM TONE HARM",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "242",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L242"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_2_1",
    "gesture": "turn",
    "action": "Sets Offset C for FM TONE SYN 2.",
    "short_label": "SYN2 OFS C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "265",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L265"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_1",
    "gesture": "turn",
    "action": "Sets Attack for FM TONE FILTER.",
    "short_label": "FM TONE ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "295",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L295"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_2",
    "gesture": "turn",
    "action": "Sets Freq for FM TONE FILTER+.",
    "short_label": "FM TONE FREQ",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_1",
    "gesture": "turn",
    "action": "Sets Env delay for FM TONE FILT 2.",
    "short_label": "FILT2 DELAY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L328"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_2",
    "gesture": "turn",
    "action": "Sets Base for FM TONE FILT 2+.",
    "short_label": "FM TONE BASE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "338",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L338"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_1",
    "gesture": "turn",
    "action": "Sets A Attack for FM TONE ENV A.",
    "short_label": "ENVA A ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "368",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L368"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_2",
    "gesture": "turn",
    "action": "Sets B Attack for FM TONE ENV B.",
    "short_label": "ENVB B ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "378",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L378"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_1",
    "gesture": "turn",
    "action": "Sets A Delay for FM TONE ENV 2.",
    "short_label": "ENV2 A DLY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "401",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L401"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_2",
    "gesture": "turn",
    "action": "Sets B Delay for FM TONE ENV 2+.",
    "short_label": "ENV2+ B DLY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "411",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L411"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_3_1",
    "gesture": "turn",
    "action": "Sets A Key for FM TONE ENV 3.",
    "short_label": "ENV3 A KEY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_1",
    "gesture": "turn",
    "action": "Sets Attack for FM TONE AMP.",
    "short_label": "AMP ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "457",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L457"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_2",
    "gesture": "turn",
    "action": "Sets Level for FM TONE AMP+.",
    "short_label": "AMP+ LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "467",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L467"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Speed for FM TONE LFO 1.",
    "short_label": "LFO1 SPEED",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "497",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L497"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Wave · Phase for FM TONE LFO 1+.",
    "short_label": "LFO1 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "507",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L507"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_1",
    "gesture": "turn",
    "action": "Sets Speed for FM TONE LFO 2.",
    "short_label": "LFO2 SPEED",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "530",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L530"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_2",
    "gesture": "turn",
    "action": "Sets Wave · Phase for FM TONE LFO 2+.",
    "short_label": "LFO2 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "540",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L540"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_1",
    "gesture": "turn",
    "action": "Sets Speed for FM TONE LFO 3.",
    "short_label": "LFO3 SPEED",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "563",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L563"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_2",
    "gesture": "turn",
    "action": "Sets Wave · Phase for FM TONE LFO 3+.",
    "short_label": "LFO3 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "573",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L573"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "602",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L602"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "612",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L612"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "622",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L622"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "632",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L632"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "654",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L654"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "664",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L664"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s drive amount.",
    "short_label": "DRIVE SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "692",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L692"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_1",
    "gesture": "turn",
    "action": "Sets Level for FM TONE MIX.",
    "short_label": "PART LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "720",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L720"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_2",
    "gesture": "turn",
    "action": "Sets Trans for FM TONE MIX.",
    "short_label": "PART TRANS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "730",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L730"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_osc_1_1",
    "gesture": "turn",
    "action": "Sets Reg for WHEEL BARS.",
    "short_label": "WHEEL REG",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "29",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L29"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_filt_1_1",
    "gesture": "turn",
    "action": "Sets Perc for WHEEL TONE.",
    "short_label": "WHEEL PERC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "57",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L57"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_env_1_1",
    "gesture": "turn",
    "action": "Sets Attack for WHEEL ENV.",
    "short_label": "WHEEL ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "85",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L85"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Rate for WHEEL LFO.",
    "short_label": "WHEEL RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "113",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L113"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "142",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L142"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "152",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L152"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "162",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L162"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L172"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "194",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L194"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "204",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L204"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s drive amount.",
    "short_label": "DRIVE SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "232",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L232"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_1",
    "gesture": "turn",
    "action": "Sets Level for WHEEL MIX.",
    "short_label": "PART LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "260",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L260"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_2",
    "gesture": "turn",
    "action": "Sets Trans for WHEEL MIX.",
    "short_label": "PART TRANS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "270",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L270"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_1",
    "gesture": "turn",
    "action": "Sets Type for GRAIN SRC 1.",
    "short_label": "SRC A TYPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L222"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_2",
    "gesture": "turn",
    "action": "Sets Type for GRAIN SRC 2.",
    "short_label": "SRC B TYPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "232",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L232"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_1",
    "gesture": "turn",
    "action": "Sets Size for GRAIN GRAIN.",
    "short_label": "GRAIN SIZE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "255",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L255"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_2",
    "gesture": "turn",
    "action": "Sets Morph for GRAIN GRAIN+.",
    "short_label": "GRAIN MORPH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "265",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L265"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_1",
    "gesture": "turn",
    "action": "Sets Cutoff for GRAIN FILTER.",
    "short_label": "GRAIN CUT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "293",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L293"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_2",
    "gesture": "turn",
    "action": "Sets Key trk for GRAIN FILTER+.",
    "short_label": "GRAIN KTRK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "303",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L303"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_1_1",
    "gesture": "turn",
    "action": "Sets Attack for GRAIN ENV 1.",
    "short_label": "ENV1 ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "333",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L333"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_2_1",
    "gesture": "turn",
    "action": "Sets Attack for GRAIN ENV 2.",
    "short_label": "ENV2 ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "356",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L356"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Rate for GRAIN LFO 1.",
    "short_label": "LFO1 RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "385",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L385"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Rate for GRAIN LFO 2.",
    "short_label": "LFO2 RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "395",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L395"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_1",
    "gesture": "turn",
    "action": "Sets Sync1 for GRAIN LFO SYN.",
    "short_label": "LFO1 SYNC1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "417",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L417"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_2",
    "gesture": "turn",
    "action": "Sets Sync2 for GRAIN LFO SYN.",
    "short_label": "LFO2 SYNC2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_1",
    "gesture": "turn",
    "action": "Sets Source for GRAIN MOD 1.",
    "short_label": "MOD1 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "456",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L456"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_2",
    "gesture": "turn",
    "action": "Sets Source for GRAIN MOD 2.",
    "short_label": "MOD2 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_3",
    "gesture": "turn",
    "action": "Sets Source for GRAIN MOD 3.",
    "short_label": "MOD3 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "476",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L476"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_4",
    "gesture": "turn",
    "action": "Sets Source for GRAIN MOD 4.",
    "short_label": "MOD4 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "486",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L486"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_5",
    "gesture": "turn",
    "action": "Sets Source for GRAIN MOD 5.",
    "short_label": "MOD5 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "496",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L496"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_6",
    "gesture": "turn",
    "action": "Sets Source for GRAIN MOD 6.",
    "short_label": "MOD6 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "506",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L506"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_7",
    "gesture": "turn",
    "action": "Sets Source for GRAIN MOD 7.",
    "short_label": "MOD7 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "516",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L516"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_8",
    "gesture": "turn",
    "action": "Sets Source for GRAIN MOD 8.",
    "short_label": "MOD8 SRC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "526",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L526"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "548",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L548"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "558",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L558"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s drive amount.",
    "short_label": "DRIVE SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "586",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L586"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_1",
    "gesture": "turn",
    "action": "Sets Level for GRAIN MIX.",
    "short_label": "PART LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "614",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L614"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_2",
    "gesture": "turn",
    "action": "Sets Trans for GRAIN MIX.",
    "short_label": "PART TRANS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "624",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L624"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_1",
    "gesture": "turn",
    "action": "Sets FREQ for P5 OSC A.",
    "short_label": "OSC A FREQ",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "223",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L223"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_2",
    "gesture": "turn",
    "action": "Sets SYNC for P5 OSC A+.",
    "short_label": "OSC A SYNC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "233",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L233"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_1",
    "gesture": "turn",
    "action": "Sets FREQ for P5 OSC B.",
    "short_label": "OSC B FREQ",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "256",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L256"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_2",
    "gesture": "turn",
    "action": "Sets FINE for P5 OSC B.",
    "short_label": "OSC B FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "266",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L266"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_1_1",
    "gesture": "turn",
    "action": "Sets CUTOFF for P5 FILTER.",
    "short_label": "P5 FILT CUT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "296",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L296"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_2_1",
    "gesture": "turn",
    "action": "Sets ATTACK for P5 ENV 2.",
    "short_label": "P5 FILT ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "319",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L319"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_3_1",
    "gesture": "turn",
    "action": "Sets VELOC for P5 ENV 2+.",
    "short_label": "P5 FILT VEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "342",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L342"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_1_1",
    "gesture": "turn",
    "action": "Sets ATTACK for P5 ENV 1.",
    "short_label": "P5 ENV ATK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "372",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L372"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_2_1",
    "gesture": "turn",
    "action": "Sets VELOC for P5 ENV 1+.",
    "short_label": "P5 ENV VEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "395",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L395"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_1",
    "gesture": "turn",
    "action": "Sets FREQ for P5 LFO.",
    "short_label": "P5 LFO RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "425",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L425"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_2",
    "gesture": "turn",
    "action": "Sets INIT AMT for P5 LFO.",
    "short_label": "P5 AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "435",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L435"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_1",
    "gesture": "turn",
    "action": "Sets SRC MIX for P5 LFO.",
    "short_label": "P5 LFO NOISE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_2",
    "gesture": "turn",
    "action": "Sets PW B for P5 WHEEL.",
    "short_label": "P5 LFO PW B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_1",
    "gesture": "turn",
    "action": "Sets FILT ENV for P5 POLYMOD.",
    "short_label": "P5 MOD ENV",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "498",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L498"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_2",
    "gesture": "turn",
    "action": "Sets FILTER for P5 POLYMOD+.",
    "short_label": "P5 FILTER",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "508",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L508"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_1",
    "gesture": "turn",
    "action": "Sets UNISON for P5 VOICE.",
    "short_label": "P5 UNISON",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "531",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L531"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_2",
    "gesture": "turn",
    "action": "Sets PRIORITY for P5 VOICE+.",
    "short_label": "P5 MOD PRIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "541",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L541"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "563",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L563"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "573",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L573"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s drive amount.",
    "short_label": "DRIVE SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "601",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L601"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_1",
    "gesture": "turn",
    "action": "Sets Level for P5 MIX.",
    "short_label": "PART LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "629",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L629"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_2",
    "gesture": "turn",
    "action": "Sets Trans for P5 MIX.",
    "short_label": "PART TRANS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "639",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L639"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "calibration",
    "gesture": "turn_cw",
    "action": "When prompted for this encoder, teaches its identity and clockwise direction.",
    "short_label": "TEACH TURN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5429-5453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5429-L5453"
     }
    ]
   },
   {
    "mode": "option_chord_keys",
    "gesture": "turn",
    "short_label": "CHORD KEYS",
    "action": "Chooses Classic, the default for fresh settings, records written by 0.23 or the pre-layout betas, and Reset Settings, or FM-1, releasing held keys when changed while keeping the LOCK latch and moving its lights.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1198",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1198"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4728-4743",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4728-L4743"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "72-91",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L72-L91"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "126-132",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L126-L132"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "276-291",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L276-L291"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.h",
      "lines": "120-128",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L120-L128"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "1111-1114",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1111-L1114"
     }
    ]
   },
   {
    "mode": "option_sus_window",
    "gesture": "turn",
    "short_label": "SUS WINDOW",
    "action": "Sets the FM-1 type-key combination window from 30 to 80 ms in 5 ms steps, starting at 30 ms; Classic hides this row.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1198",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1198"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1090-1096",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1090-L1096"
     }
    ]
   },
   {
    "mode": "option_full_k_shorts",
    "gesture": "turn",
    "short_label": "FULL SHORTS",
    "action": "Enables F#5/G5 switches while Keyboard is Full, with Off as the default.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1198",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1198"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4782-4788",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4782-L4788"
     }
    ]
   },
   {
    "mode": "option_midi_keys",
    "gesture": "turn",
    "short_label": "MIDI KEYS",
    "action": "Chooses Off or a key-control channel from 1 to 16, skipping MIDI Perform and MIDI Bass channels.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1180-1198",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1180-L1198"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4791-4826",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4791-L4826"
     }
    ]
   }
  ],
  "encoder_knob2": [
   {
    "mode": "home",
    "gesture": "turn",
    "action": "Moves the bass register by octaves.",
    "short_label": "BASS OCTAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5298-5302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5298-L5302"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "turn",
    "action": "Moves the bass register by octaves.",
    "short_label": "BASS OCTAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5298-5302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5298-L5302"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn_while_holding:button_glo",
    "action": "Keeps its current job with snapped values where supported, except the explicit loop-editor shortcuts.",
    "short_label": "SNAP VALUE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5088",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5088"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "984-993",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L984-L993"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5111-5133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5111-L5133"
     }
    ]
   },
   {
    "mode": "key_1",
    "gesture": "turn",
    "action": "Chooses Major counterclockwise or Minor clockwise.",
    "short_label": "SCALE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3912-3926",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3912-L3926"
     }
    ]
   },
   {
    "mode": "key_2",
    "gesture": "turn",
    "action": "Chooses Chords counterclockwise or Full clockwise, resetting the Full shortcuts to chord keys hidden and the G5 chord switch on only for enabled Key Mode Chords.",
    "short_label": "KEYBOARD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3881-3909",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3881-L3909"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3881-3891",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3881-L3891"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1547-1553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1547-L1553"
     }
    ]
   },
   {
    "mode": "perf_strum",
    "gesture": "turn",
    "action": "Chooses strum direction.",
    "short_label": "STRUM DIR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_slop",
    "gesture": "turn",
    "action": "Sets Slop rate.",
    "short_label": "SLOP RATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_arp",
    "gesture": "turn",
    "action": "Chooses arpeggio direction.",
    "short_label": "ARP DIR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_pattern",
    "gesture": "turn",
    "action": "Chooses the pattern tempo division.",
    "short_label": "PATTERN DIV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_harp",
    "gesture": "turn",
    "action": "Chooses harp direction.",
    "short_label": "HARP DIR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "fx_sends",
    "gesture": "turn",
    "action": "Sets the chord chorus send.",
    "short_label": "CHORD CHORUS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_reverb_1",
    "gesture": "turn",
    "action": "Sets reverb damping.",
    "short_label": "REV DAMP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_reverb_2",
    "gesture": "turn",
    "action": "Sets reverb modulation.",
    "short_label": "REV MOD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_chorus",
    "gesture": "turn",
    "action": "Sets chorus depth.",
    "short_label": "CHORUS DEPTH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_delay_1",
    "gesture": "turn",
    "action": "Sets delay spread.",
    "short_label": "DELAY SPREAD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_delay_2",
    "gesture": "turn",
    "action": "Chooses the delay mode.",
    "short_label": "DELAY MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_drive",
    "gesture": "turn",
    "action": "Does nothing on this page.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_filter",
    "gesture": "turn",
    "action": "Sets the master high cut, enabling the filter and FX when changed.",
    "short_label": "HIGH CUT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "turn",
    "action": "Moves the bass register by octaves.",
    "short_label": "BASS OCTAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4002-4024",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4002-L4024"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "turn",
    "action": "Loads this engine’s initial sound for preview.",
    "short_label": "INIT SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4026-4050",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4026-L4050"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "turn",
    "action": "Does nothing in the metronome layer.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4088-4097",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4088-L4097"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "turn",
    "action": "Chooses extension keys that toggle or replace their set when pushed.",
    "short_label": "EXT KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3928-3941",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3928-L3941"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "turn",
    "action": "Does nothing in the View menu.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3947",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3947"
     }
    ]
   },
   {
    "mode": "loop_1",
    "gesture": "turn",
    "action": "Chooses loop rate from x1/16 through x4, applying playing changes at the loop start.",
    "short_label": "LOOP RATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4064-4087",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4064-L4087"
     }
    ]
   },
   {
    "mode": "loop_2",
    "gesture": "turn",
    "action": "Switches the metronome off or on.",
    "short_label": "METRONOME ON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4052-4064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4052-L4064"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn",
    "action": "Sets loop length in sixteenth-note steps.",
    "short_label": "LOOP STEPS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2655-2755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2655-L2755"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn",
    "action": "Chooses the step’s cycle condition.",
    "short_label": "STEP COND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2655-2755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2655-L2755"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn_while_holding:button_glo",
    "action": "Snaps length to 8, 16, 32, 48 or 64 steps in 4/4, or 12, 24, 36 or 48 in 3/4 and 6/8.",
    "short_label": "STEP PRESETS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2590-2616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2590-L2616"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "turn",
    "action": "Switches favorites filtering off counterclockwise or on clockwise.",
    "short_label": "FAV FILTER",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5253-5287",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5253-L5287"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "turn",
    "action": "Does nothing while naming.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5081"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "turn",
    "action": "Does nothing while the delete or reset question is open.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5263-5267",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5263-L5267"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5080",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5080"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5262-5264",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5262-L5264"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_glo",
    "action": "Changes the active value in snapped steps, selecting the slower component of an FM TONE ratio pair.",
    "short_label": "SNAP VALUE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1310-1316",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1310-L1316"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_env",
    "action": "Adds or adjusts the last selected envelope’s route to the active parameter when matrix mapping is supported.",
    "short_label": "MAP ENV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1111-1172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1111-L1172"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_lfo",
    "action": "Adds or adjusts the last selected LFO’s route to the active parameter when matrix mapping is supported.",
    "short_label": "MAP LFO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1111-1172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1111-L1172"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_oct_down",
    "action": "Clears all matrix routes into the active parameter when supported.",
    "short_label": "CLEAR MOD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1175-1208",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1175-L1208"
     }
    ]
   },
   {
    "mode": "edit_va_osc_1_1",
    "gesture": "turn",
    "action": "Sets Level for VA OSC 1.",
    "short_label": "OSC1 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "352",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L352"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_2",
    "gesture": "turn",
    "action": "Sets Level for VA OSC 2.",
    "short_label": "OSC2 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "362",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L362"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_3",
    "gesture": "turn",
    "action": "Sets Level for VA OSC 3.",
    "short_label": "OSC3 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "372",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L372"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_4",
    "gesture": "turn",
    "action": "Sets Level for VA OSC 4.",
    "short_label": "OSC4 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "382",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L382"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_1",
    "gesture": "turn",
    "action": "Sets oscillator 1 shape, morph position, Brown noise color or Vinyl noise density according to its mode.",
    "short_label": "VA1 SHAPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "404",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L404"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "559-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L559-L587"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_2",
    "gesture": "turn",
    "action": "Sets oscillator 2 shape, morph position, Brown noise color or Vinyl noise density according to its mode.",
    "short_label": "VA2 SHAPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "414",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L414"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "559-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L559-L587"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_3",
    "gesture": "turn",
    "action": "Sets oscillator 3 shape, morph position, Brown noise color or Vinyl noise density according to its mode.",
    "short_label": "VA3 SHAPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "424",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L424"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "559-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L559-L587"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_4",
    "gesture": "turn",
    "action": "Sets oscillator 4 shape, morph position, Brown noise color or Vinyl noise density according to its mode.",
    "short_label": "VA4 SHAPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "559-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L559-L587"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_3_1",
    "gesture": "turn",
    "action": "Sets Level for VA OSC 2.",
    "short_label": "VA OSC LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "455",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L455"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_1",
    "gesture": "turn",
    "action": "Sets Reso for VA FILTER.",
    "short_label": "VA FILT RES",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "483",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L483"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "493",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L493"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_1",
    "gesture": "turn",
    "action": "Sets Decay for VA ENV 1.",
    "short_label": "ENV1 DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "521",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L521"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_2",
    "gesture": "turn",
    "action": "Sets Velocity for VA ENV 1+.",
    "short_label": "ENV1 VEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "531",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L531"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_1",
    "gesture": "turn",
    "action": "Sets Decay for VA ENV 2.",
    "short_label": "ENV2 DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "552",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L552"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "562",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L562"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_1",
    "gesture": "turn",
    "action": "Sets Decay for VA ENV 3.",
    "short_label": "ENV3 DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "583",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L583"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "593",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L593"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_1",
    "gesture": "turn",
    "action": "Sets Decay for VA ENV 4.",
    "short_label": "ENV4 DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "614",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L614"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "624",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L624"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Wave for VA LFO 1.",
    "short_label": "LFO1 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "653",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L653"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Wave for VA LFO 2.",
    "short_label": "LFO2 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "663",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L663"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_3",
    "gesture": "turn",
    "action": "Sets Wave for VA LFO 3.",
    "short_label": "LFO3 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "673",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L673"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_4",
    "gesture": "turn",
    "action": "Sets Wave for VA LFO 4.",
    "short_label": "LFO4 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "683",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L683"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "705",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L705"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "715",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L715"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "725",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L725"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_3_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "756",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L756"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_1",
    "gesture": "turn",
    "action": "Sets Dest for VA MOD 1.",
    "short_label": "MOD1 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "785",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L785"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_2",
    "gesture": "turn",
    "action": "Sets Dest for VA MOD 2.",
    "short_label": "MOD2 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "795",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L795"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_3",
    "gesture": "turn",
    "action": "Sets Dest for VA MOD 3.",
    "short_label": "MOD3 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "805",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L805"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_4",
    "gesture": "turn",
    "action": "Sets Dest for VA MOD 4.",
    "short_label": "MOD4 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "815",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L815"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_5",
    "gesture": "turn",
    "action": "Sets Dest for VA MOD 5.",
    "short_label": "MOD5 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "825",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L825"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_6",
    "gesture": "turn",
    "action": "Sets Dest for VA MOD 6.",
    "short_label": "MOD6 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "835",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L835"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_7",
    "gesture": "turn",
    "action": "Sets Dest for VA MOD 7.",
    "short_label": "MOD7 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "845",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L845"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_8",
    "gesture": "turn",
    "action": "Sets Dest for VA MOD 8.",
    "short_label": "MOD8 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "855",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L855"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s destination, creating the default route first if unset.",
    "short_label": "VEL DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "877",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L877"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s destination, creating the default route first if unset.",
    "short_label": "AT DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "887",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L887"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s chorus send.",
    "short_label": "CHORUS SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "915",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L915"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_1",
    "gesture": "turn",
    "action": "Sets Pan for VA MIX.",
    "short_label": "PART PAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "943",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L943"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_2",
    "gesture": "turn",
    "action": "Sets Detune for VA MIX.",
    "short_label": "PART DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "953",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L953"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_1",
    "gesture": "turn",
    "action": "Sets Coarse for FM6 OP 1.",
    "short_label": "OP1 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "422",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L422"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_2",
    "gesture": "turn",
    "action": "Sets Coarse for FM6 OP 2.",
    "short_label": "OP2 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "432",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L432"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_3",
    "gesture": "turn",
    "action": "Sets Coarse for FM6 OP 3.",
    "short_label": "OP3 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "442",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L442"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_4",
    "gesture": "turn",
    "action": "Sets Coarse for FM6 OP 4.",
    "short_label": "OP4 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "452",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L452"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_5",
    "gesture": "turn",
    "action": "Sets Coarse for FM6 OP 5.",
    "short_label": "OP5 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "462",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L462"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_6",
    "gesture": "turn",
    "action": "Sets Coarse for FM6 OP 6.",
    "short_label": "OP6 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "472",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L472"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_1",
    "gesture": "turn",
    "action": "Sets Vel sens for FM6 OP 1+.",
    "short_label": "OP1 VSENS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "494",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L494"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_2",
    "gesture": "turn",
    "action": "Sets Vel sens for FM6 OP 2+.",
    "short_label": "OP2 VSENS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "504",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L504"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_3",
    "gesture": "turn",
    "action": "Sets Vel sens for FM6 OP 3+.",
    "short_label": "OP3 VSENS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "514",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L514"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_4",
    "gesture": "turn",
    "action": "Sets Vel sens for FM6 OP 4+.",
    "short_label": "OP4 VSENS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "524",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L524"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_5",
    "gesture": "turn",
    "action": "Sets Vel sens for FM6 OP 5+.",
    "short_label": "OP5 VSENS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "534",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L534"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_6",
    "gesture": "turn",
    "action": "Sets Vel sens for FM6 OP 6+.",
    "short_label": "OP6 VSENS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "544",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L544"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_1",
    "gesture": "turn",
    "action": "Sets L depth for FM6 SCALE 1.",
    "short_label": "OP1 LDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "566",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L566"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_2",
    "gesture": "turn",
    "action": "Sets L depth for FM6 SCALE 2.",
    "short_label": "OP2 LDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "576",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L576"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_3",
    "gesture": "turn",
    "action": "Sets L depth for FM6 SCALE 3.",
    "short_label": "OP3 LDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "586",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L586"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_4",
    "gesture": "turn",
    "action": "Sets L depth for FM6 SCALE 4.",
    "short_label": "OP4 LDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "596",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L596"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_5",
    "gesture": "turn",
    "action": "Sets L depth for FM6 SCALE 5.",
    "short_label": "OP5 LDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "606",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L606"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_6",
    "gesture": "turn",
    "action": "Sets L depth for FM6 SCALE 6.",
    "short_label": "OP6 LDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_filt_1_1",
    "gesture": "turn",
    "action": "Sets Feedback for FM6 ALGO.",
    "short_label": "FM6 FILT FB",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "644",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L644"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for FM6 ENV 1.",
    "short_label": "ENV1 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "672",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L672"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_2",
    "gesture": "turn",
    "action": "Sets Level 2 for FM6 ENV 1+.",
    "short_label": "ENV1 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "682",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L682"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for FM6 ENV 2.",
    "short_label": "ENV2 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "703",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L703"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_2",
    "gesture": "turn",
    "action": "Sets Level 2 for FM6 ENV 2+.",
    "short_label": "ENV2 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "713",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L713"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for FM6 ENV 3.",
    "short_label": "ENV3 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "734",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L734"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_2",
    "gesture": "turn",
    "action": "Sets Level 2 for FM6 ENV 3+.",
    "short_label": "ENV3 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "744",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L744"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for FM6 ENV 4.",
    "short_label": "ENV4 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "765",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L765"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_2",
    "gesture": "turn",
    "action": "Sets Level 2 for FM6 ENV 4+.",
    "short_label": "ENV4 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "775",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L775"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for FM6 ENV 5.",
    "short_label": "ENV5 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "796",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L796"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_2",
    "gesture": "turn",
    "action": "Sets Level 2 for FM6 ENV 5+.",
    "short_label": "ENV5 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "806",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L806"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for FM6 ENV 6.",
    "short_label": "ENV6 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "827",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L827"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_2",
    "gesture": "turn",
    "action": "Sets Level 2 for FM6 ENV 6+.",
    "short_label": "ENV6 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "837",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L837"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for FM6 PITCH EG.",
    "short_label": "PITCH EG R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "858",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L858"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_2",
    "gesture": "turn",
    "action": "Sets Level 2 for FM6 PITCH EG+.",
    "short_label": "PITCH EG L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "868",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L868"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Delay for FM6 LFO.",
    "short_label": "FM6 DELAY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "896",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L896"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Sync for FM6 LFO+.",
    "short_label": "FM6 LFO SYNC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "906",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L906"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_1",
    "gesture": "turn",
    "action": "Sets Porta for FM6 FUNC.",
    "short_label": "FM6 PORTA",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "934",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L934"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_2",
    "gesture": "turn",
    "action": "Sets Porta md for FM6 FUNC+.",
    "short_label": "FM6 PMODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "944",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L944"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_1",
    "gesture": "turn",
    "action": "Sets W.dst for FM6 CTRL.",
    "short_label": "FM6 W.DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "965",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L965"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_2",
    "gesture": "turn",
    "action": "Sets B.dst for FM6 CTRL+.",
    "short_label": "FM6 B.DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "975",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L975"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s destination, creating the default route first if unset.",
    "short_label": "VEL DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s destination, creating the default route first if unset.",
    "short_label": "AT DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1007",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1007"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s chorus send.",
    "short_label": "CHORUS SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1035",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1035"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_1",
    "gesture": "turn",
    "action": "Sets Pan for FM6 MIX.",
    "short_label": "PART PAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1063",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1063"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_2",
    "gesture": "turn",
    "action": "Sets Detune for FM6 MIX.",
    "short_label": "PART DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1073",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1073"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_1",
    "gesture": "turn",
    "action": "Sets Wave2 for CZ-1 LINE 1.",
    "short_label": "LINE1 WAVE2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "402",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L402"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_2",
    "gesture": "turn",
    "action": "Sets Wave2 for CZ-1 LINE 2.",
    "short_label": "LINE2 WAVE2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_2_1",
    "gesture": "turn",
    "action": "Sets Oct for CZ-1 DETUNE.",
    "short_label": "CZ OSC OCT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "433",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L433"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_3_1",
    "gesture": "turn",
    "action": "Sets Level for CZ-1 LINE 2.",
    "short_label": "CZ OSC LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "454",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L454"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_1",
    "gesture": "turn",
    "action": "Sets DCW key 2 for CZ-1 DCW.",
    "short_label": "CZ W.KEY2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "482",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L482"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_2",
    "gesture": "turn",
    "action": "Sets DCA key 2 for CZ-1 DCW+.",
    "short_label": "CZ A.KEY2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "492",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L492"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for CZ-1 PITCH 1.",
    "short_label": "PITCH1 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "520",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L520"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_2",
    "gesture": "turn",
    "action": "Sets Level 2 for CZ-1 PITCH 1+.",
    "short_label": "PITCH1 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "530",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L530"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_1",
    "gesture": "turn",
    "action": "Sets Rate 6 for CZ-1 PITCH 1 B.",
    "short_label": "PITCH1 R6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "551",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L551"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_2",
    "gesture": "turn",
    "action": "Sets Level 6 for CZ-1 PITCH 1 B+.",
    "short_label": "PITCH1 L6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "561",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L561"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_3_1",
    "gesture": "turn",
    "action": "Sets End for CZ-1 PITCH 1 S.",
    "short_label": "PITCH1 END",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "582",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L582"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for CZ-1 DCW 1.",
    "short_label": "DCW1 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "603",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L603"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_2",
    "gesture": "turn",
    "action": "Sets Level 2 for CZ-1 DCW 1+.",
    "short_label": "DCW1 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "613",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L613"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_1",
    "gesture": "turn",
    "action": "Sets Rate 6 for CZ-1 DCW 1 B.",
    "short_label": "DCW1 R6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "634",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L634"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_2",
    "gesture": "turn",
    "action": "Sets Level 6 for CZ-1 DCW 1 B+.",
    "short_label": "DCW1 L6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "644",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L644"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_6_1",
    "gesture": "turn",
    "action": "Sets End for CZ-1 DCW 1 S.",
    "short_label": "DCW1 END",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for CZ-1 DCA 1.",
    "short_label": "DCA1 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "686",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L686"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_2",
    "gesture": "turn",
    "action": "Sets Level 2 for CZ-1 DCA 1+.",
    "short_label": "DCA1 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "696",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L696"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_1",
    "gesture": "turn",
    "action": "Sets Rate 6 for CZ-1 DCA 1 B.",
    "short_label": "DCA1 R6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "717",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L717"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_2",
    "gesture": "turn",
    "action": "Sets Level 6 for CZ-1 DCA 1 B+.",
    "short_label": "DCA1 L6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "727",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L727"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_9_1",
    "gesture": "turn",
    "action": "Sets End for CZ-1 DCA 1 S.",
    "short_label": "DCA1 END",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "748",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L748"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for CZ-1 PITCH 2.",
    "short_label": "PITCH2 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "769",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L769"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_2",
    "gesture": "turn",
    "action": "Sets Level 2 for CZ-1 PITCH 2+.",
    "short_label": "PITCH2 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "779",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L779"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_1",
    "gesture": "turn",
    "action": "Sets Rate 6 for CZ-1 PITCH 2 B.",
    "short_label": "PITCH2 R6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "800",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L800"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_2",
    "gesture": "turn",
    "action": "Sets Level 6 for CZ-1 PITCH 2 B+.",
    "short_label": "PITCH2 L6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "810",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L810"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_12_1",
    "gesture": "turn",
    "action": "Sets End for CZ-1 PITCH 2 S.",
    "short_label": "PITCH2 END",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "831",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L831"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for CZ-1 DCW 2.",
    "short_label": "DCW2 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "852",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L852"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_2",
    "gesture": "turn",
    "action": "Sets Level 2 for CZ-1 DCW 2+.",
    "short_label": "DCW2 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "862",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L862"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_1",
    "gesture": "turn",
    "action": "Sets Rate 6 for CZ-1 DCW 2 B.",
    "short_label": "DCW2 R6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "883",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L883"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_2",
    "gesture": "turn",
    "action": "Sets Level 6 for CZ-1 DCW 2 B+.",
    "short_label": "DCW2 L6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "893",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L893"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_15_1",
    "gesture": "turn",
    "action": "Sets End for CZ-1 DCW 2 S.",
    "short_label": "DCW2 END",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "914",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L914"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_1",
    "gesture": "turn",
    "action": "Sets Rate 2 for CZ-1 DCA 2.",
    "short_label": "DCA2 R2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "935",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L935"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_2",
    "gesture": "turn",
    "action": "Sets Level 2 for CZ-1 DCA 2+.",
    "short_label": "DCA2 L2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L945"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_1",
    "gesture": "turn",
    "action": "Sets Rate 6 for CZ-1 DCA 2 B.",
    "short_label": "DCA2 R6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "966",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L966"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_2",
    "gesture": "turn",
    "action": "Sets Level 6 for CZ-1 DCA 2 B+.",
    "short_label": "DCA2 L6",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "976",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L976"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_18_1",
    "gesture": "turn",
    "action": "Sets End for CZ-1 DCA 2 S.",
    "short_label": "DCA2 END",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "997",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L997"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Delay for CZ-1 VIB.",
    "short_label": "CZ LFO DELAY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1025",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1025"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_1_1",
    "gesture": "turn",
    "action": "Sets Mod for CZ-1 TONE.",
    "short_label": "CZ MOD MOD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1053",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1053"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s destination, creating the default route first if unset.",
    "short_label": "VEL DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1075",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1075"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s destination, creating the default route first if unset.",
    "short_label": "AT DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1085",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1085"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s chorus send.",
    "short_label": "CHORUS SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1113",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1113"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_1",
    "gesture": "turn",
    "action": "Sets Pan for CZ-1 MIX.",
    "short_label": "PART PAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1141",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1141"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_2",
    "gesture": "turn",
    "action": "Sets Detune for CZ-1 MIX.",
    "short_label": "PART DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1151",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1151"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_1",
    "gesture": "turn",
    "action": "Sets Ratio C for FM TONE SYN 1.",
    "short_label": "SYN1 RATIO C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "233",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L233"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_2",
    "gesture": "turn",
    "action": "Sets Dtune for FM TONE SYN 1+.",
    "short_label": "SYN1+ DTUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "243",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L243"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_2_1",
    "gesture": "turn",
    "action": "Sets Offset A for FM TONE SYN 2.",
    "short_label": "SYN2 OFS A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "266",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L266"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_1",
    "gesture": "turn",
    "action": "Sets Decay for FM TONE FILTER.",
    "short_label": "FM TONE DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "296",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L296"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_2",
    "gesture": "turn",
    "action": "Sets Reso for FM TONE FILTER+.",
    "short_label": "FM TONE RESO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "306",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L306"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_1",
    "gesture": "turn",
    "action": "Sets Key track for FM TONE FILT 2.",
    "short_label": "FM TONE KTRK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "329",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L329"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_2",
    "gesture": "turn",
    "action": "Sets Width for FM TONE FILT 2+.",
    "short_label": "FILT2+ WIDTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "339",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L339"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_1",
    "gesture": "turn",
    "action": "Sets A Decay for FM TONE ENV A.",
    "short_label": "ENVA A DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L369"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_2",
    "gesture": "turn",
    "action": "Sets B Decay for FM TONE ENV B.",
    "short_label": "ENVB B DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "379",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L379"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_1",
    "gesture": "turn",
    "action": "Sets A Trig for FM TONE ENV 2.",
    "short_label": "ENV2 A TRIG",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "402",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L402"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_2",
    "gesture": "turn",
    "action": "Sets B Trig for FM TONE ENV 2+.",
    "short_label": "ENV2+ B TRIG",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "412",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L412"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_3_1",
    "gesture": "turn",
    "action": "Sets B1 Key for FM TONE ENV 3.",
    "short_label": "ENV3 B1 KEY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "435",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L435"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_1",
    "gesture": "turn",
    "action": "Sets Decay for FM TONE AMP.",
    "short_label": "AMP DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_2",
    "gesture": "turn",
    "action": "Sets Pan for FM TONE AMP+.",
    "short_label": "AMP PAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Mult for FM TONE LFO 1.",
    "short_label": "LFO1 MULT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "498",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L498"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Phase for FM TONE LFO 1+.",
    "short_label": "LFO1+ PHASE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "508",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L508"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_1",
    "gesture": "turn",
    "action": "Sets Mult for FM TONE LFO 2.",
    "short_label": "LFO2 MULT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "531",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L531"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_2",
    "gesture": "turn",
    "action": "Sets Phase for FM TONE LFO 2+.",
    "short_label": "LFO2+ PHASE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "541",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L541"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_1",
    "gesture": "turn",
    "action": "Sets Mult for FM TONE LFO 3.",
    "short_label": "LFO3 MULT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "564",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L564"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_2",
    "gesture": "turn",
    "action": "Sets Phase for FM TONE LFO 3+.",
    "short_label": "LFO3+ PHASE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "574",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L574"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "603",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L603"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "613",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L613"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "623",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L623"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "633",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L633"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s destination, creating the default route first if unset.",
    "short_label": "VEL DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "655",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L655"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s destination, creating the default route first if unset.",
    "short_label": "AT DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s chorus send.",
    "short_label": "CHORUS SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "693",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L693"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_1",
    "gesture": "turn",
    "action": "Sets Pan for FM TONE MIX.",
    "short_label": "PART PAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "721",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L721"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_2",
    "gesture": "turn",
    "action": "Sets Detune for FM TONE MIX.",
    "short_label": "PART DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "731",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L731"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_osc_1_1",
    "gesture": "turn",
    "action": "Sets Sub for WHEEL BARS.",
    "short_label": "WHEEL SUB",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "30",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L30"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_filt_1_1",
    "gesture": "turn",
    "action": "Sets Click for WHEEL TONE.",
    "short_label": "WHEEL CLICK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "58",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L58"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_env_1_1",
    "gesture": "turn",
    "action": "Sets Decay for WHEEL ENV.",
    "short_label": "WHEEL DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "86",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L86"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Wave for WHEEL LFO.",
    "short_label": "WHEEL WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "114",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L114"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L143"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "153",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L153"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "163",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L163"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "173",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L173"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s destination, creating the default route first if unset.",
    "short_label": "VEL DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "195",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L195"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s destination, creating the default route first if unset.",
    "short_label": "AT DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "205",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L205"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s chorus send.",
    "short_label": "CHORUS SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "233",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L233"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_1",
    "gesture": "turn",
    "action": "Sets Pan for WHEEL MIX.",
    "short_label": "PART PAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "261",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L261"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_2",
    "gesture": "turn",
    "action": "Sets Detune for WHEEL MIX.",
    "short_label": "PART DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L271"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_1",
    "gesture": "turn",
    "action": "Sets Tone for GRAIN SRC 1.",
    "short_label": "SRC A TONE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "223",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L223"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_2",
    "gesture": "turn",
    "action": "Sets Tone for GRAIN SRC 2.",
    "short_label": "SRC B TONE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "233",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L233"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_1",
    "gesture": "turn",
    "action": "Sets Dens for GRAIN GRAIN.",
    "short_label": "GRAIN DENS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "256",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L256"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_2",
    "gesture": "turn",
    "action": "Sets Rand for GRAIN GRAIN+.",
    "short_label": "GRAIN RAND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "266",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L266"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_1",
    "gesture": "turn",
    "action": "Sets Reso for GRAIN FILTER.",
    "short_label": "GRAIN RES",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "294",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L294"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "304",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L304"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_1_1",
    "gesture": "turn",
    "action": "Sets Decay for GRAIN ENV 1.",
    "short_label": "ENV1 DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "334",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L334"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_2_1",
    "gesture": "turn",
    "action": "Sets Decay for GRAIN ENV 2.",
    "short_label": "ENV2 DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "357",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L357"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Wave for GRAIN LFO 1.",
    "short_label": "LFO1 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "386",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L386"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Wave for GRAIN LFO 2.",
    "short_label": "LFO2 WAVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "396",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L396"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "418",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L418"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "428",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L428"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_1",
    "gesture": "turn",
    "action": "Sets Dest for GRAIN MOD 1.",
    "short_label": "MOD1 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "457",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L457"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_2",
    "gesture": "turn",
    "action": "Sets Dest for GRAIN MOD 2.",
    "short_label": "MOD2 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "467",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L467"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_3",
    "gesture": "turn",
    "action": "Sets Dest for GRAIN MOD 3.",
    "short_label": "MOD3 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "477",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L477"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_4",
    "gesture": "turn",
    "action": "Sets Dest for GRAIN MOD 4.",
    "short_label": "MOD4 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "487",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L487"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_5",
    "gesture": "turn",
    "action": "Sets Dest for GRAIN MOD 5.",
    "short_label": "MOD5 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "497",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L497"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_6",
    "gesture": "turn",
    "action": "Sets Dest for GRAIN MOD 6.",
    "short_label": "MOD6 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "507",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L507"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_7",
    "gesture": "turn",
    "action": "Sets Dest for GRAIN MOD 7.",
    "short_label": "MOD7 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "517",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L517"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_8",
    "gesture": "turn",
    "action": "Sets Dest for GRAIN MOD 8.",
    "short_label": "MOD8 DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "527",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L527"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s destination, creating the default route first if unset.",
    "short_label": "VEL DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "549",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L549"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s destination, creating the default route first if unset.",
    "short_label": "AT DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "559",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L559"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s chorus send.",
    "short_label": "CHORUS SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L587"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_1",
    "gesture": "turn",
    "action": "Sets Pan for GRAIN MIX.",
    "short_label": "PART PAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "615",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L615"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_2",
    "gesture": "turn",
    "action": "Sets Detune for GRAIN MIX.",
    "short_label": "PART DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "625",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L625"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_1",
    "gesture": "turn",
    "action": "Sets SAW for P5 OSC A.",
    "short_label": "OSC A SAW",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "224",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L224"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_2",
    "gesture": "turn",
    "action": "Sets MIX A for P5 MIXER.",
    "short_label": "P5 OSC MIX A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L234"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_1",
    "gesture": "turn",
    "action": "Sets SAW for P5 OSC B.",
    "short_label": "OSC B SAW",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "257",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L257"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_2",
    "gesture": "turn",
    "action": "Sets P WIDTH for P5 OSC B+.",
    "short_label": "OSC B WIDTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "267",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L267"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_1_1",
    "gesture": "turn",
    "action": "Sets RES for P5 FILTER.",
    "short_label": "P5 FILT RES",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "297",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L297"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_2_1",
    "gesture": "turn",
    "action": "Sets DECAY for P5 ENV 2.",
    "short_label": "P5 FILT DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "320",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L320"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_3_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "343",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L343"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_1_1",
    "gesture": "turn",
    "action": "Sets DECAY for P5 ENV 1.",
    "short_label": "P5 ENV DEC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "373",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L373"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_2_1",
    "gesture": "turn",
    "action": "Sets REL SW for P5 ENV 1+.",
    "short_label": "P5 ENV RELSW",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "396",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L396"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_1",
    "gesture": "turn",
    "action": "Sets SAW for P5 LFO+.",
    "short_label": "P5 LFO SAW",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "426",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L426"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_2",
    "gesture": "turn",
    "action": "Sets AFTER for P5 LFO.",
    "short_label": "P5 LFO AFTER",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "436",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L436"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_1",
    "gesture": "turn",
    "action": "Sets FREQ A for P5 WHEEL.",
    "short_label": "P5 FREQ A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "459",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L459"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_2",
    "gesture": "turn",
    "action": "Sets FILTER for P5 WHEEL+.",
    "short_label": "P5 FILTER",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "469",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L469"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_1",
    "gesture": "turn",
    "action": "Sets OSC B for P5 POLYMOD.",
    "short_label": "P5 MOD OSC B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "509",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L509"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_1",
    "gesture": "turn",
    "action": "Sets VOICES for P5 VOICE.",
    "short_label": "P5 VOICES",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_2",
    "gesture": "turn",
    "action": "Sets VINTAGE for P5 VOICE+.",
    "short_label": "P5 VINTAGE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "542",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L542"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s destination, creating the default route first if unset.",
    "short_label": "VEL DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "564",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L564"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s destination, creating the default route first if unset.",
    "short_label": "AT DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "574",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L574"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s chorus send.",
    "short_label": "CHORUS SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "602",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L602"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_1",
    "gesture": "turn",
    "action": "Sets Pan for P5 MIX.",
    "short_label": "PART PAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "630",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L630"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_2",
    "gesture": "turn",
    "action": "Sets Detune for P5 MIX.",
    "short_label": "PART DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "640",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L640"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "calibration",
    "gesture": "turn_cw",
    "action": "When prompted for this encoder, teaches its identity and clockwise direction.",
    "short_label": "TEACH TURN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5429-5453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5429-L5453"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "turn",
    "action": "Sets bass register by octaves while Options is open.",
    "short_label": "BASS OCTAVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5298-5302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5298-L5302"
     }
    ]
   }
  ],
  "encoder_knob3": [
   {
    "mode": "home",
    "gesture": "turn",
    "action": "Changes Strum or Harp rate, Slop amount, Arp division or Pattern number for the selected performance mode.",
    "short_label": "PERFORM MAIN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5303-5305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5303-L5305"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "turn",
    "action": "Changes Strum or Harp rate, Slop amount, Arp division or Pattern number for the selected performance mode.",
    "short_label": "PERFORM MAIN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5303-5305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5303-L5305"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn_while_holding:button_glo",
    "action": "Keeps its current job with snapped values where supported, except the explicit loop-editor shortcuts.",
    "short_label": "SNAP VALUE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5088",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5088"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "984-993",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L984-L993"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5111-5133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5111-L5133"
     }
    ]
   },
   {
    "mode": "key_1",
    "gesture": "turn",
    "action": "Transposes future playing from -24 to +24 semitones.",
    "short_label": "TRANSPOSE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3912-3926",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3912-L3926"
     }
    ]
   },
   {
    "mode": "key_2",
    "gesture": "turn",
    "action": "Chooses snapping Off, Scale or Chord.",
    "short_label": "SNAP NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3881-3909",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3881-L3909"
     }
    ]
   },
   {
    "mode": "key_1",
    "gesture": "turn_while_holding:button_glo",
    "action": "Transposes in octaves within -24 to +24 semitones.",
    "short_label": "OCT TRANS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3918-3923",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3918-L3923"
     }
    ]
   },
   {
    "mode": "perf_strum",
    "gesture": "turn",
    "action": "Sets strum range from one to four octaves.",
    "short_label": "STRUM RANGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_slop",
    "gesture": "turn",
    "action": "Chooses Slop direction.",
    "short_label": "SLOP DIR",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_arp",
    "gesture": "turn",
    "action": "Sets arpeggio gate length.",
    "short_label": "ARP GATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_pattern",
    "gesture": "turn",
    "action": "Sets pattern gate length.",
    "short_label": "PATTERN GATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_harp",
    "gesture": "turn",
    "action": "Sets harp gate length.",
    "short_label": "HARP GATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "fx_sends",
    "gesture": "turn",
    "action": "Sets the chord delay send.",
    "short_label": "CHORD DELAY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_reverb_1",
    "gesture": "turn",
    "action": "Sets reverb decay.",
    "short_label": "REV DECAY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_reverb_2",
    "gesture": "turn",
    "action": "Sets the reverb low cut.",
    "short_label": "REV LOW CUT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_chorus",
    "gesture": "turn",
    "action": "Sets chorus stereo width.",
    "short_label": "CHORUS WIDTH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_delay_1",
    "gesture": "turn",
    "action": "Sets delay feedback.",
    "short_label": "DELAY FEED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_delay_2",
    "gesture": "turn",
    "action": "Sets delay tone.",
    "short_label": "DELAY TONE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_drive",
    "gesture": "turn",
    "action": "Does nothing on this page.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_filter",
    "gesture": "turn",
    "action": "Chooses a 6 or 12 dB per octave filter slope.",
    "short_label": "CUT SLOPE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "turn",
    "action": "Chooses bass off or another sound without wrapping.",
    "short_label": "BASS SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4002-4024",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4002-L4024"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "turn",
    "action": "Does nothing in the sound browser.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4026-4050",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4026-L4050"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "turn",
    "action": "Does nothing in the metronome layer.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4088-4097",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4088-L4097"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "turn",
    "action": "Does nothing in the LOCK layer.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3928-3941",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3928-L3941"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "turn",
    "action": "Does nothing in the View menu.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3947",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3947"
     }
    ]
   },
   {
    "mode": "loop_1",
    "gesture": "turn",
    "action": "Chooses recording quantization except Step mode, which stays at sixteenths.",
    "short_label": "QUANTIZE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4064-4087",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4064-L4087"
     }
    ]
   },
   {
    "mode": "loop_2",
    "gesture": "turn",
    "action": "Does nothing on PLAY page 2.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4052-4064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4052-L4064"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn",
    "action": "Sets the selected step’s playback chance.",
    "short_label": "STEP CHANCE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2655-2755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2655-L2755"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn",
    "action": "Sets the selected step’s voicing.",
    "short_label": "STEP VOICING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2655-2755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2655-L2755"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn_while_holding:button_glo",
    "action": "Snaps step voicing between Follow and zero rotation.",
    "short_label": "VOICING SNAP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5122-5126",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5122-L5126"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "turn",
    "action": "Chooses Both, Chord or Bass for this sound’s favorite type.",
    "short_label": "FAV TYPE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5253-5287",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5253-L5287"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "turn",
    "action": "Does nothing while naming.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5081"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "turn",
    "action": "Does nothing while the delete or reset question is open.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5263-5267",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5263-L5267"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5080",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5080"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5262-5264",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5262-L5264"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_glo",
    "action": "Changes the active value in snapped steps, selecting the slower component of an FM TONE ratio pair.",
    "short_label": "SNAP VALUE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1310-1316",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1310-L1316"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_env",
    "action": "Adds or adjusts the last selected envelope’s route to the active parameter when matrix mapping is supported.",
    "short_label": "MAP ENV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1111-1172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1111-L1172"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_lfo",
    "action": "Adds or adjusts the last selected LFO’s route to the active parameter when matrix mapping is supported.",
    "short_label": "MAP LFO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1111-1172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1111-L1172"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_oct_down",
    "action": "Clears all matrix routes into the active parameter when supported.",
    "short_label": "CLEAR MOD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1175-1208",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1175-L1208"
     }
    ]
   },
   {
    "mode": "edit_va_osc_1_1",
    "gesture": "turn",
    "action": "Sets Coarse for VA OSC 1.",
    "short_label": "OSC1 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "353",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L353"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_2",
    "gesture": "turn",
    "action": "Sets Coarse for VA OSC 2.",
    "short_label": "OSC2 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "363",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L363"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_3",
    "gesture": "turn",
    "action": "Sets Coarse for VA OSC 3.",
    "short_label": "OSC3 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "373",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L373"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_4",
    "gesture": "turn",
    "action": "Sets Coarse for VA OSC 4.",
    "short_label": "OSC4 COARSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "383",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L383"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_1",
    "gesture": "turn",
    "action": "Sets Key trk for VA OSC 1+.",
    "short_label": "OSC1 KTRK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "405",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L405"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_2",
    "gesture": "turn",
    "action": "Sets Key trk for VA OSC 2+.",
    "short_label": "OSC2 KTRK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "415",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L415"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_3",
    "gesture": "turn",
    "action": "Sets Key trk for VA OSC 3+.",
    "short_label": "OSC3 KTRK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "425",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L425"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_4",
    "gesture": "turn",
    "action": "Sets Key trk for VA OSC 4+.",
    "short_label": "OSC4 KTRK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "435",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L435"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_3_1",
    "gesture": "turn",
    "action": "Sets Level for VA OSC 3.",
    "short_label": "VA OSC LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "456",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L456"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_1",
    "gesture": "turn",
    "action": "Sets Ftype for VA FILTER.",
    "short_label": "VA FTYPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "484",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L484"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_2",
    "gesture": "turn",
    "action": "Sets Spread for VA FILTER+.",
    "short_label": "VA SPREAD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "494",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L494"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_1",
    "gesture": "turn",
    "action": "Sets Sustain for VA ENV 1.",
    "short_label": "ENV1 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L522"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_1",
    "gesture": "turn",
    "action": "Sets Sustain for VA ENV 2.",
    "short_label": "ENV2 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "563",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L563"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_1",
    "gesture": "turn",
    "action": "Sets Sustain for VA ENV 3.",
    "short_label": "ENV3 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "584",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L584"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "594",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L594"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_1",
    "gesture": "turn",
    "action": "Sets Sustain for VA ENV 4.",
    "short_label": "ENV4 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "615",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L615"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "625",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L625"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Depth for VA LFO 1.",
    "short_label": "LFO1 DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "654",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L654"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Depth for VA LFO 2.",
    "short_label": "LFO2 DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "664",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L664"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_3",
    "gesture": "turn",
    "action": "Sets Depth for VA LFO 3.",
    "short_label": "LFO3 DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "674",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L674"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_4",
    "gesture": "turn",
    "action": "Sets Depth for VA LFO 4.",
    "short_label": "LFO4 DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "684",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L684"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "706",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L706"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "716",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L716"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "726",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L726"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "736",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L736"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_3_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "757",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L757"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_1",
    "gesture": "turn",
    "action": "Sets Amount for VA MOD 1.",
    "short_label": "MOD1 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "786",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L786"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_2",
    "gesture": "turn",
    "action": "Sets Amount for VA MOD 2.",
    "short_label": "MOD2 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "796",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L796"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_3",
    "gesture": "turn",
    "action": "Sets Amount for VA MOD 3.",
    "short_label": "MOD3 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "806",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L806"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_4",
    "gesture": "turn",
    "action": "Sets Amount for VA MOD 4.",
    "short_label": "MOD4 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "816",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L816"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_5",
    "gesture": "turn",
    "action": "Sets Amount for VA MOD 5.",
    "short_label": "MOD5 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "826",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L826"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_6",
    "gesture": "turn",
    "action": "Sets Amount for VA MOD 6.",
    "short_label": "MOD6 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "836",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L836"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_7",
    "gesture": "turn",
    "action": "Sets Amount for VA MOD 7.",
    "short_label": "MOD7 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "846",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L846"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_8",
    "gesture": "turn",
    "action": "Sets Amount for VA MOD 8.",
    "short_label": "MOD8 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "856",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L856"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s amount, creating the default route first if unset.",
    "short_label": "VEL AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "878",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L878"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s amount, creating the default route first if unset.",
    "short_label": "AT AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "888",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L888"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s delay send.",
    "short_label": "DELAY SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "916",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L916"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_1",
    "gesture": "turn",
    "action": "Sets Voice for VA MIX.",
    "short_label": "VOICE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "944",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L944"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_2",
    "gesture": "turn",
    "action": "Sets Priority for VA MIX.",
    "short_label": "NOTE PRIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "954",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L954"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_1",
    "gesture": "turn",
    "action": "Sets Fine for FM6 OP 1.",
    "short_label": "OP1 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "423",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L423"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_2",
    "gesture": "turn",
    "action": "Sets Fine for FM6 OP 2.",
    "short_label": "OP2 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "433",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L433"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_3",
    "gesture": "turn",
    "action": "Sets Fine for FM6 OP 3.",
    "short_label": "OP3 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "443",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L443"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_4",
    "gesture": "turn",
    "action": "Sets Fine for FM6 OP 4.",
    "short_label": "OP4 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L453"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_5",
    "gesture": "turn",
    "action": "Sets Fine for FM6 OP 5.",
    "short_label": "OP5 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "463",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L463"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_6",
    "gesture": "turn",
    "action": "Sets Fine for FM6 OP 6.",
    "short_label": "OP6 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "473",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L473"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_1",
    "gesture": "turn",
    "action": "Sets AM sens for FM6 OP 1+.",
    "short_label": "OP1 AMS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "495",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L495"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_2",
    "gesture": "turn",
    "action": "Sets AM sens for FM6 OP 2+.",
    "short_label": "OP2 AMS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "505",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L505"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_3",
    "gesture": "turn",
    "action": "Sets AM sens for FM6 OP 3+.",
    "short_label": "OP3 AMS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "515",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L515"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_4",
    "gesture": "turn",
    "action": "Sets AM sens for FM6 OP 4+.",
    "short_label": "OP4 AMS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "525",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L525"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_5",
    "gesture": "turn",
    "action": "Sets AM sens for FM6 OP 5+.",
    "short_label": "OP5 AMS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "535",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L535"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_6",
    "gesture": "turn",
    "action": "Sets AM sens for FM6 OP 6+.",
    "short_label": "OP6 AMS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "545",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L545"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_1",
    "gesture": "turn",
    "action": "Sets R depth for FM6 SCALE 1.",
    "short_label": "OP1 RDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "567",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L567"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_2",
    "gesture": "turn",
    "action": "Sets R depth for FM6 SCALE 2.",
    "short_label": "OP2 RDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "577",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L577"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_3",
    "gesture": "turn",
    "action": "Sets R depth for FM6 SCALE 3.",
    "short_label": "OP3 RDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L587"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_4",
    "gesture": "turn",
    "action": "Sets R depth for FM6 SCALE 4.",
    "short_label": "OP4 RDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "597",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L597"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_5",
    "gesture": "turn",
    "action": "Sets R depth for FM6 SCALE 5.",
    "short_label": "OP5 RDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "607",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L607"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_6",
    "gesture": "turn",
    "action": "Sets R depth for FM6 SCALE 6.",
    "short_label": "OP6 RDEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_filt_1_1",
    "gesture": "turn",
    "action": "Sets Transp for FM6 ALGO.",
    "short_label": "FM6 TRNSP",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "645",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L645"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for FM6 ENV 1.",
    "short_label": "ENV1 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "673",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L673"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_2",
    "gesture": "turn",
    "action": "Sets Level 3 for FM6 ENV 1+.",
    "short_label": "ENV1 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "683",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L683"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for FM6 ENV 2.",
    "short_label": "ENV2 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "704",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L704"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_2",
    "gesture": "turn",
    "action": "Sets Level 3 for FM6 ENV 2+.",
    "short_label": "ENV2 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "714",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L714"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for FM6 ENV 3.",
    "short_label": "ENV3 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_2",
    "gesture": "turn",
    "action": "Sets Level 3 for FM6 ENV 3+.",
    "short_label": "ENV3 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "745",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L745"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for FM6 ENV 4.",
    "short_label": "ENV4 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "766",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L766"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_2",
    "gesture": "turn",
    "action": "Sets Level 3 for FM6 ENV 4+.",
    "short_label": "ENV4 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "776",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L776"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for FM6 ENV 5.",
    "short_label": "ENV5 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "797",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L797"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_2",
    "gesture": "turn",
    "action": "Sets Level 3 for FM6 ENV 5+.",
    "short_label": "ENV5 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "807",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L807"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for FM6 ENV 6.",
    "short_label": "ENV6 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "828",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L828"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_2",
    "gesture": "turn",
    "action": "Sets Level 3 for FM6 ENV 6+.",
    "short_label": "ENV6 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "838",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L838"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for FM6 PITCH EG.",
    "short_label": "PITCH EG R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "859",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L859"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_2",
    "gesture": "turn",
    "action": "Sets Level 3 for FM6 PITCH EG+.",
    "short_label": "PITCH EG L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "869",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L869"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_1",
    "gesture": "turn",
    "action": "Sets PM depth for FM6 LFO.",
    "short_label": "FM6 LFO PMD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "897",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L897"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_2",
    "gesture": "turn",
    "action": "Sets PM sens for FM6 LFO+.",
    "short_label": "FM6 LFO PMS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "907",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L907"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_1",
    "gesture": "turn",
    "action": "Sets Engine for FM6 FUNC.",
    "short_label": "FM6 ENGINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "935",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L935"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_2",
    "gesture": "turn",
    "action": "Sets Gliss for FM6 FUNC+.",
    "short_label": "FM6 GLISS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L945"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_1",
    "gesture": "turn",
    "action": "Sets Foot for FM6 CTRL.",
    "short_label": "FM6 MOD FOOT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "966",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L966"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_2",
    "gesture": "turn",
    "action": "Sets Aftertch for FM6 CTRL+.",
    "short_label": "FM6 AFTER",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "976",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L976"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s amount, creating the default route first if unset.",
    "short_label": "VEL AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "998",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L998"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s amount, creating the default route first if unset.",
    "short_label": "AT AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1008",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1008"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s delay send.",
    "short_label": "DELAY SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1036",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1036"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_1",
    "gesture": "turn",
    "action": "Sets Voice for FM6 MIX.",
    "short_label": "VOICE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1064"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_2",
    "gesture": "turn",
    "action": "Sets Priority for FM6 MIX.",
    "short_label": "NOTE PRIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1074",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1074"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_1",
    "gesture": "turn",
    "action": "Sets Window for CZ-1 LINE 1.",
    "short_label": "LINE1 WINDOW",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "403",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L403"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_2",
    "gesture": "turn",
    "action": "Sets Window for CZ-1 LINE 2.",
    "short_label": "LINE2 WINDOW",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "413",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L413"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_2_1",
    "gesture": "turn",
    "action": "Sets Note for CZ-1 DETUNE.",
    "short_label": "CZ OSC NOTE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_3_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "455",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L455"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_1",
    "gesture": "turn",
    "action": "Sets DCW vel 1 for CZ-1 DCW.",
    "short_label": "CZ V.WAV1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "483",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L483"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_2",
    "gesture": "turn",
    "action": "Sets DCA vel 1 for CZ-1 DCW+.",
    "short_label": "CZ V.AMP1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "493",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L493"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for CZ-1 PITCH 1.",
    "short_label": "PITCH1 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "521",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L521"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_2",
    "gesture": "turn",
    "action": "Sets Level 3 for CZ-1 PITCH 1+.",
    "short_label": "PITCH1 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "531",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L531"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_1",
    "gesture": "turn",
    "action": "Sets Rate 7 for CZ-1 PITCH 1 B.",
    "short_label": "PITCH1 R7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "552",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L552"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_2",
    "gesture": "turn",
    "action": "Sets Level 7 for CZ-1 PITCH 1 B+.",
    "short_label": "PITCH1 L7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "562",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L562"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_3_1",
    "gesture": "turn",
    "action": "Sets Pitch vel for CZ-1 PITCH 1 S.",
    "short_label": "PITCH1 VEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "583",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L583"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for CZ-1 DCW 1.",
    "short_label": "DCW1 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "604",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L604"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_2",
    "gesture": "turn",
    "action": "Sets Level 3 for CZ-1 DCW 1+.",
    "short_label": "DCW1 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "614",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L614"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_1",
    "gesture": "turn",
    "action": "Sets Rate 7 for CZ-1 DCW 1 B.",
    "short_label": "DCW1 R7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "635",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L635"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_2",
    "gesture": "turn",
    "action": "Sets Level 7 for CZ-1 DCW 1 B+.",
    "short_label": "DCW1 L7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "645",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L645"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_6_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "666",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L666"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for CZ-1 DCA 1.",
    "short_label": "DCA1 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_2",
    "gesture": "turn",
    "action": "Sets Level 3 for CZ-1 DCA 1+.",
    "short_label": "DCA1 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L697"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_1",
    "gesture": "turn",
    "action": "Sets Rate 7 for CZ-1 DCA 1 B.",
    "short_label": "DCA1 R7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "718",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L718"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_2",
    "gesture": "turn",
    "action": "Sets Level 7 for CZ-1 DCA 1 B+.",
    "short_label": "DCA1 L7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "728",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L728"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_9_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "749",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L749"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for CZ-1 PITCH 2.",
    "short_label": "PITCH2 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "770",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L770"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_2",
    "gesture": "turn",
    "action": "Sets Level 3 for CZ-1 PITCH 2+.",
    "short_label": "PITCH2 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "780",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L780"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_1",
    "gesture": "turn",
    "action": "Sets Rate 7 for CZ-1 PITCH 2 B.",
    "short_label": "PITCH2 R7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "801",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L801"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_2",
    "gesture": "turn",
    "action": "Sets Level 7 for CZ-1 PITCH 2 B+.",
    "short_label": "PITCH2 L7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "811",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L811"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_12_1",
    "gesture": "turn",
    "action": "Sets Pitch vel for CZ-1 PITCH 2 S.",
    "short_label": "PITCH2 VEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "832",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L832"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for CZ-1 DCW 2.",
    "short_label": "DCW2 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "853",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L853"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_2",
    "gesture": "turn",
    "action": "Sets Level 3 for CZ-1 DCW 2+.",
    "short_label": "DCW2 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "863",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L863"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_1",
    "gesture": "turn",
    "action": "Sets Rate 7 for CZ-1 DCW 2 B.",
    "short_label": "DCW2 R7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "884",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L884"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_2",
    "gesture": "turn",
    "action": "Sets Level 7 for CZ-1 DCW 2 B+.",
    "short_label": "DCW2 L7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "894",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L894"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_15_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "915",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L915"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_1",
    "gesture": "turn",
    "action": "Sets Rate 3 for CZ-1 DCA 2.",
    "short_label": "DCA2 R3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "936",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L936"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_2",
    "gesture": "turn",
    "action": "Sets Level 3 for CZ-1 DCA 2+.",
    "short_label": "DCA2 L3",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "946",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L946"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_1",
    "gesture": "turn",
    "action": "Sets Rate 7 for CZ-1 DCA 2 B.",
    "short_label": "DCA2 R7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "967",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L967"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_2",
    "gesture": "turn",
    "action": "Sets Level 7 for CZ-1 DCA 2 B+.",
    "short_label": "DCA2 L7",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "977",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L977"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_18_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "998",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L998"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Rate for CZ-1 VIB.",
    "short_label": "CZ LFO RATE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1026",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1026"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_1_1",
    "gesture": "turn",
    "action": "Sets Oct for CZ-1 TONE.",
    "short_label": "CZ MOD OCT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1054",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1054"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s amount, creating the default route first if unset.",
    "short_label": "VEL AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1076",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1076"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s amount, creating the default route first if unset.",
    "short_label": "AT AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1086",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1086"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s delay send.",
    "short_label": "DELAY SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1114",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1114"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_1",
    "gesture": "turn",
    "action": "Sets Voice for CZ-1 MIX.",
    "short_label": "VOICE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1142",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1142"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_2",
    "gesture": "turn",
    "action": "Sets Priority for CZ-1 MIX.",
    "short_label": "NOTE PRIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1152",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1152"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_1",
    "gesture": "turn",
    "action": "Sets Ratio A for FM TONE SYN 1.",
    "short_label": "SYN1 RATIO A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L234"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_2",
    "gesture": "turn",
    "action": "Sets Feedback for FM TONE SYN 1+.",
    "short_label": "FM TONE FDBK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "244",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L244"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_2_1",
    "gesture": "turn",
    "action": "Sets Offset B1 for FM TONE SYN 2.",
    "short_label": "SYN2 OFS B1",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "267",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L267"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_1",
    "gesture": "turn",
    "action": "Sets Sustain for FM TONE FILTER.",
    "short_label": "FM TONE SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "297",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L297"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_2",
    "gesture": "turn",
    "action": "Sets Type for FM TONE FILTER+.",
    "short_label": "FM TONE TYPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "307",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L307"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "330",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L330"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "340",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L340"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_1",
    "gesture": "turn",
    "action": "Sets A End for FM TONE ENV A.",
    "short_label": "ENVA A END",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "370",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L370"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_2",
    "gesture": "turn",
    "action": "Sets B End for FM TONE ENV B.",
    "short_label": "ENVB B END",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "380",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L380"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_1",
    "gesture": "turn",
    "action": "Sets A Reset for FM TONE ENV 2.",
    "short_label": "ENV2 A RESET",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "403",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L403"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_2",
    "gesture": "turn",
    "action": "Sets B Reset for FM TONE ENV 2+.",
    "short_label": "ENV2 B RESET",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "413",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L413"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_3_1",
    "gesture": "turn",
    "action": "Sets B2 Key for FM TONE ENV 3.",
    "short_label": "ENV3 B2 KEY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "436",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L436"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_1",
    "gesture": "turn",
    "action": "Sets Sustain for FM TONE AMP.",
    "short_label": "AMP SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "459",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L459"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_2",
    "gesture": "turn",
    "action": "Sets Drive for FM TONE AMP+.",
    "short_label": "AMP+ DRIVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "469",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L469"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Fade for FM TONE LFO 1.",
    "short_label": "LFO1 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Trig for FM TONE LFO 1+.",
    "short_label": "LFO1 TRIG",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "509",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L509"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_1",
    "gesture": "turn",
    "action": "Sets Fade for FM TONE LFO 2.",
    "short_label": "LFO2 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_2",
    "gesture": "turn",
    "action": "Sets Trig for FM TONE LFO 2+.",
    "short_label": "LFO2 TRIG",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "542",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L542"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_1",
    "gesture": "turn",
    "action": "Sets Fade for FM TONE LFO 3.",
    "short_label": "LFO3 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "565",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L565"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_2",
    "gesture": "turn",
    "action": "Sets Trig for FM TONE LFO 3+.",
    "short_label": "LFO3 TRIG",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "575",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L575"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_1",
    "gesture": "turn",
    "action": "Sets Env>Filter for FM TONE MOD 1.",
    "short_label": "MOD1 TO FILT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "604",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L604"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_2",
    "gesture": "turn",
    "action": "Sets Env>Pitch for FM TONE MOD 2.",
    "short_label": "ENV TO PITCH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "614",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L614"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_3",
    "gesture": "turn",
    "action": "Sets Env>Shape for FM TONE MOD 3.",
    "short_label": "ENV TO SHAPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "624",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L624"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_4",
    "gesture": "turn",
    "action": "Sets Tremolo for FM TONE MOD 4.",
    "short_label": "MOD4 TREMOLO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "634",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L634"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s amount, creating the default route first if unset.",
    "short_label": "VEL AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "656",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L656"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s amount, creating the default route first if unset.",
    "short_label": "AT AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "666",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L666"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s delay send.",
    "short_label": "DELAY SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "694",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L694"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_1",
    "gesture": "turn",
    "action": "Sets Voice for FM TONE MIX.",
    "short_label": "VOICE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "722",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L722"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_2",
    "gesture": "turn",
    "action": "Sets Priority for FM TONE MIX.",
    "short_label": "NOTE PRIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "732",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L732"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_osc_1_1",
    "gesture": "turn",
    "action": "Sets Body for WHEEL BARS.",
    "short_label": "WHEEL BODY",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "31",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L31"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_filt_1_1",
    "gesture": "turn",
    "action": "Sets Drv for WHEEL TONE.",
    "short_label": "WHEEL DRV",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "59",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L59"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_env_1_1",
    "gesture": "turn",
    "action": "Sets Sustain for WHEEL ENV.",
    "short_label": "WHEEL SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "87",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L87"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Vibrato for WHEEL LFO.",
    "short_label": "WHEEL PIT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "115",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L115"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_1",
    "gesture": "turn",
    "action": "Sets Env>Filter for WHEEL MOD 1.",
    "short_label": "MOD1 TO FILT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "144",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L144"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_2",
    "gesture": "turn",
    "action": "Sets Env>Pitch for WHEEL MOD 2.",
    "short_label": "ENV TO PITCH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "154",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L154"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_3",
    "gesture": "turn",
    "action": "Sets Env>Shape for WHEEL MOD 3.",
    "short_label": "ENV TO SHAPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "164",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L164"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_4",
    "gesture": "turn",
    "action": "Sets Tremolo for WHEEL MOD 4.",
    "short_label": "MOD4 TREMOLO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "174",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L174"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s amount, creating the default route first if unset.",
    "short_label": "VEL AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "196",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L196"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s amount, creating the default route first if unset.",
    "short_label": "AT AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "206",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L206"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s delay send.",
    "short_label": "DELAY SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L234"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_1",
    "gesture": "turn",
    "action": "Sets Voice for WHEEL MIX.",
    "short_label": "VOICE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "262",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L262"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_2",
    "gesture": "turn",
    "action": "Sets Priority for WHEEL MIX.",
    "short_label": "NOTE PRIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "272",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L272"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_1",
    "gesture": "turn",
    "action": "Sets Motion for GRAIN SRC 1.",
    "short_label": "SRC A MOTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "224",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L224"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_2",
    "gesture": "turn",
    "action": "Sets Motion for GRAIN SRC 2.",
    "short_label": "SRC B MOTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L234"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_1",
    "gesture": "turn",
    "action": "Sets Pos for GRAIN GRAIN.",
    "short_label": "GRAIN POS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "257",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L257"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_2",
    "gesture": "turn",
    "action": "Sets Pitch for GRAIN GRAIN+.",
    "short_label": "GRAIN PITCH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "267",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L267"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_1",
    "gesture": "turn",
    "action": "Sets Ftype for GRAIN FILTER.",
    "short_label": "GRAIN FTYPE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "295",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L295"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L305"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_1_1",
    "gesture": "turn",
    "action": "Sets Sustain for GRAIN ENV 1.",
    "short_label": "ENV1 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "335",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L335"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_2_1",
    "gesture": "turn",
    "action": "Sets Sustain for GRAIN ENV 2.",
    "short_label": "ENV2 SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "358",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L358"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Depth for GRAIN LFO 1.",
    "short_label": "LFO1 DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "387",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L387"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Depth for GRAIN LFO 2.",
    "short_label": "LFO2 DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "397",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L397"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "419",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L419"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "429",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L429"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_1",
    "gesture": "turn",
    "action": "Sets Amount for GRAIN MOD 1.",
    "short_label": "MOD1 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_2",
    "gesture": "turn",
    "action": "Sets Amount for GRAIN MOD 2.",
    "short_label": "MOD2 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_3",
    "gesture": "turn",
    "action": "Sets Amount for GRAIN MOD 3.",
    "short_label": "MOD3 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "478",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L478"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_4",
    "gesture": "turn",
    "action": "Sets Amount for GRAIN MOD 4.",
    "short_label": "MOD4 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "488",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L488"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_5",
    "gesture": "turn",
    "action": "Sets Amount for GRAIN MOD 5.",
    "short_label": "MOD5 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "498",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L498"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_6",
    "gesture": "turn",
    "action": "Sets Amount for GRAIN MOD 6.",
    "short_label": "MOD6 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "508",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L508"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_7",
    "gesture": "turn",
    "action": "Sets Amount for GRAIN MOD 7.",
    "short_label": "MOD7 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "518",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L518"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_8",
    "gesture": "turn",
    "action": "Sets Amount for GRAIN MOD 8.",
    "short_label": "MOD8 AMT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "528",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L528"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s amount, creating the default route first if unset.",
    "short_label": "VEL AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "550",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L550"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s amount, creating the default route first if unset.",
    "short_label": "AT AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "560",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L560"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s delay send.",
    "short_label": "DELAY SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "588",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L588"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_1",
    "gesture": "turn",
    "action": "Sets Voice for GRAIN MIX.",
    "short_label": "VOICE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_2",
    "gesture": "turn",
    "action": "Sets Priority for GRAIN MIX.",
    "short_label": "NOTE PRIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "626",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L626"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_1",
    "gesture": "turn",
    "action": "Sets PULSE for P5 OSC A.",
    "short_label": "OSC A PULSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "225",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L225"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_2",
    "gesture": "turn",
    "action": "Sets MIX B for P5 MIXER.",
    "short_label": "P5 OSC MIX B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "235",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L235"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_1",
    "gesture": "turn",
    "action": "Sets TRI for P5 OSC B.",
    "short_label": "OSC B TRI",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "258",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L258"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_2",
    "gesture": "turn",
    "action": "Sets LO FREQ for P5 OSC B+.",
    "short_label": "P5 LOFREQ",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "268",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L268"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_1_1",
    "gesture": "turn",
    "action": "Sets ENV AMT for P5 FILTER.",
    "short_label": "P5 FILT FENV",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "298",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L298"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_2_1",
    "gesture": "turn",
    "action": "Sets SUSTAIN for P5 ENV 2.",
    "short_label": "P5 FILT SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "321",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L321"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_3_1",
    "gesture": "turn",
    "action": "Sets KEY TRK for P5 FILTER.",
    "short_label": "P5 FILT KTRK",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "344",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L344"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_1_1",
    "gesture": "turn",
    "action": "Sets SUSTAIN for P5 ENV 1.",
    "short_label": "P5 ENV SUS",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "374",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L374"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "397",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L397"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_1",
    "gesture": "turn",
    "action": "Sets TRI for P5 LFO+.",
    "short_label": "P5 LFO TRI",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L427"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "437",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L437"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_1",
    "gesture": "turn",
    "action": "Sets FREQ B for P5 WHEEL.",
    "short_label": "P5 FREQ B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "460",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L460"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "470",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L470"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_1",
    "gesture": "turn",
    "action": "Sets FREQ A for P5 POLYMOD.",
    "short_label": "P5 FREQ A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "500",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L500"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "510",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L510"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_1",
    "gesture": "turn",
    "action": "Sets DETUNE for P5 VOICE.",
    "short_label": "P5 DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "533",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L533"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "543",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L543"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_1",
    "gesture": "turn",
    "action": "Sets the velocity expression route’s amount, creating the default route first if unset.",
    "short_label": "VEL AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "565",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L565"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_2",
    "gesture": "turn",
    "action": "Sets the aftertouch expression route’s amount, creating the default route first if unset.",
    "short_label": "AT AMOUNT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "575",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L575"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s delay send.",
    "short_label": "DELAY SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "603",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L603"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_1",
    "gesture": "turn",
    "action": "Sets Voice for P5 MIX.",
    "short_label": "VOICE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "631",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L631"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_2",
    "gesture": "turn",
    "action": "Sets Priority for P5 MIX.",
    "short_label": "NOTE PRIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "641",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L641"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "calibration",
    "gesture": "turn_cw",
    "action": "When prompted for this encoder, teaches its identity and clockwise direction.",
    "short_label": "TEACH TURN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5429-5453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5429-L5453"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "turn",
    "action": "Sets the selected performance mode’s main parameter while Options is open.",
    "short_label": "PERFORM MAIN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5303-5305",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5303-L5305"
     }
    ]
   }
  ],
  "encoder_knob4": [
   {
    "mode": "home",
    "gesture": "turn",
    "action": "Sets the chord send into the selected effect and turns FX on.",
    "short_label": "FX SEND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5306-5310",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5306-L5310"
     }
    ]
   },
   {
    "mode": "full_keyboard",
    "gesture": "turn",
    "action": "Sets the chord send into the selected effect and turns FX on.",
    "short_label": "FX SEND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5306-5310",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5306-L5310"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "turn_while_holding:button_glo",
    "action": "Keeps its current job with snapped values where supported, except the explicit loop-editor shortcuts.",
    "short_label": "SNAP VALUE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5088",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5088"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "984-993",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L984-L993"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5111-5133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5111-L5133"
     }
    ]
   },
   {
    "mode": "key_1",
    "gesture": "turn",
    "action": "Chooses Full Octave, Split Oct or Split Bass.",
    "short_label": "SINGLE NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3912-3926",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3912-L3926"
     }
    ]
   },
   {
    "mode": "key_2",
    "gesture": "turn",
    "action": "Chooses degree display Off, On or Solfège.",
    "short_label": "NUMERALS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3881-3909",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3881-L3909"
     }
    ]
   },
   {
    "mode": "perf_strum",
    "gesture": "turn",
    "action": "Switches Strum Hold off or on.",
    "short_label": "STRUM HOLD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_slop",
    "gesture": "turn",
    "action": "Sets Slop range from one to four octaves.",
    "short_label": "SLOP RANGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_arp",
    "gesture": "turn",
    "action": "Sets arpeggio swing from 50 to 90 percent.",
    "short_label": "ARP SWING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_pattern",
    "gesture": "turn",
    "action": "Sets pattern swing from 50 to 90 percent.",
    "short_label": "PAT SWING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "perf_harp",
    "gesture": "turn",
    "action": "Sets harp range from one to four octaves.",
    "short_label": "HARP RANGE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3945"
     }
    ]
   },
   {
    "mode": "fx_sends",
    "gesture": "turn",
    "action": "Sets the chord reverb send.",
    "short_label": "CHORD REVERB",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_reverb_1",
    "gesture": "turn",
    "action": "Sets the chord reverb send.",
    "short_label": "REVERB SEND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_reverb_2",
    "gesture": "turn",
    "action": "Sets reverb width.",
    "short_label": "REV WIDTH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_chorus",
    "gesture": "turn",
    "action": "Sets the chord chorus send.",
    "short_label": "CHORUS SEND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_delay_1",
    "gesture": "turn",
    "action": "Sets the chord delay send.",
    "short_label": "DELAY SEND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_delay_2",
    "gesture": "turn",
    "action": "Sets delay pitch movement.",
    "short_label": "DELAY WOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_drive",
    "gesture": "turn",
    "action": "Sets the chord drive amount.",
    "short_label": "DRIVE SEND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "fx_filter",
    "gesture": "turn",
    "action": "Switches the master filter off or on, enabling FX when switched on.",
    "short_label": "FILTER ON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3947-4000",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3947-L4000"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "turn",
    "action": "Sets bass level.",
    "short_label": "BASS LEVEL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4002-4024",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4002-L4024"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "turn",
    "action": "Marks the preview sound clockwise or unmarks it counterclockwise.",
    "short_label": "FAVORITE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4026-4050",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4026-L4050"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "turn",
    "action": "Does nothing in the metronome layer.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4088-4097",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4088-L4097"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "turn",
    "action": "Does nothing in the LOCK layer.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3928-3941",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3928-L3941"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "turn",
    "action": "Does nothing in the View menu.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3942-3947",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3942-L3947"
     }
    ]
   },
   {
    "mode": "loop_1",
    "gesture": "turn",
    "action": "Switches count-in off or on.",
    "short_label": "COUNT IN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4064-4087",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4064-L4087"
     }
    ]
   },
   {
    "mode": "loop_2",
    "gesture": "turn",
    "action": "Does nothing on PLAY page 2.",
    "short_label": "NO ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4052-4064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4052-L4064"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "turn",
    "action": "Sets selected-step note velocity.",
    "short_label": "STEP VEL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2655-2755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2655-L2755"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "turn",
    "action": "Transposes selected-step notes by semitones, refusing a turn beyond MIDI note range.",
    "short_label": "STEP TRANS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "2655-2755",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2655-L2755"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "turn",
    "action": "Marks the sound clockwise or unmarks it counterclockwise.",
    "short_label": "FAVORITE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5253-5287",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5253-L5287"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "turn",
    "action": "Deletes a character counterclockwise and does nothing clockwise.",
    "short_label": "BACKSPACE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5068-5081",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5068-L5081"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "turn",
    "action": "Deletes a character counterclockwise if the delete question was opened from naming, but otherwise does nothing over the question.",
    "short_label": "NAME DELETE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5263-5267",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5263-L5267"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5077-5080",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5077-L5080"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5089-5093",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5089-L5093"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5262-5264",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5262-L5264"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_glo",
    "action": "Changes the active value in snapped steps, selecting the slower component of an FM TONE ratio pair.",
    "short_label": "SNAP VALUE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1310-1316",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1310-L1316"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_env",
    "action": "Adds or adjusts the last selected envelope’s route to the active parameter when matrix mapping is supported.",
    "short_label": "MAP ENV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1111-1172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1111-L1172"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_lfo",
    "action": "Adds or adjusts the last selected LFO’s route to the active parameter when matrix mapping is supported.",
    "short_label": "MAP LFO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1111-1172",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1111-L1172"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "turn_while_holding:button_oct_down",
    "action": "Clears all matrix routes into the active parameter when supported.",
    "short_label": "CLEAR MOD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1175-1208",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1175-L1208"
     }
    ]
   },
   {
    "mode": "edit_va_osc_1_1",
    "gesture": "turn",
    "action": "Sets Fine for VA OSC 1.",
    "short_label": "OSC1 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "354",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L354"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_2",
    "gesture": "turn",
    "action": "Sets Fine for VA OSC 2.",
    "short_label": "OSC2 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "364",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L364"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_3",
    "gesture": "turn",
    "action": "Sets Fine for VA OSC 3.",
    "short_label": "OSC3 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "374",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L374"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_4",
    "gesture": "turn",
    "action": "Sets Fine for VA OSC 4.",
    "short_label": "OSC4 FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "384",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L384"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_2",
    "gesture": "turn",
    "action": "Sets Sync for VA OSC 2+.",
    "short_label": "OSC2 SYNC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "416",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L416"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "426",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L426"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_4",
    "gesture": "turn",
    "action": "Sets Ring for VA OSC 4+.",
    "short_label": "OSC4 RING",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "436",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L436"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_3_1",
    "gesture": "turn",
    "action": "Sets Level for VA OSC 4.",
    "short_label": "VA OSC LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "457",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L457"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_1",
    "gesture": "turn",
    "action": "Sets Env amt for VA FILTER.",
    "short_label": "VA FILT FENV",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "485",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L485"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_2",
    "gesture": "turn",
    "action": "Sets Drive for VA FILTER+.",
    "short_label": "VA DRIVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "495",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L495"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_1",
    "gesture": "turn",
    "action": "Sets Release for VA ENV 1.",
    "short_label": "ENV1 REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "523",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L523"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "533",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L533"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_1",
    "gesture": "turn",
    "action": "Sets Release for VA ENV 2.",
    "short_label": "ENV2 REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "554",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L554"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "564",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L564"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_1",
    "gesture": "turn",
    "action": "Sets Release for VA ENV 3.",
    "short_label": "ENV3 REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "585",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L585"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "595",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L595"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_1",
    "gesture": "turn",
    "action": "Sets Release for VA ENV 4.",
    "short_label": "ENV4 REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "616",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L616"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "626",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L626"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Fade for VA LFO 1.",
    "short_label": "LFO1 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "655",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L655"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Fade for VA LFO 2.",
    "short_label": "LFO2 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "665",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L665"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_3",
    "gesture": "turn",
    "action": "Sets Fade for VA LFO 3.",
    "short_label": "LFO3 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "675",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L675"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_4",
    "gesture": "turn",
    "action": "Sets Fade for VA LFO 4.",
    "short_label": "LFO4 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "685",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L685"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "707",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L707"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "717",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L717"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "727",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L727"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "737",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L737"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_3_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "758",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L758"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "787",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L787"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "797",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L797"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "807",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L807"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "817",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L817"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_5",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "827",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L827"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_6",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "837",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L837"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_7",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "847",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L847"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_8",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "857",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L857"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "879",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L879"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "889",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L889"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s reverb send.",
    "short_label": "REVERB SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "917",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L917"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_1",
    "gesture": "turn",
    "action": "Sets Glide for VA MIX.",
    "short_label": "PART GLIDE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "945",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L945"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_2",
    "gesture": "turn",
    "action": "Sets Gl. mode for VA MIX.",
    "short_label": "GLIDE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "955",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L955"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_1",
    "gesture": "turn",
    "action": "Sets Detune for FM6 OP 1.",
    "short_label": "OP1 DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "424",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L424"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_2",
    "gesture": "turn",
    "action": "Sets Detune for FM6 OP 2.",
    "short_label": "OP2 DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "434",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L434"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_3",
    "gesture": "turn",
    "action": "Sets Detune for FM6 OP 3.",
    "short_label": "OP3 DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "444",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L444"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_4",
    "gesture": "turn",
    "action": "Sets Detune for FM6 OP 4.",
    "short_label": "OP4 DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "454",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L454"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_5",
    "gesture": "turn",
    "action": "Sets Detune for FM6 OP 5.",
    "short_label": "OP5 DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "464",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L464"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_6",
    "gesture": "turn",
    "action": "Sets Detune for FM6 OP 6.",
    "short_label": "OP6 DETUNE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "474",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L474"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_1",
    "gesture": "turn",
    "action": "Sets Rate scl for FM6 OP 1+.",
    "short_label": "OP1 RSCL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "496",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L496"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_2",
    "gesture": "turn",
    "action": "Sets Rate scl for FM6 OP 2+.",
    "short_label": "OP2 RSCL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "506",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L506"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_3",
    "gesture": "turn",
    "action": "Sets Rate scl for FM6 OP 3+.",
    "short_label": "OP3 RSCL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "516",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L516"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_4",
    "gesture": "turn",
    "action": "Sets Rate scl for FM6 OP 4+.",
    "short_label": "OP4 RSCL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "526",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L526"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_5",
    "gesture": "turn",
    "action": "Sets Rate scl for FM6 OP 5+.",
    "short_label": "OP5 RSCL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "536",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L536"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_6",
    "gesture": "turn",
    "action": "Sets Rate scl for FM6 OP 6+.",
    "short_label": "OP6 RSCL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "546",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L546"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_1",
    "gesture": "turn",
    "action": "Sets Curve for FM6 SCALE 1.",
    "short_label": "OP1 CURVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "568",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L568"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_2",
    "gesture": "turn",
    "action": "Sets Curve for FM6 SCALE 2.",
    "short_label": "OP2 CURVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "578",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L578"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_3",
    "gesture": "turn",
    "action": "Sets Curve for FM6 SCALE 3.",
    "short_label": "OP3 CURVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "588",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L588"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_4",
    "gesture": "turn",
    "action": "Sets Curve for FM6 SCALE 4.",
    "short_label": "OP4 CURVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "598",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L598"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_5",
    "gesture": "turn",
    "action": "Sets Curve for FM6 SCALE 5.",
    "short_label": "OP5 CURVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "608",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L608"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_6",
    "gesture": "turn",
    "action": "Sets Curve for FM6 SCALE 6.",
    "short_label": "OP6 CURVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_filt_1_1",
    "gesture": "turn",
    "action": "Sets Osc sync for FM6 ALGO.",
    "short_label": "FM6 OSYNC",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for FM6 ENV 1.",
    "short_label": "ENV1 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "674",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L674"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_2",
    "gesture": "turn",
    "action": "Sets Level 4 for FM6 ENV 1+.",
    "short_label": "ENV1 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "684",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L684"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for FM6 ENV 2.",
    "short_label": "ENV2 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "705",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L705"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_2",
    "gesture": "turn",
    "action": "Sets Level 4 for FM6 ENV 2+.",
    "short_label": "ENV2 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "715",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L715"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for FM6 ENV 3.",
    "short_label": "ENV3 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "736",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L736"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_2",
    "gesture": "turn",
    "action": "Sets Level 4 for FM6 ENV 3+.",
    "short_label": "ENV3 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "746",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L746"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for FM6 ENV 4.",
    "short_label": "ENV4 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "767",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L767"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_2",
    "gesture": "turn",
    "action": "Sets Level 4 for FM6 ENV 4+.",
    "short_label": "ENV4 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "777",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L777"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for FM6 ENV 5.",
    "short_label": "ENV5 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "798",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L798"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_2",
    "gesture": "turn",
    "action": "Sets Level 4 for FM6 ENV 5+.",
    "short_label": "ENV5 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "808",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L808"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for FM6 ENV 6.",
    "short_label": "ENV6 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "829",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L829"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_2",
    "gesture": "turn",
    "action": "Sets Level 4 for FM6 ENV 6+.",
    "short_label": "ENV6 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "839",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L839"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for FM6 PITCH EG.",
    "short_label": "PITCH EG R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "860",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L860"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_2",
    "gesture": "turn",
    "action": "Sets Level 4 for FM6 PITCH EG+.",
    "short_label": "PITCH EG L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "870",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L870"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_1",
    "gesture": "turn",
    "action": "Sets AM depth for FM6 LFO.",
    "short_label": "FM6 LFO AMD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "898",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L898"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "908",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L908"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "936",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L936"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_2",
    "gesture": "turn",
    "action": "Sets DX vel for FM6 FUNC+.",
    "short_label": "FM6 DXVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "946",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L946"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_1",
    "gesture": "turn",
    "action": "Sets F.dst for FM6 CTRL.",
    "short_label": "FM6 F.DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "967",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L967"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_2",
    "gesture": "turn",
    "action": "Sets A.dst for FM6 CTRL+.",
    "short_label": "FM6 A.DST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "977",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L977"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "999",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L999"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1009",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1009"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s reverb send.",
    "short_label": "REVERB SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1037",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1037"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_1",
    "gesture": "turn",
    "action": "Sets Glide for FM6 MIX.",
    "short_label": "PART GLIDE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1065",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1065"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_2",
    "gesture": "turn",
    "action": "Sets Gl. mode for FM6 MIX.",
    "short_label": "GLIDE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1075",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1075"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_1",
    "gesture": "turn",
    "action": "Sets Level for CZ-1 LINE 1.",
    "short_label": "LINE1 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "404",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L404"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_2",
    "gesture": "turn",
    "action": "Sets Level for CZ-1 LINE 2.",
    "short_label": "LINE2 LEVEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "414",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L414"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_2_1",
    "gesture": "turn",
    "action": "Sets Fine for CZ-1 DETUNE.",
    "short_label": "CZ OSC FINE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "435",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L435"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_3_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "456",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L456"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_1",
    "gesture": "turn",
    "action": "Sets DCW vel 2 for CZ-1 DCW.",
    "short_label": "CZ V.WAV2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "484",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L484"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_2",
    "gesture": "turn",
    "action": "Sets DCA vel 2 for CZ-1 DCW+.",
    "short_label": "CZ V.AMP2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "494",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L494"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for CZ-1 PITCH 1.",
    "short_label": "PITCH1 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "522",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L522"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_2",
    "gesture": "turn",
    "action": "Sets Level 4 for CZ-1 PITCH 1+.",
    "short_label": "PITCH1 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "532",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L532"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_1",
    "gesture": "turn",
    "action": "Sets Rate 8 for CZ-1 PITCH 1 B.",
    "short_label": "PITCH1 R8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_2",
    "gesture": "turn",
    "action": "Sets Level 8 for CZ-1 PITCH 1 B+.",
    "short_label": "PITCH1 L8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "563",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L563"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_3_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "584",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L584"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for CZ-1 DCW 1.",
    "short_label": "DCW1 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "605",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L605"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_2",
    "gesture": "turn",
    "action": "Sets Level 4 for CZ-1 DCW 1+.",
    "short_label": "DCW1 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "615",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L615"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_1",
    "gesture": "turn",
    "action": "Sets Rate 8 for CZ-1 DCW 1 B.",
    "short_label": "DCW1 R8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "636",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L636"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_2",
    "gesture": "turn",
    "action": "Sets Level 8 for CZ-1 DCW 1 B+.",
    "short_label": "DCW1 L8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "646",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L646"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_6_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "667",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L667"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for CZ-1 DCA 1.",
    "short_label": "DCA1 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "688",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L688"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_2",
    "gesture": "turn",
    "action": "Sets Level 4 for CZ-1 DCA 1+.",
    "short_label": "DCA1 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "698",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L698"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_1",
    "gesture": "turn",
    "action": "Sets Rate 8 for CZ-1 DCA 1 B.",
    "short_label": "DCA1 R8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "719",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L719"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_2",
    "gesture": "turn",
    "action": "Sets Level 8 for CZ-1 DCA 1 B+.",
    "short_label": "DCA1 L8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "729",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L729"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_9_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "750",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L750"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for CZ-1 PITCH 2.",
    "short_label": "PITCH2 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "771",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L771"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_2",
    "gesture": "turn",
    "action": "Sets Level 4 for CZ-1 PITCH 2+.",
    "short_label": "PITCH2 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "781",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L781"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_1",
    "gesture": "turn",
    "action": "Sets Rate 8 for CZ-1 PITCH 2 B.",
    "short_label": "PITCH2 R8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "802",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L802"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_2",
    "gesture": "turn",
    "action": "Sets Level 8 for CZ-1 PITCH 2 B+.",
    "short_label": "PITCH2 L8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "812",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L812"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_12_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "833",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L833"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for CZ-1 DCW 2.",
    "short_label": "DCW2 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "854",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L854"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_2",
    "gesture": "turn",
    "action": "Sets Level 4 for CZ-1 DCW 2+.",
    "short_label": "DCW2 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "864",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L864"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_1",
    "gesture": "turn",
    "action": "Sets Rate 8 for CZ-1 DCW 2 B.",
    "short_label": "DCW2 R8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "885",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L885"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_2",
    "gesture": "turn",
    "action": "Sets Level 8 for CZ-1 DCW 2 B+.",
    "short_label": "DCW2 L8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "895",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L895"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_15_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "916",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L916"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_1",
    "gesture": "turn",
    "action": "Sets Rate 4 for CZ-1 DCA 2.",
    "short_label": "DCA2 R4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "937",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L937"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_2",
    "gesture": "turn",
    "action": "Sets Level 4 for CZ-1 DCA 2+.",
    "short_label": "DCA2 L4",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "947",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L947"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_1",
    "gesture": "turn",
    "action": "Sets Rate 8 for CZ-1 DCA 2 B.",
    "short_label": "DCA2 R8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "968",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L968"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_2",
    "gesture": "turn",
    "action": "Sets Level 8 for CZ-1 DCA 2 B+.",
    "short_label": "DCA2 L8",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "978",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L978"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_18_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "999",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L999"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Depth for CZ-1 VIB.",
    "short_label": "CZ LFO DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1027",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1027"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1055",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1055"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1077",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1077"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1087",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1087"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s reverb send.",
    "short_label": "REVERB SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1115",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1115"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_1",
    "gesture": "turn",
    "action": "Sets Glide for CZ-1 MIX.",
    "short_label": "PART GLIDE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1143"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_2",
    "gesture": "turn",
    "action": "Sets Gl. mode for CZ-1 MIX.",
    "short_label": "GLIDE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1153",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1153"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_1",
    "gesture": "turn",
    "action": "Steps FM TONE’s paired B ratio, carrying the fast component into the slow component when it wraps.",
    "short_label": "B RATIO",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "235",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L235"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1217-1232",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1217-L1232"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_2",
    "gesture": "turn",
    "action": "Sets Mix for FM TONE SYN 1+.",
    "short_label": "FM TONE MIX",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "245",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L245"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_2_1",
    "gesture": "turn",
    "action": "Sets Offset B2 for FM TONE SYN 2.",
    "short_label": "SYN2 OFS B2",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "268",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L268"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_1",
    "gesture": "turn",
    "action": "Sets Release for FM TONE FILTER.",
    "short_label": "FM TONE REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "298",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L298"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_2",
    "gesture": "turn",
    "action": "Sets Env depth for FM TONE FILTER+.",
    "short_label": "ENV DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "308",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L308"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "331",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L331"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L341"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_1",
    "gesture": "turn",
    "action": "Sets A Level for FM TONE ENV A.",
    "short_label": "ENVA A LEV",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "371",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L371"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_2",
    "gesture": "turn",
    "action": "Sets B Level for FM TONE ENV B.",
    "short_label": "ENVB B LEV",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "381",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L381"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_1",
    "gesture": "turn",
    "action": "Chooses the operator phase-reset mode on FM TONE’s ENV 2 page.",
    "short_label": "PHASE RESET",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "404",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L404"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "102-103",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L102-L103"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "217-218",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L217-L218"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "975-983",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L975-L983"
     }
    ]
   },
   {
    "mode": "edit_fm_tone_env_2_2",
    "gesture": "turn",
    "action": "Sets Velocity for FM TONE ENV 2+.",
    "short_label": "AMP VEL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "414",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L414"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_3_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "437",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L437"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_1",
    "gesture": "turn",
    "action": "Sets Release for FM TONE AMP.",
    "short_label": "AMP REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "460",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L460"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "470",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L470"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Dest for FM TONE LFO 1.",
    "short_label": "LFO1 DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "500",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L500"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Depth for FM TONE LFO 1+.",
    "short_label": "LFO1+ DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "510",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L510"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_1",
    "gesture": "turn",
    "action": "Sets Dest for FM TONE LFO 2.",
    "short_label": "LFO2 DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "533",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L533"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_2",
    "gesture": "turn",
    "action": "Sets Depth for FM TONE LFO 2+.",
    "short_label": "LFO2+ DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "543",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L543"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_1",
    "gesture": "turn",
    "action": "Sets Dest for FM TONE LFO 3.",
    "short_label": "LFO3 DEST",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "566",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L566"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_2",
    "gesture": "turn",
    "action": "Sets Depth for FM TONE LFO 3+.",
    "short_label": "LFO3+ DEPTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "576",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L576"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "605",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L605"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "615",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L615"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "625",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L625"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "635",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L635"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "657",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L657"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "667",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L667"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_fx_1_1",
    "gesture": "turn",
    "action": "Changes the edited part’s reverb send and, on the chord part, enables global FX so the bass sends are opened too.",
    "short_label": "REVERB SEND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "695",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L695"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "705-712",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L705-L712"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "770-777",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L770-L777"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "675-682",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L675-L682"
     }
    ]
   },
   {
    "mode": "edit_fm_tone_mix_1_1",
    "gesture": "turn",
    "action": "Sets Glide for FM TONE MIX.",
    "short_label": "PART GLIDE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "723",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L723"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_2",
    "gesture": "turn",
    "action": "Sets Gl. mode for FM TONE MIX.",
    "short_label": "GLIDE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "733",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L733"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_osc_1_1",
    "gesture": "turn",
    "action": "Sets Top for WHEEL BARS.",
    "short_label": "WHEEL TOP",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "32",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L32"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_filt_1_1",
    "gesture": "turn",
    "action": "Sets Rotr for WHEEL TONE.",
    "short_label": "WHEEL ROTR",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "60",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L60"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_env_1_1",
    "gesture": "turn",
    "action": "Sets Release for WHEEL ENV.",
    "short_label": "WHEEL REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "88",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L88"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Wah for WHEEL LFO.",
    "short_label": "WHEEL FLT",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "116",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L116"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "145",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L145"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "155",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L155"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "165",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L165"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L175"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "197",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L197"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "207",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L207"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s reverb send.",
    "short_label": "REVERB SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "235",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L235"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_1",
    "gesture": "turn",
    "action": "Sets Glide for WHEEL MIX.",
    "short_label": "PART GLIDE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "263",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L263"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_2",
    "gesture": "turn",
    "action": "Sets Gl. mode for WHEEL MIX.",
    "short_label": "GLIDE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "273",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L273"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_1",
    "gesture": "turn",
    "action": "Sets Seed for GRAIN SRC 1.",
    "short_label": "SRC A SEED",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "225",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L225"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_2",
    "gesture": "turn",
    "action": "Sets Seed for GRAIN SRC 2.",
    "short_label": "SRC B SEED",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "235",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L235"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_1",
    "gesture": "turn",
    "action": "Sets Sprd for GRAIN GRAIN.",
    "short_label": "GRAIN SPRD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "258",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L258"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_2",
    "gesture": "turn",
    "action": "Sets Scan for GRAIN GRAIN+.",
    "short_label": "GRAIN SCAN",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "268",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L268"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_1",
    "gesture": "turn",
    "action": "Sets Drive for GRAIN FILTER.",
    "short_label": "GRAIN DRIVE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "296",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L296"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "306",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L306"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_1_1",
    "gesture": "turn",
    "action": "Sets Release for GRAIN ENV 1.",
    "short_label": "ENV1 REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "336",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L336"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_2_1",
    "gesture": "turn",
    "action": "Sets Release for GRAIN ENV 2.",
    "short_label": "ENV2 REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "359",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L359"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_1",
    "gesture": "turn",
    "action": "Sets Fade for GRAIN LFO 1.",
    "short_label": "LFO1 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "388",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L388"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_2",
    "gesture": "turn",
    "action": "Sets Fade for GRAIN LFO 2.",
    "short_label": "LFO2 FADE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "398",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L398"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "420",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L420"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "430",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L430"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "459",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L459"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "469",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L469"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_3",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "479",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L479"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_4",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "489",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L489"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_5",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "499",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L499"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_6",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "509",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L509"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_7",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "519",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L519"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_8",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "529",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L529"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "551",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L551"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "561",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L561"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s reverb send.",
    "short_label": "REVERB SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "589",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L589"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_1",
    "gesture": "turn",
    "action": "Sets Glide for GRAIN MIX.",
    "short_label": "PART GLIDE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_2",
    "gesture": "turn",
    "action": "Sets Gl. mode for GRAIN MIX.",
    "short_label": "GLIDE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "627",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L627"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_1",
    "gesture": "turn",
    "action": "Sets P WIDTH for P5 OSC A.",
    "short_label": "OSC A WIDTH",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "226",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L226"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_2",
    "gesture": "turn",
    "action": "Sets NOISE for P5 MIXER.",
    "short_label": "P5 OSC NOISE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "236",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L236"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_1",
    "gesture": "turn",
    "action": "Sets PULSE for P5 OSC B+.",
    "short_label": "OSC B PULSE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "259",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L259"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_2",
    "gesture": "turn",
    "action": "Sets KEYB for P5 OSC B+.",
    "short_label": "OSC B KEYBD",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L269"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_1_1",
    "gesture": "turn",
    "action": "Sets REV for P5 FILTER+.",
    "short_label": "P5 FILT REV",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "299",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L299"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_2_1",
    "gesture": "turn",
    "action": "Sets RELEASE for P5 ENV 2.",
    "short_label": "P5 FILT REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "322",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L322"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_3_1",
    "gesture": "turn",
    "action": "Sets AFTER for P5 FILTER+.",
    "short_label": "P5 AFTER",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "345",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L345"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_1_1",
    "gesture": "turn",
    "action": "Sets RELEASE for P5 ENV 1.",
    "short_label": "P5 ENV REL",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "375",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L375"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_2_1",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "398",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L398"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_1",
    "gesture": "turn",
    "action": "Sets SQUARE for P5 LFO+.",
    "short_label": "P5 SQUARE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "428",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L428"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "438",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L438"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_1",
    "gesture": "turn",
    "action": "Sets PW A for P5 WHEEL.",
    "short_label": "P5 LFO PW A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "461",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L461"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "471",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L471"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_1",
    "gesture": "turn",
    "action": "Sets PW A for P5 POLYMOD.",
    "short_label": "P5 MOD PW A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "501",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L501"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "511",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L511"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_1",
    "gesture": "turn",
    "action": "Sets GLIDE for P5 VOICE.",
    "short_label": "P5 MOD GLIDE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "534",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L534"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_2",
    "gesture": "turn",
    "action": "Does nothing because this cell is fixed text or empty.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "544",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L544"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_1",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "566",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L566"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_2",
    "gesture": "turn",
    "action": "Does nothing on this fixed expression-source cell.",
    "short_label": "NO ACTION",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "576",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L576"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_fx_1_1",
    "gesture": "turn",
    "action": "Sets this part’s reverb send.",
    "short_label": "REVERB SEND",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "604",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L604"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_1",
    "gesture": "turn",
    "action": "Sets Glide for P5 MIX.",
    "short_label": "PART GLIDE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "632",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L632"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_2",
    "gesture": "turn",
    "action": "Sets Gl. mode for P5 MIX.",
    "short_label": "GLIDE MODE",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "642",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L642"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1274-1348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1274-L1348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "calibration",
    "gesture": "turn_cw",
    "action": "When prompted for this encoder, teaches its identity and clockwise direction.",
    "short_label": "TEACH TURN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5429-5453",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5429-L5453"
     }
    ]
   },
   {
    "mode": "options",
    "gesture": "turn",
    "action": "Sets the chord send into the selected effect while Options is open.",
    "short_label": "FX SEND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5306-5310",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5306-L5310"
     }
    ]
   }
  ],
  "screen": [
   {
    "mode": "key_1",
    "gesture": "shows",
    "action": "Shows tonic, scale, transpose and Single Notes under a keyboard band.",
    "short_label": "KEY 1",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7219-7243",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7219-L7243"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6848-6878",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6848-L6878"
     }
    ]
   },
   {
    "mode": "key_2",
    "gesture": "shows",
    "action": "Shows Key plays, Keyboard, Snap and Numerals under a keyboard band.",
    "short_label": "KEY 2",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7219-7243",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7219-L7243"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6848-6878",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6848-L6878"
     }
    ]
   },
   {
    "mode": "perf_strum",
    "gesture": "shows",
    "action": "Shows the mode and four values, with moving arpeggio notes after the picker settles.",
    "short_label": "STRUM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7245-7261",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7245-L7261"
     }
    ]
   },
   {
    "mode": "perf_slop",
    "gesture": "shows",
    "action": "Shows the mode and four values, with moving arpeggio notes after the picker settles.",
    "short_label": "SLOP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7245-7261",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7245-L7261"
     }
    ]
   },
   {
    "mode": "perf_arp",
    "gesture": "shows",
    "action": "Shows the mode and four values, with moving arpeggio notes after the picker settles.",
    "short_label": "ARP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7245-7261",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7245-L7261"
     }
    ]
   },
   {
    "mode": "perf_pattern",
    "gesture": "shows",
    "action": "Shows the mode and four values, with moving arpeggio notes after the picker settles.",
    "short_label": "PATTERN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7245-7261",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7245-L7261"
     }
    ]
   },
   {
    "mode": "perf_harp",
    "gesture": "shows",
    "action": "Shows the mode and four values, with moving arpeggio notes after the picker settles.",
    "short_label": "HARP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7245-7261",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7245-L7261"
     }
    ]
   },
   {
    "mode": "fx_sends",
    "gesture": "shows",
    "action": "Shows Sends with the four knob values and FX state.",
    "short_label": "FX 1",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7263-7274",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "525-537",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
     }
    ]
   },
   {
    "mode": "fx_reverb_1",
    "gesture": "shows",
    "action": "Shows Reverb 1 with the four knob values and FX state.",
    "short_label": "FX 2",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7263-7274",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "525-537",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
     }
    ]
   },
   {
    "mode": "fx_reverb_2",
    "gesture": "shows",
    "action": "Shows Reverb 2 with the four knob values and FX state.",
    "short_label": "FX 3",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7263-7274",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "525-537",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
     }
    ]
   },
   {
    "mode": "fx_chorus",
    "gesture": "shows",
    "action": "Shows Chorus with the four knob values and FX state.",
    "short_label": "FX 4",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7263-7274",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "525-537",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
     }
    ]
   },
   {
    "mode": "fx_delay_1",
    "gesture": "shows",
    "action": "Shows Delay 1 with the four knob values and FX state.",
    "short_label": "FX 5",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7263-7274",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "525-537",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
     }
    ]
   },
   {
    "mode": "fx_delay_2",
    "gesture": "shows",
    "action": "Shows Delay 2 with the four knob values and FX state.",
    "short_label": "FX 6",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7263-7274",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "525-537",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
     }
    ]
   },
   {
    "mode": "fx_drive",
    "gesture": "shows",
    "action": "Shows Drive with the four knob values and FX state.",
    "short_label": "FX 7",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7263-7274",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "525-537",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
     }
    ]
   },
   {
    "mode": "fx_filter",
    "gesture": "shows",
    "action": "Shows Filter with the four knob values and FX state.",
    "short_label": "FX 8",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7263-7274",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7263-L7274"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "525-537",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L525-L537"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "shows",
    "action": "Shows behavior, register, sound and level.",
    "short_label": "BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7300-7308",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7300-L7308"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "shows",
    "action": "Shows the engine, preview sound and favorite star.",
    "short_label": "BROWSER",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7308-7321",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7308-L7321"
     }
    ]
   },
   {
    "mode": "engine_hold",
    "gesture": "shows",
    "action": "Shows the engine choice and its preset count while GLO stays held.",
    "short_label": "ENGINE HOLD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7412-7427",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7412-L7427"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "shows",
    "action": "Shows time signature and click level.",
    "short_label": "METRONOME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7325-7339",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7325-L7339"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "shows",
    "action": "In Classic, shows LOCK state and type-key and extension-key behavior.",
    "short_label": "LOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7276-7290",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7276-L7290"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "shows",
    "action": "Shows view choices and view-lock state.",
    "short_label": "VIEWS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7291-7300",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7291-L7300"
     }
    ]
   },
   {
    "mode": "loop_1",
    "gesture": "shows",
    "action": "Shows the loop slot, timeline and length, rate, quantize and count-in.",
    "short_label": "PLAY PAGE 1",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6994-7059",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6994-L7059"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6883-6930",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6883-L6930"
     }
    ]
   },
   {
    "mode": "loop_2",
    "gesture": "shows",
    "action": "Shows the loop slot, timeline and level and metronome switch.",
    "short_label": "PLAY PAGE 2",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6994-7059",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6994-L7059"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6883-6930",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6883-L6930"
     }
    ]
   },
   {
    "mode": "loop_edit_1",
    "gesture": "shows",
    "action": "Shows a step grid and length, loop steps, chance and velocity.",
    "short_label": "STEP PAGE 1",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6994-7059",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6994-L7059"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6883-6930",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6883-L6930"
     }
    ]
   },
   {
    "mode": "loop_edit_2",
    "gesture": "shows",
    "action": "Shows a step grid and ratchet, condition, voicing and transpose.",
    "short_label": "STEP PAGE 2",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6994-7059",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6994-L7059"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6883-6930",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6883-L6930"
     }
    ]
   },
   {
    "mode": "save_choice",
    "gesture": "shows",
    "action": "Shows the save or favorite choice, sound name, edit mark and favorite star.",
    "short_label": "SAVE MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7450-7487",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7450-L7487"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "shows",
    "action": "Shows the destination slot, sound name and cursor.",
    "short_label": "SOUND NAME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7488-7503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7488-L7503"
     }
    ]
   },
   {
    "mode": "save_delete",
    "gesture": "shows",
    "action": "Shows the slot and name with a red delete or factory-reset question.",
    "short_label": "DELETE ASK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7435-7448",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7435-L7448"
     }
    ]
   },
   {
    "mode": "count_in",
    "gesture": "shows",
    "action": "Shows remaining count-in beats in red with a progress ring.",
    "short_label": "COUNT-IN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7874-7884",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7874-L7884"
     }
    ]
   },
   {
    "mode": "undo_result",
    "gesture": "shows",
    "action": "Shows remaining recording layers and an undo ring.",
    "short_label": "UNDO RESULT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7886-7895",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7886-L7895"
     }
    ]
   },
   {
    "mode": "panic",
    "gesture": "shows",
    "action": "Shows PANIC in red while the panel lights flash.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7865-7873",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7865-L7873"
     }
    ]
   },
   {
    "mode": "stripes",
    "gesture": "shows",
    "action": "Shows moving stripes at startup or after three idle minutes.",
    "short_label": "IDLE STRIPES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7965-7975",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7965-L7975"
     }
    ]
   },
   {
    "mode": "knob_popup",
    "gesture": "shows",
    "action": "Shows the changed value, parameter name and meter over the current page.",
    "short_label": "KNOB READOUT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7905-7947",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7905-L7947"
     }
    ]
   },
   {
    "mode": "view_chord",
    "gesture": "shows",
    "action": "Shows the chord name, notes, voicing and optional degree.",
    "short_label": "CHORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7830-7846",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7830-L7846"
     }
    ]
   },
   {
    "mode": "view_keyboard",
    "gesture": "shows",
    "action": "Shows the chord and its notes on a keyboard drawing.",
    "short_label": "KEYBOARD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7713-7718",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7713-L7718"
     }
    ]
   },
   {
    "mode": "view_notes",
    "gesture": "shows",
    "action": "Lists voiced note names.",
    "short_label": "NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7719-7735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7719-L7735"
     }
    ]
   },
   {
    "mode": "view_geek",
    "gesture": "shows",
    "action": "Shows the chord name, note list and keyboard, voicing, play style, bass state, tempo and audio, core or boot diagnostics.",
    "short_label": "GEEK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7736-7807",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7736-L7807"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7732-7810",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7732-L7810"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_draw.c",
      "lines": "2765-2775",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_draw.c#L2765-L2775"
     }
    ]
   },
   {
    "mode": "view_scope",
    "gesture": "shows",
    "action": "Draws the audio waveform with the chord above it.",
    "short_label": "SCOPE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7700-7712",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7700-L7712"
     }
    ]
   },
   {
    "mode": "view_geek2",
    "gesture": "shows",
    "action": "Shows two-core load, RAM and pool-memory meters.",
    "short_label": "GEEK2",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7602-7669",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7602-L7669"
     }
    ]
   },
   {
    "mode": "calibration",
    "gesture": "shows",
    "action": "Prompts for buttons and right-turn encoders, then offers to keep or discard the panel map.",
    "short_label": "CALIBRATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "5464-5498",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L5464-L5498"
     }
    ]
   },
   {
    "mode": "safe_mode",
    "gesture": "shows",
    "action": "Shows the safe-mode reason and recovery instructions.",
    "short_label": "SAFE MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6598-6622",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6598-L6622"
     }
    ]
   },
   {
    "mode": "option_play_style",
    "gesture": "shows",
    "action": "Shows Play Style and its value with the battery status in the Options header.",
    "short_label": "PLAY STYLE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_extension_addition",
    "gesture": "shows",
    "action": "Shows Extension Addition and its value with the battery status in the Options header.",
    "short_label": "EXT ADDITION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_secret_chords",
    "gesture": "shows",
    "action": "Shows Secret Chords and its value with the battery status in the Options header.",
    "short_label": "SECRET CHORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_6th_with_7th",
    "gesture": "shows",
    "action": "Shows 6th with 7th and its value with the battery status in the Options header.",
    "short_label": "6TH WITH 7TH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_velocity",
    "gesture": "shows",
    "action": "Shows Velocity and its value with the battery status in the Options header.",
    "short_label": "VELOCITY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_key_touch",
    "gesture": "shows",
    "action": "Shows Key Touch and its value with the battery status in the Options header.",
    "short_label": "KEY TOUCH",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_velocity_sens",
    "gesture": "shows",
    "action": "Shows Velocity Sens and its value with the battery status in the Options header.",
    "short_label": "VEL SENS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_velocity_curve",
    "gesture": "shows",
    "action": "Shows Velocity Curve and its value with the battery status in the Options header.",
    "short_label": "VEL CURVE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_aftertouch_sens",
    "gesture": "shows",
    "action": "Shows Aftertouch Sens and its value with the battery status in the Options header.",
    "short_label": "AT SENS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_bass_behaviour",
    "gesture": "shows",
    "action": "Shows Bass Behaviour and its value with the battery status in the Options header.",
    "short_label": "BASS BEHAV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_single_notes",
    "gesture": "shows",
    "action": "Shows Single Notes and its value with the battery status in the Options header.",
    "short_label": "SINGLE NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_split_point",
    "gesture": "shows",
    "action": "Shows Split Point and its value with the battery status in the Options header.",
    "short_label": "SPLIT POINT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_midi_perform",
    "gesture": "shows",
    "action": "Shows MIDI Perform and its value with the battery status in the Options header.",
    "short_label": "MIDI PERFORM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_midi_bass",
    "gesture": "shows",
    "action": "Shows MIDI Bass and its value with the battery status in the Options header.",
    "short_label": "MIDI BASS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_midi_raw_chord",
    "gesture": "shows",
    "action": "Shows MIDI Raw Chord and its value with the battery status in the Options header.",
    "short_label": "RAW CHORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_raw_chord_sound",
    "gesture": "shows",
    "action": "Shows Raw Chord Sound and its value with the battery status in the Options header.",
    "short_label": "RAW SOUND",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_midi_clock",
    "gesture": "shows",
    "action": "Shows MIDI Clock and its value with the battery status in the Options header.",
    "short_label": "MIDI CLOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_view",
    "gesture": "shows",
    "action": "Shows View and its value with the battery status in the Options header.",
    "short_label": "VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_motion",
    "gesture": "shows",
    "action": "Shows Motion and its value with the battery status in the Options header.",
    "short_label": "MOTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_chord_names",
    "gesture": "shows",
    "action": "Shows Chord Names and its value with the battery status in the Options header.",
    "short_label": "CHORD NAMES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_leds",
    "gesture": "shows",
    "action": "Shows LEDs and its value with the battery status in the Options header.",
    "short_label": "LEDS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_hold_time",
    "gesture": "shows",
    "action": "Shows Hold Time and its value with the battery status in the Options header.",
    "short_label": "HOLD TIME",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_usb_record",
    "gesture": "shows",
    "action": "Shows USB Record and its value with the battery status in the Options header.",
    "short_label": "USB RECORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_usb_level",
    "gesture": "shows",
    "action": "Shows USB Level and its value with the battery status in the Options header.",
    "short_label": "USB LEVEL",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_usb_rate",
    "gesture": "shows",
    "action": "Shows USB Rate and its value with the battery status in the Options header.",
    "short_label": "USB RATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_dual_core",
    "gesture": "shows",
    "action": "Shows Dual Core and its value with the battery status in the Options header.",
    "short_label": "DUAL CORE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_output",
    "gesture": "shows",
    "action": "Shows Output and its value with the battery status in the Options header.",
    "short_label": "OUTPUT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_version",
    "gesture": "shows",
    "action": "Shows firmware version, unit ID and Options battery status.",
    "short_label": "VERSION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_calibrate",
    "gesture": "shows",
    "action": "Shows Calibrate and its value with the battery status in the Options header.",
    "short_label": "CALIBRATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_reset_settings",
    "gesture": "shows",
    "action": "Shows Reset Settings and its value with the battery status in the Options header.",
    "short_label": "RESET SETUP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_safe_mode",
    "gesture": "shows",
    "action": "Shows Safe Mode and its value with the battery status in the Options header.",
    "short_label": "SAFE MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1280-1341",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1280-L1341"
     }
    ]
   },
   {
    "mode": "option_flash_data",
    "gesture": "shows",
    "action": "Shows Flash Data with battery status and, after the first OCT+, a warning that the second OCT+ erases all 128 saved sounds, loops and settings before restarting.",
    "short_label": "FLASH DATA",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7344-7348",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7344-L7348"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7362-7366",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7362-L7366"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3221-3228",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3221-L3228"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6636-6645",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6636-L6645"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/storage.c",
      "lines": "545-550",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L545-L550"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6660-6686",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6660-L6686"
     }
    ]
   },
   {
    "mode": "edit_va_osc_1_1",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 1 and lane 1 active: Wave, Level, Coarse, Fine.",
    "short_label": "VA OSC1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "347-356",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L347-L356"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_2",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 1 and lane 2 active: Wave, Level, Coarse, Fine.",
    "short_label": "VA OSC1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "357-366",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L357-L366"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_3",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 1 and lane 3 active: Wave, Level, Coarse, Fine.",
    "short_label": "VA OSC1C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "367-376",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L367-L376"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_1_4",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 1 and lane 4 active: Wave, Level, Coarse, Fine.",
    "short_label": "VA OSC1D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "377-386",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L377-L386"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_1",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 2 and lane 1 active: Mode, Shape, Key trk, empty.",
    "short_label": "VA OSC2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "399-408",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L399-L408"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_2",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 2 and lane 2 active: Mode, Shape, Key trk, Sync.",
    "short_label": "VA OSC2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "409-418",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L409-L418"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_3",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 2 and lane 3 active: Mode, Shape, Key trk, empty.",
    "short_label": "VA OSC2C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "419-428",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L419-L428"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_2_4",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 2 and lane 4 active: Mode, Shape, Key trk, Ring.",
    "short_label": "VA OSC2D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "429-438",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L429-L438"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_osc_3_1",
    "gesture": "shows",
    "action": "Shows VA OSC with screen 3 and lane 1 active: Level, Level, Level, Level.",
    "short_label": "VA OSC3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "450-459",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L450-L459"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_1",
    "gesture": "shows",
    "action": "Shows VA FILT with screen 1 and lane 1 active: Cutoff, Reso, Ftype, Env amt.",
    "short_label": "VA FILT1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "478-487",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L478-L487"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_filt_1_2",
    "gesture": "shows",
    "action": "Shows VA FILT with screen 1 and lane 2 active: Key trk, empty, Spread, Drive.",
    "short_label": "VA FILT1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "488-497",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L488-L497"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_1",
    "gesture": "shows",
    "action": "Shows VA ENV with screen 1 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "VA ENV1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "516-525",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L516-L525"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_1_2",
    "gesture": "shows",
    "action": "Shows VA ENV with screen 1 and lane 2 active: Hold, Velocity, empty, empty.",
    "short_label": "VA ENV1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "526-535",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L526-L535"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_1",
    "gesture": "shows",
    "action": "Shows VA ENV with screen 2 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "VA ENV2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "547-556",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L547-L556"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_2_2",
    "gesture": "shows",
    "action": "Shows VA ENV with screen 2 and lane 2 active: Hold, empty, empty, empty.",
    "short_label": "VA ENV2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "557-566",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L557-L566"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_1",
    "gesture": "shows",
    "action": "Shows VA ENV with screen 3 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "VA ENV3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "578-587",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L578-L587"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_3_2",
    "gesture": "shows",
    "action": "Shows VA ENV with screen 3 and lane 2 active: Hold, empty, empty, empty.",
    "short_label": "VA ENV3B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "588-597",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L588-L597"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_1",
    "gesture": "shows",
    "action": "Shows VA ENV with screen 4 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "VA ENV4A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "609-618",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L609-L618"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_env_4_2",
    "gesture": "shows",
    "action": "Shows VA ENV with screen 4 and lane 2 active: Hold, empty, empty, empty.",
    "short_label": "VA ENV4B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "619-628",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L619-L628"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_1",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 1 and lane 1 active: Rate, Wave, Depth, Fade.",
    "short_label": "VA LFO1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "648-657",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L648-L657"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_2",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 1 and lane 2 active: Rate, Wave, Depth, Fade.",
    "short_label": "VA LFO1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "658-667",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L658-L667"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_3",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 1 and lane 3 active: Rate, Wave, Depth, Fade.",
    "short_label": "VA LFO1C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "668-677",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L668-L677"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_1_4",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 1 and lane 4 active: Rate, Wave, Depth, Fade.",
    "short_label": "VA LFO1D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "678-687",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L678-L687"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_1",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 2 and lane 1 active: Sync1, empty, empty, empty.",
    "short_label": "VA LFO2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "700-709",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L700-L709"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_2",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 2 and lane 2 active: Sync2, empty, empty, empty.",
    "short_label": "VA LFO2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "710-719",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L710-L719"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_3",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 2 and lane 3 active: Sync3, empty, empty, empty.",
    "short_label": "VA LFO2C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "720-729",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L720-L729"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_2_4",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 2 and lane 4 active: Sync4, empty, empty, empty.",
    "short_label": "VA LFO2D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "730-739",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L730-L739"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_lfo_3_1",
    "gesture": "shows",
    "action": "Shows VA LFO with screen 3 and lane 1 active: Uspread, empty, empty, empty.",
    "short_label": "VA LFO3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "751-760",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L751-L760"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_1",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 1 and lane 1 active: Source, Dest, Amount, empty.",
    "short_label": "VA MOD1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "780-789",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L780-L789"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_2",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 1 and lane 2 active: Source, Dest, Amount, empty.",
    "short_label": "VA MOD1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "790-799",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L790-L799"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_3",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 1 and lane 3 active: Source, Dest, Amount, empty.",
    "short_label": "VA MOD1C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "800-809",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L800-L809"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_4",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 1 and lane 4 active: Source, Dest, Amount, empty.",
    "short_label": "VA MOD1D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "810-819",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L810-L819"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_5",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 1 and lane 5 active: Source, Dest, Amount, empty.",
    "short_label": "VA MOD1E",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "820-829",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L820-L829"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_6",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 1 and lane 6 active: Source, Dest, Amount, empty.",
    "short_label": "VA MOD1F",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "830-839",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L830-L839"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_7",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 1 and lane 7 active: Source, Dest, Amount, empty.",
    "short_label": "VA MOD1G",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "840-849",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L840-L849"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_1_8",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 1 and lane 8 active: Source, Dest, Amount, empty.",
    "short_label": "VA MOD1H",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "850-859",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L850-L859"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_1",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 2 and lane 1 active: VEL, AMP, auto, empty.",
    "short_label": "VA MOD2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "872-881",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L872-L881"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mod_2_2",
    "gesture": "shows",
    "action": "Shows VA MOD with screen 2 and lane 2 active: AT, CUT, auto, empty.",
    "short_label": "VA MOD2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "882-891",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L882-L891"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_fx_1_1",
    "gesture": "shows",
    "action": "Shows VA FX with screen 1 and lane 1 active: Drive, Chorus, Delay, Reverb.",
    "short_label": "VA FX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "910-919",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L910-L919"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_1",
    "gesture": "shows",
    "action": "Shows VA MIX with screen 1 and lane 1 active: Level, Pan, Voice, Glide.",
    "short_label": "VA MIX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "938-947",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L938-L947"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_va_mix_1_2",
    "gesture": "shows",
    "action": "Shows VA MIX with screen 1 and lane 2 active: Trans, Detune, Priority, Gl. mode.",
    "short_label": "VA MIX1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/va.json",
      "lines": "948-957",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/va.json#L948-L957"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_va.c",
      "lines": "134-168",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_va.c#L134-L168"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_1",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 1 and lane 1 active: Level, Coarse, Fine, Detune.",
    "short_label": "FM6 OSC1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "417-426",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L417-L426"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_2",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 1 and lane 2 active: Level, Coarse, Fine, Detune.",
    "short_label": "FM6 OSC1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "427-436",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L427-L436"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_3",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 1 and lane 3 active: Level, Coarse, Fine, Detune.",
    "short_label": "FM6 OSC1C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "437-446",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L437-L446"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_4",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 1 and lane 4 active: Level, Coarse, Fine, Detune.",
    "short_label": "FM6 OSC1D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "447-456",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L447-L456"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_5",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 1 and lane 5 active: Level, Coarse, Fine, Detune.",
    "short_label": "FM6 OSC1E",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "457-466",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L457-L466"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_1_6",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 1 and lane 6 active: Level, Coarse, Fine, Detune.",
    "short_label": "FM6 OSC1F",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "467-476",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L467-L476"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_1",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 2 and lane 1 active: Mode, Vel sens, AM sens, Rate scl.",
    "short_label": "FM6 OSC2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "489-498",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L489-L498"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_2",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 2 and lane 2 active: Mode, Vel sens, AM sens, Rate scl.",
    "short_label": "FM6 OSC2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "499-508",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L499-L508"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_3",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 2 and lane 3 active: Mode, Vel sens, AM sens, Rate scl.",
    "short_label": "FM6 OSC2C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "509-518",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L509-L518"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_4",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 2 and lane 4 active: Mode, Vel sens, AM sens, Rate scl.",
    "short_label": "FM6 OSC2D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "519-528",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L519-L528"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_5",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 2 and lane 5 active: Mode, Vel sens, AM sens, Rate scl.",
    "short_label": "FM6 OSC2E",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "529-538",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L529-L538"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_2_6",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 2 and lane 6 active: Mode, Vel sens, AM sens, Rate scl.",
    "short_label": "FM6 OSC2F",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "539-548",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L539-L548"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_1",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 3 and lane 1 active: Break pt, L depth, R depth, Curve.",
    "short_label": "FM6 OSC3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "561-570",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L561-L570"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_2",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 3 and lane 2 active: Break pt, L depth, R depth, Curve.",
    "short_label": "FM6 OSC3B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "571-580",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L571-L580"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_3",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 3 and lane 3 active: Break pt, L depth, R depth, Curve.",
    "short_label": "FM6 OSC3C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "581-590",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L581-L590"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_4",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 3 and lane 4 active: Break pt, L depth, R depth, Curve.",
    "short_label": "FM6 OSC3D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "591-600",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L591-L600"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_5",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 3 and lane 5 active: Break pt, L depth, R depth, Curve.",
    "short_label": "FM6 OSC3E",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "601-610",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L601-L610"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_osc_3_6",
    "gesture": "shows",
    "action": "Shows FM6 OSC with screen 3 and lane 6 active: Break pt, L depth, R depth, Curve.",
    "short_label": "FM6 OSC3F",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "611-620",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L611-L620"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_filt_1_1",
    "gesture": "shows",
    "action": "Shows FM6 FILT with screen 1 and lane 1 active: Algo, Feedback, Transp, Osc sync.",
    "short_label": "FM6 FILT1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "639-648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L639-L648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_1",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 1 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "FM6 ENV1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "667-676",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L667-L676"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_1_2",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 1 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "FM6 ENV1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "677-686",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L677-L686"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_1",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 2 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "FM6 ENV2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "698-707",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L698-L707"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_2_2",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 2 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "FM6 ENV2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "708-717",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L708-L717"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_1",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 3 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "FM6 ENV3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "729-738",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L729-L738"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_3_2",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 3 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "FM6 ENV3B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "739-748",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L739-L748"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_1",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 4 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "FM6 ENV4A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "760-769",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L760-L769"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_4_2",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 4 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "FM6 ENV4B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "770-779",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L770-L779"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_1",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 5 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "FM6 ENV5A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "791-800",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L791-L800"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_5_2",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 5 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "FM6 ENV5B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "801-810",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L801-L810"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_1",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 6 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "FM6 ENV6A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "822-831",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L822-L831"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_6_2",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 6 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "FM6 ENV6B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "832-841",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L832-L841"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_1",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 7 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "FM6 ENV7A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "853-862",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L853-L862"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_env_7_2",
    "gesture": "shows",
    "action": "Shows FM6 ENV with screen 7 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "FM6 ENV7B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "863-872",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L863-L872"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_1",
    "gesture": "shows",
    "action": "Shows FM6 LFO with screen 1 and lane 1 active: Speed, Delay, PM depth, AM depth.",
    "short_label": "FM6 LFO1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "891-900",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L891-L900"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_lfo_1_2",
    "gesture": "shows",
    "action": "Shows FM6 LFO with screen 1 and lane 2 active: Wave, Sync, PM sens, empty.",
    "short_label": "FM6 LFO1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "901-910",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L901-L910"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_1",
    "gesture": "shows",
    "action": "Shows FM6 MOD with screen 1 and lane 1 active: Bend, Porta, Engine, empty.",
    "short_label": "FM6 MOD1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "929-938",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L929-L938"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_1_2",
    "gesture": "shows",
    "action": "Shows FM6 MOD with screen 1 and lane 2 active: Step, Porta md, Gliss, DX vel.",
    "short_label": "FM6 MOD1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "939-948",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L939-L948"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_1",
    "gesture": "shows",
    "action": "Shows FM6 MOD with screen 2 and lane 1 active: Wheel, W.dst, Foot, F.dst.",
    "short_label": "FM6 MOD2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "960-969",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L960-L969"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_2_2",
    "gesture": "shows",
    "action": "Shows FM6 MOD with screen 2 and lane 2 active: Breath, B.dst, Aftertch, A.dst.",
    "short_label": "FM6 MOD2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "970-979",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L970-L979"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_1",
    "gesture": "shows",
    "action": "Shows FM6 MOD with screen 3 and lane 1 active: VEL, AMP, auto, empty.",
    "short_label": "FM6 MOD3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "992-1001",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L992-L1001"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mod_3_2",
    "gesture": "shows",
    "action": "Shows FM6’s EXPR · AT row with the fixed AT source, its destination and amount, using CUT and auto when no route is set.",
    "short_label": "FM6 EXPR AT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "549-569",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L549-L569"
     }
    ]
   },
   {
    "mode": "edit_fm6_fx_1_1",
    "gesture": "shows",
    "action": "Shows FM6 FX with screen 1 and lane 1 active: Drive, Chorus, Delay, Reverb.",
    "short_label": "FM6 FX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1030-1039",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1030-L1039"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_1",
    "gesture": "shows",
    "action": "Shows FM6 MIX with screen 1 and lane 1 active: Level, Pan, Voice, Glide.",
    "short_label": "FM6 MIX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1058-1067",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1058-L1067"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm6_mix_1_2",
    "gesture": "shows",
    "action": "Shows FM6 MIX with screen 1 and lane 2 active: Trans, Detune, Priority, Gl. mode.",
    "short_label": "FM6 MIX1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm6.json",
      "lines": "1068-1077",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm6.json#L1068-L1077"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_fm6.c",
      "lines": "1285-1324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_fm6.c#L1285-L1324"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_1",
    "gesture": "shows",
    "action": "Shows CZ-1 OSC with screen 1 and lane 1 active: Wave, Wave2, Window, Level.",
    "short_label": "CZ OSC1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "397-406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L397-L406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_1_2",
    "gesture": "shows",
    "action": "Shows CZ-1 OSC with screen 1 and lane 2 active: Wave, Wave2, Window, Level.",
    "short_label": "CZ OSC1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "407-416",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L407-L416"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_2_1",
    "gesture": "shows",
    "action": "Shows CZ-1 OSC with screen 2 and lane 1 active: Sign, Oct, Note, Fine.",
    "short_label": "CZ OSC2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "428-437",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L428-L437"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_osc_3_1",
    "gesture": "shows",
    "action": "Shows CZ-1 OSC with screen 3 and lane 1 active: Level, Level, empty, empty.",
    "short_label": "CZ OSC3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "449-458",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L449-L458"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_1",
    "gesture": "shows",
    "action": "Shows CZ-1 FILT with screen 1 and lane 1 active: DCW key 1, DCW key 2, DCW vel 1, DCW vel 2.",
    "short_label": "CZ FILT1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "477-486",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L477-L486"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_filt_1_2",
    "gesture": "shows",
    "action": "Shows CZ-1 FILT with screen 1 and lane 2 active: DCA key 1, DCA key 2, DCA vel 1, DCA vel 2.",
    "short_label": "CZ FILT1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "487-496",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L487-L496"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 1 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "CZ ENV1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "515-524",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L515-L524"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_1_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 1 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "CZ ENV1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "525-534",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L525-L534"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 2 and lane 1 active: Rate 5, Rate 6, Rate 7, Rate 8.",
    "short_label": "CZ ENV2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "546-555",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L546-L555"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_2_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 2 and lane 2 active: Level 5, Level 6, Level 7, Level 8.",
    "short_label": "CZ ENV2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "556-565",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L556-L565"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_3_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 3 and lane 1 active: Sustain, End, Pitch vel, empty.",
    "short_label": "CZ ENV3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "577-586",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L577-L586"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 4 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "CZ ENV4A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "598-607",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L598-L607"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_4_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 4 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "CZ ENV4B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "608-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L608-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 5 and lane 1 active: Rate 5, Rate 6, Rate 7, Rate 8.",
    "short_label": "CZ ENV5A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "629-638",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L629-L638"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_5_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 5 and lane 2 active: Level 5, Level 6, Level 7, Level 8.",
    "short_label": "CZ ENV5B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "639-648",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L639-L648"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_6_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 6 and lane 1 active: Sustain, End, empty, empty.",
    "short_label": "CZ ENV6A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "660-669",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L660-L669"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 7 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "CZ ENV7A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "681-690",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L681-L690"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_7_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 7 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "CZ ENV7B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "691-700",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L691-L700"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 8 and lane 1 active: Rate 5, Rate 6, Rate 7, Rate 8.",
    "short_label": "CZ ENV8A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "712-721",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L712-L721"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_8_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 8 and lane 2 active: Level 5, Level 6, Level 7, Level 8.",
    "short_label": "CZ ENV8B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "722-731",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L722-L731"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_9_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 9 and lane 1 active: Sustain, End, empty, empty.",
    "short_label": "CZ ENV9A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "743-752",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L743-L752"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 10 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "CZ ENV10A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "764-773",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L764-L773"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_10_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 10 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "CZ ENV10B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "774-783",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L774-L783"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 11 and lane 1 active: Rate 5, Rate 6, Rate 7, Rate 8.",
    "short_label": "CZ ENV11A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "795-804",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L795-L804"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_11_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 11 and lane 2 active: Level 5, Level 6, Level 7, Level 8.",
    "short_label": "CZ ENV11B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "805-814",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L805-L814"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_12_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 12 and lane 1 active: Sustain, End, Pitch vel, empty.",
    "short_label": "CZ ENV12A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "826-835",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L826-L835"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 13 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "CZ ENV13A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "847-856",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L847-L856"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_13_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 13 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "CZ ENV13B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "857-866",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L857-L866"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 14 and lane 1 active: Rate 5, Rate 6, Rate 7, Rate 8.",
    "short_label": "CZ ENV14A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "878-887",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L878-L887"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_14_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 14 and lane 2 active: Level 5, Level 6, Level 7, Level 8.",
    "short_label": "CZ ENV14B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "888-897",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L888-L897"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_15_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 15 and lane 1 active: Sustain, End, empty, empty.",
    "short_label": "CZ ENV15A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "909-918",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L909-L918"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 16 and lane 1 active: Rate 1, Rate 2, Rate 3, Rate 4.",
    "short_label": "CZ ENV16A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "930-939",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L930-L939"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_16_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 16 and lane 2 active: Level 1, Level 2, Level 3, Level 4.",
    "short_label": "CZ ENV16B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "940-949",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L940-L949"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 17 and lane 1 active: Rate 5, Rate 6, Rate 7, Rate 8.",
    "short_label": "CZ ENV17A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "961-970",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L961-L970"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_17_2",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 17 and lane 2 active: Level 5, Level 6, Level 7, Level 8.",
    "short_label": "CZ ENV17B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "971-980",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L971-L980"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_env_18_1",
    "gesture": "shows",
    "action": "Shows CZ-1 ENV with screen 18 and lane 1 active: Sustain, End, empty, empty.",
    "short_label": "CZ ENV18A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "992-1001",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L992-L1001"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_lfo_1_1",
    "gesture": "shows",
    "action": "Shows CZ-1 LFO with screen 1 and lane 1 active: Wave, Delay, Rate, Depth.",
    "short_label": "CZ LFO1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1020-1029",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1020-L1029"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_1_1",
    "gesture": "shows",
    "action": "Shows CZ-1 MOD with screen 1 and lane 1 active: Line, Mod, Oct, empty.",
    "short_label": "CZ MOD1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1048-1057",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1048-L1057"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_1",
    "gesture": "shows",
    "action": "Shows CZ-1 MOD with screen 2 and lane 1 active: VEL, AMP, auto, empty.",
    "short_label": "CZ MOD2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1070-1079",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1070-L1079"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mod_2_2",
    "gesture": "shows",
    "action": "Shows CZ-1 MOD with screen 2 and lane 2 active: AT, CUT, auto, empty.",
    "short_label": "CZ MOD2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1080-1089",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1080-L1089"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_fx_1_1",
    "gesture": "shows",
    "action": "Shows CZ-1 FX with screen 1 and lane 1 active: Drive, Chorus, Delay, Reverb.",
    "short_label": "CZ FX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1108-1117",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1108-L1117"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_1",
    "gesture": "shows",
    "action": "Shows CZ-1 MIX with screen 1 and lane 1 active: Level, Pan, Voice, Glide.",
    "short_label": "CZ MIX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1136-1145",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1136-L1145"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_cz_1_mix_1_2",
    "gesture": "shows",
    "action": "Shows CZ-1 MIX with screen 1 and lane 2 active: Trans, Detune, Priority, Gl. mode.",
    "short_label": "CZ MIX1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/cz-1.json",
      "lines": "1146-1155",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/cz-1.json#L1146-L1155"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_cz.c",
      "lines": "240-269",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_cz.c#L240-L269"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_1",
    "gesture": "shows",
    "action": "Shows FM TONE OSC with screen 1 and lane 1 active: Algo, Ratio C, Ratio A, Ratio B.",
    "short_label": "FMT OSC1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "228-237",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L228-L237"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_1_2",
    "gesture": "shows",
    "action": "Shows FM TONE OSC with screen 1 and lane 2 active: Harm, Dtune, Feedback, Mix.",
    "short_label": "FMT OSC1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "238-247",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L238-L247"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_osc_2_1",
    "gesture": "shows",
    "action": "Shows FM TONE OSC with screen 2 and lane 1 active: Offset C, Offset A, Offset B1, Offset B2.",
    "short_label": "FMT OSC2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "261-270",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L261-L270"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_1",
    "gesture": "shows",
    "action": "Shows FM TONE FILT with screen 1 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "FMT FILT1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "291-300",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L291-L300"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_1_2",
    "gesture": "shows",
    "action": "Shows FM TONE FILT with screen 1 and lane 2 active: Freq, Reso, Type, Env depth.",
    "short_label": "FMT FILT1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "301-310",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L301-L310"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_1",
    "gesture": "shows",
    "action": "Shows FM TONE FILT with screen 2 and lane 1 active: Env delay, Key track, empty, empty.",
    "short_label": "FMT FILT2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "324-333",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L324-L333"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_filt_2_2",
    "gesture": "shows",
    "action": "Shows FM TONE FILT with screen 2 and lane 2 active: Base, Width, empty, empty.",
    "short_label": "FMT FILT2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "334-343",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L334-L343"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_1",
    "gesture": "shows",
    "action": "Shows FM TONE ENV with screen 1 and lane 1 active: A Attack, A Decay, A End, A Level.",
    "short_label": "FMT ENV1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "364-373",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L364-L373"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_1_2",
    "gesture": "shows",
    "action": "Shows FM TONE ENV with screen 1 and lane 2 active: B Attack, B Decay, B End, B Level.",
    "short_label": "FMT ENV1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "374-383",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L374-L383"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_1",
    "gesture": "shows",
    "action": "Shows FM TONE ENV with screen 2 and lane 1 active: A Delay, A Trig, A Reset, Phase.",
    "short_label": "FMT ENV2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "397-406",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L397-L406"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_2_2",
    "gesture": "shows",
    "action": "Shows FM TONE ENV with screen 2 and lane 2 active: B Delay, B Trig, B Reset, Velocity.",
    "short_label": "FMT ENV2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "407-416",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L407-L416"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_3_1",
    "gesture": "shows",
    "action": "Shows FM TONE ENV with screen 3 and lane 1 active: A Key, B1 Key, B2 Key, empty.",
    "short_label": "FMT ENV3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "430-439",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L430-L439"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_1",
    "gesture": "shows",
    "action": "Shows FM TONE ENV with screen 4 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "FMT ENV4A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "453-462",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L453-L462"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_env_4_2",
    "gesture": "shows",
    "action": "Shows FM TONE ENV with screen 4 and lane 2 active: Level, Pan, Drive, empty.",
    "short_label": "FMT ENV4B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "463-472",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L463-L472"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_1",
    "gesture": "shows",
    "action": "Shows FM TONE LFO with screen 1 and lane 1 active: Speed, Mult, Fade, Dest.",
    "short_label": "FMT LFO1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "493-502",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L493-L502"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_1_2",
    "gesture": "shows",
    "action": "Shows FM TONE LFO with screen 1 and lane 2 active: Wave · Phase, Phase, Trig, Depth.",
    "short_label": "FMT LFO1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "503-512",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L503-L512"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_1",
    "gesture": "shows",
    "action": "Shows FM TONE LFO with screen 2 and lane 1 active: Speed, Mult, Fade, Dest.",
    "short_label": "FMT LFO2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "526-535",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L526-L535"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_2_2",
    "gesture": "shows",
    "action": "Shows FM TONE LFO with screen 2 and lane 2 active: Wave · Phase, Phase, Trig, Depth.",
    "short_label": "FMT LFO2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "536-545",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L536-L545"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_1",
    "gesture": "shows",
    "action": "Shows FM TONE LFO with screen 3 and lane 1 active: Speed, Mult, Fade, Dest.",
    "short_label": "FMT LFO3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "559-568",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L559-L568"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_lfo_3_2",
    "gesture": "shows",
    "action": "Shows FM TONE LFO with screen 3 and lane 2 active: Wave · Phase, Phase, Trig, Depth.",
    "short_label": "FMT LFO3B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "569-578",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L569-L578"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_1",
    "gesture": "shows",
    "action": "Shows FM TONE MOD with screen 1 and lane 1 active: ENV, FILT, Env>Filter, empty.",
    "short_label": "FMT MOD1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "598-607",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L598-L607"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_2",
    "gesture": "shows",
    "action": "Shows FM TONE MOD with screen 1 and lane 2 active: ENV, PITCH, Env>Pitch, empty.",
    "short_label": "FMT MOD1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "608-617",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L608-L617"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_3",
    "gesture": "shows",
    "action": "Shows FM TONE MOD with screen 1 and lane 3 active: ENV, SHAPE, Env>Shape, empty.",
    "short_label": "FMT MOD1C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "618-627",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L618-L627"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_1_4",
    "gesture": "shows",
    "action": "Shows FM TONE MOD with screen 1 and lane 4 active: LFO, AMP, Tremolo, empty.",
    "short_label": "FMT MOD1D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "628-637",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L628-L637"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_1",
    "gesture": "shows",
    "action": "Shows FM TONE MOD with screen 2 and lane 1 active: VEL, AMP, auto, empty.",
    "short_label": "FMT MOD2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "650-659",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L650-L659"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mod_2_2",
    "gesture": "shows",
    "action": "Shows FM TONE MOD with screen 2 and lane 2 active: AT, CUT, auto, empty.",
    "short_label": "FMT MOD2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "660-669",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L660-L669"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_fx_1_1",
    "gesture": "shows",
    "action": "Shows FM TONE FX with screen 1 and lane 1 active: Drive, Chorus, Delay, Reverb.",
    "short_label": "FMT FX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "688-697",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L688-L697"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_1",
    "gesture": "shows",
    "action": "Shows FM TONE MIX with screen 1 and lane 1 active: Level, Pan, Voice, Glide.",
    "short_label": "FMT MIX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "716-725",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L716-L725"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_fm_tone_mix_1_2",
    "gesture": "shows",
    "action": "Shows FM TONE MIX with screen 1 and lane 2 active: Trans, Detune, Priority, Gl. mode.",
    "short_label": "FMT MIX1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/fm-tone.json",
      "lines": "726-735",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/fm-tone.json#L726-L735"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_quad.c",
      "lines": "207-234",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_quad.c#L207-L234"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_osc_1_1",
    "gesture": "shows",
    "action": "Shows WHEEL OSC with screen 1 and lane 1 active: Reg, Sub, Body, Top.",
    "short_label": "WHEEL OSC1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "25-34",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L25-L34"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_filt_1_1",
    "gesture": "shows",
    "action": "Shows WHEEL FILT with screen 1 and lane 1 active: Perc, Click, Drv, Rotr.",
    "short_label": "WHEEL FILT1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "53-62",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L53-L62"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_env_1_1",
    "gesture": "shows",
    "action": "Shows WHEEL ENV with screen 1 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "WHEEL ENV1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "81-90",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L81-L90"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_lfo_1_1",
    "gesture": "shows",
    "action": "Shows WHEEL LFO with screen 1 and lane 1 active: Rate, Wave, Vibrato, Wah.",
    "short_label": "WHEEL LFO1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "109-118",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L109-L118"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_1",
    "gesture": "shows",
    "action": "Shows WHEEL MOD with screen 1 and lane 1 active: ENV, FILT, Env>Filter, empty.",
    "short_label": "WHEEL MOD1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "138-147",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L138-L147"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_2",
    "gesture": "shows",
    "action": "Shows WHEEL MOD with screen 1 and lane 2 active: ENV, PITCH, Env>Pitch, empty.",
    "short_label": "WHEEL MOD1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "148-157",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L148-L157"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_3",
    "gesture": "shows",
    "action": "Shows WHEEL MOD with screen 1 and lane 3 active: ENV, SHAPE, Env>Shape, empty.",
    "short_label": "WHEEL MOD1C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "158-167",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L158-L167"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_1_4",
    "gesture": "shows",
    "action": "Shows WHEEL MOD with screen 1 and lane 4 active: LFO, AMP, Tremolo, empty.",
    "short_label": "WHEEL MOD1D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "168-177",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L168-L177"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_1",
    "gesture": "shows",
    "action": "Shows WHEEL MOD with screen 2 and lane 1 active: VEL, AMP, auto, empty.",
    "short_label": "WHEEL MOD2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "190-199",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L190-L199"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mod_2_2",
    "gesture": "shows",
    "action": "Shows WHEEL MOD with screen 2 and lane 2 active: AT, CUT, auto, empty.",
    "short_label": "WHEEL MOD2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "200-209",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L200-L209"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_fx_1_1",
    "gesture": "shows",
    "action": "Shows WHEEL FX with screen 1 and lane 1 active: Drive, Chorus, Delay, Reverb.",
    "short_label": "WHEEL FX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "228-237",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L228-L237"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_1",
    "gesture": "shows",
    "action": "Shows WHEEL MIX with screen 1 and lane 1 active: Level, Pan, Voice, Glide.",
    "short_label": "WHEEL MIX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "256-265",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L256-L265"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_wheel_mix_1_2",
    "gesture": "shows",
    "action": "Shows WHEEL MIX with screen 1 and lane 2 active: Trans, Detune, Priority, Gl. mode.",
    "short_label": "WHEEL MIX1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/wheel.json",
      "lines": "266-275",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/wheel.json#L266-L275"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_wheel.c",
      "lines": "290-302",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_wheel.c#L290-L302"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_1",
    "gesture": "shows",
    "action": "Shows GRAIN OSC with screen 1 and lane 1 active: Type, Tone, Motion, Seed.",
    "short_label": "GRAIN OSC1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "218-227",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L218-L227"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_1_2",
    "gesture": "shows",
    "action": "Shows GRAIN OSC with screen 1 and lane 2 active: Type, Tone, Motion, Seed.",
    "short_label": "GRAIN OSC1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "228-237",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L228-L237"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_1",
    "gesture": "shows",
    "action": "Shows GRAIN OSC with screen 2 and lane 1 active: Size, Dens, Pos, Sprd.",
    "short_label": "GRAIN OSC2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "251-260",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L251-L260"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_osc_2_2",
    "gesture": "shows",
    "action": "Shows GRAIN OSC with screen 2 and lane 2 active: Morph, Rand, Pitch, Scan.",
    "short_label": "GRAIN OSC2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "261-270",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L261-L270"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_1",
    "gesture": "shows",
    "action": "Shows GRAIN FILT with screen 1 and lane 1 active: Cutoff, Reso, Ftype, Drive.",
    "short_label": "GRAIN FILT1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "289-298",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L289-L298"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_filt_1_2",
    "gesture": "shows",
    "action": "Shows GRAIN FILT with screen 1 and lane 2 active: Key trk, empty, empty, empty.",
    "short_label": "GRAIN FILT1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "299-308",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L299-L308"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_1_1",
    "gesture": "shows",
    "action": "Shows GRAIN ENV with screen 1 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "GRAIN ENV1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "329-338",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L329-L338"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_env_2_1",
    "gesture": "shows",
    "action": "Shows GRAIN ENV with screen 2 and lane 1 active: Attack, Decay, Sustain, Release.",
    "short_label": "GRAIN ENV2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "352-361",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L352-L361"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_1",
    "gesture": "shows",
    "action": "Shows GRAIN LFO with screen 1 and lane 1 active: Rate, Wave, Depth, Fade.",
    "short_label": "GRAIN LFO1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "381-390",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L381-L390"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_1_2",
    "gesture": "shows",
    "action": "Shows GRAIN LFO with screen 1 and lane 2 active: Rate, Wave, Depth, Fade.",
    "short_label": "GRAIN LFO1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "391-400",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L391-L400"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_1",
    "gesture": "shows",
    "action": "Shows GRAIN LFO with screen 2 and lane 1 active: Sync1, empty, empty, empty.",
    "short_label": "GRAIN LFO2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "413-422",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L413-L422"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_lfo_2_2",
    "gesture": "shows",
    "action": "Shows GRAIN LFO with screen 2 and lane 2 active: Sync2, empty, empty, empty.",
    "short_label": "GRAIN LFO2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "423-432",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L423-L432"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_1",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 1 and lane 1 active: Source, Dest, Amount, empty.",
    "short_label": "GRAIN MOD1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "452-461",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L452-L461"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_2",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 1 and lane 2 active: Source, Dest, Amount, empty.",
    "short_label": "GRAIN MOD1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "462-471",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L462-L471"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_3",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 1 and lane 3 active: Source, Dest, Amount, empty.",
    "short_label": "GRAIN MOD1C",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "472-481",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L472-L481"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_4",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 1 and lane 4 active: Source, Dest, Amount, empty.",
    "short_label": "GRAIN MOD1D",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "482-491",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L482-L491"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_5",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 1 and lane 5 active: Source, Dest, Amount, empty.",
    "short_label": "GRAIN MOD1E",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "492-501",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L492-L501"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_6",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 1 and lane 6 active: Source, Dest, Amount, empty.",
    "short_label": "GRAIN MOD1F",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "502-511",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L502-L511"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_7",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 1 and lane 7 active: Source, Dest, Amount, empty.",
    "short_label": "GRAIN MOD1G",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "512-521",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L512-L521"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_1_8",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 1 and lane 8 active: Source, Dest, Amount, empty.",
    "short_label": "GRAIN MOD1H",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "522-531",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L522-L531"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_1",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 2 and lane 1 active: VEL, AMP, auto, empty.",
    "short_label": "GRAIN MOD2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "544-553",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L544-L553"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mod_2_2",
    "gesture": "shows",
    "action": "Shows GRAIN MOD with screen 2 and lane 2 active: AT, CUT, auto, empty.",
    "short_label": "GRAIN MOD2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "554-563",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L554-L563"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_fx_1_1",
    "gesture": "shows",
    "action": "Shows GRAIN FX with screen 1 and lane 1 active: Drive, Chorus, Delay, Reverb.",
    "short_label": "GRAIN FX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "582-591",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L582-L591"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_1",
    "gesture": "shows",
    "action": "Shows GRAIN MIX with screen 1 and lane 1 active: Level, Pan, Voice, Glide.",
    "short_label": "GRAIN MIX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "610-619",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L610-L619"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_grain_mix_1_2",
    "gesture": "shows",
    "action": "Shows GRAIN MIX with screen 1 and lane 2 active: Trans, Detune, Priority, Gl. mode.",
    "short_label": "GRAIN MIX1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/grain.json",
      "lines": "620-629",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/grain.json#L620-L629"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/eng_grain.c",
      "lines": "200-222",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/eng_grain.c#L200-L222"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_1",
    "gesture": "shows",
    "action": "Shows P5 OSC with screen 1 and lane 1 active: FREQ, SAW, PULSE, P WIDTH.",
    "short_label": "P5 OSC1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "219-228",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L219-L228"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "38-40",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L38-L40"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/designs/p5-rows.json",
      "lines": "16-115",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/designs/p5-rows.json#L16-L115"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_1_2",
    "gesture": "shows",
    "action": "Shows P5 OSC with screen 1 and lane 2 active: SYNC, MIX A, MIX B, NOISE.",
    "short_label": "P5 OSC1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "229-238",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L229-L238"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "38-40",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L38-L40"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/designs/p5-rows.json",
      "lines": "16-115",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/designs/p5-rows.json#L16-L115"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_1",
    "gesture": "shows",
    "action": "Shows P5 OSC with screen 2 and lane 1 active: FREQ, SAW, TRI, PULSE.",
    "short_label": "P5 OSC2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "252-261",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L252-L261"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_osc_2_2",
    "gesture": "shows",
    "action": "Shows P5 OSC with screen 2 and lane 2 active: FINE, P WIDTH, LO FREQ, KEYB.",
    "short_label": "P5 OSC2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "262-271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L262-L271"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_1_1",
    "gesture": "shows",
    "action": "Shows P5 FILT with screen 1 and lane 1 active: CUTOFF, RES, ENV AMT, REV.",
    "short_label": "P5 FILT1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "292-301",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L292-L301"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_2_1",
    "gesture": "shows",
    "action": "Shows P5 FILT with screen 2 and lane 1 active: ATTACK, DECAY, SUSTAIN, RELEASE.",
    "short_label": "P5 FILT2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "315-324",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L315-L324"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_filt_3_1",
    "gesture": "shows",
    "action": "Shows P5 FILT with screen 3 and lane 1 active: VELOC, empty, KEY TRK, AFTER.",
    "short_label": "P5 FILT3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "338-347",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L338-L347"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_1_1",
    "gesture": "shows",
    "action": "Shows P5 ENV with screen 1 and lane 1 active: ATTACK, DECAY, SUSTAIN, RELEASE.",
    "short_label": "P5 ENV1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "368-377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L368-L377"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_env_2_1",
    "gesture": "shows",
    "action": "Shows P5 ENV with screen 2 and lane 1 active: VELOC, REL SW, empty, empty.",
    "short_label": "P5 ENV2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "391-400",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L391-L400"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_1",
    "gesture": "shows",
    "action": "Shows P5 LFO with screen 1 and lane 1 active: FREQ, SAW, TRI, SQUARE.",
    "short_label": "P5 LFO1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "421-430",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L421-L430"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_1_2",
    "gesture": "shows",
    "action": "Shows P5 LFO with screen 1 and lane 2 active: INIT AMT, AFTER, empty, empty.",
    "short_label": "P5 LFO1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "431-440",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L431-L440"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_1",
    "gesture": "shows",
    "action": "Shows P5 LFO with screen 2 and lane 1 active: SRC MIX, FREQ A, FREQ B, PW A.",
    "short_label": "P5 LFO2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "454-463",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L454-L463"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_lfo_2_2",
    "gesture": "shows",
    "action": "Shows P5 LFO with screen 2 and lane 2 active: PW B, FILTER, empty, empty.",
    "short_label": "P5 LFO2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "464-473",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L464-L473"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_1",
    "gesture": "shows",
    "action": "Shows P5 MOD with screen 1 and lane 1 active: FILT ENV, OSC B, FREQ A, PW A.",
    "short_label": "P5 MOD1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "494-503",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L494-L503"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_1_2",
    "gesture": "shows",
    "action": "Shows P5 MOD with screen 1 and lane 2 active: FILTER, empty, empty, empty.",
    "short_label": "P5 MOD1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "504-513",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L504-L513"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_1",
    "gesture": "shows",
    "action": "Shows P5 MOD with screen 2 and lane 1 active: UNISON, VOICES, DETUNE, GLIDE.",
    "short_label": "P5 MOD2A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "527-536",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L527-L536"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_2_2",
    "gesture": "shows",
    "action": "Shows P5 MOD with screen 2 and lane 2 active: PRIORITY, VINTAGE, empty, empty.",
    "short_label": "P5 MOD2B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "537-546",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L537-L546"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_1",
    "gesture": "shows",
    "action": "Shows P5 MOD with screen 3 and lane 1 active: VEL, AMP, auto, empty.",
    "short_label": "P5 MOD3A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "559-568",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L559-L568"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mod_3_2",
    "gesture": "shows",
    "action": "Shows P5 MOD with screen 3 and lane 2 active: AT, CUT, auto, empty.",
    "short_label": "P5 MOD3B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "569-578",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L569-L578"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_fx_1_1",
    "gesture": "shows",
    "action": "Shows P5 FX with screen 1 and lane 1 active: Drive, Chorus, Delay, Reverb.",
    "short_label": "P5 FX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "597-606",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L597-L606"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_1",
    "gesture": "shows",
    "action": "Shows P5 MIX with screen 1 and lane 1 active: Level, Pan, Voice, Glide.",
    "short_label": "P5 MIX1A",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "625-634",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L625-L634"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "edit_p5_mix_1_2",
    "gesture": "shows",
    "action": "Shows P5 MIX with screen 1 and lane 2 active: Trans, Detune, Priority, Gl. mode.",
    "short_label": "P5 MIX1B",
    "evidence": "inferred",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "design/layouts/p5.json",
      "lines": "635-644",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/design/layouts/p5.json#L635-L644"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "453-468",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L453-L468"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "tools/gen_layout.py",
      "lines": "41",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/tools/gen_layout.py#L41"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_pages.c",
      "lines": "118-143",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_pages.c#L118-L143"
     }
    ],
    "evidence_note": "Derived from the tagged repository layout catalog and general editor dispatch; this individual parameter binding was not traced through its release handler."
   },
   {
    "mode": "home",
    "gesture": "shows",
    "action": "Shows the selected HOME view: Chord, Keyboard, Notes, Geek Out, Scope or Geek Out 2.",
    "short_label": "HOME VIEW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "541",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L541"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "3726-3729",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3726-L3729"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7694-7713",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7694-L7713"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7732-7736",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7732-L7736"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7837-7843",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7837-L7843"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7969-7976",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7969-L7976"
     }
    ]
   },
   {
    "mode": "option_chord_keys",
    "gesture": "shows",
    "short_label": "CHORD KEYS",
    "action": "Shows Chord Keys as Classic or FM-1 with a hint about the selected layout.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1291-1301",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1291-L1301"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7351-7383",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7351-L7383"
     }
    ]
   },
   {
    "mode": "option_sus_window",
    "gesture": "shows",
    "short_label": "SUS WINDOW",
    "action": "Shows the selected SUS Window in milliseconds while the FM-1 layout is active.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1291-1301",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1291-L1301"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7351-7383",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7351-L7383"
     }
    ]
   },
   {
    "mode": "option_full_k_shorts",
    "gesture": "shows",
    "short_label": "FULL SHORTS",
    "action": "Shows whether Full K Shorts is Off or On with its F#5 and G5 hint.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1291-1301",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1291-L1301"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7351-7383",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7351-L7383"
     }
    ]
   },
   {
    "mode": "option_midi_keys",
    "gesture": "shows",
    "short_label": "MIDI KEYS",
    "action": "Shows MIDI Keys as Off or its chosen channel with the key-range hint.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1291-1301",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1291-L1301"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7351-7383",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7351-L7383"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "shows",
    "short_label": "FM1 CHORDS",
    "action": "Shows the ordinary chosen view and chord names under the FM-1 layout, with lock available on the Full keyboard and Latch taking precedence when displayed.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6455-6462",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6455-L6462"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "shows",
    "short_label": "FM1 LOCK",
    "action": "With FM-1 chord keys, the LOCK layer shows its Type key and Ext keys choices with LFO as the on/off button.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7275-7295",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7275-L7295"
     }
    ]
   }
  ],
  "knob_master": [
   {
    "mode": "any",
    "gesture": "turn",
    "action": "Sets speaker and headphone level, also setting USB recording level when USB Level is Master.",
    "short_label": "MASTER",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/master.c",
      "lines": "21-29",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/master.c#L21-L29"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "7370-7373",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7370-L7373"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/fx.c",
      "lines": "647-654",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/fx.c#L647-L654"
     }
    ]
   }
  ],
  "jack_midi_in": [
   {
    "mode": "any",
    "gesture": "shows",
    "action": "Receives notes and controllers for the chord and bass parts on their MIDI channels, with incoming clock and transport followed when MIDI Clock is In.",
    "short_label": "MIDI IN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/choralroot.c",
      "lines": "40-50",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/choralroot.c#L40-L50"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "702-756",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L702-L756"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "173-200",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L173-L200"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "shows",
    "action": "On the configured part channels, program changes select sounds and CC 7, 91, 93 and 94 set level, reverb, chorus and delay sends respectively.",
    "short_label": "MIDI MIX",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_midi.c",
      "lines": "76-99",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_midi.c#L76-L99"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "shows",
    "action": "With MIDI Keys enabled, notes 53–79 on its channel press F3–G5 through the active layout and screen, CC 120 or 123 releases MIDI-held keys, and other messages on that channel are ignored, with Fixed touch using Options Velocity.",
    "short_label": "MIDI KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_midi.c",
      "lines": "109-121",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_midi.c#L109-L121"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "738-748",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L738-L748"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4791-4826",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4791-L4826"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1190-1216",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1190-L1216"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4579-4595",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4579-L4595"
     }
    ]
   }
  ],
  "jack_usb_c": [
   {
    "mode": "any",
    "gesture": "shows",
    "action": "Sends performance, bass and optional raw-chord MIDI streams on the channels set in Options, with channel 1, channel 2 and raw off as the defaults.",
    "short_label": "MIDI USB",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1053-1064",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1053-L1064"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "8349-8351",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L8349-L8351"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "365-369",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L365-L369"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "shows",
    "action": "Offers ChoralRoot In for six-channel recording as master, chord and bass stereo pairs at 44.1 kHz or 48 kHz according to USB Rate.",
    "short_label": "USB RECORD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/usb_audio_desc.h",
      "lines": "11-25",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/usb_audio_desc.h#L11-L25"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/usb.c",
      "lines": "313-314",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/usb.c#L313-L314"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1134-1140",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1134-L1140"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "shows",
    "action": "Presents the serial console instead of USB audio when USB Record is Off or safe mode blocks recording.",
    "short_label": "USB CONSOLE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/usb.c",
      "lines": "1101-1110",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/usb.c#L1101-L1110"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/core.h",
      "lines": "562",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/core.h#L562"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "shows",
    "action": "A valid 32-voice DX7 dump replaces B1–B32 and attempts to save the bank without a panel question, while SAFE MODE blocks the flash write.",
    "short_label": "DX7 BANK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/fm6_store.c",
      "lines": "92-114",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/fm6_store.c#L92-L114"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_bank.c",
      "lines": "33-44",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_bank.c#L33-L44"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "23-27",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L23-L27"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/core.h",
      "lines": "560-561",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/core.h#L560-L561"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "shows",
    "action": "A valid single DX7 voice replaces the active FM6 part’s edit buffer and stops its notes, with SAVE needed to keep it as a sound.",
    "short_label": "DX7 VOICE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/fm6_store.c",
      "lines": "79-91",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/fm6_store.c#L79-L91"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "shows",
    "action": "A valid CZ tone dump replaces the selected CZ-1 part’s edit buffer, with SAVE needed to keep it as a sound.",
    "short_label": "CZ TONE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cz_store.c",
      "lines": "29-37",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cz_store.c#L29-L37"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cz_store.c",
      "lines": "52-63",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cz_store.c#L52-L63"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "shows",
    "action": "With MIDI Keys enabled, notes 53–79 on its channel press F3–G5 through the active layout and screen, CC 120 or 123 releases MIDI-held keys, and other messages on that channel are ignored, with Fixed touch using Options Velocity.",
    "short_label": "MIDI KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_midi.c",
      "lines": "109-121",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_midi.c#L109-L121"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_out.c",
      "lines": "738-748",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L738-L748"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4791-4826",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4791-L4826"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "1190-1216",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1190-L1216"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4579-4595",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4579-L4595"
     }
    ]
   }
  ],
  "switch_power": [
   {
    "mode": "startup",
    "gesture": "power_on_holding:button_oct_down",
    "action": "Starts update mode with three short key-light flashes when a valid loader is available on the first rescue attempt, otherwise gives one long flash and enters the chip’s USB boot.",
    "short_label": "UPDATE MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/stub/stub_core.h",
      "lines": "247-250",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/stub/stub_core.h#L247-L250"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/stub/stub_core.h",
      "lines": "268-296",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/stub/stub_core.h#L268-L296"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/stub/stub.c",
      "lines": "390-409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/stub/stub.c#L390-L409"
     }
    ]
   },
   {
    "mode": "startup",
    "gesture": "power_on_holding:button_oct_down+button_oct_up",
    "action": "Starts panel calibration when both octave buttons are held at power-on and immediately saves changed automatic settings with the current panel table before calibration is completed.",
    "short_label": "CALIBRATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/main.c",
      "lines": "295-299",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/main.c#L295-L299"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_shim.c",
      "lines": "90-94",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_shim.c#L90-L94"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_settings.c",
      "lines": "1460-1478",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1460-L1478"
     }
    ]
   }
  ]
 },
 "lights": {
  "button_fx": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode FX is enabled unless the sound editor is showing a section.",
    "short_label": "FX ON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6135-6157",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6135-L6157"
     }
    ]
   },
   {
    "mode": "fx",
    "gesture": "blinking",
    "action": "In Glow mode this button’s layer is open.",
    "short_label": "LAYER OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6175"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "lit",
    "action": "In Glow mode the sound editor’s OSC section is selected.",
    "short_label": "EDIT OSC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6176-6178",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6176-L6178"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   }
  ],
  "button_sel": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode Key Mode is enabled unless the sound editor is showing a section.",
    "short_label": "KEY MODE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6135-6157",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6135-L6157"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "blinking",
    "action": "In Glow mode this button’s layer is open.",
    "short_label": "LAYER OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6175"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "lit",
    "action": "In Glow mode the sound editor’s FILT section is selected.",
    "short_label": "EDIT FILT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6176-6178",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6176-L6178"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   }
  ],
  "button_env": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode bass is enabled unless the sound editor is showing a section.",
    "short_label": "BASS ON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6135-6157",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6135-L6157"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "blinking",
    "action": "In Glow mode this button’s layer is open.",
    "short_label": "LAYER OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6175"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "lit",
    "action": "In Glow mode the sound editor’s ENV section is selected.",
    "short_label": "EDIT ENV",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6176-6178",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6176-L6178"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   }
  ],
  "button_lfo": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Classic, in Glow mode LATCH or a performance hold is keeping notes.",
    "short_label": "LATCH ON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6135-6157",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6135-L6157"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6139-6150",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6139-L6150"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "lit",
    "action": "In Glow mode the sound editor’s LFO section is selected.",
    "short_label": "EDIT LFO",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6176-6178",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6176-L6178"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   },
   {
    "mode": "fm1_layout_active",
    "gesture": "lit",
    "short_label": "LOCK ON",
    "action": "In Glow mode with FM-1 chord keys, lights steadily for LOCK while no Latch indication or open LOCK layer replaces it.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6139-6150",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6139-L6150"
     }
    ]
   },
   {
    "mode": "fm1_layout_active",
    "gesture": "blinking",
    "short_label": "LATCH PULSE",
    "action": "In Glow mode with FM-1 chord keys, Latch or performance Hold pulses through lit, middle, dim and middle at 300 ms per phase, or alternates lit and middle with LOCK on.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6141-6150",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6141-L6150"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "blinking",
    "short_label": "FM1 LOCK",
    "action": "With FM-1 chord keys, blinks while the LOCK layer is open.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "618-620",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L618-L620"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6174",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6174"
     }
    ]
   }
  ],
  "button_edit": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "engine_picker",
    "gesture": "blinking",
    "action": "In Glow mode this button’s layer is open.",
    "short_label": "LAYER OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6175"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "blinking",
    "action": "In Glow mode the sound editor is open.",
    "short_label": "SOUND EDIT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6154-6155",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6154-L6155"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "blinking",
    "action": "In Glow mode the loop editor is open.",
    "short_label": "LOOP EDIT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6154-6159",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6154-L6159"
     }
    ]
   }
  ],
  "button_glo": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode Options or GLO shift is active, or KEY keys are Play, or PLAY keys are Loops.",
    "short_label": "OPTION STATE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6135-6157",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6135-L6157"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "lit",
    "action": "In Glow mode the editor’s snapped-value shift is latched or held.",
    "short_label": "EDIT SNAP",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6176-6178",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6176-L6178"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   }
  ],
  "button_home": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "blinking",
    "action": "In Glow mode this button’s layer is open.",
    "short_label": "LAYER OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6175"
     }
    ]
   }
  ],
  "button_save": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode the Save menu or naming page is open.",
    "short_label": "SAVE OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6135-6157",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6135-L6157"
     }
    ]
   }
  ],
  "button_arp": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode performance is enabled unless the sound editor is showing a section.",
    "short_label": "PERFORM ON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6135-6157",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6135-L6157"
     }
    ]
   },
   {
    "mode": "perf",
    "gesture": "blinking",
    "action": "In Glow mode this button’s layer is open.",
    "short_label": "LAYER OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6175"
     }
    ]
   }
  ],
  "button_seq": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "blinking",
    "action": "In Glow mode this button’s layer is open.",
    "short_label": "LAYER OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6175"
     }
    ]
   },
   {
    "mode": "loop_editor",
    "gesture": "blinking",
    "action": "In Glow mode the loop editor is open.",
    "short_label": "LOOP EDIT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6154-6159",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6154-L6159"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "lit",
    "action": "In Glow mode the PLAY menu is open.",
    "short_label": "PLAY MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6157-6159",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6157-L6159"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "lit",
    "action": "In Glow mode the sound editor’s MOD section is selected.",
    "short_label": "EDIT MOD",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6176-6178",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6176-L6178"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   }
  ],
  "button_play_stop": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "blinking",
    "action": "In Glow mode this button’s layer is open.",
    "short_label": "LAYER OPEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6169-6175",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6169-L6175"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "Its orange light in Glow mode means a loop is present, except where the sound editor owns this button.",
    "short_label": "LOOP EXISTS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6160-6166",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6160-L6166"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "lit",
    "action": "In Glow mode the sound editor’s FX section is selected.",
    "short_label": "EDIT FX",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6176-6178",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6176-L6178"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   }
  ],
  "button_rec": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode recording is armed or Step entry is active, unless the sound editor owns this button.",
    "short_label": "RECORD READY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6160-6164",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6160-L6164"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "In Glow mode count-in, recording or overdubbing is underway, unless the sound editor owns this button.",
    "short_label": "RECORDING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6160-6164",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6160-L6164"
     }
    ]
   },
   {
    "mode": "sound_edit",
    "gesture": "lit",
    "action": "In Glow mode the sound editor’s MIX section is selected.",
    "short_label": "EDIT MIX",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6176-6178",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6176-L6178"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_edit.c",
      "lines": "1363-1377",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_edit.c#L1363-L1377"
     }
    ]
   }
  ],
  "button_oct_down": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "lit",
    "action": "In Glow mode the playing octave is below zero.",
    "short_label": "OCTAVE SHIFT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6186-6188",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6186-L6188"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "lit",
    "action": "In Glow mode the step-entry back and rest actions are available.",
    "short_label": "STEP ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6180-6182",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6180-L6182"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode a picker or layer offers Back on OCT-.",
    "short_label": "BACK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6183-6185",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6183-L6185"
     }
    ]
   }
  ],
  "button_oct_up": [
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode this button glows dimly behind its active indication.",
    "short_label": "GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6190-6191",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6190-L6191"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode an idle button is lit and its active indication is dark, with picker selections preserved.",
    "short_label": "STOCK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "home",
    "gesture": "lit",
    "action": "In Glow mode the playing octave is above zero.",
    "short_label": "OCTAVE SHIFT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6186-6188",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6186-L6188"
     }
    ]
   },
   {
    "mode": "step_entry",
    "gesture": "lit",
    "action": "In Glow mode the step-entry back and rest actions are available.",
    "short_label": "STEP ACTION",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6180-6182",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6180-L6182"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "In Glow mode a picker or layer offers confirm or close on OCT+.",
    "short_label": "CONFIRM",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6183-6185",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6183-L6185"
     }
    ]
   }
  ],
  "led_play_stop_green": [
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode the green transport light is on while a loop plays.",
    "short_label": "LOOP PLAYING",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6166-6167",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6166-L6167"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/hal/fm1_input.h",
      "lines": "153-159",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/hal/fm1_input.h#L153-L159"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "off",
    "action": "The green transport light is dark while the loop is stopped.",
    "short_label": "LOOP STOPPED",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6166-6167",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6166-L6167"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/hal/fm1_input.h",
      "lines": "153-159",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/hal/fm1_input.h#L153-L159"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "off",
    "action": "Stock mode keeps the green transport LED dark because its inversion stage removes the playback bit.",
    "short_label": "STOCK GREEN",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6166-6167",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6166-L6167"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/hal/fm1_input.h",
      "lines": "153-159",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/hal/fm1_input.h#L153-L159"
     }
    ]
   }
  ],
  "key_lights": [
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Glow mode sounding pitch classes light every playable key with that note name, including notes voiced beyond the keybed.",
    "short_label": "SOUND NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6272-6293",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6272-L6293"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "dim",
    "action": "Playing-loop notes glow on playable keys by note name.",
    "short_label": "LOOP NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6317-6320",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6317-L6320"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "In Glow mode the currently performed note blinks on each playable key with its name.",
    "short_label": "PERFORM NOTE",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6288-6291",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6288-L6291"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "dim",
    "action": "With Key Mode on, Glow marks scale notes dimly and the tonic more brightly.",
    "short_label": "SCALE NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6307-6315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6307-L6315"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "off",
    "action": "With Key Mode off, Glow leaves idle playable keys dark.",
    "short_label": "IDLE NOTES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6307-6309",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6307-L6309"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow mode the idle chord-control block is faint, while its held or locked modifiers are bright.",
    "short_label": "CHORD KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6201-6224",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6201-L6224"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "lit",
    "action": "In Stock mode idle key indications are bright and active notes are dark, while picker selections stay bright.",
    "short_label": "STOCK KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "lit",
    "action": "The selected Major or Minor scale key is bright, with tonic and scale indications on the root keys.",
    "short_label": "KEY PICK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6210-6218",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6210-L6218"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6252-6266",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6252-L6266"
     }
    ]
   },
   {
    "mode": "key",
    "gesture": "off",
    "action": "In Classic, six chord modifier keys without a KEY-pick action stay dark.",
    "short_label": "NO KEY PICK",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6210-6218",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6210-L6218"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6201-6223",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6201-L6223"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "lit",
    "action": "In Glow, PLAY Keys set to Loops shows saved slots brightly and blinks the selected slot, with Clear and Undo lit.",
    "short_label": "LOOP SLOTS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6230-6244",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6230-L6244"
     }
    ]
   },
   {
    "mode": "bass",
    "gesture": "dim",
    "action": "The bass behavior choices glow, with the selected behavior bright.",
    "short_label": "BASS CHOICES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6245-6252",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6245-L6252"
     }
    ]
   },
   {
    "mode": "metro",
    "gesture": "dim",
    "action": "The time-signature choices glow, with the selection bright.",
    "short_label": "SIGN CHOICES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6245-6252",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6245-L6252"
     }
    ]
   },
   {
    "mode": "view_menu",
    "gesture": "dim",
    "action": "The view choices glow, with the current view bright.",
    "short_label": "VIEW CHOICES",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6245-6252",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6245-L6252"
     }
    ]
   },
   {
    "mode": "save_name",
    "gesture": "lit",
    "action": "The letter keys, space and delete key are lit while entering a name.",
    "short_label": "NAME KEYS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6267-6271",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6267-L6271"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "blinking",
    "action": "Flashes during PANIC and while the HOME plus both-octave update countdown is visible.",
    "short_label": "PANIC",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6114-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6114-L6133"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_backup.c",
      "lines": "1198-1202",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1198-L1202"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6115-6133",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6115-L6133"
     }
    ]
   },
   {
    "mode": "startup",
    "gesture": "flash",
    "action": "Three short flashes on the first key column indicate handover to the saved update loader.",
    "short_label": "LOADER READY",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/stub/stub.c",
      "lines": "268-278",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/stub/stub.c#L268-L278"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/stub/stub.c",
      "lines": "401-405",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/stub/stub.c#L401-L405"
     }
    ]
   },
   {
    "mode": "startup",
    "gesture": "flash",
    "action": "One long flash on the first key column precedes entry into the chip’s USB boot.",
    "short_label": "USB BOOT",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/stub/stub.c",
      "lines": "268-278",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/stub/stub.c#L268-L278"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/stub/stub.c",
      "lines": "407-409",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/stub/stub.c#L407-L409"
     }
    ]
   },
   {
    "mode": "loop",
    "gesture": "lit",
    "action": "In Stock with PLAY Keys set to Loops, all ten slot keys are bright and Clear and Undo are dark, so their lights cannot distinguish empty slots from saved ones.",
    "short_label": "STOCK SLOTS",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6230-6244",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6230-L6244"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6321-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6321-L6328"
     }
    ]
   },
   {
    "mode": "any",
    "gesture": "dim",
    "action": "In Glow with Key Mode on, Key plays set to Notes and Snap enabled, playable keys outside the scale glow faintly because Snap gives them notes.",
    "short_label": "SNAP GLOW",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6107-6113",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6107-L6113"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6252-6266",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6252-L6266"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6306-6315",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6306-L6315"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6852-6863",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6852-L6863"
     }
    ]
   },
   {
    "mode": "fm1_chords",
    "gesture": "lit",
    "short_label": "FM1 MODS",
    "action": "In Glow mode with FM-1 chord keys, low modifier lights follow held or locked settings, showing SUS as G#3 and A#3 together and the ninth on B3.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "4529-4542",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4529-L4542"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6201-6223",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6201-L6223"
     }
    ]
   },
   {
    "mode": "full_shortcuts",
    "gesture": "lit",
    "short_label": "SHORTCUT ON",
    "action": "In Glow mode with Full K Shorts On, F#5 and G5 light for their enabled switches and stay faint while disabled, except during KEY Pick.",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6225-6227",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6225-L6227"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6322-6328",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6322-L6328"
     }
    ]
   }
  ],
  "led_b3": [
   {
    "mode": "home",
    "gesture": "lit",
    "action": "In Classic, in Glow mode LOCK is on.",
    "short_label": "LOCK ON",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6201-6208",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6201-L6208"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6201-6223",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6201-L6223"
     }
    ]
   },
   {
    "mode": "lock",
    "gesture": "blinking",
    "action": "In Classic, in Glow mode the LOCK layer is open.",
    "short_label": "LOCK MENU",
    "evidence": "read-in-source",
    "source": [
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6201-6208",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6201-L6208"
     },
     {
      "kind": "source",
      "repo": "Quixotic7/ChoralRootFM1",
      "ref": "v0.24",
      "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
      "path": "firmware/src/cr_ui.c",
      "lines": "6201-6223",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6201-L6223"
     }
    ]
   }
  ]
 },
 "groups": {
  "key_lights": [
   "led_f3",
   "led_fs3",
   "led_g3",
   "led_gs3",
   "led_a3",
   "led_as3",
   "led_b3",
   "led_c4",
   "led_cs4",
   "led_d4",
   "led_ds4",
   "led_e4",
   "led_f4",
   "led_fs4",
   "led_g4",
   "led_gs4",
   "led_a4",
   "led_as4",
   "led_b4",
   "led_c5",
   "led_cs5",
   "led_d5",
   "led_ds5",
   "led_e5",
   "led_f5",
   "led_fs5",
   "led_g5"
  ]
 },
 "switching_note": {
  "kept_on_unit": "ChoralRoot keeps 128 saved sounds with their deep patches, imported DX7 voices, eight CZ-1 banks, favourite marks, ten event loops, settings and a separate session snapshot. SAVE held stores the current playing setup, both live sounds and any changed loop. Options and favourites can save after a quiet pause; leaving a changed loop slot writes it immediately while stopped, but stages it for a later write while playing. At normal startup it prepares spare flash space even before a save: with no matching commits, session A at 0xB4000, favourites A at 0xB6000 and the next pool sector at 0xB8000 can be erased. If no pool bank exists and UPB1 records at 0xDC000–0xDFFFF pass the legacy checks, first boot also copies slots 1–32 into four banks at 0xB8000–0xBBFFF and prepares 0xBC000 by erasing it if nonblank before any SAVE action; compatible foreign UPB1 presets can be copied too. From the flash atlas (generated): install with the release package and its included loader: Writes changed program sectors at 0x4000–0x92FFF, preparing its recovery marker before the main program and committing that marker last. This range includes M-VAVE Open’s sixteen saved projects, preferences and sample header, so installing ChoralRoot over Open replaces them (a verified package is accepted by the update path; ChoralRoot’s own installer asks for a forced install over unsupported firmware, including Open, and asks again if a requested backup fails). install staging and record cleanup: Stages the incoming loader and update record, then clears valid update records found at sector tails between 0x93000 and 0xFBFFF. Its staging record at 0xE4000 is normally cleared too (after an update is started; each cleanup erase requires a valid update record). first normal start with no matching ChoralRoot commits, before audio: Before audio starts, prepares the session sector at 0xB4000, favourites at 0xB6000 and first sound-pool target at 0xB8000, erasing nonblank contents. Existing ChoralRoot saves can select different spare sectors. Migration of older sounds can write further, as described separately (on the expected flash chip outside Safe Mode, when no matching ChoralRoot saves exist). first normal boot with legacy sounds but no pool bank: Copies readable older sounds 1–32 into four banks at 0xB8000–0xBBFFF, then prepares 0xBC000. The older source banks remain intact. A failed migration can leave a partial pool; the next boot does not automatically finish the remaining sounds (when no valid sound-pool bank exists and at least one older sound passes validation). every app boot, Safe Mode included: Keeps a structurally recognized recovery loader in staging. Otherwise it clears staging when the checked areas show use. Recognition does not verify the complete loader contents (when the staging checks find an earlier loader or update request). power-on calibration gesture: Saves changed settings and panel calibration before starting calibration; pending favourite changes can be saved too. An imported LOWCUT/BASS+ choice is turned off and can make this save necessary (when OCT- and OCT+ are held at startup, outside Safe Mode, on the expected flash chip, and settings have changed). after boot suppresses Dual Core following core-1 failure: After a remembered second-core failure, turns Dual Core off and schedules an ordinary automatic settings save (when Dual Core was on, a failure was remembered, and normal quiet-time write conditions allow the save). What ChoralRoot writes over the previous firmware's data is in overwrites_previous; what the next firmware writes over ChoralRoot's is in when_you_leave.",
  "lost": "Powering off or entering update mode can lose unsaved edits since the last global save. The three-button update gesture writes only automatic settings/calibration and pending favourite changes when not busy; it does not save the live session or changed loop. Backups omit the separate session snapshot, and restoring settings writes an empty session record. Confirmed Safe Mode Flash Data deletes all 128 saved sounds, every loop slot, imported DX7 and CZ-1 banks, favorites, the session, settings and legacy stores; the firmware and update area remain. From the flash atlas (generated): What ChoralRoot reads of other firmwares' data: ChoralRoot takes over Felucca's settings, button calibration, favourites, MIDI LEARN map, converting them (on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off); ChoralRoot takes over JIANT's settings, calibration, favourites, MENU options, converting them (on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off); ChoralRoot takes over GHOULBOX's settings and panel calibration, converting them (on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off); ChoralRoot lists Felucca's user presets 1-16; user presets 17-32, but plays them differently (legacy records may be copied, but retired/renumbered engines and foreign deep patches change their sound; confirmed Flash Data still erases the sources); ChoralRoot lists SLOOP's user sounds U01-U16; user sounds U17-U32, but plays them differently (legacy records may be copied, but retired/renumbered engines and foreign deep patches change their sound; confirmed Flash Data still erases the sources); ChoralRoot lists JIANT's user sounds U01-U16; user sounds U17-U32, but plays them differently (legacy records may be copied, but retired/renumbered engines and foreign deep patches change their sound; confirmed Flash Data still erases the sources); ChoralRoot lists GHOULBOX's user sounds 1–16; user sounds 17–32, but plays them differently (legacy records may be copied, but retired/renumbered engines and foreign deep patches change their sound; confirmed Flash Data still erases the sources); ChoralRoot takes over Hortator's settings and panel calibration, converting them (settings convert when read; next save writes a newer format the previous firmware cannot import); ChoralRoot takes over Skiff's settings, calibration and favourites, converting them (After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format); ChoralRoot lists Skiff's user sound bank 1; user sound bank 2, but plays them differently (renumbered and disabled engines change sound; deep FM6 patches are not imported). Everything else of another firmware's looks empty or foreign to the reader.",
  "back_up_first": "Use the firmware’s device manager or its backup tool over USB MIDI to save a backup before changing versions. It covers settings as last written, saved sound-pool banks, imported FM6 and CZ-1 banks, favourites and ten loop slots. Pending favourites can be included from RAM, but a backup read does not save pending Options or take a global session snapshot. Hold SAVE first for work you want kept on the unit; save important live sounds as presets because the session itself is outside the backup.",
  "going_back": "The 0.24 release notes say older builds use Classic and do not know Chord Keys, Full K Shorts, SUS Window or MIDI Keys. New layout/window/shortcut bits can make them read LATCH as Off; a MIDI Keys channel makes them read Raw Chord Sound as Off. These choices return with 0.24 unless the older firmware saved settings over them. Full keyboard KNOB 1 becomes octave there again. Beta3 otherwise keeps this release’s data behavior; beta2 Flash Data leaves the saved sound pool intact. Beta1 and v0.23 retain GRAIN records but play the VA starting sound, and v0.23 reads Vel + Poly AT as Fixed. Older-version details are vendor-doc evidence from this tag’s release notes. Returning to 0.21 finds its pre-migration 32 sounds; later pool edits do not update those old slots. Keep a backup made by the version that saved your work.",
  "source": [
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/upool.c",
    "lines": "3-19",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/upool.c#L3-L19"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/upool.c",
    "lines": "279-335",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/upool.c#L279-L335"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_ui.c",
    "lines": "2160-2217",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2160-L2217"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_ui.c",
    "lines": "2757-2834",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2757-L2834"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_settings.c",
    "lines": "1295-1321",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1295-L1321"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/storage.c",
    "lines": "427-445",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L427-L445"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/storage.c",
    "lines": "686-734",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L686-L734"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_settings.c",
    "lines": "1410-1504",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1410-L1504"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_backup.c",
    "lines": "72-80",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L72-L80"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_backup.c",
    "lines": "285-308",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L285-L308"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_backup.c",
    "lines": "606-629",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L606-L629"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_backup.c",
    "lines": "1211-1215",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1211-L1215"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_ui.c",
    "lines": "6636-6642",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6636-L6642"
   },
   {
    "kind": "doc",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "docs/releases/0.24-beta2.md",
    "lines": "94-115",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/releases/0.24-beta2.md#L94-L115"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/upool.c",
    "lines": "301-335",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/upool.c#L301-L335"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/upreset.c",
    "lines": "63-69",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/upreset.c#L63-L69"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/storage.c",
    "lines": "686-695",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L686-L695"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/storage.c",
    "lines": "753-760",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L753-L760"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "6631-6686",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6631-L6686"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_settings.h",
    "lines": "112-132",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L112-L132"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_settings.c",
    "lines": "153-176",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L153-L176"
   },
   {
    "kind": "doc",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "docs/releases/0.24.md",
    "lines": "73-87",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/releases/0.24.md#L73-L87"
   }
  ],
  "evidence": {
   "kept_on_unit": "read-in-source",
   "lost": "read-in-source",
   "back_up_first": "read-in-source",
   "going_back": "vendor-doc for previous-version behavior; read-in-source for current legacy/pool separation",
   "foreign_preset_import": "inferred from UPB1 record validation and the existing atlas formats; not tested with foreign records"
  },
  "overwrites_previous": [
   {
    "from": "stock",
    "name": "Stock V15",
    "flags": "?",
    "weakest_grade": "reported",
    "at_risk": [],
    "possibly_at_risk": [
     "stock settings (and possibly patterns)"
    ],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "Possibly at risk (layout reported or inferred): stock settings (and possibly patterns).",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "baudgirl",
    "name": "Baud Girl FM-1+VA",
    "flags": "?",
    "weakest_grade": "inferred",
    "at_risk": [],
    "possibly_at_risk": [
     "Baud Girl presets (128)",
     "Baud Girl patterns (16, with locks)"
    ],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "Possibly at risk (layout reported or inferred): Baud Girl presets (128); Baud Girl patterns (16, with locks).",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "felucca",
    "name": "Felucca",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "user sample slot USR2",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sample slot USR3",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "settings, button calibration, favourites, MIDI LEARN map",
      "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       }
      ]
     },
     {
      "object": "project slot A",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project slot B",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project slot C",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project slot D",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "FM6 patches of the FM6 user presets",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a DX7 bank dump (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sample slot USR1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "user presets 1-16",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user presets 17-32",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: user sample slot USR2; user sample slot USR3; settings, button calibration, favourites, MIDI LEARN map (converted: After ChoralRoot saves its newer settings format, returning to Felucca starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off). At risk when you act: project slot A; project slot B; project slot C; project slot D; FM6 patches of the FM6 user presets; user sample slot USR1; user presets 1-16; user presets 17-32.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "sloop",
    "name": "SLOOP",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "user sample slot USR2 (header at 0xB4000)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sample slot USR3 (header at 0xC8000)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "settings, calibration, song order, SYN1-4 kits, MIDI LEARN, theme and favourites",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song section A (a whole project)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song section B (a whole project)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song section C (a whole project)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song section D (a whole project)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "the music in progress (autosave)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a DX7 bank dump (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sample slot USR1 (header at 0xA0000)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "user sounds U01-U16",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sounds U17-U32",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: user sample slot USR2 (header at 0xB4000); user sample slot USR3 (header at 0xC8000); settings, calibration, song order, SYN1-4 kits, MIDI LEARN, theme and favourites. At risk when you act: song section A (a whole project); song section B (a whole project); song section C (a whole project); song section D (a whole project); the music in progress (autosave); user sample slot USR1 (header at 0xA0000); user sounds U01-U16; user sounds U17-U32.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "x0x",
    "name": "X0X",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "the whole X0X project (settings, sound, all 32 patterns, song, knob motion)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "break loops slot 2",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "break loops slot 3",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "break loops slot 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "X0X button calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: the whole X0X project (settings, sound, all 32 patterns, song, knob motion); break loops slot 2; break loops slot 3. At risk when you act: break loops slot 1; X0X button calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "jiant",
    "name": "JIANT",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "song 4: four sections (whole projects)",
      "effect": "some of it lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "some of it lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "some of it lost"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "some of it lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "some of it lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "some of it lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "some of it lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "some of it lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "some of it lost"
       }
      ]
     },
     {
      "object": "song 5: four sections (whole projects)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "some of it lost"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "some of it lost"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song 7: four sections (whole projects)",
      "effect": "some of it lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "some of it lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "some of it lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       }
      ]
     },
     {
      "object": "song 8: four sections (whole projects)",
      "effect": "some of it lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "some of it lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "some of it lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       }
      ]
     },
     {
      "object": "which song is current, every song's rows and scenes",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "settings, calibration, favourites, MENU options",
      "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       }
      ]
     },
     {
      "object": "song 6: four sections (whole projects)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song 1 section A (a whole project)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song 1 section B (a whole project)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song 1 section C (a whole project)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song 1 section D (a whole project)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "FM6 patches of the FM6 user sounds",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a DX7 bank dump (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "song 2: four sections (whole projects)",
      "effect": "some of it lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "some of it lost"
       }
      ]
     },
     {
      "object": "song 3: four sections (whole projects)",
      "effect": "some of it lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "some of it lost"
       }
      ]
     },
     {
      "object": "user sounds U01-U16",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sounds U17-U32",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); song 7: four sections (whole projects) (some of it lost); song 8: four sections (whole projects) (some of it lost); which song is current, every song's rows and scenes; settings, calibration, favourites, MENU options (converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off). At risk by itself, under a condition: song 6: four sections (whole projects). At risk when you act: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); FM6 patches of the FM6 user sounds; song 2: four sections (whole projects) (some of it lost); song 3: four sections (whole projects) (some of it lost); user sounds U01-U16; user sounds U17-U32.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "melodee",
    "name": "Melodee",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "project C: patterns, song, sounds, motion, recordings",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "lost"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "shared user presets U145-U288",
      "effect": "some of it lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "some of it lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "some of it lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "some of it lost"
       }
      ]
     },
     {
      "object": "shared user presets U073-U090",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "shared user presets U091-U108",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "settings, factory favourites, calibration, saved template",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project D: patterns, song, sounds, motion, recordings",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "shared user presets U289-U378",
      "effect": "some of it lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "some of it lost"
       }
      ]
     },
     {
      "object": "shared user presets U379-U384",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "shared user presets U109-U126",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a DX7 bank dump (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project A: patterns, song, sounds, motion, recordings",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "project B: patterns, song, sounds, motion, recordings",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "shared user presets U001-U018",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "shared user presets U019-U036",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: project C: patterns, song, sounds, motion, recordings; shared user presets U145-U288 (some of it lost); shared user presets U073-U090; shared user presets U091-U108; settings, factory favourites, calibration, saved template. At risk by itself, under a condition: project D: patterns, song, sounds, motion, recordings. At risk when you act: shared user presets U289-U378 (some of it lost); shared user presets U379-U384; shared user presets U109-U126; project A: patterns, song, sounds, motion, recordings; project B: patterns, song, sounds, motion, recordings; shared user presets U001-U018; shared user presets U019-U036.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "fomni",
    "name": "FoMni",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "FoMni setup (pages, chord buttons, lights)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "FoMni button calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "amb",
    "name": "AMB-1",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "AMB-1 pieces and setup",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "AMB-1 panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: AMB-1 pieces and setup. At risk when you act: AMB-1 panel calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "ghoulbox",
    "name": "GHOULBOX",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "user sample slot USR2",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sample slot USR3",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "settings and panel calibration",
      "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off"
       }
      ]
     },
     {
      "object": "project A",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project B",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project C",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project D",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "FM6 patches for user sounds",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a DX7 bank dump (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sample slot USR1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "user sounds 1–16",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sounds 17–32",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: user sample slot USR2; user sample slot USR3; settings and panel calibration (converted: After ChoralRoot saves its newer settings format, returning to GHOULBOX starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off). At risk when you act: project A; project B; project C; project D; FM6 patches for user sounds; user sample slot USR1; user sounds 1–16; user sounds 17–32.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "mvaveopen",
    "name": "M-VAVE FM-1 Open",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "Open shared sample audio",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you send a DX7 bank dump (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you start a firmware install (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "Open USER project 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 11",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 12",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 13",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 14",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 15",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open USER project 16",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Open device preferences",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install ChoralRoot",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [
     "Installing this firmware replaces Open’s sixteen USER projects, preferences and sample header before its first start, including the first 24 KiB of sample storage. This follows Open’s source-defined USER layout and the incoming program range; export projects and device samples before leaving Open."
    ],
    "owner_text": "At risk by itself: Open shared sample audio. At risk when you act: Open USER project 1; Open USER project 2; Open USER project 3; Open USER project 4; Open USER project 5; Open USER project 6; Open USER project 7; Open USER project 8; Open USER project 9; Open USER project 10; Open USER project 11; Open USER project 12; Open USER project 13; Open USER project 14; Open USER project 15; Open USER project 16; Open device preferences. Installing this firmware replaces Open’s sixteen USER projects, preferences and sample header before its first start, including the first 24 KiB of sample storage. This follows Open’s source-defined USER layout and the incoming program range; export projects and device samples before leaving Open.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "fm106",
    "name": "FM-106",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "octave, last selected preset and MIDI preferences",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "older stored user bank, if present (Beta4 does not store new edits)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [
     "A valid user bank stored by an earlier FM-106 build can still be present and readable in Beta4; the bank risks listed here, if any, apply if it exists. FM-106 Beta4’s new user-sound edits are only in memory: panel save, delete and librarian bank commit do not store them, even when they report success. Read the unit into the librarian and export both user banks before switching or powering off; those exports omit sequence notes, locks and extended controls."
    ],
    "owner_text": "At risk by itself: octave, last selected preset and MIDI preferences. At risk when you act: older stored user bank, if present (Beta4 does not store new edits). A valid user bank stored by an earlier FM-106 build can still be present and readable in Beta4; the bank risks listed here, if any, apply if it exists. FM-106 Beta4’s new user-sound edits are only in memory: panel save, delete and librarian bank commit do not store them, even when they report success. Read the unit into the librarian and export both user banks before switching or powering off; those exports omit sequence notes, locks and extended controls.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "hortator",
    "name": "Hortator",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "user samples USR2",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user samples USR3",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "settings and panel calibration",
      "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import"
       }
      ]
     },
     {
      "object": "project A",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project B",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project C",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project D",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user samples USR1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: user samples USR2; user samples USR3; settings and panel calibration (converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import). At risk when you act: project A; project B; project C; project D; user samples USR1.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "obervave",
    "name": "OberVave",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "saved programs and global settings",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "pattern 1",
      "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain",
      "ways": [
       {
        "way": "by itself as you use it [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold SAVE for a global save (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you restore settings from backup software (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       }
      ]
     },
     {
      "object": "pattern 2",
      "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain",
      "ways": [
       {
        "way": "by itself as you use it [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold SAVE for a global save (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you restore settings from backup software (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       }
      ]
     },
     {
      "object": "pattern 3",
      "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain",
      "ways": [
       {
        "way": "by itself as you use it [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold SAVE for a global save (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you restore settings from backup software (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       }
      ]
     },
     {
      "object": "pattern 4",
      "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain",
      "ways": [
       {
        "way": "by itself as you use it [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold SAVE for a global save (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you restore settings from backup software (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       }
      ]
     },
     {
      "object": "pattern 5",
      "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain",
      "ways": [
       {
        "way": "by itself as you use it [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold SAVE for a global save (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you restore settings from backup software (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       }
      ]
     },
     {
      "object": "pattern 6",
      "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain",
      "ways": [
       {
        "way": "by itself as you use it [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold SAVE for a global save (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you restore settings from backup software (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       }
      ]
     },
     {
      "object": "pattern 7",
      "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain",
      "ways": [
       {
        "way": "by itself as you use it [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold SAVE for a global save (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you restore settings from backup software (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       }
      ]
     },
     {
      "object": "pattern 8",
      "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain",
      "ways": [
       {
        "way": "by itself as you use it [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you hold SAVE for a global save (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       },
       {
        "way": "when you restore settings from backup software (no question) [through its saved B-track program]",
        "effect": "its B-track sound can change if it uses a saved program; its pattern notes remain"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: saved programs and global settings; pattern 1 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 2 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 3 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 4 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 5 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 6 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 7 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 8 (its B-track sound can change if it uses a saved program; its pattern notes remain).",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "polly",
    "name": "Polly",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "Polly shared memory 14",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 15",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 16",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Optional QY70 style bank",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "Polly setup and channel sounds",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "All four Polly songs",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a DX7 bank dump (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 11",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 12",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly shared memory 13",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "Polly button and encoder calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: Polly shared memory 14; Polly shared memory 15; Polly shared memory 16; Optional QY70 style bank; Polly setup and channel sounds. At risk when you act: All four Polly songs; Polly shared memory 1; Polly shared memory 2; Polly shared memory 3; Polly shared memory 4; Polly shared memory 5; Polly shared memory 6; Polly shared memory 7; Polly shared memory 8; Polly shared memory 9; Polly shared memory 10; Polly shared memory 11; Polly shared memory 12; Polly shared memory 13; Polly button and encoder calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "from": "skiff",
    "name": "Skiff",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "user sample USR2",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if a save or failed boot preparation leaves its next spare unprepared",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot favourites save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if an older ChoralRoot session save survives and its next spare is not blank",
        "effect": "lost"
       },
       {
        "way": "by itself, only if an older ChoralRoot sound-pool save survives and its next spare is not blank",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "by itself, only if no pool bank exists and at least one legacy UPB1/192 sound passes validation",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you choose Overwrite or Save as new and accept with OCT+ or SAVE (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion/reset with OCT+ (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold OCT- and OCT+ while switching on (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "lost"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you request Import 0.21 sounds from the device manager (no question; it rewrites the whole bank)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore favourites from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore pool banks 50..62, or accepted legacy sound objects that are redirected into pool slots 1..32 from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore settings, which also writes an empty session record from backup software (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sample USR3",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you hold SAVE after recording/editing/clearing this loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press REC in Advance mode with a nonempty current loop (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 40; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore loop id 41; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 42; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 43; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 44; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 45; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 46; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 47; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 48; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore loop id 49; zero-length PUT deletes both copies from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "settings, calibration and favourites",
      "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format"
       },
       {
        "way": "by itself, only if core failure barred Dual Core while the stored setting was On",
        "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format"
       },
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format"
       },
       {
        "way": "when you confirm Reset Settings with OCT+ twice (it asks or arms a second turn first)",
        "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format"
       },
       {
        "way": "when you hold OCT- and OCT+ while powering on (no question)",
        "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format"
       },
       {
        "way": "when you hold SAVE for a global save (no question)",
        "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format"
       },
       {
        "way": "when you keep calibration or enter update with OCT- + OCT+ + HOME held for 5 s (no question)",
        "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format"
       },
       {
        "way": "when you restore settings from backup software (no question)",
        "effect": "converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format"
       }
      ]
     },
     {
      "object": "project A",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project B",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project C",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "project D",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sounds’ own FM6 patches",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a DX7 bank dump (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "user sample USR1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore CZ bank A (id 14) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank B (id 15) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank C (id 16) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank D (id 17) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank E (id 18) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank F (id 19) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank G (id 20) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       },
       {
        "way": "when you restore CZ bank H (id 21) from backup software (no question)",
        "effect": "damaged (part of it written over)"
       }
      ]
     },
     {
      "object": "user sound bank 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question) [through its separate FM6 patch collection]",
        "effect": "only FM6 sounds can lose their own patches and fall back to a factory patch or the initial voice; other sounds remain"
       },
       {
        "way": "when you send a DX7 bank dump (no question) [through its separate FM6 patch collection]",
        "effect": "only FM6 sounds can lose their own patches and fall back to a factory patch or the initial voice; other sounds remain"
       }
      ]
     },
     {
      "object": "user sound bank 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm Flash Data erase with OCT+ twice (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore FM6 bank id 8 from backup software (no question) [through its separate FM6 patch collection]",
        "effect": "only FM6 sounds can lose their own patches and fall back to a factory patch or the initial voice; other sounds remain"
       },
       {
        "way": "when you send a DX7 bank dump (no question) [through its separate FM6 patch collection]",
        "effect": "only FM6 sounds can lose their own patches and fall back to a factory patch or the initial voice; other sounds remain"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: user sample USR2; user sample USR3; settings, calibration and favourites (converted: After ChoralRoot saves these settings, Skiff cannot read back the newer record. Returning to Skiff starts its preferences and calibration from defaults; the older copy is not retried just because the newest record has a different format). At risk when you act: project A; project B; project C; project D; user sounds’ own FM6 patches; user sample USR1; user sound bank 1; user sound bank 2.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   }
  ],
  "when_you_leave": [
   {
    "to": "stock",
    "name": "Stock V15",
    "flags": "?",
    "weakest_grade": "reported",
    "at_risk": [],
    "possibly_at_risk": [
     "32 imported DX7 voices",
     "CZ-1 bank A (16 tones)",
     "CZ-1 bank B (16 tones)",
     "CZ-1 bank C (16 tones)",
     "CZ-1 bank D (16 tones)",
     "CZ-1 bank E (16 tones)",
     "CZ-1 bank F (16 tones)",
     "CZ-1 bank G (16 tones)",
     "CZ-1 bank H (16 tones)",
     "last global-save session",
     "favourite marks, chord/bass type and filter",
     "128 saved sounds with their complete engine patches",
     "recorded loop 1",
     "recorded loop 2",
     "recorded loop 3",
     "recorded loop 4",
     "recorded loop 5",
     "recorded loop 6",
     "recorded loop 7",
     "recorded loop 8",
     "recorded loop 9",
     "recorded loop 10"
    ],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "Possibly at risk (layout reported or inferred): 32 imported DX7 voices; CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "baudgirl",
    "name": "Baud Girl FM-1+VA",
    "flags": "?",
    "weakest_grade": "inferred",
    "at_risk": [],
    "possibly_at_risk": [
     "32 imported DX7 voices",
     "CZ-1 bank A (16 tones)",
     "CZ-1 bank B (16 tones)",
     "CZ-1 bank C (16 tones)",
     "CZ-1 bank D (16 tones)",
     "CZ-1 bank E (16 tones)",
     "CZ-1 bank F (16 tones)",
     "CZ-1 bank G (16 tones)",
     "CZ-1 bank H (16 tones)",
     "last global-save session",
     "favourite marks, chord/bass type and filter",
     "128 saved sounds with their complete engine patches",
     "recorded loop 1",
     "recorded loop 2",
     "recorded loop 3",
     "recorded loop 4",
     "recorded loop 5",
     "recorded loop 6",
     "recorded loop 7",
     "recorded loop 8",
     "recorded loop 9",
     "recorded loop 10"
    ],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "Possibly at risk (layout reported or inferred): 32 imported DX7 voices; CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "felucca",
    "name": "Felucca",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only if its 2ND CORE is on and a render job fails or times out",
        "effect": "lost"
       },
       {
        "way": "when you erase a user preset (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you learn MIDI CCs (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you run hardware calibration (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "32 imported DX7 voices",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration. At risk when you act: 32 imported DX7 voices; CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "sloop",
    "name": "SLOOP",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "32 imported DX7 voices",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "when you load a song file or a LIVE playlist song (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start an update (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you load a song file or a LIVE playlist song (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you run hardware calibration (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save the song order (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send or remove a theme from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send the song from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       },
       {
        "way": "when you store drum kits from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you erase a sample slot from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you upload samples or break loops (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: 32 imported DX7 voices; options, playing setup and panel calibration. At risk when you act: CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "x0x",
    "name": "X0X",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "by itself, only after a retained second-core failure, if two cores were enabled",
        "effect": "lost"
       },
       {
        "way": "when you back up pending project edits over USB (no question)",
        "effect": "lost"
       },
       {
        "way": "when you do a factory reset (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a USB restore (staging erases before the device question) (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you upload samples or break loops (no question)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration. At risk when you act: CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "jiant",
    "name": "JIANT",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you select a song through MIDI PROGRAM CHANGE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you switch song or project (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you change settings from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you run hardware calibration (no question)",
        "effect": "lost"
       },
       {
        "way": "when you star a favourite (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "32 imported DX7 voices",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "some or all of it lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "some or all of it lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you make a multi-section song with GEN (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you store a section (no question)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: recorded loop 9; options, playing setup and panel calibration. At risk when you act: 32 imported DX7 voices; CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches (some or all of it lost); recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "melodee",
    "name": "Melodee",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "32 imported DX7 voices",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you change a setting (no question)",
        "effect": "lost"
       },
       {
        "way": "when you change a setting in the menu (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you run hardware calibration (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a template (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you star a favourite (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 10",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a matching committed preset bank needs repair or conversion, or legacy Prophet conversion needs spill space",
        "effect": "lost"
       },
       {
        "way": "by itself, only if a previously confirmed user-preset wipe was interrupted",
        "effect": "lost"
       },
       {
        "way": "when you confirm recovery wipe of all user presets (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you import SysEx into slots (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you save a user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send data from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "some or all of it lost",
      "ways": [
       {
        "way": "when you quick-save a project (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you restore a backup from the web editor (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you save a project (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you save a project from the web editor (no question)",
        "effect": "some or all of it lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: 32 imported DX7 voices; options, playing setup and panel calibration. At risk by itself, under a condition: recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10. At risk when you act: CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches (some or all of it lost).",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "fomni",
    "name": "FoMni",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "amb",
    "name": "AMB-1",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "ghoulbox",
    "name": "GHOULBOX",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you run hardware calibration (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send settings from the editor",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "32 imported DX7 voices",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if no valid UPF6 exists and a valid old type-7 FM6B bank survives",
        "effect": "lost"
       },
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you save an FM6 user preset (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you send an FM6 user patch",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you restore a backup",
        "effect": "lost"
       },
       {
        "way": "when you upload or erase a sample",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration. At risk by itself, under a condition: 32 imported DX7 voices. At risk when you act: CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "mvaveopen",
    "name": "M-VAVE FM-1 Open",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "32 imported DX7 voices",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself right after the Workbench installs Open",
        "effect": "lost"
       },
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "when you send a complete sample-bank upload through MIDI (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write the sample bank to the device (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [
     "The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source."
    ],
    "owner_text": "At risk by itself: 32 imported DX7 voices. At risk when you act: CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10; options, playing setup and panel calibration. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "fm106",
    "name": "FM-106",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm deletion of the active user slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE in the save screen (no question)",
        "effect": "lost"
       },
       {
        "way": "when you release a short SAVE (no question)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "hortator",
    "name": "Hortator",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you calibrate the panel (no question)",
        "effect": "lost"
       },
       {
        "way": "when you remember or forget a Bluetooth device (no question)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "obervave",
    "name": "OberVave",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you tap SAVE twice outside the sequencer (it asks or arms a second turn about the target slot only; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "polly",
    "name": "Polly",
    "flags": "AS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "32 imported DX7 voices",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you choose COPY SONG and confirm if it asks (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you copy a Band groove with SAVE and a white key (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "some or all of it lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "some or all of it lost"
       }
      ]
     },
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you confirm FACTORY RESET (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm NEW SONG or FREE (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESTORE FROM USB on the FM-1 (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you press SAVE (no question)",
        "effect": "lost"
       },
       {
        "way": "when you send a backup for USB restore (no question)",
        "effect": "lost"
       },
       {
        "way": "when you start a stopped USB backup or enter a test session (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you install a QY70 style bank (no question)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: 32 imported DX7 voices; CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; options, playing setup and panel calibration. At risk when you act: recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   },
   {
    "to": "skiff",
    "name": "Skiff",
    "flags": "ACS",
    "weakest_grade": "read-in-source",
    "at_risk": [
     {
      "object": "options, playing setup and panel calibration",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself at its first start",
        "effect": "lost"
       },
       {
        "way": "by itself as you use it",
        "effect": "lost"
       },
       {
        "way": "when you calibrate the panel or change editor preferences (no question)",
        "effect": "lost"
       },
       {
        "way": "when you confirm RESET SETTINGS (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "32 imported DX7 voices",
      "effect": "lost",
      "ways": [
       {
        "way": "by itself, only if a valid retired FM6 patch bank remains and no current patch object loads",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you save an FM6 user sound (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you store an FM6 sound from the web editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       },
       {
        "way": "when you write an FM6 patch to a user sound from the editor (no question; it rewrites the whole bank)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank A (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank B (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank C (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank D (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank E (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank F (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank G (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "CZ-1 bank H (16 tones)",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "last global-save session",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "favourite marks, chord/bass type and filter",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "128 saved sounds with their complete engine patches",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 1",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 2",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 3",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 4",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 5",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 6",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 7",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 8",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 9",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     },
     {
      "object": "recorded loop 10",
      "effect": "lost",
      "ways": [
       {
        "way": "when you confirm a sample upload in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you confirm erasing a sample slot (it asks or arms a second turn first)",
        "effect": "lost"
       },
       {
        "way": "when you restore a full backup in the web editor (it asks or arms a second turn first)",
        "effect": "lost"
       }
      ]
     }
    ],
    "possibly_at_risk": [],
    "carried_over": [],
    "kept_unseen": [],
    "notes": [],
    "owner_text": "At risk by itself: options, playing setup and panel calibration. At risk by itself, under a condition: 32 imported DX7 voices. At risk when you act: CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10.",
    "source": "flash-atlas derived/matrix.json (generated by apply_to_maps.py; do not edit by hand)"
   }
  ]
 },
 "disagreements": [
  {
   "topic": "Key velocity",
   "docs_say": "The guide says the keyboard cannot measure velocity and uses one fixed value.",
   "source_says": "Key Touch starts at Fixed; dynamic touch senses playable root keys, including C4/C#4 in FM-1, and all musical keys on Full keyboard, with aftertouch limited to F3–C5.",
   "docs_ref": {
    "kind": "doc",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "docs/MANUAL.md",
    "lines": "57",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/MANUAL.md#L57"
   },
   "source_ref": {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "4579-4595",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4579-L4595"
   },
   "additional_source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_sense.c",
     "lines": "27-28",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_sense.c#L27-L28"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1304",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1304"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "72-91",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L72-L91"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4579-4595",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4579-L4595"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1448-1453",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1448-L1453"
    }
   ]
  },
  {
   "topic": "Update mode does not save all current work",
   "docs_say": "The update-mode instructions say current work is stored before the transition.",
   "source_says": "The gesture calls cr_settings_save rather than the global save. It can write automatic settings and pending favourites, but it leaves unsaved session and changed-loop work unsaved.",
   "docs_ref": {
    "kind": "doc",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "docs/MANUAL.md",
    "lines": "1932",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/MANUAL.md#L1932"
   },
   "source_ref": {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_backup.c",
    "lines": "1211-1215",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L1211-L1215"
   },
   "additional_source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/cr_settings.c",
     "lines": "1460-1478",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1460-L1478"
    }
   ]
  },
  {
   "topic": "Backup reads do not flush settings or favourites to flash",
   "docs_say": "The favourites source comment still lists backup LIST as a write trigger.",
   "source_says": "Current LIST only reads storage and can serialize pending favourites from RAM. It does not call the settings writer; the settings guide documents this newer behavior.",
   "docs_ref": {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_favs.c",
    "lines": "50-51",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_favs.c#L50-L51"
   },
   "source_ref": {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "path": "firmware/src/cr_backup.c",
    "lines": "285-308",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L285-L308"
   },
   "additional_source": [
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "docs/SETTINGS.md",
     "lines": "135-140",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/SETTINGS.md#L135-L140"
    }
   ]
  },
  {
   "topic": "Green PLAY light in Stock LED mode",
   "docs_say": "The guide identifies green PLAY as the playback indicator without specifying an LED mode.",
   "source_says": "Glow preserves the green playback bit, but Stock masks it out because that LED has no idle-key mask; this is a code-derived behavior and has not been checked on a unit.",
   "docs_ref": {
    "kind": "doc",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "docs/MANUAL.md",
    "lines": "218",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/MANUAL.md#L218"
   },
   "source_ref": {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "6321-6329",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6321-L6329"
   },
   "additional_source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "6161-6167",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6161-L6167"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "6102-6134",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L6102-L6134"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/hal/fm1_input.h",
     "lines": "153-159",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/hal/fm1_input.h#L153-L159"
    }
   ]
  },
  {
   "topic": "Major-triad names in the Key Mode examples",
   "docs_say": "The first-chord example uses DM, but the Key Mode examples omit M from F and G major triads.",
   "source_says": "Both Orchid and Standard show M for a major triad without extensions, so those examples display FM and GM; D alone identifies a single note.",
   "docs_ref": {
    "kind": "doc",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "docs/MANUAL.md",
    "lines": "447-450",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/MANUAL.md#L447-L450"
   },
   "source_ref": {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "1553-1572",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1553-L1572"
   },
   "additional_source": [
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "docs/MANUAL.md",
     "lines": "73-75",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/MANUAL.md#L73-L75"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_engine.c",
     "lines": "1487-1500",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1487-L1500"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_engine.c",
     "lines": "1620-1643",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1620-L1643"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_out.c",
     "lines": "900-906",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L900-L906"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "7132-7135",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7132-L7135"
    }
   ]
  },
  {
   "topic": "SUS Window defaults in the layout design",
   "docs_say": "Several retained design passages still describe 50 ms for the default, reset, or old-record fallback, although other passages say 30 ms.",
   "source_says": "Zero settings bits decode to 30 ms, the default used by this release; the control spans 30–80 ms in 5 ms steps.",
   "docs_ref": {
    "kind": "doc",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "docs/CHORD-LAYOUT.md",
    "lines": "217",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md#L217"
   },
   "source_ref": {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_settings.h",
    "lines": "125-132",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L125-L132"
   },
   "additional_source": [
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "docs/CHORD-LAYOUT.md",
     "lines": "565-566",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md#L565-L566"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "1187-1188",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1187-L1188"
    },
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "docs/CHORD-LAYOUT.md",
     "lines": "117",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md#L117"
    },
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "docs/CHORD-LAYOUT.md",
     "lines": "190",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md#L190"
    },
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "docs/CHORD-LAYOUT.md",
     "lines": "196",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md#L196"
    },
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "docs/CHORD-LAYOUT.md",
     "lines": "214-219",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md#L214-L219"
    },
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "docs/CHORD-LAYOUT.md",
     "lines": "230",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md#L230"
    },
    {
     "kind": "doc",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "docs/CHORD-LAYOUT.md",
     "lines": "310",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/CHORD-LAYOUT.md#L310"
    }
   ]
  },
  {
   "topic": "MIDI Keys velocity with Fixed touch",
   "docs_say": "The MIDI Keys instructions say incoming note velocity plays the key.",
   "source_says": "Key Touch Fixed uses Options Velocity even for MIDI Keys; incoming note velocity is used when dynamic touch is enabled.",
   "docs_ref": {
    "kind": "doc",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "docs/MANUAL.md",
    "lines": "1799-1804",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/MANUAL.md#L1799-L1804"
   },
   "source_ref": {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "4580-4594",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4580-L4594"
   },
   "additional_source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "4791-4826",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4791-L4826"
    }
   ]
  }
 ],
 "not_mapped": [
  "Most editor-lane bindings have not been traced individually through release handlers; their preserved entries are inferred from the tagged layout catalogs and general dispatch."
 ],
 "identity_source": [
  {
   "kind": "doc",
   "repo": "Quixotic7/ChoralRootFM1",
   "ref": "v0.24",
   "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
   "path": "web/site/index.html",
   "lines": "298",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/web/site/index.html#L298"
  },
  {
   "kind": "doc",
   "repo": "Quixotic7/ChoralRootFM1",
   "ref": "v0.24",
   "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
   "path": "README.md",
   "lines": "190-199",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/README.md#L190-L199"
  },
  {
   "kind": "doc",
   "repo": "Quixotic7/ChoralRootFM1",
   "ref": "v0.24",
   "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
   "path": "LICENSE",
   "lines": "1-5",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/LICENSE#L1-L5"
  },
  {
   "kind": "doc",
   "repo": "Quixotic7/ChoralRootFM1",
   "ref": "v0.24",
   "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
   "path": "docs/releases/0.24-beta2.md",
   "lines": "1-7",
   "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/docs/releases/0.24-beta2.md#L1-L7"
  }
 ],
 "refresh_check_fixes": [
  {
   "round": 1,
   "error": "1 Flash Data losses",
   "fixed": "Named loops, imported banks, session and favorites among the erased objects.",
   "at": "controls.button_oct_up[10]; switching_note.lost; .md Flash Data"
  },
  {
   "round": 1,
   "error": "2 Reset Settings losses",
   "fixed": "Explained live-edit loss, take cancellation, default sounds and replacement of the saved session.",
   "at": "controls.button_oct_up[8]; modes[87]; .md Reset Settings"
  },
  {
   "round": 1,
   "error": "3 First-start migration footprint",
   "fixed": "Added four bank writes, the BC000 spare erase and compatible foreign-preset import before SAVE.",
   "at": "switching_note.kept_on_unit; refresh/work/choralroot.storage.json.owner_switching_fact; .md switching note"
  },
  {
   "round": 1,
   "error": "4 P5 save menu",
   "fixed": "Removed the disabled legacy-build restriction; P5 can overwrite or save a new sound.",
   "at": "controls.encoder_select[27]; .md save menu"
  },
  {
   "round": 1,
   "error": "5 Loop switch write timing",
   "fixed": "Distinguished immediate stopped writes from staged playback changes and their power-loss risk.",
   "at": "controls.key_d4[20]; controls.key_e4[20]; controls.key_f4[20]; controls.key_g4[20]; controls.key_a4[20]; controls.key_b4[20]; controls.key_c5[20]; controls.key_d5[19]; controls.key_e5[19]; controls.key_f5[19]; controls.encoder_presets[4]; controls.encoder_presets[5]; .md loop slots"
  },
  {
   "round": 1,
   "error": "6 Safe Mode entry",
   "fixed": "Removed the invented safe-start gesture and described the automatic crash counter.",
   "at": "modes[21]; .md modes"
  },
  {
   "round": 1,
   "error": "7 USB SysEx receive",
   "fixed": "Added destructive bank receive and single DX7/CZ tone receive entries; the reported loop-play refusal is disputed.",
   "at": "controls.jack_usb_c[3:6]; .md connections; storage fm6_bank"
  },
  {
   "round": 1,
   "error": "8 Advance writes departing loop",
   "fixed": "Made the immediate slot write and its irreversible effect on revert explicit.",
   "at": "controls.button_rec[7]; storage loop written_when; .md Advance"
  },
  {
   "round": 1,
   "error": "9 CLEAR stays in memory",
   "fixed": "Distinguished RAM clearing from saved-slot deletion and the period when revert can recover it.",
   "at": "controls.key_ds4[21]; storage loops; .md Clear"
  },
  {
   "round": 1,
   "error": "10 Update hold and save boundary",
   "fixed": "Named the five-second three-button hold and its limited automatic-field save.",
   "at": "controls.button_home[6]; .md update gesture"
  },
  {
   "round": 1,
   "error": "11 PANIC take loss",
   "fixed": "Added fresh-take and step-entry loss while distinguishing retained partial overdubs.",
   "at": "controls.button_oct_down[8]; matching button_oct_up PANIC; .md PANIC"
  },
  {
   "round": 1,
   "error": "12 Save and revert refusals",
   "fixed": "Added SAFE MODE refusals and the restore lock for global save/revert; ordinary preset-save restore locking is disputed.",
   "at": "controls.button_save[0:4]; .md save/revert"
  },
  {
   "round": 1,
   "error": "13 Power-on calibration write",
   "fixed": "Recorded the immediate conditional settings write before calibration and its favorite flush.",
   "at": "switch_power[1]; octave power-on entries; storage settings/startup writes; .md startup"
  },
  {
   "round": 1,
   "error": "14 Stock slot lights",
   "fixed": "Scoped the old slot indication to Glow and appended Stock behavior.",
   "at": "lights.key_lights[9]; appended Stock entry; .md lights"
  },
  {
   "round": 1,
   "error": "15 Velocity defaults and scope",
   "fixed": "Clarified Fixed as the default and dynamic sensing of the lower chord keys only on Full keyboard.",
   "at": "disagreements[0].source_says; .md velocity"
  },
  {
   "round": 1,
   "error": "16 Beta registry and docs ref",
   "fixed": "Marked the option beta and used default_branch instead of latest_release.",
   "at": "refresh/work/choralroot.registry.json.option; sources[0]"
  },
  {
   "round": 1,
   "error": "17 Geek Out contents",
   "fixed": "Replaced the inaccurate engine/voice claim with actual musical and diagnostic fields.",
   "at": "controls.screen[36]; modes[55]; .md modes"
  },
  {
   "round": 1,
   "error": "18 Reverb send enables FX",
   "fixed": "Added the chord-part turn enabling global FX and the bass sends.",
   "at": "controls.encoder_knob4[188]; .md FM TONE FX"
  },
  {
   "round": 1,
   "error": "19 Editor evidence grades",
   "fixed": "Kept all 1,085 lane entries in place, lowered catalog-only claims to inferred with reasons, and documented EDIT/section/SELECT navigation.",
   "at": "controls editor-lane evidence/evidence_note; part_id_notes; .md editor"
  },
  {
   "round": 1,
   "error": "20 Storage write paths",
   "fixed": "Added Dual Core Off persistence and zero-length CZ bank restore behavior; disputed the claimed ChoralRoot-loop guard for DX7 dumps.",
   "at": "storage settings written_when/startup; CZ-bank written_when; fm6_bank"
  },
  {
   "round": 1,
   "error": "21 Pool idle erase and settings busy rule",
   "fixed": "Made spare readiness a condition of idle pool preparation and removed capture from the automatic-settings busy guard.",
   "at": "storage sound_pool/settings/favorites written_when"
  },
  {
   "round": 1,
   "error": "22 Code comment source kind",
   "fixed": "Marked the old backup-LIST comment as source, rather than documentation.",
   "at": "disagreements[3].docs_ref.kind; storage disagreements if structured"
  },
  {
   "round": 1,
   "error": "23 No-op and numbered labels",
   "fixed": "Used NO ACTION for inactive knobs, real option names for screen labels, and included the erase warning.",
   "at": "controls.encoder_knob1[63:66]; screen option labels; controls.screen[72]; .md options"
  },
  {
   "round": 1,
   "error": "24 Editor and no-op labels",
   "fixed": "Replaced the reserved-hold label, named the AT expression screen, and clarified PHRT and CZ envelope sustain.",
   "at": "controls.button_fx[5]; screen[154]; encoder_knob4[171]; encoder_knob1[171]; .md editor"
  },
  {
   "round": 1,
   "error": "25 Citation corrections",
   "fixed": "Corrected the named handler ranges; retained the USB-console macro at its actual line 562 and disputed the requested 563.",
   "at": "controls.button_home[7:9]; octave dialog entries; encoder_algorithm[4:6]; screen[154]; lights.key_lights[7]"
  },
  {
   "round": 1,
   "error": "26 Countdown light flashes",
   "fixed": "Named the update countdown alongside PANIC in every affected light entry.",
   "at": "15 existing PANIC light entries; .md lights"
  },
  {
   "round": 1,
   "error": "27 Delete-overlay knob dispatch",
   "fixed": "Preserved naming edits under the question and appended SELECT behavior for both origins.",
   "at": "controls.encoder_knob1[29]; encoder_knob4[29]; appended encoder_select entry; .md delete dialog"
  },
  {
   "round": 1,
   "error": "28 Engine picker entry",
   "fixed": "Corrected the mode navigation or on-screen name from the tagged handlers.",
   "at": "modes[7]; .md modes"
  },
  {
   "round": 1,
   "error": "29 Delete gesture",
   "fixed": "Corrected the mode navigation or on-screen name from the tagged handlers.",
   "at": "modes[18]; .md modes"
  },
  {
   "round": 1,
   "error": "30 PANIC gesture",
   "fixed": "Corrected the mode navigation or on-screen name from the tagged handlers.",
   "at": "modes[49]; .md modes"
  },
  {
   "round": 1,
   "error": "31 Calibration power-on route",
   "fixed": "Corrected the mode navigation or on-screen name from the tagged handlers.",
   "at": "modes[20]; .md modes"
  },
  {
   "round": 1,
   "error": "32 Geek Out names",
   "fixed": "Corrected the mode navigation or on-screen name from the tagged handlers.",
   "at": "modes[55], modes[57]; .md modes"
  },
  {
   "round": 1,
   "error": "33 Duplicate startup rows",
   "fixed": "Removed 2 repeated calibration rows from the guide.",
   "at": ".md startup table"
  },
  {
   "round": 1,
   "error": "34 Installer identity",
   "fixed": "Named ChoralRoot’s own installer rather than implying the community hub.",
   "at": "version_note; .md beta note"
  },
  {
   "round": 1,
   "error": "35 Copied description",
   "fixed": "Rephrased the loop-editor description in the JSON and guide.",
   "at": "modes[12].what_it_is; .md modes"
  },
  {
   "round": 1,
   "error": "36 MIDI program and mix controls",
   "fixed": "Appended program-change and CC mappings and used docs/guide wording in owner-facing text.",
   "at": "appended controls.jack_midi_in entry; .md MIDI table and prose"
  },
  {
   "round": 1,
   "error": "37 Flash Data name",
   "fixed": "Replaced the invented option name with the actual Flash Data label.",
   "at": "controls.button_oct_up[7]; .md Options"
  },
  {
   "round": 1,
   "error": "7/31 Additional coverage gaps",
   "fixed": "Added single DX7/CZ tone receive (with error 7), the calibration timeout and faint Snap lights.",
   "at": "controls.jack_usb_c appended entries; modes[20]; appended lights.key_lights entry; .md coverage"
  },
  {
   "round": 1,
   "error": "3 Switching-table coverage and new-map markers",
   "fixed": "Added an empty generated switching block, preserved any generated body, and stated that ChoralRoot is not yet in Les’s switching table wherever the owner is referred to the atlas.",
   "at": "switching_note.kept_on_unit; .md switching section; storage owner-facing atlas referrals"
  },
  {
   "round": 1,
   "error": "12/13 Storage refusal and favorite-flush detail",
   "fixed": "Scoped global-save restore refusals accurately in storage triggers and included the possible startup favorite-flush range.",
   "at": "storage objects written_when; install_and_startup_writes power-on calibration row"
  },
  {
   "round": 1,
   "error": "5/10/27 Guide consistency",
   "fixed": "Kept the next-cycle slot-change boundary, clarified conditional update flushing, and synchronized each delete-overlay knob row with its own entry.",
   "at": "controls.key_d4[20]; controls.key_e4[20]; controls.key_f4[20]; controls.key_fs4[20]; controls.key_g4[20]; controls.key_gs4[20]; controls.key_a4[20]; controls.key_as4[20]; controls.key_b4[20]; controls.key_c5[20]; controls.key_cs5[19]; controls.key_d5[19]; controls.key_ds5[19]; controls.key_e5[19]; controls.key_f5[19]; controls.key_fs5[19]; controls.key_g5[19]; controls.encoder_presets[4]; controls.encoder_presets[5]; controls.button_home[6]; .md delete/update/slot tables"
  },
  {
   "round": 1,
   "error": "19/24/25 Expression screen evidence",
   "fixed": "Used the actual EXPR handler to describe AT destination/amount and made CUT/auto conditional on an unset route.",
   "at": "controls.screen[154]"
  },
  {
   "round": 2,
   "error": "1 F#4 loop undo",
   "fixed": "Restored undo/cancel in memory, with no redo, slot switch or immediate flash write, and replaced slot citations with the undo dispatch and implementation.",
   "at": "controls.key_fs4[20]; choralroot.md: PLAY slot menu, Tap F#4"
  },
  {
   "round": 2,
   "error": "2 Unused loop-menu keys",
   "fixed": "Restored no action for all six unused keys. Reverified D4/E4/F4/G4/A4/B4/C5/D5/E5/F5 as slots 1–10 against cu_white_idx, cu_layer_key and cu_layer_pick; also checked D#4 CLEAR and PRESETS on both PLAY pages. The other jobs remain correct; the storage fragment already describes real slot-switch writes.",
   "at": "controls.key_gs4[20], key_as4[20], key_cs5[19], key_ds5[19], key_fs5[19], key_g5[19]; choralroot.md: grouped unused-key row"
  },
  {
   "round": 2,
   "error": "3 Reset keeps partial overdub",
   "fixed": "Specified that Reset drops a fresh take while retaining a partial overdub in memory, with panic-handler evidence.",
   "at": "controls.button_oct_up[8]; modes[87].what_it_is; choralroot.md: Reset Settings"
  },
  {
   "round": 2,
   "error": "4 PANIC preserves LOCK setting",
   "fixed": "Distinguished clearing the latched chord from disabling LOCK; LOCK stays enabled.",
   "at": "controls.button_oct_down[8]; choralroot.md: OCT- + OCT+"
  },
  {
   "round": 2,
   "error": "5 Calibration timeout in guide",
   "fixed": "Matched the Calibration modes row to the JSON description, including cancellation after thirty seconds without input.",
   "at": "choralroot.md: Calibration modes row; modes[20] already correct"
  },
  {
   "round": 3,
   "error": "1 CLEAR ARM citation",
   "fixed": "Replaced the slot-template range with the D#4 arm handler at 3676–3679 and added the held-clear handler at 5099–5105, pinned to the mapped commit.",
   "at": "controls.key_ds4[20].source"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_f3[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_fs3[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_g3[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_gs3[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_a3[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_as3[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_b3[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_c4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_cs4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_d4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_ds4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[23]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds4[25]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_e4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_f4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_fs4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_g4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_gs4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_gs4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_a4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_a4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_as4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_as4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_b4[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_b4[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_c5[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[12]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[22]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_c5[24]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_cs5[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[2]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[21]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_cs5[23]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_d5[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[2]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[21]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_d5[23]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_ds5[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[2]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[21]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_ds5[23]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_e5[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[2]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[21]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_e5[23]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_f5[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[2]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[21]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_f5[23]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_fs5[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[2]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[21]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_fs5[23]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence; renamed the note-only label to KEY.",
   "at": "controls.key_g5[0]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[2]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[3]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[4]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[5]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[6]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[7]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[8]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[9]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[10]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[11]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[21]"
  },
  {
   "round": 4,
   "error": "Key Mode root-key gap",
   "fixed": "Explained Key Mode chord/Notes behavior and the off case with engine evidence.",
   "at": "controls.key_g5[23]"
  },
  {
   "round": 4,
   "error": "Full keyboard Key Mode gap",
   "fixed": "Replaced the notes-only mode summary with chord, filtered-note and bass-split behavior.",
   "at": "modes[1].what_it_is; choralroot.md: Full keyboard mode row"
  },
  {
   "round": 4,
   "error": "Key Mode rule trace",
   "fixed": "Added both scale-degree sets, the complete relative-pitch map, modifier and Notes rules, keyboard/split exceptions, capture behavior and displayed names.",
   "at": "key_mode_playing"
  },
  {
   "round": 4,
   "error": "Contradictory major chord names",
   "fixed": "Recorded the docs contradiction and the name code’s capital M for plain major triads.",
   "at": "disagreements[5]; choralroot.md: chord-name explanation and disagreement"
  },
  {
   "round": 4,
   "error": "Guide Key Mode omissions",
   "fixed": "Updated root-playing and lower-key loop-editor rows and chord instructions, added the pitch table and modifier/Notes/split/capture rules, and clarified all five performance pages and naming.",
   "at": "choralroot.md: Play and pick sounds; root-key rows; performance pages; Loop editor; Step entry; docs disagreements"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_f3[4]"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_fs3[4]"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_g3[4]"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_gs3[4]"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_a3[4]"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_as3[4]"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_b3[4]"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_c4[4]"
  },
  {
   "round": 4,
   "error": "Full keyboard loop-entry Key Mode gap",
   "fixed": "Included Key Mode chord/Notes and split rules for lower-key entry, and changed the note-only label to LOW KEY.",
   "at": "controls.key_cs4[4]"
  },
  {
   "round": 5,
   "error": "1 Extensions require a chord",
   "fixed": "Qualified the sixth hold: a held or locked type or enabled Key Mode Chords must supply the chord; retained Advanced/Free behavior and added the guide row.",
   "at": "controls.key_f3[6].action and .source; choralroot.md: Hold F3"
  },
  {
   "round": 5,
   "error": "1 Extensions require a chord",
   "fixed": "Qualified the minor-seventh hold: a held or locked type or enabled Key Mode Chords must supply the chord; retained Advanced/Free behavior and added the guide row.",
   "at": "controls.key_g3[6].action and .source; choralroot.md: Hold G3"
  },
  {
   "round": 5,
   "error": "1 Extensions require a chord",
   "fixed": "Qualified the major-seventh hold: a held or locked type or enabled Key Mode Chords must supply the chord; retained Advanced/Free behavior and added the guide row.",
   "at": "controls.key_a3[6].action and .source; choralroot.md: Hold A3"
  },
  {
   "round": 5,
   "error": "1 Extensions require a chord",
   "fixed": "Qualified the ninth hold: a held or locked type or enabled Key Mode Chords must supply the chord; retained Advanced/Free behavior and added the guide row.",
   "at": "controls.key_c4[6].action and .source; choralroot.md: Hold C4"
  },
  {
   "round": 5,
   "error": "1 Extension wording sweep",
   "fixed": "Changed the introductory add claim to selection and added four qualified hold rows; checked press [5], LATCH/release [7] and LOCK EXT [8] on all four parts against the modifier handlers, which describe state rather than unconditional sound and need no change.",
   "at": "choralroot.md: Play and pick sounds introduction and extension rows; reviewed controls.key_f3/key_g3/key_a3/key_c4[5,7,8]"
  },
  {
   "round": 8,
   "error": "1 Missing HOME screen entry",
   "fixed": "Appended HOME VIEW with all six selected views and source evidence, plus the matching guide row.",
   "at": "controls.screen[290]; choralroot.md: Read the lights and screen"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[3].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[4].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[5].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[6].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[7].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[8].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[9].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[10].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[11].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS4 to PLAY D#4; action unchanged.",
   "at": "controls.key_ds4[12].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed TONIC DS4 to TONIC D#4; action unchanged.",
   "at": "controls.key_ds4[14].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[3].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[4].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[5].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[6].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[7].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[8].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[9].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[10].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[11].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS4 to PLAY F#4; action unchanged.",
   "at": "controls.key_fs4[12].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed TONIC FS4 to TONIC F#4; action unchanged.",
   "at": "controls.key_fs4[14].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[3].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[4].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[5].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[6].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[7].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[8].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[9].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[10].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[11].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY GS4 to PLAY G#4; action unchanged.",
   "at": "controls.key_gs4[12].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed TONIC GS4 to TONIC G#4; action unchanged.",
   "at": "controls.key_gs4[14].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[3].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[4].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[5].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[6].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[7].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[8].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[9].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[10].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[11].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY AS4 to PLAY A#4; action unchanged.",
   "at": "controls.key_as4[12].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed TONIC AS4 to TONIC A#4; action unchanged.",
   "at": "controls.key_as4[14].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[2].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[3].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[4].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[5].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[6].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[7].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[8].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[9].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[10].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY CS5 to PLAY C#5; action unchanged.",
   "at": "controls.key_cs5[11].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed TONIC CS5 to TONIC C#5; action unchanged.",
   "at": "controls.key_cs5[13].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[2].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[3].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[4].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[5].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[6].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[7].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[8].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[9].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[10].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY DS5 to PLAY D#5; action unchanged.",
   "at": "controls.key_ds5[11].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed TONIC DS5 to TONIC D#5; action unchanged.",
   "at": "controls.key_ds5[13].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[2].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[3].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[4].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[5].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[6].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[7].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[8].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[9].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[10].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed PLAY FS5 to PLAY F#5; action unchanged.",
   "at": "controls.key_fs5[11].short_label"
  },
  {
   "round": 8,
   "error": "2 Sharp-key label spelling",
   "fixed": "Changed TONIC FS5 to TONIC F#5; action unchanged.",
   "at": "controls.key_fs5[13].short_label"
  },
  {
   "round": "0.24-v",
   "error": "1 Chord Keys default in control",
   "fixed": "Explicitly stated Classic for fresh settings, original 0.23/pre-layout beta records and Reset Settings, with the loader/bit decode evidence.",
   "at": "controls.encoder_knob1[284]"
  },
  {
   "round": "0.24-v",
   "error": "1 Chord Keys default in mode",
   "fixed": "Stated the same Classic defaults and distinguished a reinstall retaining an existing 0.24 preference.",
   "at": "modes[311]"
  },
  {
   "round": "0.24-v",
   "error": "2 Reset Settings defaults",
   "fixed": "Extended the existing action with the named defaults, including Classic and Numerals Off/Solfège cleared, retaining its take, sound, persistence and preservation facts.",
   "at": "controls.button_oct_up[8]"
  },
  {
   "round": "0.24-v",
   "error": "2 Reset Settings mode",
   "fixed": "Listed the matching reset defaults in the mode summary.",
   "at": "modes[87]"
  },
  {
   "round": "0.24-v",
   "error": "1/2 Guide defaults",
   "fixed": "Updated the layout explanation, Options row, layout mode row and Reset Settings row to match the code-derived defaults.",
   "at": "control-maps/choralroot.md"
  },
  {
   "round": "0.24-r1",
   "error": "1 Flash Data sound pool",
   "fixed": "Corrected the screen warning to say all 128 saved sounds are erased; swept the other Flash Data entries and found their erase claims already correct.",
   "at": "controls.screen[72]"
  },
  {
   "round": "0.24-r1",
   "error": "2 FM-1 LOCK type replacement",
   "fixed": "Added the different-type replacement rule and Type key Clears/Keeps extension behavior to all six named entries and the FM-1 guide paragraph.",
   "at": "controls.key_fs3[12], controls.key_fs3[14], controls.key_gs3[12], controls.key_gs3[14], controls.key_as3[12], controls.key_as3[14]; control-maps/choralroot.md"
  },
  {
   "round": "0.24-r1",
   "error": "3 Stable atlas pointer",
   "fixed": "Removed stale beta wording from the guide’s pointer outside the generated switching block.",
   "at": "control-maps/choralroot.md"
  },
  {
   "round": "0.24-r1",
   "error": "4 ARP DIVISION citation",
   "fixed": "Replaced the VIEW lock citation with the L_PERF dispatch and ARP knob table.",
   "at": "controls.encoder_knob1[7]"
  },
  {
   "round": "0.24-r1",
   "error": "5 SUS Window design passages",
   "fixed": "Replaced the inaccurate count with several passages, noted the conflicting 30 ms passages, and added their citations.",
   "at": "disagreements[5]; control-maps/choralroot.md"
  },
  {
   "round": "0.24-r1",
   "error": "6 MIDI Raw Chord direction",
   "fixed": "Removed the claimed incoming priority conflict and stated that Raw Chord is output only.",
   "at": "control-maps/choralroot.md"
  },
  {
   "round": "0.24-r2",
   "error": "Optional layout job filed as any",
   "fixed": "Moved from any to fm1_layout_active because this job requires the selected FM-1 layout with either keyboard setting.",
   "at": "controls.button_lfo[4]"
  },
  {
   "round": "0.24-r2",
   "error": "Optional layout job filed as any",
   "fixed": "Moved from any to fm1_layout_active because this job requires the selected FM-1 layout with either keyboard setting.",
   "at": "controls.button_lfo[5]"
  },
  {
   "round": "0.24-r2",
   "error": "Optional layout job filed as any",
   "fixed": "Moved from any to fm1_layout_active because this job requires the selected FM-1 layout with either keyboard setting.",
   "at": "controls.button_lfo[6]"
  },
  {
   "round": "0.24-r2",
   "error": "Optional layout job filed as any",
   "fixed": "Moved from any to fm1_layout_active because this job requires the selected FM-1 layout with either keyboard setting. Replaced the ambiguous FM1 label with SHIFT LATCH.",
   "at": "controls.button_lfo[7]"
  },
  {
   "round": "0.24-r2",
   "error": "Optional layout job filed as any",
   "fixed": "Moved from any to fm1_layout_active because this job requires the selected FM-1 layout with either keyboard setting. Replaced the ambiguous FM1 label with LOCK LAYER.",
   "at": "controls.button_glo[11]"
  },
  {
   "round": "0.24-r2",
   "error": "Optional layout job filed as any",
   "fixed": "Moved from any to fm1_layout_active because this job requires the selected FM-1 layout with either keyboard setting. Replaced the ambiguous FM1 label with LOCK ON.",
   "at": "lights.button_lfo[5]"
  },
  {
   "round": "0.24-r2",
   "error": "Optional layout job filed as any",
   "fixed": "Moved from any to fm1_layout_active because this job requires the selected FM-1 layout with either keyboard setting. Replaced the ambiguous FM1 label with LATCH PULSE.",
   "at": "lights.button_lfo[6]"
  },
  {
   "round": "0.24-r2",
   "error": "FM-1 layout context",
   "fixed": "Appended FM-1 layout active for button and light jobs that also apply on Full keyboard; existing chord-key, KEY Pick and Full-shortcut contexts stay in place.",
   "at": "modes[315]"
  },
  {
   "round": "0.24-r2",
   "error": "Guide optional-layout context",
   "fixed": "Matched the button-table and LFO-light contexts to FM-1 layout active and appended its mode row.",
   "at": "control-maps/choralroot.md"
  },
  {
   "round": "0.24-r3",
   "error": "MINOR: button_lfo[7] SHIFT LATCH repeats GLO's SHIFT LATCH (button_glo[8]), a different job",
   "fixed": "Label LATCH: the same job as LFO's Classic LATCH (button_lfo[0], toggles Latch); the build tags the held GLO",
   "at": "controls.button_lfo[7].short_label"
  }
 ],
 "checker_disputes_refresh": [
  {
   "round": 1,
   "error": "7 DX7 dump refusal while a loop plays (partial)",
   "why": "The missing receive entry is fixed, but the claimed loop-play refusal checks Felucca transport state: its sequencer is disabled, chain_busy is zero and transport_req is constant zero; the ChoralRoot looper is not tested by this guard.",
   "evidence": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/fm6_store.c",
     "lines": "92-114",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/fm6_store.c#L92-L114"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_bank.c",
     "lines": "33-44",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_bank.c#L33-L44"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_out.c",
     "lines": "23-27",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L23-L27"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/choralroot.c",
     "lines": "100-102",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/choralroot.c#L100-L102"
    }
   ]
  },
  {
   "round": 1,
   "error": "12 Ordinary preset-save restore lock (partial)",
   "why": "Global save and revert reject a pending settings restore, but the ordinary save menu checks only SAFE MODE, and the preset write path has no restore-lock check; it is inaccurate to add that refusal to ordinary sound saving.",
   "evidence": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3512-3531",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3512-L3531"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_ui.c",
     "lines": "3564-3645",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L3564-L3645"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_bank.c",
     "lines": "324-342",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_bank.c#L324-L342"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/upreset.c",
     "lines": "327-340",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/upreset.c#L327-L340"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/storage.c",
     "lines": "816-824",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L816-L824"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/core.h",
     "lines": "560-561",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/core.h#L560-L561"
    }
   ]
  },
  {
   "round": 1,
   "error": "25 USB-console macro line 563 (partial)",
   "why": "In the supplied tagged core.h, UAC_BLOCKED is defined at line 562; line 563 has no such definition, so the existing 562 citation is retained.",
   "evidence": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/core.h",
     "lines": "560-562",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/core.h#L560-L562"
    }
   ]
  },
  {
   "round": 1,
   "error": "20 DX7 bank refusal during ChoralRoot playback (partial)",
   "why": "The bank handler calls transport_busy, whose inputs are the unused Felucca sequencer state and constant-zero transport request; it does not check ChoralRoot’s loop state, so this is not added as a loop-play refusal.",
   "evidence": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/fm6_store.c",
     "lines": "92-114",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/fm6_store.c#L92-L114"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_bank.c",
     "lines": "33-44",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_bank.c#L33-L44"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_out.c",
     "lines": "23-27",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L23-L27"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/choralroot.c",
     "lines": "100-102",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/choralroot.c#L100-L102"
    }
   ]
  }
 ],
 "key_mode_playing": {
  "evidence": "read-in-source",
  "rule": "The physical pitch relative to the chosen tonic selects the chord; white keys are not reassigned to scale degrees. This build has Major and natural Minor only. Chords mode retains in-scale roots and shifts an outside-scale pitch one semitone to the sus4 root shown below before applying type overrides.",
  "scale_degrees": {
   "major": [
    "I major",
    "ii minor",
    "iii minor",
    "IV major",
    "V major",
    "vi minor",
    "vii diminished"
   ],
   "natural_minor": [
    "i minor",
    "ii diminished",
    "III major",
    "iv minor",
    "v minor",
    "VI major",
    "VII major"
   ]
  },
  "pitch_map": [
   {
    "pressed_semitones_from_tonic": 0,
    "major": {
     "root_semitones_from_tonic": 0,
     "quality": "major"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 0,
     "quality": "minor"
    }
   },
   {
    "pressed_semitones_from_tonic": 1,
    "major": {
     "root_semitones_from_tonic": 0,
     "quality": "sus4"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 0,
     "quality": "sus4"
    }
   },
   {
    "pressed_semitones_from_tonic": 2,
    "major": {
     "root_semitones_from_tonic": 2,
     "quality": "minor"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 2,
     "quality": "diminished"
    }
   },
   {
    "pressed_semitones_from_tonic": 3,
    "major": {
     "root_semitones_from_tonic": 2,
     "quality": "sus4"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 3,
     "quality": "major"
    }
   },
   {
    "pressed_semitones_from_tonic": 4,
    "major": {
     "root_semitones_from_tonic": 4,
     "quality": "minor"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 3,
     "quality": "sus4"
    }
   },
   {
    "pressed_semitones_from_tonic": 5,
    "major": {
     "root_semitones_from_tonic": 5,
     "quality": "major"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 5,
     "quality": "minor"
    }
   },
   {
    "pressed_semitones_from_tonic": 6,
    "major": {
     "root_semitones_from_tonic": 7,
     "quality": "sus4"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 5,
     "quality": "sus4"
    }
   },
   {
    "pressed_semitones_from_tonic": 7,
    "major": {
     "root_semitones_from_tonic": 7,
     "quality": "major"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 7,
     "quality": "minor"
    }
   },
   {
    "pressed_semitones_from_tonic": 8,
    "major": {
     "root_semitones_from_tonic": 7,
     "quality": "sus4"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 8,
     "quality": "major"
    }
   },
   {
    "pressed_semitones_from_tonic": 9,
    "major": {
     "root_semitones_from_tonic": 9,
     "quality": "minor"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 10,
     "quality": "sus4"
    }
   },
   {
    "pressed_semitones_from_tonic": 10,
    "major": {
     "root_semitones_from_tonic": 9,
     "quality": "sus4"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 10,
     "quality": "major"
    }
   },
   {
    "pressed_semitones_from_tonic": 11,
    "major": {
     "root_semitones_from_tonic": 11,
     "quality": "diminished"
    },
    "natural_minor": {
     "root_semitones_from_tonic": 10,
     "quality": "sus4"
    }
   }
  ],
  "modifiers": "In Chords layout, the latest held or LOCK-latched type replaces the table’s chord quality without undoing its root shift; enabled Secret Chords can replace that type. Extensions add their fixed intervals above the resolved root, so a modifier can introduce notes outside the scale. Simple captures the choice when the root is pressed; Advanced and Free can alter held chords, and LOCK synchronizes its retained modifier set.",
  "notes_setting": "Key Mode Notes skips the chord table. An in-scale pitch remains; an outside-scale pitch is silent with Snap Off, or moves to the closest Scale or Chord Snap target, with equal distances choosing the lower note and Chord falling back to the scale if no chord supplies a target. In Chords layout, held or locked types can still make a chord on that filtered pitch; Notes does not clear those types.",
  "keyboard_and_split": "With Full K Shorts Off, Full keyboard clears the modifier snapshot and Key Mode Chords maps non-bass pitches as before. With shortcuts On and chord keys hidden, G5 On permits locked types and extensions before falling back to Key Mode; G5 Off clears modifiers and suppresses scale chords, while Notes filtering still applies. F#5 restores the selected layout’s ordinary Chords behavior, where G5 does not suppress chord types or Key Mode. Bass-side keys remain single notes and Notes filtering runs before the split.",
  "key_mode_off": "Without Key Mode, the scale table and Notes filter are bypassed: ordinary Chords keys play notes without a type or chords with their held or locked type and extensions. Extensions alone do not create a chord. Full keyboard normally clears modifiers, except that G5 On with Full K Shorts retains them on non-bass keys; bass-side keys stay notes.",
  "performance_and_capture": "Strum, Slop, Arp, Pattern and Harp use the resolved chord. Recording, Step entry and the loop editor receive resolved root, type and extensions from the gesture hook. Existing loop events replay their stored root/type rather than rebuilding them from the current Key Mode table.",
  "screen_names": "A major triad with no extension has M after the root in both Orchid and Standard names: DM, FM and GM. A lone D is a single note. Extensions use the chosen naming style, such as D7 or DM7.",
  "source": [
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "25-28",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L25-L28"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "250-305",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L250-L305"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "195-215",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L195-L215"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "603-617",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L603-L617"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "684-690",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L684-L690"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "748-759",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L748-L759"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "865-918",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L865-L918"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "992-1033",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L992-L1033"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "1191-1203",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1191-L1203"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "1213-1236",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1213-L1236"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "1487-1500",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1487-L1500"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "1553-1572",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1553-L1572"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "1620-1643",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1620-L1643"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "1392-1421",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1392-L1421"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.h",
    "lines": "63",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.h#L63"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "4670-4686",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4670-L4686"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "4125-4139",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L4125-L4139"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_loop.c",
    "lines": "418-495",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L418-L495"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_loop.c",
    "lines": "984-1007",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_loop.c#L984-L1007"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_out.c",
    "lines": "409-412",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L409-L412"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_out.c",
    "lines": "900-906",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_out.c#L900-L906"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "7132-7135",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L7132-L7135"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "1446-1453",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1446-L1453"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "1540-1553",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L1540-L1553"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "289-305",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L289-L305"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_engine.c",
    "lines": "1021-1033",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_engine.c#L1021-L1033"
   }
  ]
 },
 "refreshed_from": {
  "release": "v0.24-beta2",
  "commit": "52889ba26b09eb16e1ac83ad522601bbf1fab066",
  "date": "2026-10-16"
 },
 "saving_note": {
  "what_is_saved": "Holding SAVE stores the session, both live sounds and the changed loop; saved presets remain separate. Quiet Options saving also includes Chord Keys, SUS Window, Full K Shorts and MIDI Keys, while LATCH is kept through the global save. Backup omits the separate session snapshot.",
  "evidence": "read-in-source",
  "source": [
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_ui.c",
    "lines": "2757-2834",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2757-L2834"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_settings.c",
    "lines": "153-176",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L153-L176"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_settings.c",
    "lines": "1410-1455",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1410-L1455"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_backup.c",
    "lines": "60-80",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_backup.c#L60-L80"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_settings.h",
    "lines": "112-132",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.h#L112-L132"
   },
   {
    "kind": "source",
    "repo": "Quixotic7/ChoralRootFM1",
    "ref": "v0.24",
    "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
    "path": "firmware/src/cr_settings.c",
    "lines": "210-230",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L210-L230"
   }
  ]
 },
 "overwrites_without_asking": [
  {
   "what": "Normal startup can erase nonblank spare session/favorites/pool targets and import legacy sounds into an absent pool; quiet Options/favorites saves and leaving a changed loop slot can write without a separate question, with playing-loop departures staged for a later stop or switch.",
   "asks": "no",
   "undo": "Use a backup; unflushed changed loops can still be reverted before their write.",
   "source": [
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/upool.c",
     "lines": "3-19",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/upool.c#L3-L19"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/upool.c",
     "lines": "279-335",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/upool.c#L279-L335"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/cr_ui.c",
     "lines": "2160-2217",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2160-L2217"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/cr_ui.c",
     "lines": "2757-2834",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_ui.c#L2757-L2834"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/cr_settings.c",
     "lines": "1295-1321",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1295-L1321"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/storage.c",
     "lines": "427-445",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L427-L445"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/storage.c",
     "lines": "686-734",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L686-L734"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "path": "firmware/src/cr_settings.c",
     "lines": "1410-1504",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L1410-L1504"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/upool.c",
     "lines": "301-335",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/upool.c#L301-L335"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/storage.c",
     "lines": "686-695",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L686-L695"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/storage.c",
     "lines": "753-760",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/storage.c#L753-L760"
    },
    {
     "kind": "source",
     "repo": "Quixotic7/ChoralRootFM1",
     "ref": "v0.24",
     "commit": "4330e155c9ff8d532419e1fecc2fc53235a4a5e7",
     "path": "firmware/src/cr_settings.c",
     "lines": "153-176",
     "url": "https://github.com/Quixotic7/ChoralRootFM1/blob/4330e155c9ff8d532419e1fecc2fc53235a4a5e7/firmware/src/cr_settings.c#L153-L176"
    }
   ]
  }
 ]
}