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
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
