-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
option to preselect loop- and beatjump-length #7886
Comments
Commented by: ywwg This type of function is probably best implemented in javascript for your particular controller |
Commented by: ywwg We might be able to implement some notion of a "create default loop" control and a "default loop size" that can be changed with a controller. |
Commented by: Be-ing A number of controllers have this feature and at least the Traktor Kontrol X1 has separate encoders for each deck. I think a default loop size setting per deck would be helpful so this does not need to be reimplemented for each controller. It wouldn't necessarily need scripting, just mapping a signal to adjusting the default loop size and another to setting a loop. Some controllers (Traktor Kontrol X1 comes to mind) have a way to display the selected loop length on the controller. On such devices, displaying the loop length could be implemented in a controller script by sending a signal back to the controller. |
Commented by: switch-2 @owen: yes :) thats what i would like to see, with a mark at the selected loop-size in GUI. In my particular case, it's important to have this feature for beatjumping. Either with a control like "beatjump default loop-size forward / backward! (in this case beatjumping is linked to "default loop-size") or with the possibility to choose "default beatjump size" too (to make it independent). btw: I'm about to build a custom controller (with brain V2) and I need the described feature desperately. But I don't like to build the layout for Traktor Pro since Mixxx&Linux are far to awesome. This would be a very useful thing, some controllers are already designed for this and I'm not the only one who'll get used to it, so I think it's a good idea to spend some effort to make this real. |
Commented by: ywwg You could actually write this in javascript pretty easily by maintaining an internal variable for loop length, mutating it with an encoder, and then a button that triggers the correct Control Object based on the variable. Or in the meantime you can pick your own default loop length of 4 or 8 or whatever and just bind it directly to the button. Sorry that we can't put a "rush" on specific features, I'll see if I can get to it since this would be fun |
Commented by: Be-ing Sure it would be easy for you or me to do this in JavaScript, but any use of JavaScript would be an obstacle to less tech savvy users with no programming experience who just want to map their controller. This is a useful and common enough function that I think it is worth Mixxx handling natively. Particularly with the new and improved mapping GUI, it would be advantageous if utilizing this functionality of controllers did not require any JavaScript. Controllers aside, this would be a nice functionality to have integrated into Mixxx's GUI and default keyboard mapping for everyone. |
Commented by: Be-ing Regarding keyboard mapping, I propose that double/halve default loop length controls would be activated by pressing Shift plus the keys currently set to doubling/halving the currently set loop. Also, set 4-bar loop would be replaced by setting a loop of the selected length. |
Commented by: ywwg Right, my point is that if you urgently need this feature, I recommend writing it in javascript for now and then when it gets officially added you can use the official feature. |
Commented by: switch-2 First: thanks a lot for hear me! I've just learned some Java-basics, but it should be enough to create a script which will do the job. But it's impossible to put out the value of the variable(loop-/beatjump-size) in GUI using this script, am i right? Anyway, this would be enough if i can rely on a better solution in future. |
Commented by: Be-ing Daniel, here is what I propose for control objects: Add: deprecate loop_toggle and make loop_enabled read/write. Setting loop_enabled to 1 would set a loop of loop_length beats from the play position. Setting loop_enabled to 0 would disable the loop. loop_roll_mode: 0=normal loop mode, 1=rolling loop mode In the skins, replace the numbered buttons and + and - sign buttons for setting loops with a display of loop_length with up/down arrows that would double/halve loop_length. switch-2: Correct, you could not show that variable in the GUI. You could print it to debugging output, represent it on your controller somehow (mine has LED rings around the encoders, so that's how I show it), or you'd have to keep track of it in your mind. |
Commented by: daschuer Ah yes thank you I understand. It would be nice, if we are able to still support the legacy GUI and controller buttons, with the new interface and without the need for a script. Will it be possible? |
Commented by: Be-ing How would any of what I proposed break backwards compatibility with old mappings? The only existing control that I propose changing the behavior of is loop_enabled, which is currently read-only so mappings don't set it and the behavior of scripts wouldn't change when reading loop_enabled. Everything else I propose is adding a new control. Keep the old controls for at least one release but mark them as deprecated on the wiki (which I still get an error when I try to edit btw). |
Commented by: Be-ing Owen, will you be able to implement this for 2.1? If not, I'll do it. |
Commented by: radusuciu Would love to have access to the loop_move_length and beatjump_length COs proposed above! I kinda like the current loop setup in Deere however, with number grid and loop halve/double buttons on the end. |
Commented by: Be-ing
Doesn't seem like anyone's currently making that happen, so if you want to contribute that, please do.
IMO this is cluttered and takes up way too much space. Part of the reason I think this would be good for all users is that the skin UIs could be cleaned up. |
Commented by: radusuciu Also, I've noticed that changing the beatjump length or loop_move length on one deck is mirrored to another. Is this behaviour desirable? |
Commented by: Be-ing Yeah, I've noticed that too. IMO that is a bug and not desirable. It does that because Deere defines its own ControlObject for those which is shared across all decks. I think the selected lengths should be specific to each deck. |
Commented by: Be-ing
|
Issue closed with status Fix Released. |
Reported by: switch-2
Date: 2015-03-07T04:30:07Z
Status: Fix Released
Importance: Wishlist
Launchpad Issue: lp1429331
Tags: looping, midi, skin, usability
It would be awesome to have the possibility to preselect an amount of beats ( 4, 8, 16, etc.), to use it as loop length or at least as beatjump-length. In my work-flow (with Traktor Pro) I'm using different sizes of beatjumps, in Mixxx I can only map one persistent beatjump-length to one specific button on my DJ-Controller. So its impossible to use different lengths. I guess I could manage to create a working controller-script, but this way i cant see the preselected length. Please correct me if I'm wrong.
The text was updated successfully, but these errors were encountered: