Based on recent conversations here, I've decided to take a long hard look at all things related to synchronization, alignment, and quantization. There are a number of deficiencies around these that we've been hitting for some time,
and the way we work around these is complicated and often require scripts. This will be the development focus for the next few weeks.
It will be phased in gradually with the first phase involving Quantization.
Quantization is all about "when things happen". Do you want something to happen now, or at a point in the future? There are currently four options for quantization:
Off
Subcycle
Cycle
Loop
Off means there is no quantization and the action you are requesting happens immediately. The other three are local quantization points. They are called local because they are "inside" the loop you working with. Loops have always been divided into some number of cycles and subcycles depending on how they were recorded. The meaning
of those divisions was always rather fuzzy. A cycle may be the same as a bar in music notation, but it is often much larger than that. Similarly, subcycles may represent a beat or a bar or something in between. Loops don't really have a time signature.
By far the most common quantization point is Loop. It is easy to understand, it is simply the start/end of the loop. The others, especially cycle are harder to predict because they get generated automatically as a side effect of recording and other actions like InstantMultiply or Insert. I'm not going to talk about this yet, but I'll be looking
at other ways to organize these arbitrary subdivisions of the loop. More control over what a cycle actually means and how many of them there are. A word you will start seeing more is Marker.
A marker is just a point in the loop. Subcycles and cycles are just markers that get thrown in automatically. But you should be able to move those around and drop markers wherever you want. How exactly you do that while performing live is the big question. More on that later. You will start seeing Marker appearing in the list of local quantization points.
When we're thinking about timing below the level of the loop point, we usually have a tempo and a time signature in mind. It may just be something you had in your mind as you were recording that 12 second loop, or more often you are synchronizing to something like the Host Transport, or MIDI clocks from a drum machine. How we think about synchronization in Mobius is also going to be changing quite significantly. I won't discuss that yet, but you will be seeing these new words appearing when you select quantization points.
Sync Start
Sync Beat
Sync Bar
We've had those before in the parts that dealt with synchronization. What's new is that these are now available as quantization points. As a simple example, if you want to turn Mute on at the next host transport bar, set the quantization point to Sync Bar. It does not matter where the loop's cycles or subcycles are. These are called external quantization points. They are external because they live "outside" the loop.
This is where the concepts of quantization and synchronization start to melt together. You're not waiting for a location within the loop itself, you're waiting for something else to reach a location. But they're really doing the same thing: waiting. It may take 1.372 seconds to reach the next local subcycle or it may take 2.592 seconds to reach the next host bar. Where those numbers came from doesn't really matter, you want to wait x seconds, then do a Mute.
So we can wait for local points within the loop, or we can wait for something in the Host transport. What else might we wait on? How about other tracks? You will see these words appear in the list of quantization points to select.
Leader Subcycle
Leader Cycle
Leader Loop
Leader Marker
We have had two different concepts where one track would pay attention to another track: The Track Sync Master which was used for synchronized recordings, and the MIDI Track Leader which was used for all sorts of messy things.
The concept of a track being a leader or follower is going to be generalized so that it applies to both audio and MIDI tracks. Once you have a leader/follower relationship, you can use that for many things. A follower may choose to respond to something that happens in the leader, and the leader may choose to tell its followers to do something.
There is usually one Default Leader, which is the same as what we currently call the Track Sync Master. The phrase "Track Sync Master" never really rolled off the tongue very well, so I'm going to start calling that just "The Leader" (or maybe "Dear Leader"). Like the current TrackSyncMaster, you can elect any track to be the leader, and if there is no current leader, a track may appoint itself as the leader. All tracks have the option of following this de facto leader.
Some tracks though may have their own ideas. They live in a bunker in northern Idaho and distrust elected leadership. They will follow track number 5 until you pry it from their cold dead hands. Any track may declare its allegiance to another track and will ignore the default leader.
So what does all this nonsense have to do with quantization?
Once you have established a leader/follower relationship between two tracks, the follower may use points in the leader as quantization points for its own purposes. If you used this leader track to synchronize the recording of the follower, then the leader subcycle/cycle/loop points may already align with those same points in the follower. But they don't have to.
[Cue the cinematic trailer music] "Imagine a world, where the leader track contained only markers".
Marker tracks contain sequences of markers. Markers are just moments in time. They don't do anything
but they can have names like "Intro", "Verse", "Chorus", or "Steve". Since marker tracks don't contain anything complicated, like sound, they can be stretched or compressed to fit any expanse of time.
But I'm getting ahead of myself.
TL;DR WTF does any of this mean?
In addition to the current quantization points subcycle, cycle, and loop, you can now quantize against
the sync source (start, beat, bar) as well as points in another "leader" track.
The End