{
 "_sources": [
  {
   "type": "vendor-doc",
   "name": "norns script less-concepts",
   "url": "https://github.com/vicimity-dndrks/less_concepts/tree/d98bfd9d1cce8a958b0aaaabaeea3700c1b45112",
   "notes": "norns script less-concepts: less-concepts.lua, lib/refrain.lua @ d98bfd9. No licence declared. Listed in norns.community (monome/norns-community community.json @ 41d05e7).",
   "firmware": "less-concepts-d98bfd9",
   "imported_at": "2026-10-26"
  }
 ],
 "_limitations": "Source: the Lua source of the norns script less-concepts by vicimity dani_derks (vicimity-dndrks/less_concepts at d98bfd9), listed in norns.community. Shares the norns system OSC of monome/norns.vendor.fw-2.9.4 (port 10111, /param, /remote): give the norns' IP address as host override. Its own routes are the 56 parameter(s) whose id is written out in its source, read without running it, with range, options and default when written out too; set them while the script runs on the norns. 18 parameter call(s) could not be read without running the script (ids built at run time, values from variables) and are not mapped: reach them with the base driver's /param/{id}. Parameters added by libraries or engines outside the repository are not mapped either. A value goes in the parameter's units (an option's index from 1). MIDI is not mapped: the script's MIDI handling is its own and parameter MIDI mappings are learned by each user (PMAP). Untested on hardware.",
 "_coverage": {
  "host_software": "norns script less-concepts",
  "commands": 56,
  "subscriptions": 0,
  "replies": 0
 },
 "midi_of": "monome/norns.vendor.fw-2.9.4",
 "device": {
  "name": "norns",
  "vendor": "Monome",
  "revision": "script less-concepts (vicimity-dndrks/less_concepts @ d98bfd9)",
  "osc_prefix": "/norns_less_concepts"
 },
 "commands": [
  {
   "osc": "/param/wsyn_ar_mode",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "off": 1,
      "on": 2
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/wsyn_ar_mode",
    "args": [
     "{value}"
    ]
   },
   "_notes": "AR mode: option index, from 1."
  },
  {
   "osc": "/param/wsyn_vel",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/wsyn_vel",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Velocity: 0 to 5 v."
  },
  {
   "osc": "/param/wsyn_curve",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/wsyn_curve",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Curve: -5 to 5 v."
  },
  {
   "osc": "/param/wsyn_ramp",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/wsyn_ramp",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Ramp: -5 to 5 v."
  },
  {
   "osc": "/param/wsyn_fm_index",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/wsyn_fm_index",
    "args": [
     "{value}"
    ]
   },
   "_notes": "FM index: 0 to 5 v."
  },
  {
   "osc": "/param/wsyn_fm_env",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/wsyn_fm_env",
    "args": [
     "{value}"
    ]
   },
   "_notes": "FM env: -5 to 5 v."
  },
  {
   "osc": "/param/wsyn_fm_ratio_num",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/wsyn_fm_ratio_num",
    "args": [
     "{value}"
    ]
   },
   "_notes": "FM ratio numerator: 1 to 20."
  },
  {
   "osc": "/param/wsyn_fm_ratio_den",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/wsyn_fm_ratio_den",
    "args": [
     "{value}"
    ]
   },
   "_notes": "FM ratio denominator: 1 to 20."
  },
  {
   "osc": "/param/wsyn_lpg_time",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/wsyn_lpg_time",
    "args": [
     "{value}"
    ]
   },
   "_notes": "LPG time: -5 to 5 v."
  },
  {
   "osc": "/param/wsyn_lpg_symmetry",
   "section": "w/syn",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/wsyn_lpg_symmetry",
    "args": [
     "{value}"
    ]
   },
   "_notes": "LPG symmetry: -5 to 5 v."
  },
  {
   "osc": "/param/wsyn_pluckylog",
   "section": "w/syn",
   "args": [],
   "forward": {
    "path": "/param/wsyn_pluckylog",
    "args": [
     1
    ]
   },
   "_notes": "Pluckylogger >>>: trigger."
  },
  {
   "osc": "/param/wsyn_randomize",
   "section": "w/syn",
   "args": [],
   "forward": {
    "path": "/param/wsyn_randomize",
    "args": [
     1
    ]
   },
   "_notes": "Randomize all >>>: trigger."
  },
  {
   "osc": "/param/wsyn_init",
   "section": "Parameters",
   "args": [],
   "forward": {
    "path": "/param/wsyn_init",
    "args": [
     1
    ]
   },
   "_notes": "Init: trigger."
  },
  {
   "osc": "/param/set",
   "section": "historical load",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      100
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/set",
    "args": [
     "{value}"
    ]
   },
   "_notes": "set."
  },
  {
   "osc": "/param/load",
   "section": "historical load",
   "args": [],
   "forward": {
    "path": "/param/load",
    "args": [
     1
    ]
   },
   "_notes": "load: trigger."
  },
  {
   "osc": "/param/time_div_opt",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "legacy 1/8 - 1/32": 1,
      "slow 1/1 - 1/16": 2,
      "full 2/1 - 1/32": 3
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/time_div_opt",
    "args": [
     "{value}"
    ]
   },
   "_notes": "time range: option index, from 1."
  },
  {
   "osc": "/param/p_duration",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      32
     ],
     "default": 4
    }
   ],
   "forward": {
    "path": "/param/p_duration",
    "args": [
     "{value}"
    ]
   },
   "_notes": "default length (cycle): ."
  },
  {
   "osc": "/param/olafur_enabled",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/olafur_enabled",
    "args": [
     "{value}"
    ]
   },
   "_notes": "enable olafur mode: toggle, 0 or 1."
  },
  {
   "osc": "/param/olafur_device",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/olafur_device",
    "args": [
     "{value}"
    ]
   },
   "_notes": "--> device: option index, from 1."
  },
  {
   "osc": "/param/olafur_hold",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/olafur_hold",
    "args": [
     "{value}"
    ]
   },
   "_notes": "--> hold: toggle, 0 or 1."
  },
  {
   "osc": "/param/olafur_panic",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/olafur_panic",
    "args": [
     "{value}"
    ]
   },
   "_notes": "--> panic: momentary, 0 or 1."
  },
  {
   "osc": "/param/olafur_snapshot",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "off": 1,
      "on": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/olafur_snapshot",
    "args": [
     "{value}"
    ]
   },
   "_notes": "--> save with snapshots: option index, from 1."
  },
  {
   "osc": "/param/midi_device",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi_device",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi (out): option index, from 1."
  },
  {
   "osc": "/param/midi_device_in_enabled",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/midi_device_in_enabled",
    "args": [
     "{value}"
    ]
   },
   "_notes": "enable midi note in control: toggle, 0 or 1."
  },
  {
   "osc": "/param/midi_device_in",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/midi_device_in",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi (in): option index, from 1."
  },
  {
   "osc": "/param/midi_A",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      16
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi_A",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi ch A."
  },
  {
   "osc": "/param/midi_B",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      16
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi_B",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi ch B."
  },
  {
   "osc": "/param/midi_transport",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "off": 1,
      "on": 2
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/midi_transport",
    "args": [
     "{value}"
    ]
   },
   "_notes": "start/stop with transport: option index, from 1."
  },
  {
   "osc": "/param/midi_seq_root",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 61
    }
   ],
   "forward": {
    "path": "/param/midi_seq_root",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi -> snapshots root: option index, from 1."
  },
  {
   "osc": "/param/voice_1_engine",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/voice_1_engine",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 1 -> engine: option index, from 1."
  },
  {
   "osc": "/param/voice_1_midi_A",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_1_midi_A",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 1 -> midi ch A: option index, from 1."
  },
  {
   "osc": "/param/voice_1_midi_B",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_1_midi_B",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 1 -> midi ch B: option index, from 1."
  },
  {
   "osc": "/param/voice_1_crow_1",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_1_crow_1",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 1 -> crow 1/2: option index, from 1."
  },
  {
   "osc": "/param/voice_1_crow_2",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_1_crow_2",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 1 -> crow 3/4: option index, from 1."
  },
  {
   "osc": "/param/voice_1_JF",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_1_JF",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 1 -> JF: option index, from 1."
  },
  {
   "osc": "/param/voice_1_w",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_1_w",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 1 -> w/syn: option index, from 1."
  },
  {
   "osc": "/param/voice_2_engine",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/voice_2_engine",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 2 -> engine: option index, from 1."
  },
  {
   "osc": "/param/voice_2_midi_A",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_2_midi_A",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 2 -> midi ch A: option index, from 1."
  },
  {
   "osc": "/param/voice_2_midi_B",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_2_midi_B",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 2 -> midi ch B: option index, from 1."
  },
  {
   "osc": "/param/voice_2_crow_1",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_2_crow_1",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 2 -> crow 1/2: option index, from 1."
  },
  {
   "osc": "/param/voice_2_crow_2",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_2_crow_2",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 2 -> crow 3/4: option index, from 1."
  },
  {
   "osc": "/param/voice_2_JF",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_2_JF",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 2 -> JF: option index, from 1."
  },
  {
   "osc": "/param/voice_2_w",
   "section": "time, midi & outputs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/voice_2_w",
    "args": [
     "{value}"
    ]
   },
   "_notes": "vox 2 -> w/syn: option index, from 1."
  },
  {
   "osc": "/param/scale",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/scale",
    "args": [
     "{value}"
    ]
   },
   "_notes": "scale: option index, from 1."
  },
  {
   "osc": "/param/seed_clamp_min",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      255
     ],
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/seed_clamp_min",
    "args": [
     "{value}"
    ]
   },
   "_notes": "seed min."
  },
  {
   "osc": "/param/seed_clamp_max",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      255
     ],
     "default": 255
    }
   ],
   "forward": {
    "path": "/param/seed_clamp_max",
    "args": [
     "{value}"
    ]
   },
   "_notes": "seed max."
  },
  {
   "osc": "/param/rule_clamp_min",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      255
     ],
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/rule_clamp_min",
    "args": [
     "{value}"
    ]
   },
   "_notes": "rule min."
  },
  {
   "osc": "/param/rule_clamp_max",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      255
     ],
     "default": 255
    }
   ],
   "forward": {
    "path": "/param/rule_clamp_max",
    "args": [
     "{value}"
    ]
   },
   "_notes": "rule max."
  },
  {
   "osc": "/param/lo_clamp_min",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      32
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/lo_clamp_min",
    "args": [
     "{value}"
    ]
   },
   "_notes": "low min."
  },
  {
   "osc": "/param/lo_clamp_max",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      32
     ],
     "default": 32
    }
   ],
   "forward": {
    "path": "/param/lo_clamp_max",
    "args": [
     "{value}"
    ]
   },
   "_notes": "low max."
  },
  {
   "osc": "/param/hi_clamp_min",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      32
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/hi_clamp_min",
    "args": [
     "{value}"
    ]
   },
   "_notes": "high min."
  },
  {
   "osc": "/param/hi_clamp_max",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      32
     ],
     "default": 32
    }
   ],
   "forward": {
    "path": "/param/hi_clamp_max",
    "args": [
     "{value}"
    ]
   },
   "_notes": "high max."
  },
  {
   "osc": "/param/oct_clamp_min",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      -3,
      3
     ],
     "default": -2
    }
   ],
   "forward": {
    "path": "/param/oct_clamp_min",
    "args": [
     "{value}"
    ]
   },
   "_notes": "octave min."
  },
  {
   "osc": "/param/oct_clamp_max",
   "section": "scaling & randomization",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      -3,
      3
     ],
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/oct_clamp_max",
    "args": [
     "{value}"
    ]
   },
   "_notes": "octave max."
  },
  {
   "osc": "/param/engine_input",
   "section": "~ r e f r a i n",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/engine_input",
    "args": [
     "{value}"
    ]
   },
   "_notes": "engine -> ~ r e f r a i n: 0 to 1.2."
  },
  {
   "osc": "/param/input_input",
   "section": "~ r e f r a i n",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/input_input",
    "args": [
     "{value}"
    ]
   },
   "_notes": "input -> ~ r e f r a i n: 0 to 1.2."
  }
 ]
}
