<?xml version="1.0" encoding="UTF-8"?>
<ArdourMIDIBindings version="1.0.0" name="Nektar Impact LX">

<!--
Ardour MIDI Binding Map for the Nektar Impact LX series of controllers (mainly LX-49 & LX-61)

Device configuration (HW)

The Impact LX indeed uses channel 16 as a fixed one, this does not seem to be editable.
The Impact internal USB Port "000" (out of 0/1/2) should work fine. Otherwise, check Nektar's manual about changing USB Port config (in short: "Setup" then on keybed "A2" and "C3/D3" to adjust).

Ardour configuration:

Menu > Edit > Preferences > "MIDI/MIDI Port Config".
	Make sure that "Music Data" is selected for BOTH Impact LX*** ports.

Next select "Control Surfaces" > "Generic MIDI" > "Show Protocol Settings" 

	Choose "IMPACT LXxx MIDI 1 (In)" for Incoming MIDI (& "IMPACT LXxx MIDI 1 (Out)" for Outgoing MIDI).
	MIDI Bindings: "Nektar Impact LX"
	Additionally select "Enable Feedback", if anything behaves strangely.
-->

  <DeviceInfo bank-size="8"/>
<!-- Buttons labelled 'track-' and 'track+' mapped to switch banks -->
  <Binding channel="16" ctl="109" function="prev-bank"/>
  <Binding channel="16" ctl="110" function="next-bank"/>

<!-- Faders mapped to track faders 1-8 and Master -->
  <Binding channel="16" ctl="12" uri="/route/gain B1"/>
  <Binding channel="16" ctl="13" uri="/route/gain B2"/>
  <Binding channel="16" ctl="14" uri="/route/gain B3"/>
  <Binding channel="16" ctl="15" uri="/route/gain B4"/>
  <Binding channel="16" ctl="16" uri="/route/gain B5"/>
  <Binding channel="16" ctl="17" uri="/route/gain B6"/>
  <Binding channel="16" ctl="18" uri="/route/gain B7"/>
  <Binding channel="16" ctl="19" uri="/route/gain B8"/>
  <Binding channel="16" ctl="20" uri="/bus/gain master"/>

<!-- Buttons below the faders mapped to Mute-->
  <Binding channel="16" ctl="21" uri="/route/mute B1" momentary="yes"/>
  <Binding channel="16" ctl="22" uri="/route/mute B2" momentary="yes"/>
  <Binding channel="16" ctl="23" uri="/route/mute B3" momentary="yes"/>
  <Binding channel="16" ctl="24" uri="/route/mute B4" momentary="yes"/>
  <Binding channel="16" ctl="25" uri="/route/mute B5" momentary="yes"/>
  <Binding channel="16" ctl="26" uri="/route/mute B6" momentary="yes"/>
  <Binding channel="16" ctl="27" uri="/route/mute B7" momentary="yes"/>
  <Binding channel="16" ctl="28" uri="/route/mute B8" momentary="yes"/>
  <Binding channel="16" ctl="29" uri="/route/recenable S1" momentary="yes"/>

<!-- Encoders above faders mapped to pan direction. -->
  <Binding channel="16" ctl="30" uri="/route/pandirection B1"/>
  <Binding channel="16" ctl="31" uri="/route/pandirection B2"/>
  <Binding channel="16" ctl="32" uri="/route/pandirection B3"/>
  <Binding channel="16" ctl="33" uri="/route/pandirection B4"/>
  <Binding channel="16" ctl="34" uri="/route/pandirection B5"/>
  <Binding channel="16" ctl="35" uri="/route/pandirection B6"/>
  <Binding channel="16" ctl="36" uri="/route/pandirection B7"/>
  <Binding channel="16" ctl="37" uri="/route/pandirection B8"/>
  
 <!-- 2x4 Encoders mapped to the active plugin's first 8 parameters -->
  <Binding channel="16" ctl="56" uri="/route/plugin/parameter S1 1 1"/>
  <Binding channel="16" ctl="57" uri="/route/plugin/parameter S1 1 2"/>
  <Binding channel="16" ctl="58" uri="/route/plugin/parameter S1 1 3"/>
  <Binding channel="16" ctl="59" uri="/route/plugin/parameter S1 1 4"/>
  <Binding channel="16" ctl="60" uri="/route/plugin/parameter S1 1 5"/>
  <Binding channel="16" ctl="61" uri="/route/plugin/parameter S1 1 6"/>
  <Binding channel="16" ctl="62" uri="/route/plugin/parameter S1 1 7"/>
  <Binding channel="16" ctl="63" uri="/route/plugin/parameter S1 1 8"/>

<!-- Transport controls -->

  <Binding channel="16" ctl="102" function="loop-toggle" momentary="yes"/>
  <Binding channel="16" ctl="103" action="Transport/Rewind"/>
  <Binding channel="16" ctl="104" action="Transport/Forward"/>
  <Binding channel="16" ctl="106" function="transport-start"/>
  <Binding channel="16" ctl="" function="transport-end"/>
  <Binding channel="16" ctl="105" function="transport-stop" momentary="yes"/>
  <Binding channel="16" ctl="106" function="transport-roll" momentary="yes"/>
  <Binding channel="16" ctl="107" function="toggle-rec-enable" momentary="yes"/>

</ArdourMIDIBindings>