Multi-way Redo Branching

< Previous | Contents | Manuals Home | Boris FX | Next >

Multi-way Redo Branching

We've probably all had the experience with various applications of temporarily undo-ing a few times to see what we'd done previously, then inadvertently making a small change which wipes out the things we were planning to redo. Wouldn't it be better if we could somehow avoid that?

And taking it a step further, wouldn't it be great if we could try things a few different ways, be able to switch among them, and then be able to continue on with the most satisfactory approach?

With multi-way redo branching in SynthEyes, you can! This is a really cool concept in SynthEyes, and we'll run through some of the details here. Conveniently, it hides behind the scenes and pops up only when it's relevant. As you experiment with it, you'll probably better understand the details here. Because the multi-way redo capability is explicitly designed to preserve information, it's pretty harmless to experiment with it.

Note : the first time that multi-way branching could be used, ie you make a change when there are possible redo items, you'll be asked whether you want to enable multi-way branching. You can change this choice at any time in the Undo section of the preferences.

Warning : As cool as this capability is for being able to try different things, note that like normal Undo/Redo functionality, the multiway redo information is not preserved when you save a file and then reopen it. So you shouldn't rely on it for things you want to save.

To understand and use multi-way redo, you should be familiar with the right-click Undo/Redo history feature, which you'll use to see the undo and redo history is like, and what is happening with the branches. The history menus show the undo items created each time you change a control in SynthEyes. The multi-way branch feature manipulates those histories!

We'll use a simple non-useful but easy example here to describe how multiway branching works. We'll use the checkboxes on the Solver panel, but in reality you could be using any of the controls in SynthEyes. And instead of just a single operation (such as Slow but sure), you can have an entire sequence of operations.

Consider this sequence of clicks on the Solver panel, after opening SynthEyes:

1. Slow but sure

2. Undo

3. Constrain

4. Undo

With multi-way branch disabled, you can only Redo, and the Constrain checkbox would become checked again. With multi-way branch enabled, the Undo right-click list

contains not only Constrain, but below it "(2-way branch)". You have the option to do a second undo and then a redo (more on that later), and the following dialog appears:


image

At this point, you have three options:

1. Click Slow but sure, which results in the Slow but sure checkbox being on, and Constrain being off, an undo list with a 2-way branch and Slow but sure, and nothing to redo;

2. Click Redo current: Set Constraints/Alignments, which results in Constrain being on and Slow but sure being off, an undo list with a 2-way branch and Set Constraints, and nothing to redo; or

3. Click Leave undone: Set Constraints/Alignments, which leaves both Constrain and Slow but sure off, an undo list of only 2-way branch, but includes the option to redo Set Constraints.

The first two options allow you to get back to either of the things you were doing previously, while the last option is typically used to set you up to add another branch.

Typically you'll right-click Undo, and look back for earlier multi-way branch. If you select a multi-way branch, SynthEyes will undo all the back to it, then automatically redo the multi-way branch, which causes the branch selection dialog to appear. This automatic redo saves time.

The multi-way branching redo feature manipulates entire lists of items to redo, so that you can work away for a while, then undo back to an earlier point, make some other changes, then be able to branch back and forth between those configurations. You can do that for any number of different configurations.

You can visualize what's happening something like this generalized hypothetical example:


multiway.png


Each box shows an undoable or redoable action. The line marked "You are here" shows the current state of SynthEyes, what you see in the viewports and if you save the file. To the left of it are all the items in the Undo list, to the right are all the items in the Redo list. Clicking Redo will execute box R1 (moving You are here right one box).

Each circle represents an undo item that is a multi-way branch. Clicking Undo (moving You are here left), then Redo, or selecting (3-way branch) in the right-click Undo list, will execute 3WB, resulting in a dialog box with four options, one to go to the end of each of the 3 branches (Earlier Branch #1, Earlier Branch #2, and the current one), plus an option to stay at the beginning of the current branch, ie right back to You are here. If you make a change from You are here, the current REDO LIST will be made into a new Earlier Branch #3, and the REDO LIST will be empty. New actions that you take will appear at the top of the UNDO LIST between 3WB and You are here. If you undo them, they'll move onto the REDO list.

Notice that Earlier Branch #1 itself contains a multiway branch, 2WB. If you select Earlier Branch #1 from 3WB, you'll get a second popup dialog asking you whether you'd like to take Earlier Branch #1A or #1B. If you check the " To leaf without questions" checkbox when you select Branch #1 from 3WB, that second 2WB dialog (and any others) won't be shown: the main (most recent) branch will be taken on any subsequent multi-way braches encountered. In this case, Earlier Branch #1B will be taken.

Similarly, if you select an item in the Redo list, any intervening multi-way branches will not result in a Select Branch dialog. In our example, selecting R5 on the right-click-Redo list will not result in a popup from the xWB multi-way branch.

Here are some additional features and details.

If the branch contains a single redo item, that item name is shown as the name of the branch. If there are multiple items, the first name is shown, plus the number of additional items.

You can hover the mouse over name of a branch to see a larger list of redo operations that comprise the branch. (There are two preferences in the Undo section that control the maximum number of operations that are shown. They defaults to showing the first seven and last four.)

TIP : Move the mouse from outside the list directly onto one of the list names! Once the tooltip opens with the list of redo item names, that's the one you get; it won't change even if you move the mouse around after that.

You can double-click a branch name to bring up a dialog that allows you to create your own name for the branch, so you can name one "Easy Way" and one "Hard Way", for example.

Branches that require over 1 MB of storage will show the amount as a suffix to the branch name, similar to the right-click Undo and Redo lists.

You create new branches by making any change when the Redo list is not empty. The branch will be consolidated with any existing multi-way branch at the top of the Undo or Redo list. In the example, a new branch would be consolidated into 3WB either from the You are here location, or from the location before it (ie by Undoing once).

You can prune (delete) your branches by selecting a branch from the list, then clicking the Delete key. This can be worthwhile if large autotracks, solves, or Apply To Trackers operations are no longer needed (which can be a Gb or more).

Within modal dialogs (such as the image preprocessor), you can use multi-way branching, but those branches are removed and only the current branch remains once you close the dialog box. (Undo and redo buttons in modal dialogs typically don't have full right-click undo and redo history menus.)

©2024 Boris FX, Inc. — UNOFFICIAL — Converted from original PDF.