“Re-recording of a track” flow fix proposal
That one is a bit more complex as involving two buttons. The “Record” button to start the recording and the “Play” button to end it.
Problem statement
Let’s assume we’ve just performed the “undo” of a track as it is today in freeform mode.
Starting re-recording the loop
In that state the button displays “Record”, but this is not the same “Record” as when you start a brand new track. Here if you long-press it, it will perform the “redo” action, but if want to re-record, you have just to hit the “Record” button which reacts to the much-hated on-release because of the “redo” feature.
Consequence: the loop doesn’t start when it’s supposed to.
I could even add, that from UI perspective there are at time, on the screen, two buttons with the same label (Record) but with two different behaviors… ![]()
Ending the loop re-recording
In that state, the button displays “Play”, but it reacts as well to a long press to enable to cancel the re-recording. Thus ending the loop reacts to the much-hated on-release because of the “cancel re-record” feature.
Consequence: the loop doesn’t end when it’s supposed to.
Again, even another “Play” button cannot be displayed at the same time, the “Play” button displayed in this context has not the same behavior as the one you had when recording the first version of the track (before the “undo”).
We end-up with a loop which is both wrong in the beginning and at the end.
I would like to add to this, that the “redo” flow is an edge flow compared to “re-record” flow. As a matter of fact, if you undo a record, this is a priori to record something new. The “redo” feature is just there in case you did the “undo” by mistake. Thus priority has clearly to be given to the “re-record” flow over the “redo” flow.
Solution proposal
-
Relegate the “redo” to the touch-screen (maybe touching the waveform, any suggestion welcome), and of course provide a MIDI message to enable a possible more convenient way to do it. That way, while the feature is preserved (even if relegated to actually what it is, i.e. a second-class action), it fully solves the issue of starting the loop.
-
Completely remove the “cancel” attached to the long-press event while re-recording. Maybe provide a MIDI message to do it, as you could always end the recording and then do “undo” again. It is a clear necessity to free the long-press event which fully solves the issue of ending the loop (yet cancelling something before it plays would remain an interesting feature. As far as I understood it is nevertheles not exactly what it currently does. it looks like this long-press simply chains a “stop the record” with an “undo”, which is not exactly the same as cancelling before it plays…).
Choosing is renouncing, and no one will like this, but having the “redo” available as a long-press is nice, yet clearly not at the expense of the re-recording flow which is the real flow supposed to occur at that time. Having the “redo” nevertheless available by touching the waveform for the few cases it is really required seems a pretty acceptable trade-off.
Of course a MIDI message could give immediate access to the “redo” feature for the MIDI users…