[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