Skip to content

Conversation

@ywwg
Copy link
Member

@ywwg ywwg commented Nov 23, 2025

Relative Tempo Fader mode: Tempo fader only responds to changes, not absolute position. Use shift to change position without adjusting rate. (great for sync lock mode)

Relative Tempo Fader, Shifted mode: Only respond to changes when shift is held. Prevents accidental bumps when DJing in poor tactile environments (wearing fursuit paws)

Jog Wheel Adjustment factor: Adjust sensitivity of jog wheel when making sync adjustments. (current default is very sensitive)

Alternative Move mode: for the move encoder, change assignments: unshifted to change beatjump size, shift to do a beatjump, push and change to adjust pitch. (another case where I don't want to accidentally bump the control and jump beats)

Relative Tempo Fader mode: Tempo fader only responds to changes, not absolute position. Use shift to change position without adjusting rate.
Relative Tempo Fader, Shifted mode: Only respond to changes when shift is held.  Prevents accidental bumps when DJing in poor tactile environments (wearing fursuit paws)
Jog Wheel Adjustment factor: Adjust sensitivity of jog wheel when making sync adjustments.
Alternative Mode mode: for the move encoder, change assignments: unshifted to change beatjump size, shift to do a beatjump, push and change to adjust pitch.

Signed-off-by: Owen Williams <[email protected]>
@ronso0
Copy link
Member

ronso0 commented Nov 25, 2025

Thank you for this!

The relative tempo mode is indeed helpful, for me when I want to match another track's BPM which is > +- 8% but I don't want to change the rate range.

Though there are a few issue with the current implementation:

  • I didn't find a way to get back to regular/absolute mode, mainly to reset the rate
  • it seems the LEDs are completely bypassed in this mode
  • relative mode allows to set rates < -100 %
    (actually this means to go backwards, but this is clamped by the engine, just the elapsed/remaining display goes wild)

How can we implement a 'relative mode' toggle?
Currently the Sync and Master button are already crammed with lots of functions, so not even Shift + Sync longpress + Master longpress is available.
How about binding this to Shift+JOG?
Proper feedback is another story, maybe permanently light the center LED with the 'centered' color? (deck color I think)

@ywwg
Copy link
Member Author

ywwg commented Nov 25, 2025

Though there are a few issue with the current implementation:

  • I didn't find a way to get back to regular/absolute mode, mainly to reset the rate

(see below)

  • it seems the LEDs are completely bypassed in this mode

what would you want them to do here?

  • relative mode allows to set rates < -100 %

I can clamp that for sure. And an upper bound just for safety seems useful too.

(actually this means to go backwards, but this is clamped by the engine, just the elapsed/remaining display goes wild)

How can we implement a 'relative mode' toggle? Currently the Sync and Master button are already crammed with lots of functions, so not even Shift + Sync longpress + Master longpress is available. How about binding this to Shift+JOG? Proper feedback is another story, maybe permanently light the center LED with the 'centered' color? (deck color I think)

I'll think about this -- currently I think it's ok to keep it as a controller setting and not something accessible from the controller hardware.

@ywwg
Copy link
Member Author

ywwg commented Nov 25, 2025

I guess shift+jog can work? But I think "shift+master long press" is available: https://github.com/mixxxdj/mixxx/blob/main/res/controllers/Traktor-Kontrol-S4-MK3.js#L1989-L1998

* clamp values to sane min and max
* use shift+master-long-press to toggle per-deck relative setting

Signed-off-by: Owen Williams <[email protected]>
@ronso0
Copy link
Member

ronso0 commented Nov 26, 2025

  • it seems the LEDs are completely bypassed in this mode

what would you want them to do here?

Actually I was missing the center indictaor, but that's d be kind of useless anyway because, without the (scripted) center zone, the center can actually not be reached.
So disregard my note.

Will test the latest update soonish.

@ywwg
Copy link
Member Author

ywwg commented Nov 26, 2025

I suppose we could light up the light when the pitch is zero, regardless of where the slider is. (That would show how far off from centered the slider is)

@ronso0
Copy link
Member

ronso0 commented Nov 26, 2025

Yeah, thing is, what I tried to explain: with the high-res faders I never managed to hit zero -- that's why I added the center zone #14735, and with relative mode we currently don't have this center zone.

Is there a way to engage relative mode on request? And auto-quit?
Maybe like this:

  • make a Shift move = fader enters relative mode
  • move out of bounds, or not, doesn't matter
  • while moving in relative mode (1), as soon as the engine fader reaches zero, we'd enable softTakeover and the physical fader would be decoupled
  • move fader to center = pick up engine fader, return to absolute mode

(1) I suspect the crucial/tricky part would be to distinguish rate changes done by the engine (sync locked) and the physial fader

Kind of related to #14985

@ywwg
Copy link
Member Author

ywwg commented Nov 26, 2025

Is there a way to engage relative mode on request? And auto-quit?

  • while moving in relative mode (1), as soon as the engine fader reaches zero, the physical fader would be decoupled (not set rate anymore)

is the goal here "I want to reset the pitch to zero"? I think that could be accomplished by moving the physical fader to the center, disabling relative mode and reengaging relative mode. Personally I would just right-click on the screen to do this rather than try to do it with the controller.

If you can say more about the use-case for this it would help me understand. I don't quite understand what would be happening in a DJ set that you want to do.

@ronso0
Copy link
Member

ronso0 commented Nov 26, 2025

Right. First of all, I'm not requesting to expand the scope here. Relative mode is nice, even if it can only be toggled in the settings.

My use case is beat matching to external sources. I usually try to match by ear or use a BPM tap tool.
If the target BPM is outside the +- 8%, I usually pick a broader rate range, though I don't like that too much as I'm loosing the precision of the 8% range -- which I like because it allows me to get somewhat close to target BPM with quick up-and-down moves. ("riding the fader" as Ella Skins called it)
Relative mode with 8% would be great for this case.

What (in my mind) would feel natural is moving the fader to the upper/lower limit, Shift-move it back to (somewhere near) the center and continue in relative mode. And later on return to absolute mode as described.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants