Optimize automation-event process splitting
[ardour.git] / midi_maps / Korg_nanoKONTROL_Studio.map
1 <?xml version="1.0" encoding="UTF-8"?>
2 <ArdourMIDIBindings version="1.0.0" name="Korg nanoKONTROL Studio">
3
4 <!-- 2017-03-09 Robert Schneider (robert.schneider@aramar.de) -->
5 <!-- Put the following lines into a text file and issue
6
7                 cat <your-text-file> | base64 -d > Korg-nano-Studio-Ardour.nktrl_st_set
8                 
9         You can then load the scene set with your Korg Kontrol Editor.
10         The scene set is configured to use the global MIDI channel on all scenes.
11         If you want to change the MIDI channel, you only have to change it in the bindings
12         here and in the Global configuration of your device.
13         
14 MTQ4MlNjblMgAJALAAAAAAAA//8FAAAAMAIAAP////8xNDgyU2NuRCAAMAIAAAAAAAD//wEAAAAw
15 AgAA/////0FyZG91cjEgICAgIAH///8QAA0Af////xAADgB/////EAAPAH////8QABAAf////xAA
16 EQB/////EAASAH////8QABMAf////xAAFAB/////EAACAH////8QAAMAf////xAABAB/////EAAF
17 AH////8QAAYAf////xAACAB/////EAAJAH////8QAAwAf////xAAHQB/AP//EAAeAH8A//8QAB8A
18 fwD//xAAIQB/AP//EAAiAH8A//8QACMAfwD//xAAJAB/AP//EAAlAH8A//8QABUAfwD//xAAFgB/
19 AP//EAAXAH8A//8QABgAfwD//xAAGQB/AP//EAAaAH8A//8QABsAfwD//xAAHAB/AP//EAAmAH8A
20 //8QACcAfwD//xAAKAB/AP//EAApAH8A//8QACoAfwD//xAAKwB/AP//EAAsAH8A//8QAC0AfwD/
21 /xAALgB/AP//EAAvAH8A//8QADAAfwD//xAAMQB/AP//EAAyAH8A//8QADMAfwD//xAANAB/AP//
22 EAA1AH8A//8QAFAAfwD//xAAPwB/AP//EABRAH8A//8QADoAfwD//xAAOwB/AP//EAA2AH8A//8Q
23 AD4AfwD//xAANwB/AP//EAA4AH8A//8QADkAfwD//xAAPAB/AP//EAA9AH8A////////////////
24 ////////AAAAUlNVVgB/////////////////////////////////////////////////////MTQ4
25 MlNjbkQgADACAAAAAAAA//8BAAAAMAIAAP////9BcmRvdXIyICAgICAB////EAANAH////8QAA4A
26 f////xAADwB/////EAAQAH////8QABEAf////xAAEgB/////EAATAH////8QABQAf////xAAAgB/
27 ////EAADAH////8QAAQAf////xAABQB/////EAAGAH////8QAAgAf////xAACQB/////EAAMAH//
28 //8QAB0AfwD//xAAHgB/AP//EAAfAH8A//8QACEAfwD//xAAIgB/AP//EAAjAH8A//8QACQAfwD/
29 /xAAJQB/AP//EAAVAH8A//8QABYAfwD//xAAFwB/AP//EAAYAH8A//8QABkAfwD//xAAGgB/AP//
30 EAAbAH8A//8QABwAfwD//xAAJgB/AP//EAAnAH8A//8QACgAfwD//xAAKQB/AP//EAAqAH8A//8Q
31 ACsAfwD//xAALAB/AP//EAAtAH8A//8QAC4AfwD//xAALwB/AP//EAAwAH8A//8QADEAfwD//xAA
32 MgB/AP//EAAzAH8A//8QADQAfwD//xAANQB/AP//EABQAH8A//8QAD8AfwD//xAAUQB/AP//EAA6
33 AH8A//8QADsAfwD//xAANgB/AP//EAA+AH8A//8QADcAfwD//xAAOAB/AP//EAA5AH8A//8QADwA
34 fwD//xAAPQB/AP///////////////////////wAEAlJTVVYAf///////////////////////////
35 /////////////////////////zE0ODJTY25EIAAwAgAAAAAAAP//AQAAADACAAD/////QXJkb3Vy
36 MyAgICAgAf///xAADQB/////EAAOAH////8QAA8Af////xAAEAB/////EAARAH////8QABIAf///
37 /xAAEwB/////EAAUAH////8QAAIAf////xAAAwB/////EAAEAH////8QAAUAf////xAABgB/////
38 EAAIAH////8QAAkAf////xAADAB/////EAAdAH8A//8QAB4AfwD//xAAHwB/AP//EAAhAH8A//8Q
39 ACIAfwD//xAAIwB/AP//EAAkAH8A//8QACUAfwD//xAAFQB/AP//EAAWAH8A//8QABcAfwD//xAA
40 GAB/AP//EAAZAH8A//8QABoAfwD//xAAGwB/AP//EAAcAH8A//8QACYAfwD//xAAJwB/AP//EAAo
41 AH8A//8QACkAfwD//xAAKgB/AP//EAArAH8A//8QACwAfwD//xAALQB/AP//EAAuAH8A//8QAC8A
42 fwD//xAAMAB/AP//EAAxAH8A//8QADIAfwD//xAAMwB/AP//EAA0AH8A//8QADUAfwD//xAAUAB/
43 AP//EAA/AH8A//8QAFEAfwD//xAAOgB/AP//EAA7AH8A//8QADYAfwD//xAAPgB/AP//EAA3AH8A
44 //8QADgAfwD//xAAOQB/AP//EAA8AH8A//8QAD0AfwD///////////////////////8ABAJSU1VW
45 AH////////////////////////////////////////////////////8xNDgyU2NuRCAAMAIAAAAA
46 AAD//wEAAAAwAgAA/////0FyZG91cjQgICAgIAH///8QAA0Af////xAADgB/////EAAPAH////8Q
47 ABAAf////xAAEQB/////EAASAH////8QABMAf////xAAFAB/////EAACAH////8QAAMAf////xAA
48 BAB/////EAAFAH////8QAAYAf////xAACAB/////EAAJAH////8QAAwAf////xAAHQB/AP//EAAe
49 AH8A//8QAB8AfwD//xAAIQB/AP//EAAiAH8A//8QACMAfwD//xAAJAB/AP//EAAlAH8A//8QABUA
50 fwD//xAAFgB/AP//EAAXAH8A//8QABgAfwD//xAAGQB/AP//EAAaAH8A//8QABsAfwD//xAAHAB/
51 AP//EAAmAH8A//8QACcAfwD//xAAKAB/AP//EAApAH8A//8QACoAfwD//xAAKwB/AP//EAAsAH8A
52 //8QAC0AfwD//xAALgB/AP//EAAvAH8A//8QADAAfwD//xAAMQB/AP//EAAyAH8A//8QADMAfwD/
53 /xAANAB/AP//EAA1AH8A//8QAFAAfwD//xAAPwB/AP//EABRAH8A//8QADoAfwD//xAAOwB/AP//
54 EAA2AH8A//8QAD4AfwD//xAANwB/AP//EAA4AH8A//8QADkAfwD//xAAPAB/AP//EAA9AH8A////
55 ////////////////////AAQCUlNVVgB/////////////////////////////////////////////
56 ////////MTQ4MlNjbkQgADACAAAAAAAA//8BAAAAMAIAAP////9BcmRvdXI1ICAgICAB////EAAN
57 AH////8QAA4Af////xAADwB/////EAAQAH////8QABEAf////xAAEgB/////EAATAH////8QABQA
58 f////xAAAgB/////EAADAH////8QAAQAf////xAABQB/////EAAGAH////8QAAgAf////xAACQB/
59 ////EAAMAH////8QAB0AfwD//xAAHgB/AP//EAAfAH8A//8QACEAfwD//xAAIgB/AP//EAAjAH8A
60 //8QACQAfwD//xAAJQB/AP//EAAVAH8A//8QABYAfwD//xAAFwB/AP//EAAYAH8A//8QABkAfwD/
61 /xAAGgB/AP//EAAbAH8A//8QABwAfwD//xAAJgB/AP//EAAnAH8A//8QACgAfwD//xAAKQB/AP//
62 EAAqAH8A//8QACsAfwD//xAALAB/AP//EAAtAH8A//8QAC4AfwD//xAALwB/AP//EAAwAH8A//8Q
63 ADEAfwD//xAAMgB/AP//EAAzAH8A//8QADQAfwD//xAANQB/AP//EABQAH8A//8QAD8AfwD//xAA
64 UQB/AP//EAA6AH8A//8QADsAfwD//xAANgB/AP//EAA+AH8A//8QADcAfwD//xAAOAB/AP//EAA5
65 AH8A//8QADwAfwD//xAAPQB/AP///////////////////////wAEAlJTVVYAf///////////////
66 /////////////////////////////////////w==
67
68  -->
69
70         <DeviceInfo bank-size="6" motorized="no" threshold="15"/>
71
72 <!-- Transport Controls -->
73
74         <Binding channel="1" ctl="54" action="Transport/Loop"/>                                         <!-- Cycle = Start loop -->
75         <Binding channel="1" ctl="55" action="Common/toggle-location-at-playhead"/>     <!-- Set = Set/Unset marker -->         
76         <Binding channel="1" ctl="56" action="Common/jump-backward-to-mark"/>           <!-- < = Previous marker -->
77         <Binding channel="1" ctl="57" action="Common/jump-forward-to-mark"/>            <!-- > = Next marker -->
78
79         <Binding channel="1" ctl="58" action="Transport/Rewind"/>                                       <!-- << = Rewind -->
80         <Binding channel="1" ctl="59" action="Transport/Forward"/>                                      <!-- >> = Forward -->   
81         <Binding channel="1" ctl="60" action="Editor/select-prev-route"/>                       <!-- < = Select next track/route -->
82         <Binding channel="1" ctl="61" action="Editor/select-next-route"/>                       <!-- > = Select previous track/route -->
83
84         <Binding channel="1" ctl="62" action="Transport/ToggleRollForgetCapture"/>      <!-- |< = Stop and forget capture -->
85         <Binding channel="1" ctl="63" function="transport-stop"/>                                       <!-- [] = Stop -->
86         <Binding channel="1" ctl="80" function="transport-roll"/>                                       <!-- > = Toggle Roll -->
87         <Binding channel="1" ctl="81" function="toggle-rec-enable"/>                            <!-- * = Toggle record enable -->
88         
89         <Binding channel="1" msg="B0 53 01" action="Common/playhead-forward-to-grid" />         <!-- Jog wheel forwards playhead one grid -->
90         <Binding channel="1" msg="B0 55 01" action="Common/playhead-backward-to-grid" />        <!-- Jog wheel backwards playhead one grid -->
91
92 <!-- The "Scene" button toggles between five banks. It implements this by   -->
93 <!-- sending a bank assignment # corresponding to the current Korg "Scene"  -->
94 <!-- Downside is you are limited to 5 banks total (30 tracks.)              -->
95                                  
96 <!-- Also, in order for this map to work you must have identical maps       -->
97 <!-- assigned to each of the 5 scenes on the nano device.                   -->
98 <!-- If you used the above scene set data, you're taken care of.                        -->
99
100 <Binding sysex="F0 42 40 00 01 37 02 00 00 4F 00 F7" function="set-bank" argument="0"/>
101 <Binding sysex="F0 42 40 00 01 37 02 00 00 4F 01 F7" function="set-bank" argument="1"/>
102 <Binding sysex="F0 42 40 00 01 37 02 00 00 4F 02 F7" function="set-bank" argument="2"/>
103 <Binding sysex="F0 42 40 00 01 37 02 00 00 4F 03 F7" function="set-bank" argument="3"/>
104 <Binding sysex="F0 42 40 00 01 37 02 00 00 4F 04 F7" function="set-bank" argument="4"/>
105
106 <!-- Strip 1 - Master:                                                      -->
107 <!-- Mute assigned to Mute                                                                              -->
108 <!-- Solo assigned to transport-start                                               -->
109 <!-- Rec assigned to transport-end                                                                                      -->
110 <!-- Select unassigned                                                                                                          -->
111 <!-- Rotary encoder assigned to Master Pan Width (easy to audition in mono!)-->
112 <!-- Fader assigned to Master Gain                                                                                      -->
113         <Binding channel="1" ctl="21" uri="/bus/mute master"/>
114         <Binding channel="1" ctl="29" function="transport-start"/>
115         <Binding channel="1" ctl="38" function="transport-end"/>        
116         <Binding channel="1" ctl="46" action="Transport/RecordCountIn"/>
117         <Binding channel="1" ctl="13" uri="/bus/panwidth master"/>
118         <Binding channel="1" ctl="2" uri="/bus/gain master"/>
119
120 <!-- Strip 2 : Selected track -->
121 <!-- Mute assigned to Mute                                                                              -->
122 <!-- Solo assigned to Solo                                                                          -->
123 <!-- Rec assigned to toggle record enable                                                                       -->
124 <!-- Select assigned to Mixer unity-gain                                                                        -->
125 <!-- Rotary encoder assigned to pan direction                                                           -->
126 <!-- Fader assigned to gain                                                                                                     -->
127         <Binding channel="1" ctl="22" uri="/route/mute S1"/>
128         <Binding channel="1" ctl="30" uri="/route/solo S1"/>
129         <Binding channel="1" ctl="39" uri="/route/recenable S1"/>
130         <Binding channel="1" ctl="47" action="Mixer/unity-gain"/>
131         <Binding channel="1" ctl="14" uri="/route/pandirection S1"/>
132         <Binding channel="1" ctl="3" uri="/route/gain S1"/>
133
134 <!-- Strips 3-8:                                                            -->
135 <!-- Mute assigned to Mute                                                                              -->
136 <!-- Solo assigned to Solo                                                                          -->
137 <!-- Rec assigned to toggle record enable                                                                       -->
138 <!-- Select assigned to balance                                                                                         -->
139 <!-- Rotary encoder assigned to pan direction                                                           -->
140 <!-- Fader assigned to gain                                                                                                     -->
141
142 <!-- Strip 3 -->
143         <Binding channel="1" ctl="23" uri="/route/mute B1"/>
144         <Binding channel="1" ctl="31" uri="/route/solo B1"/>
145         <Binding channel="1" ctl="40" uri="/route/recenable B1"/>
146         <Binding channel="1" ctl="48" uri=""/>
147         <Binding channel="1" ctl="15" uri="/route/pandirection B1"/>
148         <Binding channel="1" ctl="4" uri="/route/gain B1"/>
149
150 <!-- Strip 4 -->
151         <Binding channel="1" ctl="24" uri="/route/mute B2"/>
152         <Binding channel="1" ctl="33" uri="/route/solo B2"/>
153         <Binding channel="1" ctl="41" uri="/route/recenable B2"/>
154         <Binding channel="1" ctl="49" uri=""/>
155         <Binding channel="1" ctl="16" uri="/route/pandirection B2"/>
156         <Binding channel="1" ctl="5" uri="/route/gain B2"/>
157
158 <!-- Strip 5 -->
159         <Binding channel="1" ctl="25" uri="/route/mute B3"/>
160         <Binding channel="1" ctl="34" uri="/route/solo B3"/>
161         <Binding channel="1" ctl="42" uri="/route/recenable B3"/>
162         <Binding channel="1" ctl="50" uri=""/>
163         <Binding channel="1" ctl="17" uri="/route/pandirection B3"/>
164         <Binding channel="1" ctl="6" uri="/route/gain B3"/>
165
166 <!-- Strip 6 -->
167         <Binding channel="1" ctl="26" uri="/route/mute B4"/>
168         <Binding channel="1" ctl="35" uri="/route/solo B4"/>
169         <Binding channel="1" ctl="43" uri="/route/recenable B4"/>
170         <Binding channel="1" ctl="51" uri=""/>
171         <Binding channel="1" ctl="18" uri="/route/pandirection B4"/>
172         <Binding channel="1" ctl="8" uri="/route/gain B4"/>
173
174 <!-- Strip 7 (bank strip #5) -->
175         <Binding channel="1" ctl="27" uri="/route/mute B5"/>
176         <Binding channel="1" ctl="36" uri="/route/solo B5"/>
177         <Binding channel="1" ctl="44" uri="/route/recenable B5"/>
178         <Binding channel="1" ctl="52" uri=""/>
179         <Binding channel="1" ctl="19" uri="/route/pandirection B5"/>
180         <Binding channel="1" ctl="9" uri="/route/gain B5"/>
181
182 <!-- Strip 8 (bank strip #6) -->
183         <Binding channel="1" ctl="28" uri="/route/mute B6"/>
184         <Binding channel="1" ctl="37" uri="/route/solo B6"/>
185         <Binding channel="1" ctl="45" uri="/route/recenable B6"/>
186         <Binding channel="1" ctl="53" uri=""/>
187         <Binding channel="1" ctl="20" uri="/route/pandirection B6"/>
188         <Binding channel="1" ctl="12" uri="/route/gain B6"/>
189 </ArdourMIDIBindings>