Expanding the specs with some additional thoughts on pattern recording, quantize, looping and track selection
–
Pattern-recording starts when a sound is first triggered. Until then, the controller will display any previous recordings (dimmed down, if possible) - this is simply helpful for locating points in time for the sounds you are hearing.
Of course, Renoise needs to be playing before any of this is possible.
Once recording is started, the application will continuously record - replacing any existing content - into it’s track(s), for as long as there are any actively playing sounds in mlr-x. In other words, you can record “just one beat” by pressing a trigger and then hitting the group mute button just after it started recording (as both start and stop are quantized)
A relevant question here would be: with something as free-form as this, where does quantize even apply? For example, what if we are recording into patterns with a length of 64, but we have selected a (granted, strange) quantize value of 24? We could make a logic that would count backwards from the starting point of the recording, and adding those number together - so we’d get a note on line 00, then 24, 48, and proceeding into the next pattern: line 8, 32 and 56. However, I think it would be better to rely on the way Renoise behaves and count from the beginning of each pattern. Then it would be up to one self to define a pattern with a sensible number of lines for any given application (poly-meter rhythms, or just downright strange values). A big advantage of this simpler approach is, that if you decide to add anything to a previous recording the quantize would work precisely in the same way, no matter which pattern you start on, or for how long it has been playing.
As for pattern boundaries and loops, the application will automatically detect if there is a pattern/block loop defined, or if it has reached the end of the current pattern, and is supposed to write pattern data into the next one. In any case, it will produce a continuous output, unaffected by these factors.
As for track selection: when a sound is triggered for the first time, it’s name will be attached to the track receiving the pattern data. Later on, if we trigger the same a sound, the application will choose to continue recording into the same track as before. This should make it easier to separate sounds from each other. The sounds are associated with a track in the order that they are recorded, and not the order in which they appear in the instrument list.