Note about colorspaces in FCP X + Motion 5

I’ve just finished an update to the public beta of the Conduit plugin for Final Cut Pro X and Motion 5. It’s still a free download.

If you’ve signed up for this beta previously, dvGarage will send you an email about the update. And if you haven’t got the beta yet, why not sign up at dvGarage’s site to see how much more Motion 5 and FCPX can do!

There’s an important change in this update. Briefly: the Conduit plugin now works in video colorspace again, rather than the linear light colorspace which became the default in Motion 5 + FCPX.

When I made the previous beta release at the end of June, nobody had much experience with FCP X yet. Using the default colorspace of the application seemed sensible at that time. However, it turns out that requesting video colorspace is a better match for how Conduit works in other applications (and also previous versions of the Final Cut Studio apps).

If you’ve got effect files created with the previous beta, you may find that their look has been altered by this change. Don’t worry, getting the effect working in linear colorspace again is very easy:

  1. Create a Video to Linear node and place it just after the Input node.
  2. Create a Linear to Video node and place it just before the Output.
  3. Connect your effect nodes so that they are between these newly created nodes.

That’s all. You may wonder if adding these conversion nodes has a performance impact… Thanks to Conduit’s node-fusing capabilities, the effect of adding the conversions is vanishingly small in most situations. For example, if you’re making a keyer or a color correction effect, the conversions will most likely be fused together in the same rendering pass with other nodes in the same effect.

Similarly, there is no adverse effect on image quality from the conversions, because both FCP X and Conduit use floating-point pixels.

Posted in What's new | Leave a comment

Conduit 2.2 update

Another update to Conduit Suite, version 2.2, is now available. If you’ve purchased the software from dvGarage, you should have received the update by email. (If not, send me an email and let’s figure it out.)

This version includes a useful new node called Select Tone Range. I’ll write a more detailed write-up with pictures later, but briefly, this node is great for selecting a luminance range from an image with easy visual settings. If you want to e.g. apply an effect to only the shadow areas of an image, you can use this node to create the necessary mask easily.

Also included is the 64-bit Conduit plugin for Final Cut Pro X and Motion 5. A lot has changed in the latest versions of Apple’s video apps, but Conduit is there to cover your effect and compositing needs! I’ve written previously about the changes in Motion 5 / FCP X, so rather than repeating it here, please check out the previous post.

The Conduit Live trial version has also been updated to version 2.2 as well. With this point upgrade, the trial period has been reset. So if you’ve downloaded it before but the trial has been used up, you can now run the trial again for another 90 days. Give Conduit Live a try, you may find it does more than you thought! Download the trial here.

Here’s the full list of updates in Conduit 2.2.

All Conduit products:

  • Added Select Tone Range node, in the Composite category.  This node creates a mask from a specified luminance range in the input image. It has an “edge softness” setting that produces a soft falloff at the edges of the mask. Functionally this node is quite similar to Luma Key, but it has more options and also a graphic visualization of the tonal range being selected. There is also an option to show the input image’s histogram together with the tonal range visualization. With this visual feedback, this node can be very efficient for e.g. precisely selecting the shadow areas from an image.  (To create more refined masks, you can use several of these nodes and combine their output together using the Screen node. Or, if you want to “knock out” part of a mask by another mask, combine the masks using a Multiply node. This method can also be used to create selections that have varying edge softness: one node to select the “bottom” side of the edge, and another node to select the “top” side, then multiplied together.)

Conduit FxPlug (Motion / Final Cut):

  • The plugin is now 64-bit and compatible with Motion 5 and Final Cut Pro X.
  • Added a number of Conduit effect presets for FCP X.  You can use Motion’s new “Rig & Publish” feature to create more effect presets. This way, Conduit effects can be easily packaged so that they appear just like FCP’s built-in effects. There is a tutorial available about this feature (click to download – PDF, 2MB).

Conduit Live:

  • Added a new keyframe button for each slider in the Sliders and Color Pickers window.  This button has a key icon and is to the right of the “curve editor” button. If the slider has a keyframe at the current time, this button is depressed. Click on the button to toggle the keyframe. (If there is no keyframe at the current time, one will be created; otherwise the keyframe will be deleted.) Also, the sliders in this window now reflect the keyframes and can be dragged to set the keyframe value.
  • Bugfixes to editing keyframes with the Curve Editor.
  • Fixed bug with dragging nodes to the Project view ending up at an offset location.
  • Fixed bug where the Live Source nodes (QuickTime and BlackMagic) could get stuck waiting for input frames in some device conditions.
  • Fixed issue that could cause jittery playback when both a live capture source and a movie source are connected to a Conduit Effect with the project in Free Run mode.
Posted in What's new | 5 Comments

Posterize – free plugin for Conduit

Over at the dvGarage forum, there was some discussion about how to create a posterization effect in Conduit. There isn’t a built-in node that would do this precise effect, so I decided to write a quick plugin for the job.

Check out the Posterize plugin on the Conduit wiki. (It’s a free download.)

The effect is created in JavaScript, with a bit of GPU shader language which does the actual pixel processing at blazing speed on the graphics hardware. The JavaScript source code is commented throughout, so if you’re interested in Conduit scripting, this is a decent example of a simple pixel-crunching effect on the GPU.

It’s worth noting here that Conduit has two very different JavaScript interfaces that you can use to render graphics. The one used by this example is called Surface. It’s meant for high-performance rendering that needs to run on the GPU. (The Surface interface is designed specifically for video and effects rendering. It’s native to Conduit, you won’t find it anywhere else. Compared to sprawling 3D graphics interfaces like WebGL, Surface is a lot simpler to learn and use, although it is also more limited when it comes to the real nitty-gritty of 3D rendering.)

The other way to do graphics programming in Conduit is Canvas. This is a well-known 2D graphics interface that’s also part of the upcoming HTML5 web standard. It’s a simple and powerful API for 2D graphics with full antialiasing, gradients, etc. Canvas mostly renders on the CPU, so you don’t get direct control over GPU objects like you do in Surface. For the same reason, Canvas is substantially slower for any kind of rendering where you need to process lots of pixels. Canvas is at its best with vector graphics, but you can do some pixel-level computations with it using an Image object as well.

I’ve written some tutorials about these interfaces:

Canvas Tutorial for Conduit

Making Rain – this tutorial combines both Canvas, Surface and node-based effects in Conduit to create a rain effect

For Canvas, you can also find lots of information online. (Something that I’ve found particularly useful is the Canvas cheat sheet, which lists all the properties and calls available in the Canvas API on a single sheet.)

Posted in Free stuff, Plugins and add-ons | Leave a comment

Free beta of the Conduit plugin for FCP X (64-bit)

You can now download a free beta of the Conduit plugin for Final Cut Pro X and Motion 5. This is the 64-bit version, fully functional until August 15 (after which time it converts to a regular trial).

To download the free beta, please go to dvGarage’s download page.

(Note: if you have purchased Conduit, you don’t need to download this beta! There is a 2.2 update that includes the 64-bit version. You should get an email about it soon from dvGarage, if it didn’t come already.)

In Motion 5, the Conduit plugin works as before. Just apply the Conduit filter to a layer, and you can do direct editing of effects using the Conduit Editor even while the composition is playing. Although the look of Motion 5′s interface has been updated to match Final Cut Pro X, it’s still very much the same program with a fresh set of new features.

The combination of Motion’s layers and Conduit’s nodes makes for a very intuitive workflow, I think. In many ways, it’s the best of both worlds… And with Motion 5 now priced at only $49 on the Mac App Store, the Motion+Conduit combo is now ridiculously cheap. I’m pretty sure there’s isn’t another nodal compositing package on this planet that would be more affordable or would render faster!

With Final Cut Pro X, the situation with filters is a bit different from what it used to be. I’ve had to do some experimenting on how we could best offer Conduit in the new Final Cut. Unlike the previous FCP 7, the new version doesn’t support custom parameters anymore, so it’s not possible to offer the “Show Conduit Editor” button directly in the filter interface… Instead, we need to publish effect presets for FCP users.

This is not all bad news! The new Motion 5 has a really great “Rig & Publish” feature that allows the user to publish Conduit effects to FCP X. The published effect looks just like one of FCP’s built-in filters, but you get to decide the slider names and ranges right there in Motion. For example, one could make a film look effect in Conduit with a few sliders to control parameters like contrast and noisiness, and publish that to FCP X with the correct names. This is really convenient — you can essentially think of Conduit as a “plugin construction kit” for FCP X.

I’ve written a tutorial about how to publish Conduit effects from Motion 5 to FCP X. If you’re looking to get the most out of FCP X, don’t miss this:

Tutorial in PDF format

(The tutorial needs an effect file, which is the green screen keyer that’s published to FCP X. If you have a fresh install of Conduit, the effect should be available in the default Favorites like the tutorial mentions. If it’s not there, you can download the .conduit effect file here and just open it in the Conduit Editor: Green Screen Key with Unspill)

Posted in Free stuff, What's new | Leave a comment

Masking an effect in Conduit

This post is about a compositing technique that’s basic, but not quite obvious!

It’s fairly common that you want to apply an effect only within a specific part of the image, rather than the image as a whole. How to accomplish that?

Check out the answer in the “Conduit Cheat Sheet”:

Conduit FAQ: How to mask an effect

There are actually two methods detailed in that answer. The screenshot below shows the first one illustrated in nodes — check out the link for the other method…


Posted in Tips and techniques | Leave a comment

Conduit is compatible with Final Cut Pro X

Yesterday Apple released a long-awaited update of the venerable Final Cut Pro editing package. The new Final Cut Pro X is a complete rewrite. It’s fully 64-bit, and comes with a great price drop as well: FCP X is now only 299 USD.

Even more amazingly, Motion is now available for only $49 on the Mac App Store. This makes motion graphics and compositing more accessible than ever before.

Conduit is a great complement to Motion. With the Conduit plugin, you get complete freedom to create custom effects. Keyers, video looks… Whatever you can imagine.

Motion is now also the effects engine for Final Cut Pro X. You can package Motion compositions into FCP filters and transitions. Combine this with Conduit, and you’ve got some pretty amazing options for customizing FCP X…!

The current Conduit plugin isn’t compatible with Motion 5 because it’s 32-bit. (This applies to all FCP/Motion plugins, not just Conduit.)

The good news is that I’ve already recompiled Conduit for 64-bit. We’ll have an update available soon, so you can start using Conduit in FCP X!

Posted in What's new | 3 Comments

Batch Actions – render automation in Conduit Live

The latest update to Conduit Live, version 2.1.1, adds a completely new feature called Batch Actions. It’s a fairly big one too: you can now control and automate most things within a Conduit project and render out results to any number of different destinations and file formats.

Ever wanted to queue entire folders of files to be loaded and rendered by Conduit Live? Or thought that it would be nice to save variants of an effect for later, then render all the versions in one go? Batch Actions can be used for these things… And more.

Read all about it in the new Batch Actions guide (follow link to download PDF).

Posted in Free stuff | Leave a comment

What’s new in Conduit Live 2.1.1

Conduit Live has been updated to version 2.1.1. As usual, you can get the update through your dvGarage account downloads.

There’s one big new feature here – render automation. I’ll make a separate post about it, as it even has a manual written about it. (I know, totally unexpected ;) )

Here is the list of changes and fixes in Conduit Live 2.1.1:

  • Added new Batch Actions window, accessible via the Tools menu.
    With Batch Actions, you can now use Conduit Live to automate rendering. Batch actions can control most aspects of the project: load movie clips to multiple sources, change Conduit effect setups, etc. For each action, separate rendering targets can be specified. (Dual stream 3D rendering is supported in Conduit 3D.)
  • Conduit 3D only: added “Export Dual Stream Movies” option to File menu. You can use this feature to export stereo 3D content as two separate movies or image sequences.
  • Added stereo support to the Transform 3D node. This makes it possible to render true 3D layers when used within a 3D Conduit Effect. There are two new parameters that can be used for stereo camera control: Interaxial and Convergence. (Requires Conduit 3D.)
  • Added an editable field that displays the current frame number at the top of the Project window. (It’s the yellow field in the top-left-hand corner, below the field that displays the current timecode.)
  • Added two more pixel aspect ratio options to the Viewer window: 1.333 (used by DVCPRO HD and some other HD formats) and 2.0 (useful for viewing side-by-side stereo 3D content).
  • Added “Auto two-head view” setting to Multi-Display node widget. When enabled, Conduit will automatically switch to a side-by-side view when two images are connected to the node. This setting is useful for previewing stereo images. (It’s enabled by default in Conduit 3D.)
  • Added “Reset Layout to Original” option to Multi-Display node widget’s configuration window.
  • Fixed bug when editing timecode fields. Previously the cursor would always jump to the end of the field, preventing numbers to be entered in the middle of the field.
  • Fixed “Export Still Image” functionality to correctly show only still picture file formats upon export selection.
  • Fixed bug that prevented script asset names from being saved as part of the project state.
  • Fixed bug that caused off-by-one frame rendering with some image sequences and frame rates.
  • Fixed bug where a project set to Auto timebase and containing an image sequence source would be set to 24 fps when loaded from disk, regardless of the actual frame rate specified for the image sequence.
  • Fixed bug with Kinect input not working on some systems.
  • Fixed bug that caused tearing or flashing in some circumstances when rendering to Canvas 2D surfaces using JavaScript.
  • Specific to Stage Tools: movies loaded in cues are now preloaded ahead of time for faster access when cues are triggered. (Preloading causes the file to remain open, which may prevent it from being modified by other applications. You can clear out preloads using a command located in the Tools menu button at the bottom-right-hand corner of the Stage Tools window.)
  • Specific to Stage Tools: added a Name field in the Cue Editor to make it easier to edit cues.
  • Specific to Stage Tools: added a button to the bottom of the Cue Editor to show the Stage Tools Info window. (Previously this window could only be accessed from the Tools menu.)
Posted in What's new | Leave a comment

Conduit 2.1 update and Conduit 3D beta

Another free update to Conduit Suite was released recently. It’s version 2.1, and it is available through your dvGarage account.

So what’s new? Glad you asked, because I’ve got this list handy…

All Conduit products:

  • Added “Adjust HSV” node. This node performs a Hue/Saturation/Value adjustment. The operation is performed in linear RGB colorspace for best results. (If your input image is already linear, you should select the corresponding option in the node’s interface to avoid the conversion being performed twice.)
  • 2D Transform node: fixed bug where Rotate parameter had no effect if adjusted without modifying the other parameters.

Conduit plugin for Photoshop:

  • Fixed rendering bug that produced purple output instead of expected image.

Conduit Live:

  • Added Live Source (BlackMagic) node widget.
    If you have a DeckLink or Intensity card, or some other video capture solution by BlackMagic, you should definitely use this to connect to your capture device. This node widget connects directly to the BlackMagic hardware instead of going through QuickTime, so you get better performance and more easily accessible configuration options.
  • Added Align Two Images node widget.
    This tool allows for two images to be aligned. It’s useful for e.g. situations where you have two images of the same scene from cameras at different positions, or you want to replace some rectangular element in an image with something else.
    It works by selecting four points in both images. This node widget then computes a perspective transformation that places those points at the same position in both images, and transforms the images. There is a slider to change the “alignment position”, which controls how the images are transformed. (I.e. this slider allows you to decide whether to transform the first image to line up with the second one, or vice versa, or to transform both images equally so that they “meet in the middle”.)
  • Added Freeze Frame and Mix node widget.
    This tool can be used to capture a freeze frame from a video stream and then mix the freeze frame with the live video.
  • Added Script Canvas2D Effect node widget.
    This is a new type of scripted effect that you can use to easily generate graphics in the Conduit Live project. Specifically, it renders 2D graphics using the Canvas API (familiar to many from HTML5 web development).
    This node widget has two outputs — image and value — so you can simultaneously render an image and also provide some computed values that other scripts or effects can access within your project. There is a simple example provided by default when you create this node widget. See the comments in that example for more details on how to use this tool.
  • Improvements to playback performance, and better synchronization of output frame rate with incoming live video frame rates.
  • Revamped movie export dialog. You can now export to multiple video formats at the same time.
  • Added two new export formats: WebM (VP8) and MPEG-4 (H.264).
    These formats are useful for delivering video to modern web browsers. WebM is an open-source, royalty-free video format created by Google. It uses the VP8 video codec. Conduit Live 2.1 includes the latest version of this codec.
  • Fixed QuickTime export bug where last frame could be omitted from the exported file in some situations.
  • Fixed issues in keyframing slider values.

But wait – there’s more! We’ve also released a free beta of Conduit 3D, a Mac app that combines the realtime performance of Conduit Live with all-new tools for working with stereoscopic 3D content.

Do you need to view live 3D content, or easily render effects to dual-stream material? Then Conduit 3D is meant for you. You can download Conduit 3D from dvGarage now.

I intend to write more tutorials about this application and stereoscopic 3D in general soon, so please stay tuned! (Naturally, since this is a beta release, there are probably some bugs lurking, as well as features that could use improvement. I’d love to hear about your experiences with Conduit 3D! You can contact me by email at pauli<at> for anything.)

Posted in What's new | Leave a comment

Conduit 2.0.2 update

Another minor update to Conduit Suite was released recently. Version 2.0.2 should now be available to all users (check your dvGarage account and redownload the installer; or if you’re running the 90-day trial of Conduit Live, redownload it here).

This update adds some much-requested features like a rotation parameter to the 2D Transform node. (You could previously do rotation using the Place Over node, but now it’s available where you’d expect to find it…)

Also new is the Change Range node, which does the math for converting a value from one range to another. Typically, you’d have something like a slider value which is in range [0, 1] — that is, you expect the value is between one and zero — and you’d like to use it to control a parameter with a different range; for example a rotation parameter which takes values from -180 to +180. This operation could have been done using Levels, but the new Change Range node makes it that much more obvious.

Version 2.0.2 also has quite a few updates to Conduit Live. There are usability improvements, bug fixes, a new setting for saving script effect favorites… Also included is one sample script effect, “Frame Delay”, which can be used to, you guessed it, delay a video stream by a specified number of frames.

Check out the full list below, and have a great new year 2011!

All Conduit products:

  • 2D Transform node: added Rotation and Antialiasing parameters.
  • Levels node: the histogram floater window now appears only if the histogram parameter is toggled.
  • Added new Change Range node to the Math category. This node performs a “scale and offset” calculation. For example, it could be used to convert a slider value in its default [0, 1] range to a different range such as [-100, 100]. This is very useful when you want to use a slider to control a node parameter that has a different range; for example Rotation, which usually has a range of [-180, 180] degrees.
    This node is basically the same operation as Levels but without the gamma and clipping options. It was not very obvious that Levels can also be used to change the range of a value, so this node is added as a convenience. Also, Levels defaults to clipping because it’s intended for images, while Change Range never clips its output, so it’s a good idea to use Change Range to make one’s intent clearer.

Conduit Live:

  • Added new Resize node widget. This can be used to resize video streams to a size other than the current project render size. This node widget has both fast and high-quality rendering modes. It supports bicubic filtering with guaranteed quality.
  • Current values of sliders and color pickers are now saved as part of the project state.
  • Fixed bug that caused a crash with some ProRes video files.
  • Fixed bug that caused serious playback performance degradation with certain QuickTime files whose video track contains samples with varying durations.
  • The Viewer option “Show Alpha” is now saved between sessions.
  • Fixed bug with creating Surface objects from JavaScript in a Scripted Effect node widget.
  • Fixed bug that caused the app to get “stuck” instead of starting playback in some situations.
  • Added a “Favorites” button to the Script Editor window. You can use this to save scripts and access them easily. The Favorites button is also found in the Script Widget / Scripted Effect node widgets.
  • Added an example script, “Frame Delay”. This effect delays the input video stream by the specified amount of frames. (To use this script, create a Scripted Effect node widget in the Project window. Click on “Edit Script”. Click the Favorites button and choose the script from the menu.)
  • Added new “Conduit Raw” file format for rendered capture mode. This format is supported by the Rendered Capture and Stop-Motion Capture node widgets.
    The Conduit Raw file format simply stores the original pixel data without any conversions. This format is native to Conduit, so saved files cannot be opened by other applications. The file extension is “lxp”. This format uses lossless compression, so the files are fairly large. It’s possible to record HD video in this format, but it requires a fast hard disk and a fast CPU (for the compression).
    The Conduit Raw format can store 16-bit float and 32-bit float images natively. That makes the format particularly useful for recording data from e.g. a depth camera, Bayer camera or other device that produces a high-depth image. For color images, this format will always store alpha.
Posted in What's new | 1 Comment