Lykos153 / mixxx

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

Slip button, tap tempo, strip search, FX button extras #1

Closed eigengrau closed 6 years ago

eigengrau commented 6 years ago

Add support for slip button, tap tempo button, jog wheel strip search.

eigengrau commented 6 years ago

I was gonna reply to you on the forums for some additional discussion, but I’m still waiting for the activation mail. So here’s what I got for now.

Tap tempo is a bit unexpected, since Mixxx expects at least 8 taps before it will set the tempo. I was always tapping four and got unexpected results, so bear that in mind.

eigengrau commented 6 years ago

Incidentally, is there a specific reason the XML bindings are limited to deck 1? For consistency’s sake the commits also only add deck 1 for now.

Lykos153 commented 6 years ago

Thank's a lot! I hope I'll be able to look into it today or tomorrow.

Incidentally, is there a specific reason the XML bindings are limited to deck 1? For consistency’s sake the commits also only add deck 1 for now.

It was actually just laziness. I wanted to keep the XML file short while I was still experimenting with it, so I had to apply modifications only once. I was planning to just copy everything for the second deck when I'm finished.

Be-ing commented 6 years ago

Could one of you open a pull request for the upstream mixxxdj/mixxx repository? It's okay if the mapping is not complete yet, just put "[WIP]" (work in progress) in the title of the pull request. This will make it easier for other people to find the discussion.

Lykos153 commented 6 years ago

Done: https://github.com/mixxxdj/mixxx/pull/1595

eigengrau commented 6 years ago

Have some free commits!

I don’t usually do any JS, so any nits welcome.

eigengrau commented 6 years ago

So, the two last commits are ideas I had on some behavior that isn’t directly labeled on the controller.

Note that 067e97f also commits my current work-around for the Keylock-LED reset issue and doesn’t yet use the components framework. We could refactor that later if we want to keep this behavior.

WDYT?

eigengrau commented 6 years ago

Key shift (037cd2b) – Since the key lock button is comfortably close to the param-buttons and is already associated with musical key, the idea is to long hold key lock and press up/down to shift musical key. Long hold and press both up/down together to reset the key.

Actually, I failed to notice that the param buttons send another note when the pad section is in another state. So these should be bound, too. Edit: amended.

eigengrau commented 6 years ago

3b2e934 is a wart for now. Since components.SyncButton doesn’t have double tap, and since we need to fudge around with the LEDs, this brings in a lot of code that should be generalized and put somewhere else. Everything not related to the LEDs and double Tap is the same logic used in components.SyncButton.

Lykos153 commented 6 years ago

Sorry for getting back to you so late. Was on the road, to I didn't have the controller to check it out. Good work! Just added some comments where I think we could still improve.

Thinking of your initial question, I guess it's time to map the right side as well. Now that it starts to be actually usable, it's very unsatisfying to only have the left half of it ;) . Did you already map it in your local xml? If not, I'm gonna do this tomorrow.

I don’t usually do any JS, so any nits welcome.

Neither do I, so same goes for you ;)

eigengrau commented 6 years ago

Sorry for getting back to you so late. Was on the road, to I didn't have the controller to check it out.

No worries, there’s no rush.

Did you already map it in your local xml? If not, I'm gonna do this tomorrow.

Most of them, except for the pads, iirc. I noticed I messed up the indentation though, because I had Emacs’ nXML-mode set to the default of two spaces, not four.