site_archiver@lists.apple.com Delivered-To: Pro-apps-dev@lists.apple.com Let me know if you have any questions. Here's the plugin I used: Darrin On Aug 7, 2009, at 10:55 AM, Brian Gardner wrote: I'm tryng to get my head around what happens to a FxPlugin (especially a generator) when it is trimmed or cut inhalf then it's parts are moved around on timeline. And what a plugin which has reference image parameter(s) should/could do to appropriately update itself. I would assume the FCP 7 will make a copy of the generator (or clip+filter), then make two API method calls, to which our plugins can optionally respond: My plugin should respond to these two methods, and update it's internal state for accessing the appropriate frame ranges of it's reference image parameters to meet the new post-cut state of the edit. Is my assumption anywhere near correct? If so, what are those FxGenerator 2 methods to which my FxPlug should respond? If not, how does it really work? And how should/can my generator respond to a cut edit, so that it can appropriately access it's reference image parameters? -- Brian _______________________________________________ Do not post admin requests to the list. They will be ignored. Pro-apps-dev mailing list (Pro-apps-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/pro-apps-dev/dcardani%40apple.com -- Darrin Cardani dcardani@apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Pro-apps-dev mailing list (Pro-apps-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/pro-apps-dev/site_archiver%40lists.ap... This email sent to site_archiver@lists.apple.com Brian, The way you suggest it should work would be a good design. However, that's not how it works currently. :( Paul's out on vacation, and he'd have a better idea of how it works in FCP, but I'll go over what Motion does. I believe that FCP does basically the same thing, but am not positive. An image well is a parameter like any other. When you change the clip duration or the start point, you change the value of the parameter, so the host app will ask your plugin to re-render, just as if the user changed the value of a slider or checkbox. It should first call your plugin's -parameterChanged: method with the ID of the image parameter, but upon testing, I've discovered that it does not (at least in Motion - you should try in FCP). This is a bug you should write up. So all your plugin knows is that something changed and it should rerender. One way you can track what's changed is by caching the image in the image well's start time and duration. In your -renderOutput: method, you can use the FxTimingAPI to see if the image parameter's start time or duration is different from your cached value and do the appropriate thing if it's changed. It's not as convenient as getting a -parameterChanged: message, or a notification directly, but it should be workable. ImageWellChangeTester.zip 1.) a method invoked to the original generator passing it the old and new duration. (to the 1st half of cut object) 2.) another method invoked to signal the new copy of the generator, passing it the old and new relative start frame offset. (to the 2nd half of the cut generator) This email sent to dcardani@apple.com