{
 "_sources": [
  {
   "type": "vendor-doc",
   "name": "norns script seaflex",
   "url": "https://github.com/lylepmills/seaflex/tree/5882bc6bf190c612f064d2ff2f5d84798eab21b2",
   "notes": "norns script seaflex: seaflex.lua @ 5882bc6. Licence GPL-3.0. Listed in norns.community (monome/norns-community community.json @ 41d05e7).",
   "firmware": "seaflex-5882bc6",
   "imported_at": "2026-10-26"
  }
 ],
 "_limitations": "Source: the Lua source of the norns script seaflex by lylem (lylepmills/seaflex at 5882bc6), 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 5 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. 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 seaflex",
  "commands": 5,
  "subscriptions": 0,
  "replies": 0
 },
 "midi_of": "monome/norns.vendor.fw-2.9.4",
 "device": {
  "name": "norns",
  "vendor": "Monome",
  "revision": "script seaflex (lylepmills/seaflex @ 5882bc6)",
  "osc_prefix": "/norns_seaflex"
 },
 "commands": [
  {
   "osc": "/param/scale_keys",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      12
     ],
     "values": {
      "A": 1,
      "A#": 2,
      "B": 3,
      "C": 4,
      "C#": 5,
      "D": 6,
      "D#": 7,
      "E": 8,
      "F": 9,
      "F#": 10,
      "G": 11,
      "G#": 12
     }
    }
   ],
   "forward": {
    "path": "/param/scale_keys",
    "args": [
     "{value}"
    ]
   },
   "_notes": "scale key: option index, from 1."
  },
  {
   "osc": "/param/scale_types",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      9
     ],
     "values": {
      "chromatic": 1,
      "major": 2,
      "natural minor": 3,
      "harmonic minor": 4,
      "melodic minor": 5,
      "whole tone": 6,
      "octatonic": 7,
      "pentatonic": 8,
      "blues": 9
     }
    }
   ],
   "forward": {
    "path": "/param/scale_types",
    "args": [
     "{value}"
    ]
   },
   "_notes": "scale type: option index, from 1."
  },
  {
   "osc": "/param/guides",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "none": 1,
      "octave markers": 2,
      "full scale": 3
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/guides",
    "args": [
     "{value}"
    ]
   },
   "_notes": "guides: option index, from 1."
  },
  {
   "osc": "/param/voicings",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "closed only": 1,
      "basic": 2,
      "expanded": 3
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/voicings",
    "args": [
     "{value}"
    ]
   },
   "_notes": "voicings: option index, from 1."
  },
  {
   "osc": "/param/num_hands",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/num_hands",
    "args": [
     "{value}"
    ]
   },
   "_notes": "number of hands."
  }
 ]
}
