Re: Disabling a setting based on the footage
Re: Disabling a setting based on the footage
- Subject: Re: Disabling a setting based on the footage
- From: Peter Litwinowicz <email@hidden>
- Date: Fri, 30 Jan 2009 09:56:33 -0800
- Thread-topic: Disabling a setting based on the footage
Title: Re: Disabling a setting based on the footage
Yeah, all your suggestions and reservations on those suggestions make sense.
Note: if I did this in –renderOutput, I wouldn’t be changing a setting’s value state, just it’s UI state, so in theory that shouldn’t trigger a new render (of course, in your implementation that might not be the case of course! :-))
Thanks for the feedback,
Pete
Hi Pete,
We don't have a great way to do this. You can use this:
@protocol FxTimingAPI
-(FxFieldOrder)fieldOrderForInputToFilter:(id<FxFilter>)filter;
@end
to get the interlaced / non-interlaced info, but as you say, the trick is knowing when to call it. I don't think calling it from -addParameters will work, because in FCP at least, you haven't been added to a clip yet, so there's no "input".
I can think of some less-than-elegant hacks to do this; for example, if you have a custom UI parameter, you could try hooking into that view's drawing method. That might let you enable/disable your params when the parameter list is first displayed. It seems pretty fragile, though. You could also try it from -renderOutput, although in general I discourage modifying parameters during rendering (since that can trigger another render). The problem there is that it's pretty easy for the user to see your parameter list before you've rendered a frame, if they've got the playhead parked somewhere else.
We've talked about the need for a -youWereJustAddedToASequence message; that seems like the natural place to do work like this. But that's not in there yet.
- Paul
On Jan 30, 2009, at 11:30 AM, Peter Litwinowicz wrote:
Once
you've rendered and figured out whether you're dealing with interlaced
footage or not, you can update your UI during a -parameterChanged:
call, but that's probably too late.
The problem with the above proposed solution is this: -parameterChanged is
not called if the user doesn't play with any of the settings (right?)
I can try doing this in -renderOutput and see what happens. NOTE: I would
not be changing the value of the setting, just whether it is accessible to
the user or not.
Pete
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Pro-apps-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Pro-apps-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden