From: Pierre J. <ja...@re...> - 2011-04-25 21:15:22
|
Peter, Hope you are doing good, wish your company was an active member so we could pick your big brain :) Not trying to single you out here, but I vaguely remember back then you had an objection about when it's kosher to write params... (and my active mail box does not extend that far in the past) so I am thinking you probably have a strong opinion on this: Before we deprecate any flags (or adapt their meaning) it would probably be useful to have a best practice documentation note. I understand that some hosts might have some issues with param writing during the render call, so here's a simple scenario: A user presses a push button (or equivalent if not supported) and as a result of that event, the plugin wants to scan all the frames in the sequence (get and release images), write at each frame something in some parameters (e.g. the min and max values of each frame to keep the example simple). a. In which action is that allowed in your apps? b. Is it useful for you to know or not ahead that the plugin wants to do that ? If so when? c. Any other comments on that simple example? Mine is: Theorically there is sometimes an alternative which would be to store that in instance data and drop that in some custom param at OfxActionSyncPrivateData but that is also proving not reliable right now in many hosts. I am thinking if there was a clear documented note for that then maybe what|kOfxImageEffectPropInAnalysis| means would have a reference, and then at least it would have a reason to live (e.g.: to allow a plugin to bail out during initialization). Pierre On 4/21/2011 9:36 AM, Bruno Nicoletti wrote: > On 21 Apr 2011, at 17:32, Pierre Jasmin wrote: > >> On 4/21/2011 12:24 AM, Pierre Jasmin wrote: >>> On 4/20/2011 11:08 PM, Mike Wong wrote: >>>> Pierre, >>>> >>>> Thanks for the info. >>>> >>>> As there's no specific callback for this so-called 'analysis' pass, Is it up to the developer when to set "kOfxImageEffectPropInAnalysis" flag as 1 and then carry out computation during for example e.g. kOfxActionInstanceChanged callback? >>>> >>> Actually I was working from memory instead of what the header files actually say and I see it says >>> that This feature is likely to be deprecated in future releases. So I am not clear. >>> >>> Right now here we only set param values during interact callback ( like in overlay.cpp example - gPropHost->propSetPointer(effectProps, kOfxImageEffectPluginPropOverlayInteractV1, 0, (void *) overlayMain); in describe action ). You can also maybe maintain instance data. >> I lied we of course also set params in actionInstanceChanged all over the place (particularly for hosts that don't support TypeBoolean and TypeChoice animation) >> >> I am also seeing kOfxParamPropPluginMayWrite I never noticed before, does not seem any host force us to tag that to each parameter that potentially can paramSetValue. >> Shouldn't that also be "likely to be deprecated in future releases" or there is something I am missing here? > The theory was that hosts might appreciate that property as a hint, however in practice it seems to be redundant. > > > -- > Bruno Nicoletti, > Chief Technology Officer > The Foundry > 6th Floor, The Communications Building, > 48, Leicester Square, > London, WC2H 7LT, UK > Skype: brunonicoletti > Tel: +44 (0)20 7968 6828 - Fax: +44 (0)20 7930 8906 > Web: www.thefoundry.co.uk > Email: br...@th... > > The Foundry Visionmongers Ltd. > Registered in England and Wales No: 4642027 > > |