Editing Compositions with Intervals

Multiple intervals on a single stage. Selected intervals have pink handles

A HoloEdit composition is made up of Intervals.

Intervals are displayed as long grey boxes aligned with individual stages.

Each stage can have zero or more intervals, and each interval represents a range of frames where that stage will be applied to the Composition.

The stage determines what kind of edits will be applied to a track, but the intervals contain the frame range and the particular settings for each edit.

If a stage contains gaps of time without intervals, no edits are applied for those frames, and the data inside intervals in previous stages (if any) flow directly downwards to subsequent stages.

Most compositions start out with a load asset stage containing one long interval to add initial data to the track, and then go on to contain more stages and intervals for editing and compression.

Creating an Interval

There are multiple ways to create intervals:

  • Automatically at Track Creation: When you create a track by dragging-and-dropping a clip into the Composition Panel. This will create an interval that spans the full length of the clip.

  • Automatically at Stage Creation: Stages automatically propagate the intervals from the stage above them when created.

  • Propagate Intervals: Right clicking the next stage up in the composition window and selecting the “Propagate Intervals” option. This copies all of the above stages intervals to this stage.

  • Time Selection Box Drag a track time selection box over the empty space in the Timeline where you would like to create an interval, right click it and select the “Add Interval” option.

Interval Display

Intervals appear as grey boxes on the Timeline. Each interval displays many pieces of information:

  • Sample Status Display: The Sample Status is the state of the data present in each frame in an interval. This is conveyed through a few visual indicators

    • Light interval body: Light gray intervals have data present (loaded or created). This will be light pink if the interval is selected.

Full interval containing data
  • Dark hollow interval body: Dark gray intervals are empty and do not contain any data. This will be dark pink if the interval is selected.

Empty interval with no data
  • Dashed Yellow Bar at the top of the Interval: Indicates that the currently present data is “dirty” and may require reprocessing to reflect the current settings or input data. Note that this is just a warning and this data may still be valid.

an interval thats data may require reprocessing
  • Solid Red Fill On Interval: The highlighted frames were returned failed from the Job Server

an interval that failed to process
  • Audio Waveforms: On load asset stages including audio, the audio waveform is displayed as a series of thin grey bars at the center of the interval. The length of the bars corresponds to the audio.

an interval that loads an audio track
  • Sample Status Icons: For intervals with failed or dirty segments, icons will be displayed at the top right corner of the Interval

    • Yellow Warning Sign: This interval has one or more dirty samples

an interval thats data may require reprocessing
  • Red Warning Sign: This interval has one or more failed samples

an interval that loads an audio track
  • Interval Range: The frame numbers of the first and last frames of the interval are displayed as a pair of numbers at the center of the interval, such as “0-10”

Shows the frame range an interval covers
  • Processing: Once an interval has been executed it will begin processing, and the interval will be animated to indicate it is currently processing. The animation will display horizontally scrolling diagonal bars throughout the interval.

an interval thats currently processing
  • Processing Status: A colored line will appear at the bottom of the interval box appears indicating its status. Each color indicates a specific state:

  • Green: Successfully processed

an interval thats processed successfully
  • Red: Failed processing

an interval that failed to process

Note

Intervals that belong to certain stages will change status all at once, and others will update one frame at a time. Once a job has finished, you can hide the status lines by dismissing the job from the Job Viewer in the Tools Menu.

  • Current Sample: A square bracket at the top of the interval indicates the position and length of the data currently under the Playhead. Appears in light gray if that sample is currently being rendered in the Viewport, dark gray otherwise

The current frame being displayed in the viewport
  • Segment Divider: Vertical dashed Light Grey Lines through the interval indicate the boundaries between stabilized segments

This marks the boundry between segments
  • Keyframe Marker: The Keyframe Marker is a small diamond marker that indicates where on the interval a keyframe is located, if present. The Keyframe Marker can appear one of two ways depending on the interval state

    • Large, filled diamond: A user-specified keyframe. The diamond can be dragged to adjust the position of the keyframe

Manually selected keyframe
  • Small, hollow diamond: A derived keyframe. This keyframe is determined earlier in the track, and cannot be edited here

Automatically selected keyframe

When an interval is selected, it shows vertical pink tabs at its edges. These tabs can be dragged to resize the interval (see below).

Adjusting an Interval

The position of intervals can be adjusted by selecting one or more intervals, and then clicking and dragging on the grey body of one of the selected intervals.

The length of an interval can be adjusted by selecting an interval, and then clicking and dragging on the pink end-tabs. Intervals can be of any size, but must be at least one frame long. Intervals can have gaps between them but are not allowed to overlap with other intervals on the same stage.

an interval that failed to process

When multiple intervals are selected, clicking and dragging any selected interval will move all selected intervals together. If two or more selected intervals have starting or ending frames positioned on the same frame, dragging any one of those starting or ending handles will move all of those handles in unison.

You can also adjust the position and length of intervals numerically using the Stage Inspector.

Important

For almost all stages, moving an interval does not move any data inside it. The exception is the load asset stage.

When an interval in a load asset stage is moved, the data inside the interval (which is from its associated clip) is moved along with it. Changing the size of a load asset interval will include more or less of the clip, but will not move the data.

Data and Intervals

Interval Dirtiness

Most stages operate using the data streams present above them in the track as an input. When stages are re-arranged or intervals are re-run with new settings, that stage’s output data may change, causing all subsequent intervals to be out of date. HoloEdit detects this state and labels those intervals “dirty”, indicated by a dashed yellow line above the interval. Because dirty intervals are using out of date streams, they will return different results when they are run again. Unless you made changes to a previous stage by mistake, you should usually re-run intervals as soon as they become dirty.

Executing Intervals

Right-clicking on an interval and choosing Execute will automatically create a new job and dispatch that job to your selected Job Server.

If one or more intervals are selected when you choose execute, all selected intervals will be executed as a single job. If subsequent intervals from multiple stages are selected, the data from the first stage will be uploaded to the job server, and the job server will process each stage in order, beginning on the next as soon as data is available from processing the previous stage. This way, you can set up multiple stages and intervals, and then execute everything at once.

With multiple intervals selected you can also select Execute Missing to execute all data that is currently missing, or Execute Failed to execute all data that failed to process correctly.

Any interval currently processing or awaiting results from the Job Server will be locked.