Some problems with the new RMX mappings (Anders)

Bug #637527 reported by gimmeapill on 2010-09-13
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Undecided
Anders Gunnarsson

Bug Description

Those new mappings are quite problematic for me:
http://bazaar.launchpad.net/~mixxxdevelopers/mixxx/release-1.8.x/revision/2560

So I'll try to sum up what I found to be wrong:

- The jog wheels seem to be always in scratch mode (impossible to beatmatch anything).
The scratch button does light on/off, but there is not much difference in the behavior: always scratching

- Button Stop doesn't work
- Sync doesn't work
- Effect buttons 1-5 don't do anything (1 and 2 used to control flanger + rewind)
- Effect button 6 sets loop mode on: ok but there's nothing else loop related, so this is not very useful.

Nothing dramatic as far as the buttons go, but the jog wheels behavior is a deal breaker.
They should behave the same as before (since the 1.6 series, their behavior was quite consistent)

One good thing: the left and rigth navigation arrows work again

Related branches

Anders Gunnarsson (d00guan) wrote :

I didn't post the new script after the jog wheel bug got fixed. Here is patch to fix it.

I have changed a few buttons. I decided to use the stop button as a shift button to make room for loops and hotcue. Hold stop and press 1, 2, 3 to set hotcue 1, 2, 3. Hold stop and press 4 and 5 to set loop in an loop out. Hold scratch to have flanger and reverse on 1 and 4 as usual, you can also change flanger parameters with filter knobs while holding scratch.

Read more here: http://mixxx.org/forums/viewtopic.php?f=7&t=1225&start=10
I hope to have time to make a manual on the wiki soon.

Please post on the forum thread if you have suggestions for how to improve the mapping.

Anders Gunnarsson (d00guan) wrote :

Here's the complete script to test is easier

gimmeapill (gimmeapill) wrote :

Ok for the wheels, but changing the purpose of the Stop button will for sure confuse new users, even if documented - it is jiust counter intuitive.
If the goal is to have something that works ok out of the box, then I don't think those mappings should be the default ones - They could be called something like 'RMX_Loop_Mode', or 'RMX_Advanced'
By the way, wouldn't it be possible to do this with button 6 instead of Stop?

Anders Gunnarsson (d00guan) wrote :

Ok, maybe a basic mapping should be the default? But then we miss some basic functionality, like looping. Maybe several mappings per controller can be included in the installer? But then we have more to maintain.
I guess a discussion on guidelines for default mappings/skins in general is needed. Maybe it's better to deal with that on the mailing list and/or forum?

The reason I used stop is that it is likely not the most used button. Not all controllers have stop buttons. Also the official Traktor mapping uses Stop as a shift button for scratching, so I got inspired by that.

Button 6 is occupied with loop exit/reloop.

Also source and beat matching could be used, but I have hope that those two can be used for their purpose some day not too far away.

gimmeapill (gimmeapill) wrote :

Hi Anders, your explanations make sense.
The RMX is already runnig short of buttons, so I understand that some compromises have to be done in order to use Mixxx's latest features.
But I would personnaly prefer have rock solid behavior with the basic dj'ing features to perform safely in front of an audience over new functionality like auto beatmach, looping or ladspa effects - which was not really possible until now with Mixxx + an RMX console.

The Stop button is still useful to go back to the begining of the track, which is not necessarily where the first cue marker is, so yes I would certainly miss it.
As for looping, I don't consider it ready for battle use as long as beat detection is not more precise, but I didn't test it enough, so don't take my word.
Anyway, I have my local copy of the old mappings so there is no drama as long as you fix the jog wheels for the other people :-)

Cheers,

LX

RJ Skerry-Ryan (rryan) wrote :

Hey Anders,

Are you able to reproduce the issue with the wheels being permanently in scratch mode?

How about this as a compromise RE: the advanced mapping Anders made vs. what Gimmeapill would like. We keep the old mapping and the new mapping, and call one Basic and one Advanced, or one 1.7 and one 1.8. How does that sound?

Thanks,
RJ

Anders Gunnarsson (d00guan) wrote :

The issue of the wheels was resolved. It was caused by the multipiler used in the script for the jog issue.

I can update the mapping from 1.7 to 1.8, without breaking functionality if wanted.

RJ Skerry-Ryan (rryan) wrote :

I think gimmeapill is using the latest version of your script that we committed to the 1.8 branch, and he said that the wheels seem to be stuck in scratch mode. gimmeapill that's correct, right? You were using the latest 1.8 branch version and Ander's mappings from that brach?

gimmeapill (gimmeapill) wrote :

Yes I'm testing the 1.8 branch, but I didn't try yet the patch to fix the jog wheels.
I don't really need anything as I can rollback to the previous mappings, but I would strongly advise against breaking any functionality compared to 1.7.
Or at least before knowning how many users could be impacted - it just gives a bad first impression.
The RMX and other Hercules controllers are already problematic enough because of that shitty driver and lack of support from the company who makes $$ selling those - no need to add an inconsitent behavior of the controls between versions of Mixxx.
And since adding support for the new features requires some sacrifices (as far as the RMX goes), 2 distinct mappings could make sense.
Question is: who's gonna volunteer to maintain those - there is some extra work involved (and I'm not able to help).
So at this stage, I guess this is up to Anders...

Anders Gunnarsson (d00guan) wrote :

Ok, I've made two different mappings now. One which should be consistent with the previous 1.7.2 and a new called advanced which has the same functionality as before.

gimmieapill, can you test to see if everything work properly?

Anders Gunnarsson (d00guan) wrote :

Here are the files for patch above for easy testing.

gimmeapill (gimmeapill) wrote :

Thanks Anders,

I did a quick test and the jog wheels are indeed fixed in both mappings (that was to be expected since they share the same .js)

2 minor bugs found with the "oldschool" mappings
- the reverse button doesn't unset, so the track stays reversed
- the Pitch Reset button does its job fine, but the light toggles on/off if the pitch has be actually reset.
And if the pitch is already at zero, the light just stays on until you move the pitch slider again, which is weird.

RJ Skerry-Ryan (rryan) wrote :

Hi gimmeapill,

I think the reverse issue is a Mixxx bug that I fixed yesterday. Were you testing with the latest 1.8 code?

Anders,

I've committed your patch.

Thanks,
RJ

Changed in mixxx:
assignee: nobody → Anders Gunnarsson (d00guan)
milestone: none → 1.8.0
status: New → Fix Committed
RJ Skerry-Ryan (rryan) wrote :

Let me know if you have a fix for issue #2 gimmeapill mentioned and I'll commit that as well.

Anders Gunnarsson (d00guan) wrote :

How would you want the lights for sync and pitch reset to work? My intention was to indicate that the current pitch value might not be related to your hardware slider position. If working as intended, Sync and Pitch Reset should be lit from the time being pushed until pitch is changed. For me LEDs work that way with the exception for some buggy behaviour related to the midi bug https://bugs.launchpad.net/mixxx/+bug/342952 This is causing Sync LED to not turn off at some occations.

Was these LEDs even used in the 1.7.2 mapping?

If you see other behaviour than me, what platform are you using gimmieapill?

gimmeapill (gimmeapill) wrote :

I'm on Arch Linux, so yes that could be this bug: the light doesn't switch off by itself when the pitch has been reset.
If I move the pitch slider, it then turns off - but this is really anecdoctic.
The Reverse problem is more annoying: if you press it by mistake during a set, you may end in deep trouble.

Anders Gunnarsson (d00guan) wrote :

That's strange, I don't have the same behaviour for reverse. Which revision of Mixxx do you have?

gimmeapill (gimmeapill) wrote :

I keep in sync with 1.8-bzr (rev 2614 as of today).
I just tried again,and the bug is definitely still there - could it be maybe a PortMidi issue?

Anders Gunnarsson (d00guan) wrote :

Ok, after I updated I saw the same behaviour. Switch was used instead of Button for that control. I guess the behaviour for Switch or reverse has changed. I guess Switch is to symbolize a flip-switch and button an ordinary up-down button. The difference in behaviour isn't really well described on the wiki, but I guess Switch only send on when used with a button that is pressed.

Here is the change needed...

Anders Gunnarsson (d00guan) wrote :

Did a test by increasing the timers to reset the sync LED. Now it works better for me.

The patch applied contains the change from the previous patch and this change. Forget about the last patch.

Anders Gunnarsson (d00guan) wrote :

Here are the files changed by the above patch for testing

RJ Skerry-Ryan (rryan) wrote :

Hey, just to comment, yes the <switch/> and <button/> behavior when combined with the 'reverse' control did change. The 'reverse' button was incorrectly being treated internally as toggle button not a push button and I corrected that. I'm afraid fixing this issue might have broken some mappings, so I'm considering reverting the change. I'll update this bug when I figure out how many devices are affected.

Anders Gunnarsson (d00guan) wrote :

In that case, isn't it better to change the included mappings and maybe post a hint on the controller section of the forum?

I'm not a fan of keeping known bugs over maybe breaking some functionality that can be easily corrected. For an API to a library maybe, but in this case no.

gimmeapill (gimmeapill) wrote :

Yes, that was it, the behavior for RMX basic is now ok - but I didn't test extensively the advanced mappings...

RJ Skerry-Ryan (rryan) wrote :

gimmeapill : are you using the very latest 1.8 code ?

Thanks,
RJ

RJ Skerry-Ryan (rryan) wrote :

(i mean the code, and Anders updated mappings) just to make sure that the mappings work well with what will be 1.8.0, as we're very close to stopping any code changes.

gimmeapill (gimmeapill) wrote :

I'm testing with the freshest 1.8 bzr available (rev 2620 as of today), the fixed mappings are ok.
I just had a quick look at the other mappings, and the djconsole mp3 has also the Reverse buttons mapped to "Switch"
So this one should probably be changed to "Button" as well...

RJ Skerry-Ryan (rryan) on 2010-10-05
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers