feature: serato-style "flips"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
This weekend I learned about a feature that Serato has that could be implemented in Mixxx (if we want). Consider this is a rough proposal and placeholder for something that would make a good GSOC project.
As I understand it, "flips" are a fancy word for a type of user-created "macro" that reedits a track in terms of activating cuepoints, enabling or disabling loops, even activating rolls or censor mode at predetermined times. Once a recording is made, the user can load the "macro", press play, and the track will play back with all of those controls automated. Examples given to me:
* Cutting out a long breakdown of a song automatically
* Playing the second verse, then the first, then skipping to the third
* Looping the opening 4 times and then playing as normal
* activating the censor button on all the naughty words
I believe these macros are created in serato in realtime. You press a record button, and then play back the track and activate all the controls as you want. It will then quantize the operations if you want and save them.
When loading a track, you're presented with a list, similar to the list of presaved hotcues or loops, and if you select a flip it will activate.
I can think of ways in which this feature could be scaled up or down as needed. We could go all-in on some crazy automated javascript-creation thing where we can automate the whole mixxx interface.... or we could just have a CSV file that defines timecodes and operations.
Challenges:
* what happens when the user triggers operations while the macro is executing? What if I bail out of a loop early or hit a hotcue button?
* what happens if the user engages slip mode?
* where do we fit these operations in the UI?
* do we need to support multiple loop storage first? (I think we do, and should!)
This is a pretty advanced feature but the DJ telling me about it said it was very useful and some DJs do some crazy remix work with it. I think it's feasible to implement in Mixxx!
Changed in mixxx: | |
status: | New → Incomplete |
status: | Incomplete → Confirmed |
For reference, here's some documentation about the data format that Serato uses for saving these "Flips": https:/ /github. com/Holzhaus/ serato- tags/blob/ master/ docs/serato_ markers2. md#flip- entries