Operator-related Functions

Operators make a great deal possible, but sometimes you want to take things a step further. Let's examine a couple features for unspooling your events (Slice At Repeats) or clips (Expand), and then check in on an old friend (Consolidate) to see how they are handling these new data.

Slice At Repeats

The charm of Repeats is that the original event houses all of the repeats, with the parameters remaining adjustable. This is usually better than slicing the original event into new ones, but for certain cases, that might be exactly what you want to do. While it works for notes too, we can visualize it with audio event.

To turn an event's Repeats into individual events: select the event and then choose EventSlice At Repeats .

This is the same as if you had taken the knife tool and manually sliced the event at each repeat — except each new region has Repeats turned off. But all other expressions and Operators will be preserved in each new event, potentially changing the playback (for example, Chance in the above image).

Expand, from the Clip Launcher

With Operators, the number of bars you see in a clip is much smaller than the unique output you can get when the clip is looping. Depending on the modes used, each loop could be unpredictable and unlikely to repeat their pattern, or spread out so that repeats only happen every dozen (or few hundred) loops, or both. This is a lot to keep in mind.

The Expand function takes any Launcher clip and supports printing out two, twenty, or however many cycles of the original as a new clip (with all possible Operators removed and printed as permanent events). And unlike "bounce" functions, Expand outputs the same kind of clip you started with — note clips remain note clips, audio clips remain event-based audio. This lets you see all the nested patterns and relationships that Operators can bring to a "simple" loop, or even start a precise edit without the randomness.

For this example, here is a one-bar note clip as our source material.

To print several repetitions of a Launcher clip with Operators removed: select the original Launcher clip and then choose ClipExpand…. A dialog will appear with three settings.

  • Number of repeats represents the number of cycles of the clip that will be printed. So if our example is one-bar long, setting a value of 8 will create a new eight-bar clip on the next available clip slot.

  • Preserve Chance keeps all events' Chance Operator settings. This will maintain that random element on playback. This is off by default, flattening all Chance values to events that either happen or do not.

  • Preserve Spread keeps all events' expression Spread values (see Expression Spread). This will maintain that random element on playback. This is off by default, flattening all Spread occurrences to discrete values.

By taking our example source above and choosing to Expand with 8 repetitions, I got this clip.

And if I try expand with exactly the same settings, the presence of Chance may take things in a different direction.

Only a few things remain unchanged (for example, events without any Operators, and events that can't be known ahead of time, such as events that rely directly or indirectly on a Fill mode state). Some things come and go depending on the loop count (like the blue-ish notes on the top row, which only use Recurrence settings). Other events are purely randomized (like the yellow note within beat one of each bar). And other events are chained together (notice that the early beat-one yellow note OR a green note appear, due to an Occurrence of without Previous on that first green note; never both).

Whether Expand is just providing a visual readout or the plan is to lock-in the randomness of Operators and expression Spread as printed notes, that is up to you.


The clip Consolidate function has come up in previous chapters as a way to lock in or solidify a clip. So Consolidate is also an option to flatten settings. Where Expand is oriented toward taking a Launcher clip and making something much bigger, Consolidate can flatten any clip at its current size, which makes it particularly useful on the Arranger where looping clips of defined length might live.

And just as Expand had options for how to handle the randomized Chance and expression Spread elements, Consolidate can either flatten or preserve these as well. It just depends on whether the clip in question is behaving randomly on each pass, or if it has a consistent Seed value (see Seed Section).

For this example, I've taken the same clip we were using to look at Expand in the previous section. I've just dragged it to the Arranger and set it to loop three times.

This clip's Seed value is currently set to Random, which means Chance and expression Spread elements will be freshly randomized at the moment this clip starts playing. And this is preserved if Consolidate is used on this clip, as shown below.

So the looping regions have become real copies, as is always the case with Consolidate. And Operators that are unpredictable remain on their events. Only settings expressing certainty (like cycle-aware Recurrence settings or First-related modes used in isolation) will be flattened to regular events with the original Operators removed.

If the clip has a replayable Seed value, then that seed will be used to permanently print all randomized Chance and expression Spread values.

So fewer notes exist now because of the direct and indirect random relationships, and the only Operators that now remain are those considering the Fill mode state (and any following events tied to those with Previous logic), and events using Repeats, which are never touched by either Expand or Consolidate.

And if a new Seed value is requested for the original clip, using Consolidate again might yield a different result.

And it did. This time.

Was this helpful?

Please login to give your Feedback.