Project: MC-707 Control 1.1 Author: Douglas Carmichael Contact: dcarmich@dcarmichael.net Project MIDI IN ports: mio4 HST 4 Project MIDI OUT ports: Bome MIDI Translator 1 Virtual Out _____________________________________________________________ [x] Preset 0: MC-707 [x] Translator 0.0: Start Options: swallow Incoming: Start Sequence Outgoing: Start Sequence [x] Translator 0.1: Timing Clock Options: swallow Incoming: Timing Clock Outgoing: Timing Clock [x] Translator 0.2: Song Position Pointer Options: swallow Incoming: Song Position Pointer with any song position set 'pp' to song position Outgoing: Song Position Pointer with song position:pp [x] Translator 0.3: Stop Options: swallow Incoming: Stop Sequence Outgoing: Stop Sequence [x] Translator 0.4: Track Note On Options: swallow Incoming: Note On on any channel set 'ga' to ch. with any note and 'oo' to note with any velocity and 'pp' to velocity Rules: 'Track Channel Mapping' // Map each track channel to an MC-707 channel // Channel 1 (input) --> Channel 8 (auto) // Channels 2-8 (input) --> Channels 1-7 (track) if ga>7 then exit rules, skip Outgoing Action if ga==0 then Goto "AutoChannel" if ga!=1 then Goto "MinusOne" Label "MinusOne" gb=ga-1 exit rules, execute Outgoing Action Label "AutoChannel" gb=7 exit rules, execute Outgoing Action Outgoing: Note On on ch.'gb' with note:oo and velocity:pp [x] Translator 0.5: Track Note Off Options: swallow Incoming: Note Off on any channel set 'ga' to ch. with any note and 'oo' to note with any velocity and 'pp' to velocity Rules: 'Track Channel Mapping' // Map each track channel to an MC-707 channel // Channel 1 (input) --> Channel 8 (auto) // Channels 2-8 (input) --> Channels 1-7 (track) if ga>7 then exit rules, skip Outgoing Action if ga==0 then Goto "AutoChannel" if ga!=1 then Goto "MinusOne" Label "MinusOne" gb=ga-1 exit rules, execute Outgoing Action Label "AutoChannel" gb=7 exit rules, execute Outgoing Action Outgoing: Note Off on ch.'gb' with note:oo and velocity:pp [x] Translator 0.6: Track Pitch Bend Options: swallow Incoming: Pitch Bend on any channel set 'ga' to ch. with any bend and 'qq' to bend Rules: 'Track Channel Mapping' // Map each track channel to an MC-707 channel // Channel 1 (input) --> Channel 8 (auto) // Channels 2-8 (input) --> Channels 1-7 (track) if ga>7 then exit rules, skip Outgoing Action if ga==0 then Goto "AutoChannel" if ga!=1 then Goto "MinusOne" Label "MinusOne" gb=ga-1 exit rules, execute Outgoing Action Label "AutoChannel" gb=7 exit rules, execute Outgoing Action Outgoing: Pitch Bend on ch.'gb' with bend:qq [x] Translator 0.7: Track CC Options: swallow Incoming: Control Change on any channel set 'ga' to ch. with any CC# and 'gc' to CC# with any value and 'rr' to value Rules: 'Track Channel Mapping' // Map each track channel to an MC-707 channel // Channel 1 (input) --> Channel 8 (auto) // Channels 2-8 (input) --> Channels 1-7 (track) if ga>7 then exit rules, skip Outgoing Action if gc==7 then exit rules, skip Outgoing Action if ga==0 then Goto "AutoChannel" if ga!=1 then Goto "MinusOne" Label "MinusOne" gb=ga-1 exit rules, execute Outgoing Action Label "AutoChannel" gb=7 exit rules, execute Outgoing Action Outgoing: Control Change on ch.'gb' with CC#:gc and value:rr [x] Translator 0.8: Track Aftertouch Options: swallow Incoming: Channel Pressure on any channel set 'ga' to ch. with any pressure and 'ss' to pressure Rules: 'Track Channel Mapping' // Map each track channel to an MC-707 channel // Channel 1 (auto) --> Channel 8 (output) // Channels 2-8 (track) --> Channels 1-7 (output) if ga>7 then exit rules, skip Outgoing Action if ga==0 then Goto "AutoChannel" if ga!=1 then Goto "MinusOne" Label "MinusOne" gb=ga-1 exit rules, execute Outgoing Action Label "AutoChannel" gb=7 exit rules, execute Outgoing Action Outgoing: Channel Pressure on ch.'gb' with pressure:ss [x] Translator 0.9: Scene Change Options: swallow Incoming: Note On on ch. 9 with any note set 'pp' to note with any velocity Rules: 'Note Number to PC Ch. 16' // MC-707 Scene Change // Scenes: 0-7 (Ch. 16) // Clips: 0-15 if pp<60 then exit rules, skip Outgoing Action if pp>66 then exit rules, skip Outgoing Action pp=pp-60 Outgoing: Program Change on ch. 16 with program:pp [ ] Translator 0.10: Clip Change Options: swallow Incoming: Note On on any channel set 'g0' to ch. with any note and 'qq' to note with any velocity Rules: 'Note Number to CC' // MC-707 Clip Change // Clips: 0-15 if g0<7 then exit rules, skip Outgoing Action if qq<60 then exit rules, skip Outgoing Action if qq>75 then exit rules, skip Outgoing Action // Set the proper MIDI Channel for the clip if g0==8 then g1=0 if g0==9 then g1=1 if g0==10 then g1=2 if g0==12 then g1=3 if g0==13 then g1=4 if g0==14 then g1=5 if g0==15 then g1=6 // Find the proper Program Change number for the clip rr=qq-60 Outgoing: Program Change on ch.'g1' with program:rr