Inspired by Quad, I thought I’d share my thoughts on a comprehensive performance-based MIDI implementation. I know it is kind of fantasy MIDI building, but it beats my complaining about it and maybe it can help in some way.
The goal is to use available MIDI assignments in the most flexible, scalable and consistent way without attempting to predict user intentions, thus enabling each user to design the workflow that suits them best. None of the currently documented Aeros MIDI command ranges are reused to avoid conflicts and to maintain backward compatibility. Some things may seem redundant, but not when you consider that it impossible to know a user’s requirements. It’s about having the toolset to do the thing that no one else imagines.
It goes without saying, each of the following commands needs to meet the conditions required in Aeros or is ignored.
Part Select - CC: 52
Places focus on a Song Part and provides context when Part commands are issued.
0: Next Part
1-6: Part Number (value = part)
Part Commands - CC: 53
0: Record Selected Part (Begins recording on next available Track in Part)
1-6: Record Part Number (value = part) (Begins recording on next available Track in Part)
7: Record Next (Begins recording on the first Track in the next unused Part)
10: Play Selected Part
11-16: Play Part Number (value = (part + 10))
17: Play Next
127: Stop Song
Track Select - CC: 54
Places focus on the Track and provides context when Track commands are issued.
0: Next Track
1-6: Track Number (value = track)
Track Commands - CC: 55
0: Record Selected Track
1-6: Record Track Number (value = track)
7: Record Next
10: Overdub Selected Track
11-16: Overdub Track Number (value = (track + 10)
20: Record or Overdub Selected Track (Record if is Next Unused Track, otherwise Overdub)
21-26: Record or Overdub Track Number (value = (track + 20) (Record if is Next Unused Track, otherwise Overdub)
30: Undo Selected Track
31-36: Undo Track Number (value = (track + 30))
40: Redo Selected Track
41-46: Redo Track Number (value = (track + 40))
50: Undo/Redo Toggle Selected
51-56: Undo/Redo Track Number (value = (track + 50))
60: Mute Selected Track
61-66: Mute Track Number (value = (track + 60)
67: Mute All
70: Unmute Selected Track
71-76: Unmute Track Number (value = (track + 70)
77: Unmute All
80: Mute/Unmute Selected Track
81-86: Mute/Unmute Track Number (value = (track + 80)
90: Solo Selected Track (Mutes all other tracks. Use ‘Unmute All’ to remove Solo)
91-96: Solo Track Number (value = (track + 90)
127: Play (takes track out of Record or Overdub mode)
Timing Modes - CC:56
Governs the timing used by the related commands. Set mode before issuing command (or uses value from Settings)
0: Stop Immediate
1: Stop End of Measure
2: Stop End of Loop
10: Change Immediate
11: Change End of Measure
12: Change End of Loop
20: Mute/Unmte Immediate
21: Mute/Unmute End of Measure
22: Mute/Unmute End of Loop
Workflow Modes - CC: 57
Governs the Record, Overdub, Play order. Set before starting a recording (or uses value from Settings)
0: ROP
1: RPO
Master Volume Expression - CC: 80
0-127: Volume Level
Track Volume Expression - CC: 81
0-127: Volume Level of Track selected by CC: 54
Click Volume Expression - CC: 82
0-127: Volume Level
Footswitches - CC: 58
Performs actions as if the user was pressing a footswitch on the unit.
0: Left Switch Press
1: Left Switch Release
2: Left Switch Long Press
3: Left Switch Long Press Release
4: Left Switch Double Tap
10: Middle Switch Press
11: Middle Switch Release
12: Middle Switch Long Press
13: Middle Switch Long Press Release
14: Middle Switch Double Tap
20: Right Switch Press
21: Right Switch Release
22: Right Switch Long Press
23: Right Switch Long Press Release
24: Right Switch Double Tap
30: Stop Switch Press
31: Stop Switch Release
32: Stop Switch Long Press
33: Stop Switch Long Press Release
34: Stop Switch Double Tap