Screen Wipe

[Updated for QLab 4.1 13 JUL 17]

This workspace demonstrates using custom Quartz Composer filters in video cues to enable ‘WIPE’ style transitions.

Here it is in action: (It’s smoother than shown in the video,  the jerkiness is a byproduct of the screen recorder)

How it works:

Each video cue that needs a transition uses a custom Quartz Composer file inserted as a video effect on the cue.

We’ll look at how the custom Quartz Composer file is created in a moment, but here is a screenshot of a video cue with a Custom Composition named MicsWipe.qtz inserted as a Video Effect. Note that the Completion slider is at 0(%)


The video cue is in a group which immediately fades the value of the completion parameter of the video effect to 100 (%) as in the following screenshot.


Cue 2 in the workspace flickers when the first cue with a transition effect loaded. This is fairly common with video effects on cues and results from the delay in the video effect becoming active when the cue is fired (pre-loading makes no difference). In subsequent cues, I have delayed making the new cue visible by 0.1 seconds by bringing it at 0% opacity and snapping it up to 100% after a short delay, as shown in the screenshots above. This gives sufficient time for the filter to be applied.

The direction of the wipe is controlled by the angle parameter which can be set in the video cues Video Effect Tab.

Wipe angles

The time of the wipe is the duration of the fade. If the transition is a complete wipe then it will probably look better if the curves are set to linear as below:

Wipe curves

This is all you need to know to make use of this custom Quartz Composition in your workspace.

You can download the complete workspace with placeholder images and the Custom Composition here

If you want a wipe like the chapter graphic at the top of the page you are in Luck!

You can download an example workspace here

If you want to explore the Quartz Composition in detail read on….

Before examining the Custom Quartz Composer Patch, if you are new to Quartz composer you may want to read the Figure53 Wiki documentation first;

QLab 3 and Quartz Composer – Custom Image Filters

Here is the Custom Quartz Composer Patch: (Right click on it to open it in a new window if you want to see it larger)


How it Works:

The patch uses the Core Image Swipe Transition which is part of the built-in set of filters.

The image is sent from QLab and arrives at the left-hand image port. From there it is fed to the Swipe filter and also to the Image Dimensions Utility. This will extract the pixel width and height of the images that QLab sends to the patch. If you follow the patch cords you will see that these are used by the filter to determine the geometry of the transition, and also by the Image Crop utility which takes the output of the filter and ensures it can be rendered by the Quartz engine before being sent back to QLab.

We are also publishing 2 parameters of the Swipe transition filter.

The first is Time which is a number between 0 and 1 which represents the state of completion of the transition. I have attached an input splitter to enable this parameter to be controlled from QLab. Because time with values between 0 and 1 is not the clearest way of expressing the state of the transition I have renamed the splitter to Completion and set the Minimum and Maximum  Values to give a range of  0 to  100 (percent completion) The value from QLab (0 to 100) is passed through the math expression block  which divides it by 100 and inverts it to give the required input range  to the Swipe  time parameter (0 to 1) and a Left to right transition direction

The second published parameter is angle which is phase shifted by 180º in the maths expression which gives a Straight left to right transition for an angle of 0º sent from QLab.

Many custom filters can be built for QLab in a similar way to this. If you copy this filter (renaming it) you can try substituting the Swipe filter for other effects. It’s probably worth retaining the input and output ports and the Image Dimension and Image Crop blocks, as these will be probably be needed in your compositions.

Here’s a gloopy swamp transition made by substituting the ripple filter where the swipe filter was in the same Quartz composition:

You can download the .qtz file here

Chapter Author: Mic Pool