On Wed, 3 Sep 2003, Tor Lillqvist wrote: > Date: Wed, 3 Sep 2003 21:54:31 +0000 > From: Tor Lillqvist <tml@xxxxxx> > To: gimp-developer@xxxxxxxxxxxxxxxxxxxxxx > Subject: [Gimp-developer] "Ken Burns" style animation tool: standalone or > plug-in? <snip> > I have recently toyed with the thought of writing a tool to produce > (low (TV) resolution) animations (for writing to VCD or DVD, mainly) > from (high resolution) still images. I.e. if you have some > multi-megapixel image, with the tool you could produce animations > where you zoom in/out, pan the over some straight or curved path, > rotate the viewport, etc. Seems like a nice way to put a bit more > "life" into your digital image slideshows. I have seen simple Zoom and Pan web tools written in Javascript, but are interactive tools rather than slideshows exactly. <snip> > Would it be better to write this as a GIMP plug-in, or a standalone > tool? Would it be impossible for it to be both? If you are particularly ambitious could it be an substantial "Animation Tool", an interface like a standalone application but substantially reusing the GIMP components, a sister to the GIMP if you will? (If I am being wildly unrealistic as usual, just say so). With the slideshow features you suggest you would have quite a useful and substantial Presentation program so long as you could through text and arrows on top. > If written as a GIMP plug-in, it seems natural to use GIMP's Bezier > paths to define the path along which the "virtual camera" moves. Lots > of code saved there. As a plug-in, it would perhaps most closely > resemble the "Easter Egg" plug-ins as it isn't really a filter, > doesn't render anything into a new image, nor does is save or load > images. Hmm. I dont think the ImageMap plugin fits a definition that limited. I would not let it stop you from making you add on as a GIMP plugin > The "Ken Burns" plug-in would need to associate more data with the > path. The path nodes would correspond to keyframes between which the > tool would interpolate zooms and camera movements. Each keyframe > would have an associated time values and "virtual camera" orientation > and size vector. (To be able to zoom or rotate without moving the > virtual camera, path nodes might have several associated keyframes.) > > The plug-in would provide a GUI to define the keyframes and their > attributes, and a preview window, but not do the actual rendering of > the animation to AVI, MPEG or whatever format itself, just output a > "recipe" that would then be used by a separate batch-oriented program > to actually render the animation. It should also be possible to load > such a saved recipe and continue working on it, of course. > Should there be some way for plug-ins to register interest in getting > callbacks when paths nodes are moved/added/deleted, etc? Other i think that would be useful. i was thinking about a tool i saw in anther program which allows you to place an image beside another by creating a large canvas and when you place the second image it automatically crops away any unneeded background probably a better example would be the Guillotine tool, which currently requires you to have already placed Guides on your image. with callbacks, if no guides existed you could put the cursor over the image with a Guide ready to be placed and then slice when the user places the image. > plug-ins for new kinds of functionality might similarily be interested > in getting callbacks when selections are modified, etc. Is there > currently any way for plug-ins to get asynchronous callbacks for > events like these? - Alan H.