American Audio VMS2

Anybody have any mappings for this? Disappointed to see that there’s none in my version of Mixxx.

I read somewhere it should be almost compatible with the existing vms4 mapping. I’m quite unsure which controller I’m going to buy these days (just waiting for maybe winning one for free :slight_smile:) but the vms2 is an option for me. I wrote already midi scripts for controlling mixxx with my gamepad and joystick, so if I decide to buy a vms2, I’ll write a mixxx mapping for it.

Maybe try the mapping wizard, should work for the important features, but also midi scripting is actually easy, particularly if you know something about programming / java script.

Off Topic:
Do you know if the vms2 has 10-bit midi pitch faders? I guess and hope it has, because the vms4 should have ones.

I did the current VMS4 mappings in v1.9.2 and 1.10.0. I’m curious to know how different the VMS2 is to the 4, so would you mind just loading up the VMS4 mapping and tell me what doesn’t work? (Or what works if that list is shorter? :stuck_out_tongue: )

I’ll do this soon…I’ve gone over to the dark side of Virtual DJ (which I’m not totally digging, don’t like their scrolling waveform). I did load up the VMS 4 mapping right after I opened the box, enough didn’t work that I loaded up VDJ to get a better sense of the hardware.

As for the controller, I really like it as a step up from the entry level Numark I was using to see if I wanted to keep dj-ing digitally after only using vinyl. The lack of EQ kills is nearly fatal though.

You can use keyboard shortcuts for kills since the controller lacks them.

Yeah, when you get a chance, make sure you’re using Mixxx 1.10.0, reload the VMS4 mapping from the drop-down, and let me know what doesn’t work so we can try to fix it.

Hello, I also recently purchased an AA VMS2 for use with Mixxx. I’m using the VMS4 mapping and here are the problems I’m encountering so far:

*Sometimes, the pitch controls will “stick” in Mixx (especially after using the Sync button). I’ll move the sliders but nothing will happen. It seems to be fixed when I bring the slider close to where it is on the gui and play with it
*When hit the smaller CUE button, I imagine it would correspond to the headphone button in Mixx, but it doesn’t. It does come out the headphones on the VMS2 with the Cue Mix knob set correctly. The volume on the deck in question has to be turned all the way down to keep it out of the main channel though (I mean, to the speakers).

Will update as I’ve only begun messing with it.


*The track selector (knob and 4 arrow buttons around it) do nothing

  • The left gain, high, mid, and low don’t map to anything in the Mixx GUI yet does have an effect on the audio output
  • The right gain, high, mid, and low knowbs map to the left in Mixx. Low and gain only work for mapping from the values 5 - 10 (from 0 - 10, 5 being middle/standard). This affects the sounds of both players left and right simultaneousls

The “sticking” controls is on purpose. It’s called soft-takeover and prevents sudden jumps when the on-screen control is far from the physical control. (It can be disabled if you don’t like it.)

Does the right channel’s CUE button do anything? The VMS4 has the center two channels mapped (mixer channels 2 & 3 so I suspect that causes a problem on the VMS2. It should just be a matter of changing the value in the XML though. Run with --midiDebug to see what control number the button is.)

The VMS4 has no track selector, so I don’t know how to map that without having one to test with.

Yes, you’re affecting the internal mixer EQs so it will have an effect on the output, unless you have the unit in Pre-EQ mode. The fact that they don’t do anything on screen is likely the same situation as for the CUE button. And the fact that the right controls map to the left deck in Mixxx confirms it. Simply changing the values in the XML file should straighten it out.

My unit shoud arrive today and i’ll try to get it mapped asap. Since i have no scripting experience i’ll only be able to do a basic remapping and i won’t fiddle around much with the script for now. But at least we’ll have something to start with.

So here it is. Actually there was very little to do, there are some things bugging me about it though. I only had to change the EQ, gain knobs and the channel faders; most other things seemed to work fine already. I didn’t touch the scripts at all.

Things that don’t work:
The jogs always operate in scratch mode. Switching to “nudge”-mode and back via the “vinyl”-button apparently isn’t implemented in the VMS4-script.
Couldn’t get the track navigation knob to work properly, so i left it and the four directional buttons unmapped.

You see, i really suck at this. But at least it (kind of) works.

Oh, now i get it. The VMS4 jogwheels are touch sensitive on top and but not on the edges. The VMS2 ones are sensitive on the whole surface, so a way to switch modes would be really welcome. I guess it’s also possible by manually adjusting the scripts a bit. Do you guys have an easy solution for this? The way it is now doesn’t really suit my style.
Thx to all you guys. :slight_smile:
American Audio (2.71 KB)

if you have any spare buttons, ideally with led’s, then you could map one of those to a shift ‘toggle’ to enable/disable scratch mode. would need a tiny bit of scripting but i could help with that.

edit: i’m sure the mapping is basically doing what’s described here but in your case you’d use a separate button for the scratch enable/disable function.

The wiki says this about the VMS4-mapping:

So there is my spare button. All buttons on the device have a led backlight that can be triggered.
This is how the VMS2 behaves with the bundled version of VirtualDJ according to the manual: By default the jogs work in a typical CDJ-style, temporarily adjusting the pitch when turned during playback. When the “vinyl”-button gets pressed once, it lights up and the software goes into scratch-mode. Makes a lot of sense to me.
I don’t use scratching at all. As i mostly spin Indie and garage punk tunes, i have no use for it. As soon as you touch the wheels at all, the music basically stops in mixxx and to me this is just another opportunity to screw up as soon as i touch the wrong wheel by accident. I’m sure it’s cool for hiphop djs, but i don’t like it at all. The VMS2 comes with some kind of transparent rubber sheet you can wrap around the edges of the wheels, so you can still turn them safely if you only touch them on the edges (i didn’t understand what they were good for in the beginning). Still i’d rather have the scratching function turned off completely.
For my own purposes i’d already be satisfied if i could somehow disable it permanently in the script, but i guess there are other people around here who can make good use of the scratching function, so the option to toggle it on and off might be important to them.
When i find some more time, i’ll look into the stuff you mentioned, but i don’t know how far i can get with it (as i said, no experience with scripting stuff at all).
Thanks for your comments on this. :slight_smile:

i’ll have a look at it later today if you want. i see in your xml it’s still using the vms4 script file “American-Audio-VMS4-scripts.js” so i can just copy that to a “American-Audio-VMS2-scripts.js” and link to that from the xml - so not breaking any vms4 users.

i’m not a big fan of scratching either but personally i find scratch mode in mixxx soooo much better for cuing up a track when the track isn’t playing than “jog” mode. it’s much more precise.

I found a working solution now.
First i tried disabling the scratch mode completely in the jogTouchHandler and it did what it was supposed to, but then i realized, as you had mentioned, that the scratch mode has its benefits too.
Then i read on the wiki that i could just disable the ramping to zero, which is what really annoyed me in the first place, by just adding the argument “ramping=false”.
Voila! Scratch mode is still active but i can touch the wheels now by accident without ruining anything. And if i keep those rubbery things on the jogwheels i can have the best of both worlds.

Thanks Groschi – I added the VMS2 preset to Mixxx 1.11.0.

Whoops, i did’t notice your reply, otherwise i’d have raised the alarm earlier.
My mapping was kind of a lazy hack job just to get the machine working (and at least it does work). In the meantime (about a year ago already) some guy called Stefan contributed a mapping (see attached files) to the mailing list which i find way more polished then my first attempt. I’d suggest you include his mapping in the next release instead of the current one.
American-Audio-VMS2-scripts.js (16.4 KB)
American Audio VMS2.midi.xml (44.5 KB)


First of all, i wanna thank you all for your great work! I just got the VMS2, installed Mixxx and was able to start djing in 3 Minutes! :slight_smile: I also got it (nearly) managed to use my 1ghz-Netbook for djing. Except one strange Problem:
When i use the internal soundcard (of my desktop-pc) everything works fine (using vms2 only as a midi-controller). But when i want to use the integrated-audio-interface (i want to use on my netbook), there is a strange behavior with the Headphone(cue)-channels. Sometimes only the left channel is on the headphone, sometimes it’s on the headphone when it shouldn’t and some rare times the right-channel-audio is on the main-out, although the volume is down.
In all those controller-scripts and mappings i cannot find anything regarding the headphone-channel. Any hints where i could start to get it managed?

Okay, sorry. That was my fault :slight_smile:
I did something wrong with my audio configuration.
The files provided by Stefan worked perfectly, but i changed the jog-wheel behavior to the VMS4-script one.
My VMS2 was shipped with plastic-rings around the jog-wheels, so i have cd-behavior at the inside and vinyl-behavior at the outside.
Using that double-functional-jog-wheels depends on that plastic-wraps, so i guess we need an alternative setup.
With this double-feature-wheels using the vinyl-button is very anoying…

Here is my setup now.

One Question regarding Stefans configuration remains for me. He implemented kill-switches for the filters, but the vms2 hasn’t kill switches at all… !?
American-Audio-VMS2-scripts.js (17 KB)

Okay, i found the kill switches :smiley:

Shift-IN / Shift-OUT / Shift-RELOOP

Thank you all for all your great work!!

Hello everybody,
Would like to use VMS 2 and MIXXX. Download and installation was successfull, but the chanel fader are somehow strange and do not fit to each other. Also the cross fader doesnt work correcktly.
Can you pls. have a look what might be wrong. There are multiple faults. If I use on chanel fader - both chanels are affected. If I use the learn funktionality - everything is geting worse. One example is, that the crossfader is mixed up. If I move hardware to the right - software will move to the left and vice versa. Maximum is in the middle and if I move max to the right or to the left laudness is zero…
Can somebody help here? I am a newbe and have no clue what needs to be changed to have a proper mapping…

i changed the vinyl button handling.

press vinyl button = vinyl mode
touch the jog & press the vinyl button = disable vinyl mode

more changes in progress :slight_smile:
American-Audio-VMS2-scripts.js (16.5 KB)