[Bf-committers] Script Xtras (proposal)

Charles Wardlaw cwardlaw at marchentertainment.com
Sun Feb 14 18:27:44 CET 2010


> First Im going to look into adding a user-pref tab, list-view,
> catagories, and the ability to register and unregister modules.
> The directory locations are easy to change and Im not worried so much
> about this, but in general your suggestions seem good too, so we can
> probably go with this but it also depends a bit on how the directories
> are merged and at what point (before release, having an external svn,
> etc)

As long as that directory is easily user-accessible, such as in the user documents folder or home folder.  I'm still very much against having the user go into .blender on Mac or Linux.

What would be really nice is to have an actual directory picker in the user pref tab for where Blender should look for user-installed extensions.  It'd be even better to have a button next to that which opens the OS-level explorer / finder / konqueror window at that spot.

> Another decision we have to make is at what point are extensions
> enabled disabled.
> If we do this at a module level people who do very comprehensive
> scripts like renderman integration say - can bundle them in a python
> package which can managing its own initialization and removal.

It would be extra cool to allow a larger package to be distributed as a zip file and then dropped into the extensions folder as one piece.  A renderman extension is a good example -- I can see that being huge.  But even the rigging module I'm currently writing has expanded into a dozen or so files, and distributing it as a single zip would be great.

I think Maya's "loaded / autoload" functionality is nice.  This could be saved in the Blend file -- files that require certain operators or special classes could load those packages when the blend file is loaded, but the extensions don't have to clutter newly-created files if they're not needed if "loaded" is checked.  Whereas, extensions the user knows they'll always want can be "autoloaded."

I think that down the road, you'll also need functionality for handling missing packages that are required -- special object subclasses and so on -- but that's not a discussion for today.

BTW, MD2 is still very much in use.  It's one of the only formats supported by Flash / AS3 3D engines, and a lot of people are using Blender for that very reason. :)

~ C




> On Sun, Feb 14, 2010 at 12:54 PM, mindrones <mindrones at yahoo.it> wrote:
>> Hi Campbell,
>> 
>> --- On Sat, 2/13/10, Campbell Barton wrote:
>> 
>>> So I propose we have a directory where scripts are not
>>> loaded
>>> automatically, rather users can enable them in the
>>> userprefs under a
>>> `Plugins` section.
>>> Each item can include the scripts description and have a
>>> checkbox to enable.
>>> 
>>> This means we don't need to exclude scripts because only
>>> SOME people
>>> find it useful, and we can keep the default UI from
>>> becoming too
>>> cluttered.
>> 
>> [snip]
>> 
>>> name isn't that important but we could have these scripts
>>> be in
>>> "release/scripts/xtras" or similar.
>> 
>> 
>> It would be nice if we can follow the convention we agreed with Jesterking for
>> the wiki, that is to call Plugins and Scripts as "Extensions".
>> In wiki, manual pages, scripts/plugins developing pages, and catalog pages will
>> be linked by the term "extensions", like this
>> 
>> http://wiki.blender.org/index.php/Doc:Manual/Extensions/Python
>> http://wiki.blender.org/index.php/Extensions:Py/Scripts
>> http://wiki.blender.org/index.php/Dev:Py/Scripts
>> 
>> http://wiki.blender.org/index.php/Doc:Manual/Extensions/Plugins
>> http://wiki.blender.org/index.php/Extensions:Plugins
>> http://wiki.blender.org/index.php/Dev:Plugins
>> 
>> So I suggest to put in the prefs a tab called "Extensions" :)
>> 
>> ----
>> 
>> Also, this summer Nathan has started a "bf-extensions" svn to keep track of all
>> the 2.4 scripts that were in the big Catalog that meta-androcto has compiled.
>> 
>> So now we have
>> https://svn.blender.org/svnroot/bf-extensions/
>> 
>> That svn is linked to a project/tracker here
>> http://projects.blender.org/projects/bf-extensions
>> 
>> In there we made a distinction among:
>> 
>> - "external" scripts (upload tracker)
>>        scripts that people can contribute, not yet in the svn
>> - "contrib" scripts
>>        scripts not ready for release but worth to distribute in bf-extensions svn for
>>        widespread testing: if they are well maintained they will go in the next release
>> - "trunk" script
>>        "trunk" is a svn naming convention, these should be called "release scripts"
>> 
>> The suggested workflow for sharing extensions is explained here:
>> http://wiki.blender.org/index.php/Dev:Extensions/Sharing
>> 
>> So it would be nice to have some integration and similarities with the svn,
>> like using:
>> 
>> .blender/
>>        2.5/
>>                plugins/
>>                        external/
>>                        contrib/
>>                        release/
>>                scripts/
>>                        external/
>>                        contrib/
>>                        release/
>> 
>> or like
>> 
>> .blender/
>>        2.5/
>>                my/
>>                        plugins/
>>                        scripts/
>>                release/
>>                        plugins/
>>                        scripts/
>> 
>> The folders that could be overwritten automatically would be the "release" ones of course.
>> 
>> Regards, Luca
>> 
>> 
>> _____________
>> 
>> http://www.mindrones.com
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>> 
> 
> 
> 
> -- 
> - Campbell
> _______________________________________________
> 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