[Bf-committers] Calling operators when drawing a panel

Lionel Zamouth - BE lionel at zamouth.be
Sat Feb 5 18:03:49 CET 2011


if you've no alternate method ready, then I kindly suggest you let us do 
our dirty workarounds in the meantime :-)


Le 05/02/2011 15:23, Ton Roosendaal a écrit :
> Hi,
> We've had several people who work on render exporters already
> complain :)
> I think the issue is mostly to get a decent method to send notifiers
> (UI updates) and data-updates (depsgraph) in place, as soon as possible.
> I'm quite sure this change by Campbell was done to prevent crashing
> and bugreports; but I'm curious to know what his idea is for for a
> timely solution?
> -Ton-
> ------------------------------------------------------------------------
> Ton Roosendaal  Blender Foundation   ton at blender.org    www.blender.org
> Blender Institute   Entrepotdok 57A  1018AD Amsterdam   The Netherlands
> On 5 Feb, 2011, at 14:25, Lionel Zamouth - BE wrote:
>> Hi,
>> I'm writing here following a chat I had with Campbell about recent
>> changes that made impossible to call operators from the 'draw' section
>> of custom panels. He suggested I submit here my problems with this
>> behaviour.
>> This technique is used since a previous change where directly writing
>> into properties has been forbidden. I understand that bad coding could
>> lead to some deadlocks or infinite loops but having the ability for a
>> script to react to property changes is quite important and not
>> achievable otherwise due to the lack of callbacks (so far I know).
>> Here's the situation I'm facing: I've written an unofficial (both from
>> Blender and Refractive Software point of view) addon to allow smooth
>> export of blender scene/anim to the unbiased render Octane. From the
>> user perspective it consists of 3 custom panels, replacing the default
>> 'render', 'material' and 'texture' ones. I'm proud to say it has
>> became
>> quite popular and allows a nice workflow to happen.
>> The need for tracking properties is due to my wish to prevent the user
>> accessing or modifying values that can't be taken in account by
>> Octane.
>> For instance the custom texture panel forces the type to 'Image',
>> coordinates to 'UV' and the Projection to 'Flat', as these are the
>> only
>> values that can work with Octane (and are hidden by the custom panel).
>> Another example is the main 'render' panel automatically resetting
>> the x
>> and y aspect ratio to 1 as Octane only renders square pixels. This
>> last
>> one is very important for the camera view in Blender to match final
>> result in Octane.
>> Doing those operations in the 'draw' section may have some limitations
>> but seems to properly make the job (for instance I don't care if a
>> user
>> loads an old scene with non proper values, I only expect my script to
>> fix these once they're presented to the panel - good enough for me).
>> According to Campbell it's seems there's no suitable workaround, so
>> I'm
>> asking you don't prevent anymore operators to be called from the
>> 'draw'
>> section of panels until callbacks are available (or may be you have a
>> working workaround available).
>> Cheers,
>> Lionel
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list