openshot.developers team mailing list archive
-
openshot.developers team
-
Mailing list archive
-
Message #02123
Re: undo-redo system
Going on with experimenting with history/undo system.
I've implemented a history stack, but I'm having a bit of trouble with
visibility/audio buttons in clip widgets: they generate two different
events, one correctly for button toggling, and another for clip
dragging, that is unwanted and makes difficult to track the correct
changes for undo/history system.
any hint?
lp:~francesco-hermanitosverdes/openshot/francesco_undo_redo_test
francesco
Il giorno gio, 21/01/2010 alle 12.53 +0100, francesco fantoni ha
scritto:
> I've made a proof-of-concept implementation in a branch:
>
> lp:~francesco-hermanitosverdes/openshot/francesco_undo_redo_test
>
> apparently it can be done, and it seems fast enough, but it must be
> further investigated.
>
> hope someone with better knowledge than me can review the code and see
> if it is worth going on in this direction.
>
> ciao, francesco
>
>
>
>
> Il giorno gio, 21/01/2010 alle 10.33 +0000, Andy Finch ha scritto:
> > The link below uses a stack/list, but keeps it in memory (using a
> > python list object) rather than writing to disk, so it is essentially
> > the same thing in principle.
> >
> > What I do like the idea of is to write to disk a separate 'backup' of
> > the project file, perhaps using an autosave, so in the event of a
> > crash or some other event that corrupts the project file, there is the
> > option to restore back to one of the previous backup copies. But
> > that's a different discussion I guess.
> >
> > But I must admit I'm no expert in things like this, I was just having
> > a browse around to see how other pygtk apps handle undo :-)
> >
> > Cheers,
> > Andy.
> >
> > 2010/1/21 francesco fantoni <francesco@xxxxxxxxxxxxxxxxxxxx>
> > I was considering an approach similar to what is used in
> > saving project
> > file:
> > using cPickle to create a "state" of project object (written
> > to a
> > StringIO object), and inserted in a "history" stack/list.
> > This way we could have a undo/redo system, but a history
> > system as well,
> > with the possibility to go back to any previous state of the
> > working
> > session, and besides it would use a rather simple trick, with
> > parts of
> > code already implemented.
> > History stack size can be limited to a certain number of
> > stages with
> > user preferences system, or set to a reasonable hardcoded
> > value.
> > With some work on set_project_modified() function that can
> > trigger
> > project's state storing action...
> > The doubts I have are about memory usage (not a great issue I
> > suppose
> > using binary protocol of cpickle and with a stack limited to
> > e.g. 10
> > passes) and speed (but cPickle and cStringIO are supposed to
> > be rather
> > fast)
> > what do you think?
> >
> > francesco
> >
> >
> > Il giorno gio, 21/01/2010 alle 09.56 +0000, Andy Finch ha
> > scritto:
> >
> > > I haven't, I've been looking at other stuff. Although I have
> > been
> > > looking around recently at how undo is done in python and
> > came across
> > > this, which may help:
> > >
> > > http://www.nongnu.org/skencil/doc.html
> > >
> > > then follow the link to the undo documentation:
> > >
> > > http://www.nongnu.org/skencil/Doc/devguide-19.html#N1
> > >
> > > Cheers,
> > > Andy.
> > >
> > > 2010/1/21 francesco fantoni <francesco@xxxxxxxxxxxxxxxxxxxx>
> > > just to know, has someone already started working on
> > the
> > > undo/history
> > > thing?
> > >
> > > best to all,
> > > francesco
> > > --
> > > architetto Francesco Fantoni
> > > <HVA - Hermanitos Verdes Architetti>
> > > l.go san giacomo, 38
> > > I-41100 modena (italia)
> > > tel.& fax. +39.059.217554
> > > skype: hva_studio
> > > e.mail: francesco@xxxxxxxx
> > > web: http://www.hv-a.com
> > >
> > >
> > > _______________________________________________
> > > Mailing list:
> > https://launchpad.net/~openshot.developers
> > > Post to :
> > openshot.developers@xxxxxxxxxxxxxxxxxxx
> > > Unsubscribe :
> > https://launchpad.net/~openshot.developers
> > > More help : https://help.launchpad.net/ListHelp
> > >
> >
> > --
> >
> > architetto Francesco Fantoni
> > <HVA - Hermanitos Verdes Architetti>
> > l.go san giacomo, 38
> > I-41100 modena (italia)
> > tel.& fax. +39.059.217554
> > skype: hva_studio
> > e.mail: francesco@xxxxxxxx
> > web: http://www.hv-a.com
> >
> >
> >
--
architetto Francesco Fantoni
<HVA - Hermanitos Verdes Architetti>
l.go san giacomo, 38
I-41100 modena (italia)
tel.& fax. +39.059.217554
skype: hva_studio
e.mail: francesco@xxxxxxxx
web: http://www.hv-a.com
References