hi jeff,

>    Well, I've got basic undo/redo support implemented in Nova.  Now we 
> just have to go through and implement all the commands.  First, a little 
> explanation though.

cool, i had a brief look at your implementation ... looks really
straight-forward with qt's undo stack framework ...

> I implemented a single command so far, which is when a new object is 
> created in a patch canvas.  The infrastructure seems to work correctly, 
> but I'm missing something with the undo functionality, which should just 
> delete the object from the canvas.  It looks like I have to schedule a 
> removal, which communicates to the engine and then waits for a callback 
> that finally removes it.  Something is being missed though, because it 
> doesn't always remove.  Maybe if you take a look Tim you will know what 
> I missed.  Otherwise I'll track it down.

i will have a look at it as soon, as i can clone your git repository :)

not sure, yet, what could be the reason ...

> In general I think it would be nice to separate some of the 
> functionality that is together in the gui code.  Basically, take the 
> logical operations outside of the actual gui management.  So basically 
> have some of the code that manages object state and communication with 
> the engine, which then just calls methods on a very dumb gui layer that 
> purely knows how to paint nice things to the screen.  

i already tried to split up the engine communication from the drawing
part ...

the engine-part of gobj classes is PatcherGobj, which is derived from he
base class, that is exposed from the py_nova module. the drawing part
for ordinary objects is the GObjBox class ...


> This will make it 
> easier to debug, and also to support gui plugins, alternative guis (like 
> an opengl based 3D versions, which is what we plan on doing in the 
> future).

currently the dispatching of the visual object is hardcoded in
PatcherGobj._sync_box_layout. i don't really like the design, but
haven't come up with a pluggable one, yet ...


> Things look good though, I'm getting my feet wet and making progress. 
> Once I have undo/redo working for all the current operations possible 
> I'd like to implement a DSP object, so I can get a feel for how that 
> part of things works.  Maybe another week away.  Do you have anything 
> that is sort of next on the list that I could start looking into while 
> I'm in lazy code reading mode? :-)

hm ... there is an sfread~ object, playing sound files from the
filesystem, but no sfwrite~ object for recording sound files ...

or maybe you want to port fiddle~? :)

> P.S.  I published my git repository, and you can checkout the latest 
> patches in the web interface here:
> 
> http://code.lifeisagraph.net/?p=nova.git;a=summary

do you have a url, that i can use to clone your git tree?

cheers, tim

--
[EMAIL PROTECTED]    ICQ: 96771783
http://tim.klingt.org

I had nothing to offer anybody except my own confusion
  Jack Kerouac

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
nova-dev mailing list
[email protected]
http://klingt.org/cgi-bin/mailman/listinfo/nova-dev
http://tim.klingt.org/nova

Reply via email to