Hi,
I just wanted to give a quick note on some problems that I believe I've come across in FCP and Motion, and that I reported on bugreports.apple.com last week. Hopefully this information can help other developers as well.
The first problem is fairly easy to grasp: If you have an FxPlug effect (I've only verified it for software generators) which varies over time and which somehow smoothly animates *proportionally to* where one is within the effect (e.g., imagine a bar that starts off as nothing and then grows to reach the full width of the frame at the instant the effect ends), then FCP won't handle partial re-renderings correctly. Imagine you have such an effect, and drag the end point further out to the right, then only the new part of the effect will be marked as red (needing render), and the rendered result you then get will have the bar grow to the full width of the frame at the point where the effect previously ended, then instantly fall back to a smaller size and once again grow to the full width of the frame. Similar incorrect results are obtained by lengthening the effect using the start point, as well as by shortening the effect. (Apple devs, the problem ID is #6082523.)
The second problem is probably the most serious: Let's say you have an FxPlug effect that not only has a custom parameter, but uses its value to determine how it should render (e.g. the string "red" would give red frames, the string "blue" would give blue frames). You're in FCP and send two arbitrary effects to motion using the right-click menu item, and apply this effect that has the custom parameter to either Motion project, setting one to blue and the other to red. After having saved both Motion projects and you get back into FCP and render, you'll notice that some frames that belong to one effect show up in the rendered result for the other. This effectively precludes using effects with custom parameters in Motion effects in FCP. (Apple guys, the problem ID is #6079258.)
The third problem is only in Motion: If an FxPlug effect generates pixels that are fully transparent, but have the R, G and B channels set to some non-zero value (e.g. 127 if we're talking UInt8), then Motion won't treat these pixels as fully transparent, but will instead show any underlying layer as "washed out", and the black default background will shine through as grey. This is with the normal blending modes. (Apple guys, the problem ID is #6079465.)
A few weeks ago I was on the list about effect duration being reported incorrectly using the information that comes with renderOutput: requests -- sometimes I was getting 3000 frames. I've not been able to reproduce this lately, but I will of course report it if and when I do.
Kristian Harms, Developer, Vizrt Norway |