Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traktor s3 2.3 #3031

Merged
merged 103 commits into from Feb 16, 2021
Merged

Traktor s3 2.3 #3031

merged 103 commits into from Feb 16, 2021

Conversation

ywwg
Copy link
Member

@ywwg ywwg commented Aug 19, 2020

Add support for the Traktor Kontrol S3

ywwg and others added 30 commits July 23, 2020 22:13
Branched from Traktor S2 config
Most simple buttons and lights mapped.
Otherwise, it seems messages build up in a queue which produces
a dramatic lag on Linux when moving faders quickly. This
regression was introduced between Mixxx 2.2 and 2.3 beta, likely
by switching HidController to nonblocking polling in PR mixxxdj#2179.
so it can be referenced outside ControllerManager
This solution avoids a deep copy of the incoming data.
The Traktor jog wheels have their own time calculation, so we don't
need to use Mixxx's smoothing code.
@ywwg
Copy link
Member Author

ywwg commented Jan 31, 2021

I have to doublecheck that I fixed the jog button, but the manual items are addressed

@ywwg
Copy link
Member Author

ywwg commented Jan 31, 2021

I still have to update the jog button behavior

(done)

@ywwg ywwg requested review from Be-ing and Holzhaus January 31, 2021 03:03
@quendera
Copy link

quendera commented Feb 5, 2021

Hey there @ywwg , I have tested this PR and have a few comments to make about user experience. I am new to mixxx so apologies if I am too vague.
Overall usability is great, thank you for the amazing work. I have a few comments:

  1. The automatic build doesn't run on Mint 20 kernel 5.4.0-65-generic. When compiled from source worked fine.
  2. The effects controls are very weird. couldn't figure out from the docs page how to actually use fx with the S3
  3. fx rack is also buggy at times e.g. leftmost track toggle is always on, some fx leds (couldn't find a pattern) never turn off.
  4. 4 deck mode has same colored LEDs for decks AB and CD.
  5. view button changes from tree to folder view. that is problematic in 4 deck mode because you lose the ability to view, without resorting to mouse, playlists/tracklist. I think view should allow you to "view" the tracks (like in traktor), and maybe the list button (unused) could toggle tree/folder view.
  6. It's intuitive to me that touching jog on top should pause track - vinyl mode (like cdj or traktor). couldn't figure out how to get this working.

I'll add more comments later today as I test it a bit further.
I will also try to understand how you coded the fx rack and see if I can make a PR with some suggestions to the mapping or the docs.

Thanks again for the amazing work.
Let me know how I can best help you.

@Be-ing
Copy link
Member

Be-ing commented Feb 5, 2021

Thank you for testing @quendera. It is always better to have people who have the hardware give feedback. The rest of us can only infer what it is like to use from the documentation. If you want to make changes, make a PR for @ywwg's fork and leave a comment here linking to your PR.

@ywwg
Copy link
Member Author

ywwg commented Feb 6, 2021

thanks for your feedback. When you say the LEDs are the same for AB as CD, are you saying when you push the deck select button that nothing changes?

I will look at the effects issues. Updated manual is here: mixxxdj/manual#308

I don't have traktor, what does the View button do?

6\. It's intuitive to me that touching jog on top should pause track - vinyl mode (like cdj or traktor). couldn't figure out how to get this working.

this is what I was saying before -- can we restore this as the default?

@Be-ing
Copy link
Member

Be-ing commented Feb 6, 2021

this is what I was saying before -- can we restore this as the default?

I don't care what the default is. The issue is the button to change this only takes effect while held down. This should be a button that toggles between modes.

* Fix library view switching
* Fix shift+wheel not releasing right away
* add shift+right encoder for moving loops
@quendera
Copy link

quendera commented Feb 6, 2021

When you say the LEDs are the same for AB as CD, are you saying when you push the deck select button that nothing changes?

I meant that A and B are both orange while C and D are blue. This is minor, but it did confuse me because the center FX toggles are also in this color. Changing FX button 3 to a color different than blue would help clear it for me.

I will look at the effects issues. Updated manual is here: mixxxdj/manual#308

After testing further and watching the youtube videos from @ywwg in this thread, I understood how the fx system currently works.

It's extremely convoluted as the controller fits best with a single effect for all knobs. That said, it adds a lot of functionality to the controller so I thank you very much for this.
If you are comfortable with that, adding your demo video to the manual could help a lot of people.

I found out my inconsistency with the LEDs in fx mode - leds corresponding to effects in the rack only light up after you exit and re-enter the effect. When no effects are attributed to the rack, the leftmost led still stays on.

The weird thing as of now is that, once you enter FX rack mode (by pressing one of the number buttons on fx select), the knobs no longer control the tracks' effect but the racks'. Thus, the rightmost knob (in track D) controls the masterknob for that given fx rack - Is this the case?

Later next week I can try to help you by editing the manual too.

I don't have traktor, what does the View button do?

View toggles big library mode. After testing, the currently implemented feature is indeed very useful and it could be done using the currently unused button to its left.
image

@quendera
Copy link

quendera commented Feb 6, 2021

  • The status of encoders, knobs and faders is not queried on opening the software. For example, on mixxx all track faders are fully up even if controller has the faders down, gain is not the same as my gain knobs.
    Is this the intended behaviour?
    Since I never used mixxx with another controller, unsure whether this is the place to comment on or if it's a general feature/limitation from mixxx.

  • I don't understand how the jog wheels work. In other software/hardware I've used (serato, traktor or cdj) touching the top of the controller pauses the track and, as soon as released, resumes playing it - basically, I would expect it to do the same as if you hold your mouse on the mixxx waveforms.
    At the same time, pressing jog button does stop the track. I find this very confusing as I don't see what's the use of jog mode if I can't have the track playing while it's active.

@Be-ing
Copy link
Member

Be-ing commented Feb 6, 2021

The status of encoders, knobs and faders is not queried on opening the software.

I think this requires a feature that won't be in 2.3: #3074 (comment)

@ywwg
Copy link
Member Author

ywwg commented Feb 7, 2021

Changing FX button 3 to a color different than blue would help clear it for me.

Maybe I can make the FX button purple instead. I'll try to make them more different. Unfortunately there are only 16 colors to work with.

The issue is the button to change this only takes effect while held down. This should be a button that toggles between modes.

yes, that's what the button does now.

View toggles big library mode. After testing, the currently implemented feature is indeed very useful and it could be done using the currently unused button to its left.

I believe in traktor that the View button toggles Big Library mode. I will do that here, and make the button to the side move the focus around.

I think I will make the Star button toggle Played status.

@ywwg
Copy link
Member Author

ywwg commented Feb 7, 2021

I think I will make the Star button toggle Played status.

there is no control object for this, so I can't do it

@ywwg
Copy link
Member Author

ywwg commented Feb 7, 2021

* touching the top of the controller pauses the track and, as soon as released, resumes playing it

I've restored this as the default behavior, try it out again!

found out my inconsistency with the LEDs in fx mode - leds corresponding to effects in the rack only light up after you exit and re-enter the effect. When no effects are attributed to the rack, the leftmost led still stays on.

I'll see if I can reproduce this.

The weird thing as of now is that, once you enter FX rack mode (by pressing one of the number buttons on fx select), the knobs no longer control the tracks' effect but the racks'. Thus, the rightmost knob (in track D) controls the masterknob for that given fx rack - Is this the case?

That is the intended behavior. Once you push an fx select button, the knobs and buttons now control the details of that effect specifically. I realize it's a lot of overloaded behavior... I was thinking of having a Simple mode that could be the default that would just allow turning on/off effects for tracks, and the fx selects would apply to all tracks (which is how it works in traktor, according to the manual).

@ywwg
Copy link
Member Author

ywwg commented Feb 15, 2021

fixed, and updated manual PR too

@ywwg ywwg requested a review from Be-ing February 15, 2021 20:28
@Be-ing
Copy link
Member

Be-ing commented Feb 15, 2021

Okay, the only major issue remaining IMO is clarifying the effects documentation (and addressing my pending comments on the manual PR).

@Be-ing Be-ing merged commit a8abafe into mixxxdj:2.3 Feb 16, 2021
2.3 release automation moved this from In progress to Done Feb 16, 2021
@Be-ing
Copy link
Member

Be-ing commented Feb 16, 2021

Thank you @ywwg. @aartigao, @quendera, if you want to propose further changes to this mapping feel free to make follow up pull requests. I suggest discussing them first in the controller mapping stream on Zulip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
2.3 release
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

7 participants