Advertisement
Loadus

connectMIDI (bash script for the Raspberry Pi)

Nov 9th, 2018
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.11 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. MIDI_TR8S="TR-8S"
  4. MIDI_JDXI="JD-Xi"
  5. MIDI_OCTATRACK="UM-1"
  6. MIDI_LAUNCH_CONTROL="Launch Control XL"
  7. MIDI_LAUNCHPAD="Launchpad Mini 9"
  8. MIDI_MPK="MPK mini"
  9. MIDI_KAOSSILATOR_PRO="KAOSSILATOR PRO"
  10. MIDI_PORT_JDXI=""
  11. MIDI_PORT_OCTATRACK=""
  12. MIDI_PORT_LAUNCH_CONTROL=""
  13. MIDI_PORT_LAUNCHPAD=""
  14. MIDI_PORT_MPK=""
  15. MIDI_PORT_KAOSSILATOR_PRO=""
  16.  
  17.  
  18. while :
  19. do
  20.     MIDI_PORT_LAUNCH_CONTROL="$( amidi -l | grep -m 1 "$MIDI_LAUNCH_CONTROL" | cut -c 5-13 )"
  21.     MIDI_PORT_LAUNCHPAD="$( amidi -l | grep -m 1 "$MIDI_LAUNCHPAD" | cut -c 5-13 )"
  22.     MIDI_PORT_JDXI="$( amidi -l | grep -m 1 "$MIDI_JDXI" | cut -c 5-13 )"  
  23.  
  24.     # echo "Searching for new MIDI devices ..."
  25.     aconnect "$MIDI_LAUNCH_CONTROL" "$MIDI_OCTATRACK"
  26.     aconnect "$MIDI_OCTATRACK" "$MIDI_TR8S"
  27.     aconnect "$MIDI_OCTATRACK" "$MIDI_JDXI"
  28.     aconnect "$MIDI_MPK" "$MIDI_OCTATRACK"
  29.  
  30.  
  31.     #JD-Xi
  32.     if [ -z "$MIDI_PORT_JDXI" ]
  33.     then
  34.         echo "JD-Xi is not connected to the system."
  35.     else
  36.         echo "JD-Xi was found in port $MIDI_PORT_JDXI"
  37.    
  38.     fi
  39.  
  40.  
  41.  
  42.     #Launch Control XL 
  43.     if [ -z "$MIDI_PORT_LAUNCH_CONTROL" ]
  44.     then
  45.         echo "Launch Control XL is not connected to the system."
  46.     else
  47.         echo "Launch Control XL was found in port $MIDI_PORT_LAUNCH_CONTROL"
  48.         amidi -p $MIDI_PORT_LAUNCH_CONTROL -S 'F0 00 20 29 02 11 78 00 
  49.         18 3C 19 0F 1A 0F 1B 0F 1C 3C 1D 0F 1E 0F 1F 0F
  50.         20 3C 21 0F 22 0F 23 0F 24 3C 25 0F 26 0F 27 0F
  51.         28 0F 29 0F 2A 0F 2B 0F 2C 0F 2D 0F 2E 0F 2F 0F
  52.         F7'
  53.     fi
  54.  
  55.     #Launchpad Mini
  56.     if [ -z "$MIDI_PORT_LAUNCHPAD" ]
  57.     then
  58.         echo "Launchpad mini is not connected to the system."
  59.     else
  60.         echo "Launchpad Mini was found in port $MIDI_PORT_LAUNCHPAD"
  61.  
  62.         #Run the preset loading program
  63.  
  64.         amidi -p $MIDI_PORT_LAUNCHPAD -S '90 00 0D'
  65.         amidi -p $MIDI_PORT_LAUNCHPAD -S '92 0D 0D 0D 0D 1C 1C 1C 1C
  66.                         0D 0D 0D 0D 1C 1C 1C 1C
  67.                             0D 0D 0D 0D 1C 1C 1C 1C
  68.                         0D 0D 0D 0D 1C 1C 1C 1C
  69.                         1C 1C 1C 1C 3E 3E 3E 3E
  70.                         1C 1C 1C 1C 3E 3E 3E 3E
  71.                         1C 1C 1C 1C 3E 3E 3E 3E
  72.                         1C 1C 1C 1C 3E 3E 3E 3E
  73.                         0D 0D 0D 0D 0D 0D 0D 0D
  74.                         0D 0D 0D 0D 0D 0D 0D 0D'
  75.  
  76.         amidi -p $MIDI_PORT_LAUNCHPAD -S '90 00 0D'
  77.     fi
  78.  
  79.     sleep 10s
  80. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement