Skip to main content

TODO

left button
Track < 58, > 59
cycle: 46 set: 60, < 61, > 62,
<< 43, >> 44,42, > 41,45

right fader, turn
turn (0-1) : 16 17 18 19 20 21 22 23
fader (btm:0-top:1) : 0 1 2 3 4 5 6 7
S (off:0, on:1) : 32 33 34 35 36 37 38 39
M (off:0, on:1) : 48 49 50 51 52 53 54 55
R (off:0, on:1) : 64 65 66 67 68 69 70 71

Ing

export const IngKey = {
slide: 'sliding', // v
turn: 'turning', // v
note: 'noting', // v
// TODO
drum: 'drumming' // o
change: 'changing', // o
control: 'controling', // o
program: 'programing', // o
}

Widgets

onchangevalue: onMIDI x onChange

outputs: onOutput
M => t => U
I h S
D i E
I <= s <= R
inputs
onInput

slide, slideInput, slideOutput (-----( )) 0. vertical unipolar slider

  1. vertical bipolar slider
  2. horizontal unipolar slider
  3. horizontal bipolar slider

note, noteInput, noteOutput [0][0][0][0] [1][2][3][4] notes, onDrums, onChromaticKey, onScaleKey 4. chromatic keyboard 5. scale keyboard 6. drum grid 7. midi note

onProgram, onProgramInput, onProgramOutput [0] onControl, onControlInput, onControlOutput [1]

  1. program change
  2. control change (CC) button

Config

All

  • MIDI Channel (1 ~ 16)

Controll Change Button

  • CC number
  • On value(~ 127)
  • Off value(0 ~)

CC Button, MIDI Note

  • Pad mode (Momentary, Toggle, Trigger)

Keyboard

  • Octave (-2 ~ 8)

Program change

  • Program number

Drum Grid, MIDI Note

  • Note (C, C#, ...B)
useClick(state => {})
useChange(state => {})

Reserch Port

loopMidi

MIDIInput {
connection: "open"
id: "\\\?\\SWD#MMDEVAPI#MIDII_0AB1A388.P_0004#{504be32c-ccf6-4d2c-b73f-6f8b3747e22b}"
manufacturer: "Tobias Erichsen"
# name: "test [1]"
# onmidimessage: e=> {}
# onstatechange: null
# state: "connected"
# type: "input"
version: "1.3.0.43"
}
MIDIOutput {
connection: "closed"
id: "\\\\?\\SWD#MMDEVAPI#MIDII_0AB1A388.P_0000#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}"
manufacturer: "Tobias Erichsen"
# name: "MIDI"
# onstatechange: null
# state: "connected"
# type: "output"
version: "1.3.0.43"
# send ()
}

mk3 pad

MIDIInput {
connection: "open"
id: "\\\\?\\SWD#MMDEVAPI#MIDII_CF2C7E6B.P_0003#{504be32c-ccf6-4d2c-b73f-6f8b3747e22b}"
manufacturer: "Microsoft"
name: "LPMiniMK3 MIDI Out"
# onmidimessage: e=> {}
# onstatechange: null
# state: "connected"
# type: "input"
}
MIDIOutput {
connection: "closed"
id: "\\\\?\\SWD#MMDEVAPI#MIDII_CF2C7E6B.P_0002#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}"
manufacturer: "Microsoft"
name: "LPMiniMK3 MIDI In"
# onstatechange: null
# state: "connected"
# type: "output"
# send ()
}

Reserch Event

loopMidi

MIDIConnectionEvent {
bubbles: false
cancelBubble: false
cancelable: false
composed: false
currentTarget: MIDIAccess {inputs: MIDIInputMap, outputs: MIDIOutputMap, sysexEnabled: true, onstatechange: ƒ}
defaultPrevented: false
eventPhase: 0
isTrusted: true
# onstatechange: ƒ change(e)
path: []
# port: MIDIInput {connection: "open", name: "test [1]", onmidimessage: ƒ,}
returnValue: true
srcElement: MIDIAccess {inputs: MIDIInputMap, outputs: MIDIOutputMap, sysexEnabled: true, onstatechange: ƒ}
# target: MIDIAccess {inputs: MIDIInputMap, outputs: MIDIOutputMap, sysexEnabled: true, onstatechange: ƒ}
timeStamp: 24185.599999999627
# type: "statechange"
}

mk3 pad

MIDIConnectionEvent {
bubbles: false
cancelBubble: false
cancelable: false
composed: false
currentTarget: MIDIAccess {inputs: MIDIInputMap, outputs: MIDIOutputMap, sysexEnabled: true, onstatechange: ƒ}
defaultPrevented: false
eventPhase: 0
isTrusted: true
# onstatechange: ƒ change(e)
path: []
# port: MIDIInput {connection: "open",}
returnValue: true
srcElement: MIDIAccess {inputs: MIDIInputMap, outputs: MIDIOutputMap, sysexEnabled: true, onstatechange: ƒ}
# target: MIDIAccess {inputs: MIDIInputMap, outputs: MIDIOutputMap, sysexEnabled: true, onstatechange: ƒ}
timeStamp: 54394.40000000037
# type: "statechange"
}
MIDIMessageEvent {
bubbles: true
cancelBubble: false
cancelable: false
composed: false
currentTarget: MIDIInput {connection: "open", name: "LPMiniMK3 MIDI Out", onmidimessage: ƒ,}
# data:
Uint8Array(3)
[144, 77, 0]
defaultPrevented: false
eventPhase: 0
isTrusted: true
path: []
returnValue: true
srcElement: MIDIInput {connection: "open", name: "LPMiniMK3 MIDI Out", onmidimessage: ƒ,}
target: MIDIInput {connection: "open", name: "LPMiniMK3 MIDI Out", onmidimessage: ƒ,}
timeStamp: 618781.0999999996
}