Oxygen Pro 49 Midi Map Help

@Neu1986 Hi Francesco, I’m wondering if you could offer me any advice on getting my M-Audio Oxygen Pro 49 MIDI controller working with Ardour? I have the MIDI map you wrote for it where I can see that ‘Auto-map’ must be enabled on the device for it to work. The problem I have is that I cannot find ‘Auto-map’ anywhere on it. I don’t know whether my Oxygen Pro 49 has a different firmware version installed, is a slightly different model or I am just blind but if you’re able to tell me how you accessed ‘Auto-map’ on it I would be immensely grateful.

Many thanks

Hi, I changed something so i attach the new map here. At the moment I am still trying to figure out how to assign the central knob to the tempo (it’s Ctrl 99 for turning and Ctrl 100 for pushing).
If i remember correctly, the “Auto-Map” is toggled by long pressing the DAW/Select button and adding a new blank preset which you’ll call Mixbus and route on channel 16 for every command, in order for the MIDI Map to work correctly. The complete reference is on the keyboard manual.

Here is the map, everything works except for the central knob… I would be glad if you could tell me where to find the complete list of commands to configure it, since I can’t find it anymore! Let me know

<?xml version="1.0" encoding="UTF-8"?>
<ArdourMIDIBindings version="1.0.0" name="M-Audio Oxygen Pro 49">
<DeviceInfo bank-size="8"/>
<!-- 2022 12 04 Francesco Grasselli: Map file creation -->
<!-- Auto-map should be ON -->

<!-- Transport controls -->
  <Binding msg="bf 71 7f"         function="loop-toggle"/>
  <Binding msg="bf 72 7f"         action="Transport/Rewind"/>
  <Binding msg="bf 73 7f"         action="Transport/Forward"/>
  <Binding msg="bf 74 7f"         function="transport-stop"/>
  <Binding msg="bf 75 7f"         function="transport-roll"/>
  <Binding msg="bf 76 7f"         action="Transport/record-roll"/>

<!-- Action controls (Pads in DAW mode). -->

  <Binding channel="16" ctl="85" action="Mixer/ToggleMixbusPane"/>
  <Binding channel="16" ctl="86" action="Window/toggle-io-plugins"/>
  <Binding channel="16" ctl="87" action="Mixer/ToggleStripBus"/>

  <Binding channel="16" ctl="89" action="Common/Save"/>
  <Binding channel="16" ctl="90" action="Editor/quantize"/>
  <Binding channel="16" ctl="91" action="Main Menu/WindowMenu"/>
  <Binding channel="16" ctl="92" action="Editor/undo"/>

<!-- Bank controls. -->

  <Binding channel="16" ctl="110" function="prev-bank"/>
  <Binding channel="16" ctl="111" function="next-bank"/>

<!-- Gain controls. Faders are mapped to faders. -->
  <Binding channel="16" ctl="33" uri="/route/gain B1"/>
  <Binding channel="16" ctl="34" uri="/route/gain B2"/>
  <Binding channel="16" ctl="35" uri="/route/gain B3"/>
  <Binding channel="16" ctl="36" uri="/route/gain B4"/>
  <Binding channel="16" ctl="37" uri="/route/gain B5"/>
  <Binding channel="16" ctl="38" uri="/route/gain B6"/>
  <Binding channel="16" ctl="39" uri="/route/gain B7"/>
  <Binding channel="16" ctl="40" uri="/route/gain B8"/>
  <Binding channel="16" ctl="32" uri="/route/gain master"/>

<!-- Pan controls. Encoders are mapped to pan direction. -->
  <Binding channel="16" ctl="17" uri="/route/pandirection B1"/>
  <Binding channel="16" ctl="18" uri="/route/pandirection B2"/>
  <Binding channel="16" ctl="19" uri="/route/pandirection B3"/>
  <Binding channel="16" ctl="20" uri="/route/pandirection B4"/>
  <Binding channel="16" ctl="21" uri="/route/pandirection B5"/>
  <Binding channel="16" ctl="22" uri="/route/pandirection B6"/>
  <Binding channel="16" ctl="23" uri="/route/pandirection B7"/>
  <Binding channel="16" ctl="24" uri="/route/pandirection B8"/>

<!-- Status controls -->
<!-- Status buttons are mapped to rec, select, mute and solo toggles.  -->

  <Binding channel="16" ctl="49" uri="/route/recenable B1"/>
  <Binding channel="16" ctl="50" uri="/route/recenable B2"/>
  <Binding channel="16" ctl="51" uri="/route/recenable B3"/>
  <Binding channel="16" ctl="52" uri="/route/recenable B4"/>
  <Binding channel="16" ctl="53" uri="/route/recenable B5"/>
  <Binding channel="16" ctl="54" uri="/route/recenable B6"/>
  <Binding channel="16" ctl="55" uri="/route/recenable B7"/>
  <Binding channel="16" ctl="56" uri="/route/recenable B8"/>

  <Binding channel="16" ctl="57" uri="/route/solo B1"/>
  <Binding channel="16" ctl="58" uri="/route/solo B2"/>
  <Binding channel="16" ctl="59" uri="/route/solo B3"/>
  <Binding channel="16" ctl="60" uri="/route/solo B4"/>
  <Binding channel="16" ctl="61" uri="/route/solo B5"/>
  <Binding channel="16" ctl="62" uri="/route/solo B6"/>
  <Binding channel="16" ctl="63" uri="/route/solo B7"/>
  <Binding channel="16" ctl="64" uri="/route/solo B8"/>

  <Binding channel="16" ctl="65" uri="/route/mute B1"/>
  <Binding channel="16" ctl="66" uri="/route/mute B2"/>
  <Binding channel="16" ctl="67" uri="/route/mute B3"/>
  <Binding channel="16" ctl="68" uri="/route/mute B4"/>
  <Binding channel="16" ctl="69" uri="/route/mute B5"/>
  <Binding channel="16" ctl="70" uri="/route/mute B6"/>
  <Binding channel="16" ctl="71" uri="/route/mute B7"/>
  <Binding channel="16" ctl="72" uri="/route/mute B8"/>

  <Binding channel="16" ctl="73" function="select-set" arg="0"/>
  <Binding channel="16" ctl="74" function="select-set" arg="1"/>
  <Binding channel="16" ctl="75" function="select-set" arg="2"/>
  <Binding channel="16" ctl="76" function="select-set" arg="3"/>
  <Binding channel="16" ctl="77" function="select-set" arg="4"/>
  <Binding channel="16" ctl="78" function="select-set" arg="5"/>
  <Binding channel="16" ctl="79" function="select-set" arg="6"/>
  <Binding channel="16" ctl="80" function="select-set" arg="7"/>
  
  <Binding channel="16" ctl="99" function="select-set" arg="7"/>


</ArdourMIDIBindings>