{
  "format_version": 1,
  "device": "Reloop Mixon 8 Pro",
  "description": "Complete MIDI 1.0 messages. Integer parameters; bytes are decimal. Evidence applies to each fixture individually.",
  "fixtures": [
    {
      "id": "deck1_bpm_125",
      "direction": "host_to_controller",
      "evidence": "replayed",
      "parameters": {
        "field": "bpm",
        "deck": 1,
        "bpm_centi": 12500
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        1,
        0,
        0,
        3,
        0,
        13,
        9,
        247
      ],
      "hex": "F0 00 20 7F 01 01 00 00 03 00 0D 09 F7",
      "note": "Physical 125.0 BPM confirmed."
    },
    {
      "id": "deck1_pitch_positive_2_5",
      "direction": "host_to_controller",
      "evidence": "replayed",
      "parameters": {
        "field": "pitch",
        "deck": 1,
        "pitch_centi_percent": 250
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        2,
        8,
        0,
        0,
        0,
        15,
        10,
        247
      ],
      "hex": "F0 00 20 7F 01 02 08 00 00 00 0F 0A F7",
      "note": "Physical +2.5% confirmed."
    },
    {
      "id": "deck1_range_16",
      "direction": "host_to_controller",
      "evidence": "replayed",
      "parameters": {
        "field": "range",
        "deck": 1,
        "range_percent": 16
      },
      "bytes": [
        144,
        14,
        16
      ],
      "hex": "90 0E 10",
      "note": "Physical range 16 confirmed."
    },
    {
      "id": "deck1_pitch_negative_2_5",
      "direction": "host_to_controller",
      "evidence": "replayed",
      "parameters": {
        "field": "pitch",
        "deck": 1,
        "pitch_centi_percent": -250
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        2,
        7,
        15,
        15,
        15,
        0,
        6,
        247
      ],
      "hex": "F0 00 20 7F 01 02 07 0F 0F 0F 00 06 F7",
      "note": "Physical -2.5% confirmed."
    },
    {
      "id": "deck3_time_33_3",
      "direction": "host_to_controller",
      "evidence": "replayed",
      "parameters": {
        "field": "time",
        "deck": 3,
        "milliseconds": 33300
      },
      "bytes": [
        240,
        0,
        32,
        127,
        3,
        4,
        8,
        0,
        0,
        0,
        8,
        2,
        1,
        4,
        247
      ],
      "hex": "F0 00 20 7F 03 04 08 00 00 00 08 02 01 04 F7",
      "note": "Time worked with deck 3 selected."
    },
    {
      "id": "deck1_keylock_on",
      "direction": "host_to_controller",
      "evidence": "replayed",
      "parameters": {
        "field": "keylock",
        "deck": 1,
        "enabled": true
      },
      "bytes": [
        144,
        13,
        65
      ],
      "hex": "90 0D 41",
      "note": "Physical icon on confirmed."
    },
    {
      "id": "deck1_keylock_off",
      "direction": "host_to_controller",
      "evidence": "replayed",
      "parameters": {
        "field": "keylock",
        "deck": 1,
        "enabled": false
      },
      "bytes": [
        144,
        13,
        63
      ],
      "hex": "90 0D 3F",
      "note": "Physical icon off confirmed."
    },
    {
      "id": "deck1_time_83_4",
      "direction": "host_to_controller",
      "evidence": "replayed",
      "parameters": {
        "field": "time",
        "deck": 1,
        "milliseconds": 83400
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        4,
        8,
        0,
        0,
        1,
        4,
        5,
        12,
        8,
        247
      ],
      "hex": "F0 00 20 7F 01 04 08 00 00 01 04 05 0C 08 F7",
      "note": "Physical 1:23.4 confirmed."
    },
    {
      "id": "deck1_bpm_81",
      "direction": "host_to_controller",
      "evidence": "captured",
      "parameters": {
        "field": "bpm",
        "deck": 1,
        "bpm_centi": 8100
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        1,
        0,
        0,
        1,
        15,
        10,
        9,
        247
      ],
      "hex": "F0 00 20 7F 01 01 00 00 01 0F 0A 09 F7",
      "note": "Physical 81.0 at +8% pitch on a 75 BPM track."
    },
    {
      "id": "deck1_bpm_69",
      "direction": "host_to_controller",
      "evidence": "captured",
      "parameters": {
        "field": "bpm",
        "deck": 1,
        "bpm_centi": 6900
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        1,
        0,
        0,
        1,
        10,
        15,
        9,
        247
      ],
      "hex": "F0 00 20 7F 01 01 00 00 01 0A 0F 09 F7",
      "note": "Physical 69.0 at -8% pitch on a 75 BPM track."
    },
    {
      "id": "deck1_pitch_positive_8",
      "direction": "host_to_controller",
      "evidence": "captured",
      "parameters": {
        "field": "pitch",
        "deck": 1,
        "pitch_centi_percent": 800
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        2,
        8,
        0,
        0,
        3,
        2,
        0,
        247
      ],
      "hex": "F0 00 20 7F 01 02 08 00 00 03 02 00 F7",
      "note": "Physical +8.0%."
    },
    {
      "id": "deck1_pitch_negative_8",
      "direction": "host_to_controller",
      "evidence": "captured",
      "parameters": {
        "field": "pitch",
        "deck": 1,
        "pitch_centi_percent": -800
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        2,
        7,
        15,
        15,
        12,
        14,
        0,
        247
      ],
      "hex": "F0 00 20 7F 01 02 07 0F 0F 0C 0E 00 F7",
      "note": "Physical -8.0%."
    },
    {
      "id": "deck1_remaining_time",
      "direction": "host_to_controller",
      "evidence": "captured",
      "parameters": {
        "field": "time",
        "deck": 1,
        "milliseconds": 289682
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        4,
        8,
        0,
        0,
        4,
        6,
        11,
        9,
        2,
        247
      ],
      "hex": "F0 00 20 7F 01 04 08 00 00 04 06 0B 09 02 F7",
      "note": "Physical remaining 4:49.6."
    },
    {
      "id": "deck1_elapsed_time",
      "direction": "host_to_controller",
      "evidence": "captured",
      "parameters": {
        "field": "time",
        "deck": 1,
        "milliseconds": 24024
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        4,
        8,
        0,
        0,
        0,
        5,
        13,
        13,
        8,
        247
      ],
      "hex": "F0 00 20 7F 01 04 08 00 00 00 05 0D 0D 08 F7",
      "note": "Physical elapsed 00:24:0."
    },
    {
      "id": "deck1_duration",
      "direction": "host_to_controller",
      "evidence": "captured",
      "parameters": {
        "field": "duration",
        "deck": 1,
        "milliseconds": 225587
      },
      "bytes": [
        240,
        0,
        32,
        127,
        1,
        3,
        8,
        0,
        0,
        3,
        7,
        1,
        3,
        3,
        247
      ],
      "hex": "F0 00 20 7F 01 03 08 00 00 03 07 01 03 03 F7",
      "note": "Capture-derived only; independent effect untested."
    },
    {
      "id": "deck1_needle_example",
      "direction": "host_to_controller",
      "evidence": "inferred",
      "parameters": {
        "field": "needle",
        "deck": 1,
        "position": 23
      },
      "bytes": [
        176,
        43,
        23
      ],
      "hex": "B0 2B 17",
      "note": "Static example using the animated field; this exact physical position was not separately verified."
    },
    {
      "id": "deck1_progress_example",
      "direction": "host_to_controller",
      "evidence": "inferred",
      "parameters": {
        "field": "progress",
        "deck": 1,
        "position": 44
      },
      "bytes": [
        176,
        7,
        44
      ],
      "hex": "B0 07 2C",
      "note": "Static example using the animated field; this exact physical position was not separately verified."
    },
    {
      "id": "deck3_selected",
      "direction": "controller_to_host",
      "evidence": "captured",
      "parameters": {
        "event": "selection",
        "deck": 3,
        "active": true
      },
      "bytes": [
        146,
        8,
        127
      ],
      "hex": "92 08 7F",
      "note": "Left DECK 1/3 press; physical deck 3."
    },
    {
      "id": "deck1_deselected",
      "direction": "controller_to_host",
      "evidence": "captured",
      "parameters": {
        "event": "selection",
        "deck": 1,
        "active": false
      },
      "bytes": [
        144,
        8,
        0
      ],
      "hex": "90 08 00",
      "note": "Same transition, after deck 3 active report."
    },
    {
      "id": "deck3_source_95",
      "direction": "controller_to_host",
      "evidence": "captured",
      "parameters": {
        "event": "source_raw",
        "deck": 3,
        "raw_value": 95
      },
      "bytes": [
        178,
        34,
        95
      ],
      "hex": "B2 22 5F",
      "note": "Absolute USB identity not decoded."
    },
    {
      "id": "deck3_source_31",
      "direction": "controller_to_host",
      "evidence": "captured",
      "parameters": {
        "event": "source_raw",
        "deck": 3,
        "raw_value": 31
      },
      "bytes": [
        178,
        34,
        31
      ],
      "hex": "B2 22 1F",
      "note": "Absolute USB identity not decoded."
    }
  ]
}
