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: Push two deck switches to explicitly clone decks. #4665

Merged
merged 2 commits into from
Feb 9, 2022

Conversation

ywwg
Copy link
Member

@ywwg ywwg commented Feb 6, 2022

Because the S3 has individual buttons for each deck, deck cloning is as easy as pressing and holding the deck you want to clone from, and tapping the deck you want to copy to. Manual update: mixxxdj/manual#472

Because the S3 has individual buttons for each deck, deck cloning is as easy as pressing and holding the deck you want to clone from, and tapping the deck you want to copy to.
@Swiftb0y
Copy link
Member

Swiftb0y commented Feb 7, 2022

Is there a specific reason you chose to implement this for this controller only? Seems like a general implementation would also work.
We already have deck cloning implemented generally in the form of double tapping the load button. So this seems a bit redundant IMO.

@ywwg
Copy link
Member Author

ywwg commented Feb 7, 2022

double-tapping loads the track into an unspecified deck -- when I was playing I found its choices not really great. This way I can choose. Also we support the CloneFromDeck CO so this workflow is intended to be supported.

Maintaining feature-parity among controllers is not feasible, given how different controllers are laid out and how I only own a few. (The VCI 400 has a switch for deck selection so it can't use this technique). We've ever expected that updates to one controller should apply to all of them, and I don't think that's really possible.

@Swiftb0y
Copy link
Member

Swiftb0y commented Feb 7, 2022

double-tapping loads the track into an unspecified deck -- when I was playing I found its choices not really great.

well thats if you double tap the active deck afaik. if you double tap the intended destination deck, its loads the track from the active deck. This should work in the majority case where the deck you want to clone is the one thats currently on air.

Maintaining feature-parity among controllers is not feasible, given how different controllers are laid out and how I only own a few.

I'm sorry, I didn't express myself clearly. I was suggesting to implement the feature directly on the ChannelN, load CO so it applies to all controllers. I don't see any unintended feature interactions that would make this difficult.

To make myself clear, I'm not blocking the merge of this PR. I just think that the same effect should be implemented differently so I'm asking what everybody thinks of my proposal.

@ywwg
Copy link
Member Author

ywwg commented Feb 7, 2022

This should work in the majority case where the deck you want to clone is the one thats currently on air.

That's not how I want to use the feature though -- I'm using it to move around inactive tracks, not active ones. When I'm doing 4-deck mixing, I sometimes have an upcoming track loaded in deck 4 and by the time the mix comes around I'd prefer to put it in deck 1. I also want to use this during 2-deck mixing to 'bookmark' tracks I might want to come back to by stashing a loaded track in deck 4. Then later IO can unstash it and put it in either deck 1 or 2.

I'm sorry, I didn't express myself clearly. I was suggesting to implement the feature directly on the ChannelN, load CO so it applies to all controllers. I don't see any unintended feature interactions that would make this difficult.

OK I understand, thanks. But I am not sure what you mean here, what functionality could I add to the load CO? There are two inputs here, "from" and "to". With the load CO, we know what the "to" is, but the "from" is some sort of arbitrary input from the user. (And that's how the CloneFromDeck CO already works)

@Swiftb0y
Copy link
Member

Swiftb0y commented Feb 7, 2022

Right. This would need to be implemented in PlayerManager::slotLoadTrackToPlayer not on the LoadSelectedTrack CO.

@ronso0
Copy link
Member

ronso0 commented Feb 7, 2022

That's not how I want to use the feature though -- I'm using it to move around inactive tracks, not active ones. When I'm doing 4-deck mixing, I sometimes have an upcoming track loaded in deck 4 and by the time the mix comes around I'd prefer to put it in deck 1. I also want to use this during 2-deck mixing to 'bookmark' tracks I might want to come back to by stashing a loaded track in deck 4. Then later IO can unstash it and put it in either deck 1 or 2.

Hehe, that how I use it, too. I got used to longpress (source) + tap (destination) real quick.
Though, when I got used to 'parking tracks' two spare decks weren't sufficient anymore, so I expanded that to the sampler banks (which I don't use anyway).

@ywwg
Copy link
Member Author

ywwg commented Feb 8, 2022

oo I like the idea of being able to park tracks in samplers as well -- then I could run in 2 deck mode and still see the names of the parked decks. Let's take this discussion to Zulip, but for this change, is it ok if we merge it for now?

Copy link
Member

@Swiftb0y Swiftb0y left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Swiftb0y Swiftb0y merged commit 20f1345 into mixxxdj:2.3 Feb 9, 2022
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.

3 participants