mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.28k stars 1.24k forks source link

Slip mode exit should cause Mixxx to ignore jog wheel until it stops sending midi notes #6930

Open mixxxbot opened 1 year ago

mixxxbot commented 1 year ago

Reported by: broma0-deactivatedaccount Date: 2013-02-27T16:46:09Z Status: Confirmed Importance: Wishlist Launchpad Issue: lp1134544


I'd like to be able to do this:

1) Put a deck into slip mode 2) Spin the jog wheel back 3) Exit slip mode while the wheel is still spinning 4) Song immediately continues to play from the "un-slipped" part of the track.

What actually happens:

1) Put a deck into slip mode 2) Spin the jog wheel back 3) Exit slip mode while the wheel is still spinning 4) Song continues to play from the "un-slipped" part of the track AFTER THE JOG WHEEL STOPS SPINNING --- The song seeks to where it should be, then begins to spin back because the jog is still sending midi notes

I would essentially like Mixxx to ignore midi notes from a spinning jog wheel on slip mode exit until that wheel stops sending midi notes.

mixxxbot commented 1 year ago

Commented by: borfo Date: 2013-03-20T03:11:27Z


Here's one way this might be accomplished: It would be nice to have something like a "control stopped" event that would fire when a particular control stops moving (ie: no data from it in a certain number of milliseconds - maybe you could set the threshold for this arbitrarily somehow), that you could hook a function to with engine.connectcontrol... Then, at the point in the script where you call the exit from slip mode, you could disable the wheel input, and re-enable it in a function connected to the "wheel stopped" event.

I can imagine uses for this other than for the wheel/slip mode thing - interesting functionality could be built around a "control stopped" function for knobs and faders as well.

mixxxbot commented 1 year ago

Commented by: daschuer Date: 2013-03-20T06:32:18Z


Yes, this could be universal solution.

I experience problems with the touch sensitive wheel of the RMX2 Controller.

Touched = Scratch Not Touched = Jog

But while scratching it sometimes happens that that you accidentally release the pressure and you are back in jog mode.

Whit such a "control stopped" event we may script around it.

mixxxbot commented 1 year ago

Commented by: Pegasus-RPG Date: 2013-03-20T06:59:51Z


I'll take a closer look at this when I have some time, but for now, can you guys take a look at the wheel script functions in the Reloop TerminalMix4 preset I created? (I think the American Audio VMS4 preset does it too.) They feature the ability to do a spinback and the effect remains engaged even if you stop touching the wheel, until it stops moving, then the track resumes playback, exactly as would happen with a moving platter.

mixxxbot commented 1 year ago

Commented by: Pegasus-RPG Date: 2013-03-20T07:11:32Z


Scratch that... the functionality is already in the controller engine in Mixxx v1.11 so it should just work. If it's not, then the added brake & spinback code might be affecting it.