[Bf-committers] Patch #6161 updated
Campbell Barton
ideasman42 at gmail.com
Fri Sep 19 00:36:50 CEST 2008
Just looked over the python side of things,
Best use BPY_extern.h for external python functions.
source/blender/blenkernel/intern/packedFile.c - has an include for
#include "../../../source/blender/python/api2_2x/Blender_Trace.h"
Also noticed Set_Blender_Trace isnt using PyArg_ParseTuple quite right.
most other c/python api functions in blender do this.
PyObject* Set_Blender_Trace(PyObject *dummy, PyObject *args)
if (!PyArg_ParseTuple(args,....)) return NULL; // python sets an
exception string
...
...
Py_RETURN_NONE;
}
At the moment its returning None rather then NULL when
PyArg_ParseTuple fails which wont give an exception.
On Fri, Sep 19, 2008 at 1:27 AM, Ton Roosendaal <ton at blender.org> wrote:
>
> Hi,
>
> Review in tracker. It's much improved now! Someone else should look at
> the py part though...
>
> -Ton-
>
> ------------------------------------------------------------------------
> Ton Roosendaal Blender Foundation ton at blender.org www.blender.org
> Blender Institute BV Entrepotdok 57A 1018AD Amsterdam The Netherlands
>
> On 17 Sep, 2008, at 23:06, Early Ehlinger wrote:
>
> > Hi Dalai,
> >
> > On Wed, Sep 17, 2008 at 3:14 PM, Dalai Felinto <dfelinto at gmail.com>
> > wrote:
> >
> > Thanks! I hope it is - one of the stumbling blocks we've been having
> > in getting this into the source trunk is the concern that nobody but
> > us will find utility in it. I'm glad to see that there's at least one
> > other person out there who could, because, well, 1 is infinitely times
> > as many as 0 :-)
> >
> >> report by email the current status of an animation, particles baking,
> >> fluid baking, ...
> >> The goal is to let the computer thinking as you go work in other
> >> computers or go to the beach and let the iphone tells you when it is
> >> time to work again :)
> > Getting an email with progress info would be very easy to do with this
> > patch - simply have the callback function send an email (or not) to
> > let you know how things are progressing. On the farm, we do something
> > very similar - we store the progress info into a file that is later
> > handed off to the end user.
> >
> > What's more, you could have the progress email provide more
> > fine-grained detail than simply "Frame 5 has started." I.e., it could
> > say something like "As of 4:00 pm, Frame 5 has processed 5,432,124 of
> > 6,000,000 particles. In the last 1 hr, 3 frames and 23,432,124
> > particles have been processed. Total frames left to complete process
> > after frame 5: 64"
> >
> >>
> >>
> >> 1) I didn't look to the patch, but I saw the Patch Tracker comments
> >> [1]. Do you think it would be possible to enable a progression output
> >> to Particles Baking as well ?
> > Absolutely. It would be a simple matter of adding a call to
> > Blender_Trace( .... ) inside the particle baking code. I'm not
> > familiar with that area of the code, but I find it highly unlikely
> > that it would be difficult to instrument with tracing functionality.
> >
> > The way this patch works is that you write a function in Python, and
> > then ask Blender to call your function. The python looks something
> > like this:
> >
> > import Blender
> >
> > def rpBlenderCallbackSvn( sFile , nLine , sMessage , nFilterMode ):
> > print "[RPBCB]" , sFile , "(" , nLine , ") - " , sMessage;
> >
> > Blender.Set( "traceCallback" , rpBlenderCallbackSvn );
> > Blender.Set( "traceFilterOn" , Blender.btfm_RenderProgress );
> >
> > One can easily imagine something like:
> >
> > Blender.Set( "traceFilterOn" , Blender.btfm_ParticleBakeProgress );
> >
> > You would then have your rpBlenderCallbackSvn( ... ) function parse
> > sMessage for useful information, decide when to send emails, etc.
> >
> >>
> >> Right now I'm using FrameChanged since it works the same way with
> >> almost [2] all of the hard-stuff.
> >>
> >> Is it possible/hard to enable a ScriptLink that is raised after the
> >> frame change+Redraw, or after the render is finished? Something like:
> >> FrameCalculationsFinished
> > I'm not familiar with ScriptLink at all, but if I understand your goal
> > correctly, it should be very easy to accomplish with this patch -
> > simply watch for the right sMessage in your rpBlenderCallbackSvn, and
> > send an email to your iPhone when that message arrives.
> >
> >>
> >> Dalai Felinto
> >> http://blenderecia.orgfree.com
> >>
> >> 1 -
> >> https://projects.blender.org/tracker/index.php?
> >> func=detail&aid=6161&group_id=9&atid=127
> >> 2 -
> >> https://projects.blender.org/tracker/index.php?
> >> func=detail&aid=17644&group_id=9&atid=125
> >>
> >> 2008/9/17 Early Ehlinger <earlye at gmail.com>:
> >> > I finally had some time to re-synch the ResPower blender tracing
> >> patch with
> >> > the latest SVN. This is the patch that ResPower uses to provide
> >> progress
> >> > information in its render logs, since viewing render nodes'
> >> desktops is
> >> > expensive compared to sending a few lines of text to a customer's
> >> web
> >> > browser.
> >> >
> >> > The way it works is that it exposes a new python API whereby a
> >> script can
> >> > request that Blender send trace messages to a python function. On
> >> the
> >> > ResPower farm, the python function simply prints the output to the
> >> console,
> >> > and the farm management software reads the console and saves the
> >> output to
> >> > the log.
> >> >
> >> > The instrumentation here is mainly rendering-centric, but the
> >> patch can be
> >> > extended to support other portions of the code as well. This
> >> would be
> >> > useful, for example, to have end-users generate a log file to
> >> track down
> >> > difficult-to-reproduce bugs. (e.g., "run this script, email me
> >> the log file
> >> > when the bug occurs!" )
> >> >
> >> > I would really like to get this patch into the trunk so that we
> >> can start to
> >> > provide support for the official releases of Blender more quickly
> >> (download
> >> > and deploy, as opposed to download, patch, build, and deploy), and
> >> also so
> >> > we can add support for the svn version of Blender for our more
> >> advanced
> >> > users. We can't do this now as patching the files every day would
> >> be a
> >> > major hassle.
> >> >
> >> > The default behavior should be indisginquishable from not having
> >> the patch,
> >> > i.e., you should only notice a difference if you turn on the
> >> functionality
> >> > from python. See /source/tools/test-blender-trace.py for an
> >> example of
> >> > using it.
> >> >
> >> > -- Early Ehlinger, President, ResPower, Inc.
> >> >
> >> > _______________________________________________
> >> > 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
> > _______________________________________________
> > 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
--
- Campbell
More information about the Bf-committers
mailing list