You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A loop and a section describe the same span, but neither can become the other #623
A loop and a section are both a start time and an end time on the same track. Getting from one to the other means reading the numbers off and reproducing them by hand.
Both directions come up constantly:
Looping a section. You have marked a chorus. Practising it means setting the loop to the same span, by dragging until the two roughly agree. They rarely agree exactly, and the section you already got right is right there on screen.
Naming a loop. You have found a passage by ear, looping and trimming until the bounds are correct. Keeping it means reading both numbers and rebuilding the span as a section, and the work of finding it is thrown away.
Today pressing Add with a loop armed builds a section at the start of the track instead, wherever the loop actually is. Nothing says why. That reads as the button being broken rather than as a feature that does not exist.
Asked for by @digidirt in discussion #573, and the same pairing in #474.
Constraints for anyone fixing it
Sections cannot overlap, and loops can sit anywhere. A loop drawn across two sections cannot become one without moving something the user did not ask to move. There are three options and they are not equivalent: refuse and say so, trim the new section to the free space, or displace the neighbours. Trimming and displacing both hand back a different region than the one selected, and displacing can move a section that was deliberately pinned. See #622.
Double-click is taken by rename, and .section-label is flex: 1, so it fills nearly the whole block. A double-click gesture would land on rename almost every time. A single click on a section currently does nothing at all, so it is free.
A drag ends in a pointerup too. Anything hung on "the press ended" has to distinguish a click from a drag, or every move silently retargets the loop as well.
Activity