From 59b2a99d2084d310a01b421245802a75dccfee0d Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Sun, 27 Nov 2011 10:59:24 -0300 Subject: [PATCH] midi2osc/LV3: Faderfox LV3 mappings (work in progress) Also added section titles in README and a section on loading mappings from files. --- midi2osc/LV3 | 106 ++++++++++++++++++++++++++++++++++++++++++++++++ midi2osc/README | 16 ++++++++ 2 files changed, 122 insertions(+) create mode 100644 midi2osc/LV3 diff --git a/midi2osc/LV3 b/midi2osc/LV3 new file mode 100644 index 0000000..262eb56 --- /dev/null +++ b/midi2osc/LV3 @@ -0,0 +1,106 @@ +# Mappings for Faderfox LV3 +# +# These mappings translate all controls of an LV3 with factory settings to +# channel 0. To do a factory reset, do this: +# +# - press and hold FX and Master for one second, until the LED above Shift +# turns yello +# - press FX1 and FX2 together (near the joystick) +# - press and hold FX and Master until the yellow LED turns off +# - the LV3 will reset within a few seconds +# + +# +# "Radio" buttons change the LED assignment and only emit a 127 for the +# function that's been activated, but never a 0. Pressing a button that's +# already on repeats it. +# +# The radio buttons also affect the channel the rotary decoders use. +# + +c.24=c0.1 # Rotary encoders, turn, differential (without decay) +c.25=c0.2 +c.26=c0.3 +c.27=c0.4 +c.28=c0.5 # Rotary encoders, push, toggle (with LED) +c.29=c0.6 # if shifted, push, tact (127/0) +c.30=c0.7 +c.31=c0.8 +c8.8=c0.9=8 # FX, push when off, radio (LED on) +c9.8=c0.9=9 # FX, push when on, radio (LED blinking) +c10.8=c0.9=10 # Master, push, radio (LED on) +c0.8=c0.9=0 # Black, push, buttons, radio +c1.8=c0.9=1 +c2.8=c0.9=2 +c3.8=c0.9=3 +c4.8=c0.9=4 +c5.8=c0.9=5 +c6.8=c0.9=6 +c7.8=c0.9=7 +c0.22=c0.10 # Black + Shift, push, toggle (with LED) +c1.22=c0.11 +c2.22=c0.12 +c3.22=c0.13 +c4.22=c0.14 +c5.22=c0.15 +c6.22=c0.16 +c7.22=c0.17 +# c0.18, c0.19 unused +c0.7=c0.20 # Faders +c1.7=c0.21 +c2.7=c0.22 +c3.7=c0.23 +c4.7=c0.24 +c5.7=c0.25 +c6.7=c0.26 +c7.7=c0.27 +# c0.28, c0.29 unused +c0.16=c0.30 # Green buttons, push, tact (127/0) +c1.16=c0.31 +c2.16=c0.32 +c3.16=c0.33 +c4.16=c0.34 +c5.16=c0.35 +c6.16=c0.36 +c7.16=c0.37 +c0.17=c0.38=0 # Blue buttons, push, tact (127 only) +c1.17=c0.38=1 # since we don't have pulsed buttons (yet), treat them as radio +c2.17=c0.38=2 +c3.17=c0.38=3 +c4.17=c0.38=4 +c5.17=c0.38=5 +c6.17=c0.38=6 +c7.17=c0.38=7 +# c0.39 unused +c0.18=c0.40 # Green + Shift, push, toggle (with LED) +c1.18=c0.41 +c2.18=c0.42 +c3.18=c0.43 +c4.18=c0.44 +c5.18=c0.45 +c6.18=c0.47 +c7.18=c0.48 +# c0.48, c0.49 unused +c8.1=c0.50 # Left joystick, X +c8.2=c0.51 # Left joystick, Y +c8.4=c0.52 # FX1, push, toggle (with LED) +c8.5=c0.53 # FX1 + Shift, push, toggle (with LED) +# c0.54 unused +c9.1=c0.55 # Right joystick, X +c9.2=c0.56 # Right joystick, Y +c9.4=c0.57 # FX2, push, toggle (with LED) +c9.5=c0.58 # FX2 + Shift, push, toggle (with LED) +# c0.59 unused +c10.6=c0.60 # Scene, turn, differential (no decay) +c11.9=c0.61 # Scene + Shift +c10.3=c0.6 # Scene, push, tact (127/0) +# c10.0 is Scene + Shift, push, tact (127 only) + +# +# MIDI In controls: +# +# c0.6 Scene display (0-99) +# c0.16 through c7.16 LEDs green buttons (0, non-zero) +# c0.17 through c7.17 LEDs blue buttons (0, non-zero) +# ... +# diff --git a/midi2osc/README b/midi2osc/README index d39373e..ae11538 100644 --- a/midi2osc/README +++ b/midi2osc/README @@ -1,3 +1,6 @@ +midi2osc - MIDI to OSC forwarder +================================ + midi2osc register itself as a writeable MIDI device. It then forwards the MIDI messages it receives to the specified OSC destination. @@ -10,6 +13,10 @@ Compilation: make + +Usage +----- + To use it with the Milkymist One, - enable Ethernet on the M1 @@ -36,3 +43,12 @@ a host called "m1". If is given, that value will be assigned for any control message that matches the input pattern, irrespective of the input value. + + +File-based mappings +------------------- + +To load mappings from a file containing #-style comments, the +following invocation can be used: + +midi2osc `sed 's/#.*//' filename` ...