Re: question on refreshing parameter data between instances.
site_archiver@lists.apple.com Delivered-To: Pro-apps-dev@lists.apple.com Hi Jay, - Paul On Aug 11, 2009, at 12:53 PM, Jay Boyer wrote: Here is the scenario: Run FCP Apply the plug-in Save and Exit Install some fonts on the system Reopen FCP The font list in our plug-in is not up to date. Jay Boyer _______________________________________________ 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/pschneider%40apple.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... A long-standing and frustrating issue with Final Cut is that, when we open a saved project, we don't check with the plugin to see if its parameter list has changed. So if you have added or removed parameters, the project won't be updated. If one of your parameters has changed its name, the project won't be updated. If one of your parameters has changed its min or max value, the project won't be updated. If the user adds a new instance of the plugin, they'll get the new parameter list, but existing instances from saved projects aren't updated. Font menus are a specific symptom of this problem which are particularly troublesome. You don't have to change your parameter list to hit this problem; you only need to move the project to a second machine with a different font setup. The best way to handle this is to not use a popup parameter for your font parameter. Instead, use a custom parameter. Your parameter's custom UI can be a simple popup menu listing the fonts, but since you are managing the UI, we will ask you to recreate it every time the project is opened, so it will always be up to date. And the parameter data can be the name of the font, which will remain valid even if the font list changes, unlike an index into the font list. I've been meaning to write a sample plugin that uses this technique, since it is a pretty common problem. Making such a custom parameter is not a ton of work, but more than you should have to do for such a common operation. The FxPlug I am working on generates several lists in the drop down UI. These are lists of things that can be changed by user Input between instances of our plug-in being launched. For example, one of these is the user font list. At some point in time during our launch process I would like to be able to check the plug-in's UI for the font drop-down that was previously created, delete that list in the drop-down and rebuild the list from the current system font table. I did a quick test where I tried to get a parameter in -initWithAPIManager but the parameters do not seem to be available at that time. A related issue: At shutdown time I would prefer only to save the user's choice of font, possibly by reducing the font dropdown list to 1 item or by saving the font in a hidden string parameter. These things can be worked around by having the user delete our plug- in out of the sequence and reapply it along with their settings, but I would prefer not to burden the user with this if at all possible. Is there a way to replace drop down list contents in the UI after they have been added with -addParameters? Is there a point in the boot sequence that I can detect that the plug-in is from a prior instance so that I can update these lists? This email sent to pschneider@apple.com This email sent to site_archiver@lists.apple.com
participants (1)
-
Paul Schneider