{
 "_sources": [
  {
   "type": "vendor-doc",
   "name": "norns script bline",
   "url": "https://github.com/toneburst/bline/tree/3482894d88a84962c8a8f39a881ec82db43360de",
   "notes": "norns script bline: lib/classes/class_channel-BUP.lua, lib/classes/class_channel.lua, lib/modules/mod_bline_synth_params.lua, lib/modules/mod_fx_delay.lua, lib/modules/mod_output.lua, lib/modules/mod_output_bline_synth.lua, lib/modules/mod_output_crow_envs.lua, lib/modules/mod_output_crow_x0x.lua, lib/modules/mod_output_midi_basic.lua, lib/modules/mod_output_midi_cc.lua, lib/modules/mod_pattern_generator.lua, lib/modules/mod_quantiser.lua and more @ 3482894. Licence GPL-3.0. Listed in norns.community (monome/norns-community community.json @ 41d05e7).",
   "firmware": "bline-3482894",
   "imported_at": "2026-10-26"
  }
 ],
 "_limitations": "Source: the Lua source of the norns script bline by toneburst (toneburst/bline at 3482894), 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 40 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. 32 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 bline",
  "commands": 40,
  "subscriptions": 0,
  "replies": 0
 },
 "midi_of": "monome/norns.vendor.fw-2.9.4",
 "device": {
  "name": "norns",
  "vendor": "Monome",
  "revision": "script bline (toneburst/bline @ 3482894)",
  "osc_prefix": "/norns_bline"
 },
 "commands": [
  {
   "osc": "/param/synth_waveform",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 127
    }
   ],
   "forward": {
    "path": "/param/synth_waveform",
    "args": [
     "{value}"
    ]
   },
   "_notes": "waveform: 0 to 127."
  },
  {
   "osc": "/param/synth_cutoff",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 64
    }
   ],
   "forward": {
    "path": "/param/synth_cutoff",
    "args": [
     "{value}"
    ]
   },
   "_notes": "cutoff: 0 to 127."
  },
  {
   "osc": "/param/synth_resonance",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 80
    }
   ],
   "forward": {
    "path": "/param/synth_resonance",
    "args": [
     "{value}"
    ]
   },
   "_notes": "resonance: 0 to 127."
  },
  {
   "osc": "/param/synth_filter_overdrive",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/synth_filter_overdrive",
    "args": [
     "{value}"
    ]
   },
   "_notes": "filter overdrive: 0 to 127."
  },
  {
   "osc": "/param/synth_envelope",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 100
    }
   ],
   "forward": {
    "path": "/param/synth_envelope",
    "args": [
     "{value}"
    ]
   },
   "_notes": "envelope: 0 to 127."
  },
  {
   "osc": "/param/synth_decay",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 100
    }
   ],
   "forward": {
    "path": "/param/synth_decay",
    "args": [
     "{value}"
    ]
   },
   "_notes": "decay: 0 to 127."
  },
  {
   "osc": "/param/synth_accent",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 100
    }
   ],
   "forward": {
    "path": "/param/synth_accent",
    "args": [
     "{value}"
    ]
   },
   "_notes": "accent: 0 to 127."
  },
  {
   "osc": "/param/synth_slide_time",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.15
    }
   ],
   "forward": {
    "path": "/param/synth_slide_time",
    "args": [
     "{value}"
    ]
   },
   "_notes": "slide time: 0 to 1."
  },
  {
   "osc": "/param/synth_volume",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 100
    }
   ],
   "forward": {
    "path": "/param/synth_volume",
    "args": [
     "{value}"
    ]
   },
   "_notes": "volume: 0 to 127."
  },
  {
   "osc": "/param/synth_pan",
   "section": "Bline Synth",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 64
    }
   ],
   "forward": {
    "path": "/param/synth_pan",
    "args": [
     "{value}"
    ]
   },
   "_notes": "pan: 0 to 127."
  },
  {
   "osc": "/param/delay_level_adc",
   "section": "Bline FX",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 1.0
    }
   ],
   "forward": {
    "path": "/param/delay_level_adc",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Delay Level ADC: 0 to 1."
  },
  {
   "osc": "/param/delay_level_eng",
   "section": "Bline FX",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 1.0
    }
   ],
   "forward": {
    "path": "/param/delay_level_eng",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Delay Level Engine: 0 to 1."
  },
  {
   "osc": "/param/delay_time",
   "section": "Bline FX",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      17
     ],
     "values": {
      "1": 1,
      "1.5": 2,
      "2": 3,
      "3": 4,
      "4": 5,
      "5": 6,
      "6": 7,
      "7": 8,
      "8": 9,
      "9": 10,
      "10": 11,
      "11": 12,
      "12": 13,
      "13": 14,
      "14": 15,
      "15": 16,
      "16": 17
     },
     "default": 5
    }
   ],
   "forward": {
    "path": "/param/delay_time",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Delay Time: option index, from 1."
  },
  {
   "osc": "/param/delay_feedback",
   "section": "Bline FX",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.25
    }
   ],
   "forward": {
    "path": "/param/delay_feedback",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Delay Feedback: 0 to 0.8."
  },
  {
   "osc": "/param/output_device",
   "section": "Bline Output",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/output_device",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Output Device: option index, from 1."
  },
  {
   "osc": "/param/output_crow_envs_octave",
   "section": "Crow Envs Output",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "-1": 1,
      "0": 2,
      "+1": 3
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/output_crow_envs_octave",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Octave-Shift: option index, from 1."
  },
  {
   "osc": "/param/output_crow_x0x_octave",
   "section": "Crow X0X Output",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "-1": 1,
      "0": 2,
      "+1": 3
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/output_crow_x0x_octave",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Octave-Shift: option index, from 1."
  },
  {
   "osc": "/param/pgen_x",
   "section": "Bline Global",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/pgen_x",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Position X: 0 to 4."
  },
  {
   "osc": "/param/pgen_y",
   "section": "Bline Global",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/pgen_y",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Position Y: 0 to 4."
  },
  {
   "osc": "/param/pgen_pos_jitter",
   "section": "Bline Global",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/pgen_pos_jitter",
    "args": [
     "{value}"
    ]
   },
   "_notes": "XY Jitter: 0 to 1."
  },
  {
   "osc": "/param/pgen_swap_channels",
   "section": "Bline Global",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      5
     ],
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/pgen_swap_channels",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Swap Channels."
  },
  {
   "osc": "/param/pgen_gate_length",
   "section": "Bline Global",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.5
    }
   ],
   "forward": {
    "path": "/param/pgen_gate_length",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Gate Length: 0.1 to 0.9."
  },
  {
   "osc": "/param/pgen_loop_length",
   "section": "Bline Global",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 3
    }
   ],
   "forward": {
    "path": "/param/pgen_loop_length",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Loop Length: option index, from 1."
  },
  {
   "osc": "/param/pgen_master_offset",
   "section": "Bline Global",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      15
     ],
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/pgen_master_offset",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Master Offset."
  },
  {
   "osc": "/param/pgen_clock_swing",
   "section": "Bline Global",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/pgen_clock_swing",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Clock Swing: 0 to 100 %."
  },
  {
   "osc": "/param/config_k3_assign",
   "section": "Bline Configuration",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/config_k3_assign",
    "args": [
     "{value}"
    ]
   },
   "_notes": "K3 Function: option index, from 1."
  },
  {
   "osc": "/param/config_clear_pmap",
   "section": "Bline Configuration",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/config_clear_pmap",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Clear MIDI Map: trigger, 0 or 1."
  },
  {
   "osc": "/param/config_restore_pmap",
   "section": "Bline Configuration",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/config_restore_pmap",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Restore MIDI Map: trigger, 0 or 1."
  },
  {
   "osc": "/param/config_message",
   "section": "Bline Configuration",
   "args": [
    {
     "name": "value",
     "type": "string"
    }
   ],
   "forward": {
    "path": "/param/config_message",
    "args": [
     "{value}"
    ]
   },
   "_notes": ": text."
  },
  {
   "osc": "/param/quant_scale",
   "section": "Bline Quantiser",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/quant_scale",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Scale: option index, from 1."
  },
  {
   "osc": "/param/quant_note_shuffled_indices",
   "section": "Bline Quantiser",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      16
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/quant_note_shuffled_indices",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Note Scale Shuffle."
  },
  {
   "osc": "/param/quant_note_scale_rotation",
   "section": "Bline Quantiser",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/quant_note_scale_rotation",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Note Scale Rotate: 0 to 1."
  },
  {
   "osc": "/param/quant_oct_scale_rotation",
   "section": "Bline Quantiser",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/quant_oct_scale_rotation",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Octave Scale Rotate: 0 to 1."
  },
  {
   "osc": "/param/quant_preserve_root",
   "section": "Bline Quantiser",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "OFF": 1,
      "ON": 2
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/quant_preserve_root",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Preserve Root Note: option index, from 1."
  },
  {
   "osc": "/param/quant_root",
   "section": "Bline Quantiser",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 7
    }
   ],
   "forward": {
    "path": "/param/quant_root",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Root Note: option index, from 1."
  },
  {
   "osc": "/param/quant_octave",
   "section": "Bline Quantiser",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "-1": 1,
      "0": 2,
      "+1": 3
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/quant_octave",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Octave: option index, from 1."
  },
  {
   "osc": "/param/middy_device",
   "section": "CONTROLLER MAPPING",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/middy_device",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi device: 1 to 4."
  },
  {
   "osc": "/param/middy_message",
   "section": "CONTROLLER MAPPING",
   "args": [
    {
     "name": "value",
     "type": "string"
    }
   ],
   "forward": {
    "path": "/param/middy_message",
    "args": [
     "{value}"
    ]
   },
   "_notes": ">: text."
  },
  {
   "osc": "/param/middy_init",
   "section": "CONTROLLER MAPPING",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/middy_init",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Initialize MIDI: trigger, 0 or 1."
  },
  {
   "osc": "/param/middy_load_mapping",
   "section": "CONTROLLER MAPPING",
   "args": [
    {
     "name": "value",
     "type": "string"
    }
   ],
   "forward": {
    "path": "/param/middy_load_mapping",
    "args": [
     "{value}"
    ]
   },
   "_notes": "Load MIDI Mapping: a file path on the norns."
  }
 ]
}
