M-audio axiom 25 transport

RELATED
PRODUCTS

Post

So long story short the axiom 25 has been my keyboard controller for a good while and still works like a charm, but everything works fine in bitwig except the transport controls which is kinda lame. I have no clue how to script at all is there any hope for this implement?

Post

I've got an old Axiom 25 (first generation, I think), which I want to use with Bitwig, so I'll probably write a script for it soon.

Post

Ok, I wrote a basic script for it. Transport buttons should work, and the rotary encoders are mapped to the device macros. The script assumes the axiom to be on preset 01 after a factory reset. Otherwise, the CCs for the rotaries and transport buttons won't match up.

Download:
https://github.com/teetrinkers/bitwig-c ... master.zip

I have only tested this on Mac. Are you on Windows? Can you try if the controller autodetection works for you?

Post

i'll try to make it work on my axiom 49 also :).
For now i had no succes to make my axiom work.

Post

Awww snap hells yeah dude! I just got this reply. Will check it out asap and let you know. Good looking out!

Post

Yes I am on windows

Post

I also have the 1st gen axiom 25. trying it right now and will let you know how it goes on windows!

Post

Auto detect does not work but the transport and rotaries work like a charm. rewind and fast forward buttons select channels which is cool as well. Thanks a bunch.

Post

In the controller preferences, where you assign the script to your axiom controller, what is the input called? I'll add it to the script, then autodetection should work.

Also, I'd like to use the pads as toggles for stuff, e.g., switching the assignment of the rotaries between the device macros and the device common controls. What do you think?

Post

I think that would be really awesome and will open that controller up for some good live dj possibilities with the pads switching assignments for the rotaries. Would it be possible to get the first refresh button in the transport some clip record action?

Post

The production aspect of that concept is awesome too. How many pads are you thinking about using for switching functions?

Post

I've updated the script, you can now toggle the rotaries between device macros and common parameters using drum pad C14. When I find the time, I'll add actions to the other drum pads and see what I can do about clip recording.

I've also added sysex identification for autodetection. Can you try if autodetection works for you now? If not, please do the following for me:
After assigning the script manually to your Axiom, go to "View > Show Control Script Console" and select "axiom-25.control.js". In the console, there should be a line after "Sysex ID:" that starts with "f0". Would you post that line here? Awesome, thanks.

Post

teatinker wrote:I've updated the script, you can now toggle the rotaries between device macros and common parameters using drum pad C14. When I find the time, I'll add actions to the other drum pads and see what I can do about clip recording.

I've also added sysex identification for autodetection. Can you try if autodetection works for you now? If not, please do the following for me:
After assigning the script manually to your Axiom, go to "View > Show Control Script Console" and select "axiom-25.control.js". In the console, there should be a line after "Sysex ID:" that starts with "f0". Would you post that line here? Awesome, thanks.


Saw your script up on the Bitwig site, I am working on a bit of a fork of your code as a base for the Axiom 25 Generation 2 which I have.

I noticed something odd when messing around with the conversion today is, it seems to be picking up the press and release on transport (ie: I hit play and it plays twice in Bitwig.) Pretty much if I press and hold play, it plays. When I let go of play it plays again from the marker point as if I just pressed it again.
It might just be something I am missing on my end, I come from the .net programing languages so the syntaxing is a bit odd for me.


Any idea what might do that? (I will post the code I have when I get back to my main studio rig, either later today or tomorrow)

Post

Maybe your Axiom is sending press and release events, whereas mine is only sending press events for the transport buttons. If you uncomment the first line in the onMidi() function (printMidi...), you can see the midi messages as they pass through the script in the midi console. My guess is, when you press the play button, you'll get two midi events with the same values for status and data1, but different values for data2. The switch-statement would then need to be guarded by an if-block checking the value of data2.

Btw, what are your changes to the script? Maybe we can merge them, so that one script works for both first-gen and second-gen Axiom 25.

Greetings,
Jens

Post

Did you happen to get a 1st Gen 49 working?

Post Reply

Return to “Controller Scripting”