Beatlooprolls should do their thing when reloop_exit is called

Bug #1159528 reported by rob
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Low
Owen Williams

Bug Description

On exit from a beatlooproll, the play position is supposed to jump to where it would have been if the loop had not been activated. Currently though, in order to get this behaviour, you have to specifically enable and disable the bealooproll using beatlooproll_X_activate. If you call reloop_exit, then the beatlooproll behaves like a normal beatloop, and just keeps playing from where it was in the loop when the loop exits.

To get beatlooproll behaviour, you have to do this:

//activate the loop
engine.setValue(group, "beatlooproll_"+looplen+"_activate", 1);

//deactivate the loop
engine.setValue(group, "beatlooproll_"+looplen+"_activate", 0);

...this is a bit of a pain - first, it's not consistent with beatloops - since beatloop_X_enabled also works for beatlooprolls (which is good), I assumed that reloop_exit would also work for beatlooprolls, and it took me a while and a bit of experimentation to figure out that I had to exit using the activate function. Second, it's a pain in scripts, because you have to keep track of which specific length of beatlooproll is enabled in order to specifically disable that length of beatlooproll using "beatlooproll_X_activate". Third, I would think this would make it pretty much impossible for straight midi-learn mappings (ie: mappings without any scripting) to use beatlooprolls at all, since they'd have to hard code in the specific beatlooproll lengths to deactivate them.

If it's difficult to make reloop_exit work for both, then Mixxx should at least provide a looproll_exit function or something, so you don't have to keep track of the length of the currently active beatlooproll in order to disable it.

One possible solution to this would be to make beatloops and beatlooprolls the same thing until the loop exits (ie: user starts loop, Mixxx tracks the resume position in case the user wants to make this a beatlooproll, and then the user calls either reloop_exit or beatlooproll_exit depending on what behaviour they want.) This might be a better implementation, since the user wouldn't have to make up their mind until they're ready to exit the loop.

rob (another-rob)
description: updated
Changed in mixxx:
status: New → Confirmed
rob (another-rob)
description: updated
tags: added: loop
tags: added: looping
removed: loop
jus (jus)
summary: - Wishlist: Beatlooprolls should do their thing when reloop_exit is called
+ Beatlooprolls should do their thing when reloop_exit is called
Changed in mixxx:
importance: Undecided → Wishlist
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

I think this is a bug not a wishlist :). We should fix this in 1.12.

Changed in mixxx:
importance: Wishlist → Medium
milestone: none → 1.12.0
importance: Medium → Low
Revision history for this message
Owen Williams (ywwg) wrote :

There is a small chance someone might enable slip mode, start a loop, and then exit a loop and not expect slip mode to be disable. However I am going to assume that's unlikely and always exit slip if it's on.

Revision history for this message
Owen Williams (ywwg) wrote :

Fixed in c56eb2aa82696a0aa7740a8c94cd42f943a7117b

Changed in mixxx:
status: Confirmed → Fix Committed
assignee: nobody → Owen Williams (ywwg)
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Could we only disable slip from reloop_exit if we started it from a beatloop roll?

Revision history for this message
Owen Williams (ywwg) wrote :

I could add extra logic, yes. Right now a roll is just a loop and slip mode at the same time with no extra state maintained.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

I think at least some forum users have MIDI presets that make an explicit slip mode toggle button

Revision history for this message
Owen Williams (ywwg) wrote :

Fixed in 56f746d75918892131998c5dc999a1a68c027b10

RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6962

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.