<!--
    Ableton/Akai Push controller profile

    Changed: 15Sep2014, 16Sep2014, 29Sep2014, 29Mar2016
  -->

<MIDISynthProfile
   id="push"
   caption="Ableton/Akai Push"
   inherit=0
   >

  <!-- Left hand side buttons -->
  <cc ctl=0x55  id=play       caption="Play"           class=button/>
  <cc ctl=0x56  id=record     caption="Record"         class=button/>
  <cc ctl=0x57  id=new        caption="New"            class=button/>
  <cc ctl=0x58  id=duplicate  caption="Duplicate"      class=button/>
  <cc ctl=0x59  id=automate   caption="Automate"       class=button/>
  <cc ctl=0x5A  id=fixedlen   caption="Fixed Length"   class=button/>

  <cc ctl=0x74  id=quantize   caption="Quantize"       class=button/>
  <cc ctl=0x75  id=double     caption="Double"         class=button/>
  <cc ctl=0x76  id=delete     caption="Delete"         class=button/>
  <cc ctl=0x77  id=undo       caption="Undo"           class=button/>

  <cc ctl=0x09  id=metronome  caption="Metronome"      class=button/>
  <cc ctl=0x03  id=taptempo   caption="Tap Tempo"      class=button/>


  <!-- Right hand side button -->
  <cc ctl=0x24  id=rdiv_4     caption="1/4"            class=button/>
  <cc ctl=0x25  id=rdiv_4t    caption="1/4t"           class=button/>
  <cc ctl=0x26  id=rdiv_8     caption="1/8"            class=button/>
  <cc ctl=0x27  id=rdiv_8t    caption="1/8t"           class=button/>
  <cc ctl=0x28  id=rdiv_16    caption="1/16"           class=button/>
  <cc ctl=0x29  id=rdiv_16t   caption="1/16t"          class=button/>
  <cc ctl=0x2a  id=rdiv_32    caption="1/32"           class=button/>
  <cc ctl=0x2b  id=rdiv_32t   caption="1/32t"          class=button/>

  <cc ctl=0x1d  id=stop       caption="Stop"           class=button/>
  <cc ctl=0x1c  id=master     caption="Master"         class=button/>


  <!-- Cursor keys -->
  <cc ctl=0x2c  id=left       caption="Left"           class=button/>
  <cc ctl=0x2d  id=right      caption="Right"          class=button/>
  <cc ctl=0x2e  id=up         caption="Up"             class=button/>
  <cc ctl=0x2f  id=down       caption="Down"           class=button/>


  <!-- Modifier keys -->
  <cc ctl=0x30  id=select     caption="Select"         class=button/>
  <cc ctl=0x31  id=shift      caption="Shift"          class=button/>

  <cc ctl=0x32  id=note       caption="Note"           class=button/>
  <cc ctl=0x33  id=session    caption="Session"        class=button/>

  <cc ctl=0x34  id=add_effect caption="Add Effect"     class=button/>
  <cc ctl=0x35  id=add_track  caption="Add Track"      class=button/>

  <cc ctl=0x36  id=oct_down   caption="Octave Down"    class=button/>
  <cc ctl=0x37  id=oct_up     caption="Octave Up"      class=button/>

  <cc ctl=0x38  id=repeat     caption="Repeat"         class=button/>
  <cc ctl=0x39  id=accent     caption="Accent"         class=button/>

  <cc ctl=0x3A  id=scales     caption="Scales"         class=button/>
  <cc ctl=0x3B  id=user       caption="User"           class=button/>

  <cc ctl=0x3C  id=mute       caption="Mute"           class=button/>
  <cc ctl=0x3D  id=solo       caption="Solo"           class=button/>

  <cc ctl=0x3E  id=forward    caption="Forward"        class=button/>
  <cc ctl=0x3F  id=backward   caption="Backward"       class=button/>

  <cc ctl=0x6E  id=device     caption="Device"         class=button/>
  <cc ctl=0x6F  id=browse     caption="Browse"         class=button/>

  <cc ctl=0x70  id=track      caption="Track"          class=button/>
  <cc ctl=0x71  id=clip       caption="Clip"           class=button/>

  <cc ctl=0x72  id=vol        caption="Volume"         class=button/>
  <cc ctl=0x73  id=send       caption="Pan & Send"     class=button/>


  <!-- First button row under display -->
  <cc ctl=0x14  id=bt1a       caption="Button 1A"      class=button/>
  <cc ctl=0x15  id=bt2a       caption="Button 2A"      class=button/>
  <cc ctl=0x16  id=bt3a       caption="Button 3A"      class=button/>
  <cc ctl=0x17  id=bt4a       caption="Button 4A"      class=button/>
  <cc ctl=0x18  id=bt5a       caption="Button 5A"      class=button/>
  <cc ctl=0x19  id=bt6a       caption="Button 6A"      class=button/>
  <cc ctl=0x1A  id=bt7a       caption="Button 7A"      class=button/>
  <cc ctl=0x1B  id=bt8a       caption="Button 8A"      class=button/>


  <!-- Second button row under display -->
  <cc ctl=0x66  id=bt1b       caption="Button 1B"      class=button/>
  <cc ctl=0x67  id=bt2b       caption="Button 2B"      class=button/>
  <cc ctl=0x68  id=bt3b       caption="Button 3B"      class=button/>
  <cc ctl=0x69  id=bt4b       caption="Button 4B"      class=button/>
  <cc ctl=0x6A  id=bt5b       caption="Button 5B"      class=button/>
  <cc ctl=0x6B  id=bt6b       caption="Button 6B"      class=button/>
  <cc ctl=0x6C  id=bt7b       caption="Button 7B"      class=button/>
  <cc ctl=0x6D  id=bt8b       caption="Button 8B"      class=button/>


  <!-- Ribbon -->
  <pitchbend id=touch_strip   caption="Touch Strip"  class=value />  <!-- 0..$3FFF -->


  <!-- Rotaries above pads -->
  <note  nr=0x00   id=enc_1_touch  caption="Enc#1 Touch"  class=button repeat=0/>
  <cc   ctl=0x47   id=enc_1_val    caption="Enc#1 Value"  class=delta />

  <note  nr=0x01   id=enc_2_touch  caption="Enc#2 Touch"  class=button repeat=0/>
  <cc   ctl=0x48   id=enc_2_val    caption="Enc#2 Value"  class=delta />

  <note  nr=0x02   id=enc_3_touch  caption="Enc#3 Touch"  class=button repeat=0/>
  <cc   ctl=0x49   id=enc_3_val    caption="Enc#3 Value"  class=delta />

  <note  nr=0x03   id=enc_4_touch  caption="Enc#4 Touch"  class=button repeat=0/>
  <cc   ctl=0x4A   id=enc_4_val    caption="Enc#4 Value"  class=delta />

  <note  nr=0x04   id=enc_5_touch  caption="Enc#5 Touch"  class=button repeat=0/>
  <cc   ctl=0x4B   id=enc_5_val    caption="Enc#5 Value"  class=delta />

  <note  nr=0x05   id=enc_6_touch  caption="Enc#6 Touch"  class=button repeat=0/>
  <cc   ctl=0x4C   id=enc_6_val    caption="Enc#6 Value"  class=delta />

  <note  nr=0x06   id=enc_7_touch  caption="Enc#7 Touch"  class=button repeat=0/>
  <cc   ctl=0x4D   id=enc_7_val    caption="Enc#7 Value"  class=delta />

  <note  nr=0x07   id=enc_8_touch  caption="Enc#8 Touch"  class=button repeat=0/>
  <cc   ctl=0x4E   id=enc_8_val    caption="Enc#8 Value"  class=delta />

  <note  nr=0x08   id=enc_9_touch  caption="Enc#9 Touch"  class=button repeat=0/>
  <cc   ctl=0x4F   id=enc_9_val    caption="Enc#9 Value"  class=delta />


  <!-- Rotaries above touch strip -->
  <note  nr=0x0A   id=enc_10_touch  caption="Enc#10 Touch"  class=button repeat=0/>  <!-- notched -->
  <cc   ctl=0x0E   id=enc_10_val    caption="Enc#10 Value"  class=delta />

  <note  nr=0x09   id=enc_11_touch  caption="Enc#11 Touch"  class=button repeat=0/>
  <cc   ctl=0x0F   id=enc_11_val    caption="Enc#11 Value"  class=delta />


  <!-- Pads -->
  <note nr=0x5C    id=pad_1_1       caption="Pad 1;1"  class=button/>
  <note nr=0x5D    id=pad_1_2       caption="Pad 1;2"  class=button/>
  <note nr=0x5E    id=pad_1_3       caption="Pad 1;3"  class=button/>
  <note nr=0x5F    id=pad_1_4       caption="Pad 1;4"  class=button/>
  <note nr=0x60    id=pad_1_5       caption="Pad 1;5"  class=button/>
  <note nr=0x61    id=pad_1_6       caption="Pad 1;6"  class=button/>
  <note nr=0x62    id=pad_1_7       caption="Pad 1;7"  class=button/>
  <note nr=0x63    id=pad_1_8       caption="Pad 1;8"  class=button/>

  <note nr=0x54    id=pad_2_1       caption="Pad 2;1"  class=button/>
  <note nr=0x55    id=pad_2_2       caption="Pad 2;2"  class=button/>
  <note nr=0x56    id=pad_2_3       caption="Pad 2;3"  class=button/>
  <note nr=0x57    id=pad_2_4       caption="Pad 2;4"  class=button/>
  <note nr=0x58    id=pad_2_5       caption="Pad 2;5"  class=button/>
  <note nr=0x59    id=pad_2_6       caption="Pad 2;6"  class=button/>
  <note nr=0x5A    id=pad_2_7       caption="Pad 2;7"  class=button/>
  <note nr=0x5B    id=pad_2_8       caption="Pad 2;8"  class=button/>

  <note nr=0x4C    id=pad_3_1       caption="Pad 3;1"  class=button/>
  <note nr=0x4D    id=pad_3_2       caption="Pad 3;2"  class=button/>
  <note nr=0x4E    id=pad_3_3       caption="Pad 3;3"  class=button/>
  <note nr=0x4F    id=pad_3_4       caption="Pad 3;4"  class=button/>
  <note nr=0x50    id=pad_3_5       caption="Pad 3;5"  class=button/>
  <note nr=0x51    id=pad_3_6       caption="Pad 3;6"  class=button/>
  <note nr=0x52    id=pad_3_7       caption="Pad 3;7"  class=button/>
  <note nr=0x53    id=pad_3_8       caption="Pad 3;8"  class=button/>

  <note nr=0x44    id=pad_4_1       caption="Pad 4;1"  class=button/>
  <note nr=0x45    id=pad_4_2       caption="Pad 4;2"  class=button/>
  <note nr=0x46    id=pad_4_3       caption="Pad 4;3"  class=button/>
  <note nr=0x47    id=pad_4_4       caption="Pad 4;4"  class=button/>
  <note nr=0x48    id=pad_4_5       caption="Pad 4;5"  class=button/>
  <note nr=0x49    id=pad_4_6       caption="Pad 4;6"  class=button/>
  <note nr=0x4A    id=pad_4_7       caption="Pad 4;7"  class=button/>
  <note nr=0x4B    id=pad_4_8       caption="Pad 4;8"  class=button/>

  <note nr=0x3C    id=pad_5_1       caption="Pad 5;1"  class=button/>
  <note nr=0x3D    id=pad_5_2       caption="Pad 5;2"  class=button/>
  <note nr=0x3E    id=pad_5_3       caption="Pad 5;3"  class=button/>
  <note nr=0x3F    id=pad_5_4       caption="Pad 5;4"  class=button/>
  <note nr=0x40    id=pad_5_5       caption="Pad 5;5"  class=button/>
  <note nr=0x41    id=pad_5_6       caption="Pad 5;6"  class=button/>
  <note nr=0x42    id=pad_5_7       caption="Pad 5;7"  class=button/>
  <note nr=0x43    id=pad_5_8       caption="Pad 5;8"  class=button/>

  <note nr=0x34    id=pad_6_1       caption="Pad 6;1"  class=button/>
  <note nr=0x35    id=pad_6_2       caption="Pad 6;2"  class=button/>
  <note nr=0x36    id=pad_6_3       caption="Pad 6;3"  class=button/>
  <note nr=0x37    id=pad_6_4       caption="Pad 6;4"  class=button/>
  <note nr=0x38    id=pad_6_5       caption="Pad 6;5"  class=button/>
  <note nr=0x39    id=pad_6_6       caption="Pad 6;6"  class=button/>
  <note nr=0x3A    id=pad_6_7       caption="Pad 6;7"  class=button/>
  <note nr=0x3B    id=pad_6_8       caption="Pad 6;8"  class=button/>

  <note nr=0x2C    id=pad_7_1       caption="Pad 7;1"  class=button/>
  <note nr=0x2D    id=pad_7_2       caption="Pad 7;2"  class=button/>
  <note nr=0x2E    id=pad_7_3       caption="Pad 7;3"  class=button/>
  <note nr=0x2F    id=pad_7_4       caption="Pad 7;4"  class=button/>
  <note nr=0x30    id=pad_7_5       caption="Pad 7;5"  class=button/>
  <note nr=0x31    id=pad_7_6       caption="Pad 7;6"  class=button/>
  <note nr=0x32    id=pad_7_7       caption="Pad 7;7"  class=button/>
  <note nr=0x33    id=pad_7_8       caption="Pad 7;8"  class=button/>

  <note nr=0x24    id=pad_8_1       caption="Pad 8;1"  class=button/>
  <note nr=0x25    id=pad_8_2       caption="Pad 8;2"  class=button/>
  <note nr=0x26    id=pad_8_3       caption="Pad 8;3"  class=button/>
  <note nr=0x27    id=pad_8_4       caption="Pad 8;4"  class=button/>
  <note nr=0x28    id=pad_8_5       caption="Pad 8;5"  class=button/>
  <note nr=0x29    id=pad_8_6       caption="Pad 8;6"  class=button/>
  <note nr=0x2A    id=pad_8_7       caption="Pad 8;7"  class=button/>
  <note nr=0x2B    id=pad_8_8       caption="Pad 8;8"  class=button/>


</MIDISynthProfile>
