Hi, Hugh,
you're right, it does look like there's a bug in FCP where changing a hidden slider won't trigger a re-render. I've logged a bug.
For everyone who's asked about this, I've written a simple plugin that uses a custom parameter to trigger a re-render. The parameter's UI is a pushbutton marked "re-render", and the parameter data is an NSNumber that I increment when the button is clicked.
The full source is attached, and the most interesting bits are quoted here:
- (BOOL)addParameters { id parmsApi = [_apiManager apiForProtocol:@protocol(FxParameterCreationAPI)];
[parmsApi addCustomParameterWithName: @"Kick Render" parmId: kParamID_KickButton defaultValue: [NSNumber numberWithInt: 0] parmFlags: kFxParameterFlag_CUSTOM_UI];
return YES; }
- (void) kickRender: (id) sender { id getApi = [_apiManager apiForProtocol: @protocol (FxParameterRetrievalAPI)]; id setApi = [_apiManager apiForProtocol: @protocol (FxParameterSettingAPI)]; id actApi = [_apiManager apiForProtocol: @protocol (FxCustomParameterActionAPI)];
// change our custom parameter value to force a re-render NSNumber* oldValue = nil; [actApi startAction: self]; [getApi getCustomParameterValue: &oldValue fromParm: kParamID_KickButton]; [setApi setCustomParameterValue: [NSNumber numberWithInt: [oldValue intValue] + 1] toParm: kParamID_KickButton]; [actApi endAction: self]; }
|