/* Multi Channel MIDI Keyswitch v.1.2 JS plugin by David Healey Jan 2012 Feel free to use this plugin as is, or modify it to suit your own purposes. v1.1: Corrected note numerings. V1.2: Added filter so only note on or off messages are read as keyswitches. Added "NOT USED" option to note list. Usage ------- 1. Intended for virtual instruments accepting one MIDI channel of input, typically channel 1. Inspired by the KeySwitch module in Bidule. 2. Assign a keyswitch to each channel via the drop down menus. Keys are numbered to correspond to Reaper. 3. When you play one of the assigned keys the Channel of all incoming MIDI data will be routed accordingly, until another Keyswitch is triggered. 4. Keyswitch notes also pass through so the keyswitches should be selected from outside the playable range of the instrument. Set up a VSTi with two or more patches on different channels, so say Legato on channel 1, Staccato on channel 2. You assign each channel to a key using the drop down menus say C2 and D2. Then use C2 and D2 to switch between legato and staccato, just like a regular KS patch. ----- Place in an appropriate folder (such as …\AppData\REAPER\Effects\MIDI\). Any questions or comments, please let me know. www.TotalComposure.com - www.Facebook.com/TotalComposure - www.YouTube.com/TotalComposure */ desc: Multi Channel MIDI Keyswitch slider1:36<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 1 slider2:38<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 2 slider3:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 3 slider4:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 4 slider5:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 5 slider6:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 6 slider7:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 7 slider8:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 8 slider9:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 9 slider10:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 10 slider11:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 11 slider12:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 12 slider13:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 13 slider14:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 14 slider15:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 15 slider16:128<0,127,1{ 00: C-1, 01: C#-1, 02: D-1, 03: D#-1, 04: E-1, 05: F-1, 06: F#-1, 07: G-1, 08: G#-1, 09: A-1, 10: A#-1, 11: B-1, 12: C0, 13: C#0, 14: D0, 15: D#0, 16: E0, 17: F0, 18: F#0, 19: G0, 20: G#0, 21: A0, 22: A#0, 23: B0, 24: C1, 25: C#1, 26: D1, 27: D#1, 28: E1, 29: F1, 30: F#1, 31: G1, 32: G#1, 33: A1, 34: A#1, 35: B1, 36: C2, 37: C#2, 38: D2, 39: D#2, 40: E2, 41: F2, 42: F#2, 43: G2, 44: G#2, 45: A2, 46: A#2, 47: B2, 48: C3, 49: C#3, 50: D3, 51: D#3, 52: E3, 53: F3, 54: F#3, 55: G3, 56: G#3, 57: A3, 58: A#3, 59: B3, 60: C4, 61: C#4, 62: D4, 63: D#4, 64: E4, 65: F4, 66: F#4, 67: G4, 68: G#4, 69: A4, 70: A#4, 71: B4, 72: C5, 73: C#5, 74: D5, 76: D#5, 76: E5, 77: F5, 78: F#5, 79: G5, 80: G#5, 81: A5, 82: A#5, 83: B5, 84: C6, 85: C#6, 86: D6, 87: D#6, 88: E6, 89: F6, 90: F#6, 91: G6, 92: G#6, 93: A6, 94: A#6, 95: B6, 96: C7, 97: C#7, 98: D7, 99: D#7, 100: E7, 101: F7, 102: F#7, 103: G7, 104: G#7, 105: A7, 106: A#7, 107: B7, 108: C8, 109: C#8, 110: D8, 111: D#8, 112: E8, 113: F8, 114: F#8, 115: G8, 116: G#8, 117: A8, 118: A#8, 119: B8, 120: C9, 121: C#9, 122: D9, 123: D#9, 124: E9, 125: F9, 126: F#9, 127: G10, NOT USED}>Channel 16 in_pin: none out_pin: none @init ks1 = slider1; ks2 = slider2; ks3 = slider3; ks4 = slider4; ks5 = slider5; ks6 = slider6; ks7 = slider7; ks8 = slider8; ks9 = slider9; ks10 = slider10; ks11 = slider11; ks12 = slider12; ks13 = slider13; ks14 = slider14; ks15 = slider15; ks16 = slider16; //channel = 0;//Default Value freembuf(0); @slider ks1 = slider1; ks2 = slider2; ks3 = slider3; ks4 = slider4; ks5 = slider5; ks6 = slider6; ks7 = slider7; ks8 = slider8; ks9 = slider9; ks10 = slider10; ks11 = slider11; ks12 = slider12; ks13 = slider13; ks14 = slider14; ks15 = slider15; ks16 = slider16; @block while ( midirecv(offset,msg1,msg23) ? ( // Extract note and status value note = msg23&$x7F; statusLo = (msg1/16)|0; status = msg1&$xF0; //If we recieve a note on message statusLo ==9 ? ( note == ks1 ? channel = 0; note == ks2 ? channel = 1; note == ks3 ? channel = 2; note == ks4 ? channel = 3; note == ks5 ? channel = 4; note == ks6 ? channel = 5; note == ks7 ? channel = 6; note == ks8 ? channel = 7; note == ks9 ? channel = 8; note == ks10 ? channel = 9; note == ks11 ? channel = 10; note == ks12 ? channel = 11; note == ks13 ? channel = 12; note == ks14 ? channel = 13; note == ks15 ? channel = 14; note == ks16 ? channel = 15; playednotes[note] = channel+1; //add one to the channel so unplayed slots will be zero ); //If we receive a note off message statusLo == 8 ? ( //if the slot in is true (>0) it means this note on has been played so retrieve original channel (playednotes[note]) > 0 ? ( msg1 = status + (playednotes[note])-1; playednotes[note]=0; //reset the slot ):( msg1 = status + channel; //else route to new MIDI Channel ); ):( msg1 = status + channel; //route to new MIDI channel for all non-note off events ); midisend(offset, msg1, msg23); // Send message on with channel adjustment ); );