[Bf-committers] Re: Node Refactor

Peter Schlaile peter at schlaile.de
Wed Mar 21 07:45:32 CET 2007


Hi,

> The goal is to generate a node plug-in API in the near future, whether
> that is before 2.44 is release or not is still up in the air.  My gut
> feeling is it will be before 2.44, but may need revision in the future.
> I would prefer to get it right the first time so please respond tho this
> email if you have input.  I do plan on following Peter's recommendation
> for a plug-in api for the nodes for the most part, any deviations I make
> will be noted on the wiki.

the idea of my plugin system was, that you should get away declaring the
interfaces

     struct plugin_interface_compositor_node and
     struct plugin_interface_material_node

It shouldn't be necessary to deviate from the base system. If for one or
the other reason this is necessary, please talk to me about it. The goal was
to define a _generic_ system for all plugins with a common base and
interfaces for the various plugin types, so that the code for enumerating,
managing of the plugins and there private data in the blend file is
shared and interfaces can be freely added as needed.

If you ment by deviating, adding plugin_gui_... functions etc, to make
your gui work, just go ahead! That's not deviation, rather extension as it
was intended.

Regarding nodes: if we make this interface _very_ clever, we could look
into using it also for the sequence editor plugins. (This is not forced
by my plugin system, but would be nice to have the same code used by both
systems easily ;-)

> The point of all this is to move the rendering and initialization code
> the the individual node files so that they can be moved to shared
> libraries and loaded dynamically.  This will involve new functions to
> change the add node menu's (still to be done).

This is part of the plugin system. That's what the "menu_entry" field is
for. (The example showing a video_input-plugin doesn't have a menu_entry
in it's registration function, since it doesn't need one. Bad example at
this point, I know.)

Regarding your node refactor: looks very nice, as far as I can tell.

If you have any suggestions or problems regarding the plugin system, feel
free to ask!

Greetings,
Peter




More information about the Bf-committers mailing list