RSS/Atom feed Twitter
Site is read-only, email is disabled

"Ken Burns" style animation tool: standalone or plug-in?

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

12 of 13 messages available
Toggle history

Please log in to manage your subscriptions.

"Ken Burns" style animation tool: standalone or plug-in? Tor Lillqvist 03 Sep 23:54
  "Ken Burns" style animation tool: standalone or plug-in? Jakub Steiner 05 Sep 16:55
   "Ken Burns" style animation tool: standalone or plug-in? Tor Lillqvist 06 Sep 02:35
    "Ken Burns" style animation tool: standalone or plug-in? Jakub Steiner 06 Sep 10:37
  "Ken Burns" style animation tool: standalone or plug-in? Alan Horkan 05 Sep 21:59
   "Ken Burns" style animation tool: standalone or plug-in? Tor Lillqvist 06 Sep 03:02
    "Ken Burns" style animation tool: standalone or plug-in? Daniel Rogers 08 Sep 01:39
     "Ken Burns" style animation tool: standalone or plug-in? Tor Lillqvist 08 Sep 02:13
"Ken Burns" style animation tool: standalone or plug-in? Burton Samograd 05 Sep 21:02
  "Ken Burns" style animation tool: standalone or plug-in? Tor Lillqvist 07 Sep 09:52
"Ken Burns" style animation tool: standalone orplug-in? Bowie J. Poag 06 Sep 08:31
87fzj8qv19.fsf@kruhft.vc.sh... 07 Oct 20:22
  "Ken Burns" style animation tool: standalone or plug-in? Tor Lillqvist 07 Sep 22:47
Tor Lillqvist
2003-09-03 23:54:31 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

(No, I haven't seen any Ken Burns documentaries (AFAIK), but his name comes up all the time when googling for stuff to do this kind of animation I am talking about here. He probably is known to the Americans on this list?)

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.

(For a simple and small commercial standalone tool that does this (on Windows), check out MovingPicture from Stage Tools, www.stagetools.com. Demo version downloadable.)

Would it be better to write this as a GIMP plug-in, or a standalone tool?

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.

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.

One difficult thing is how to handle the fact that it is possible that the user edits the path while the "Ken Burns" plug-in is active and already has fetched its data with gimp_path_get_points().

Should there be some way for plug-ins to register interest in getting callbacks when paths nodes are moved/added/deleted, etc? Other 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?

--tml

Jakub Steiner
2003-09-05 16:55:16 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

On Wed, 2003-09-03 at 23:54, Tor Lillqvist wrote:

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 sucessfully done this with an existing GIMP plugin - GAP's move path. At PAL resolution. The only problem is it needs a lot of disk space and RAM.

cheers

Burton Samograd
2003-09-05 21:02:40 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

Tor Lillqvist writes:

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.

You should look at Cinellera. It does all the things you're looking for, and it saves you a quite a bit of coding in the long run.

Alan Horkan
2003-09-05 21:59:45 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

On Wed, 3 Sep 2003, Tor Lillqvist wrote:

Date: Wed, 3 Sep 2003 21:54:31 +0000 From: Tor Lillqvist
To: gimp-developer@lists.xcf.berkeley.edu Subject: [Gimp-developer] "Ken Burns" style animation tool: standalone or plug-in?

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.

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.

Tor Lillqvist
2003-09-06 02:35:56 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

Jakub Steiner writes:
> I have sucessfully done this with an existing GIMP plugin - GAP's move > path. At PAL resolution. The only problem is it needs a lot of disk > space and RAM.

Hmm, didn't know GAP could do that. I don't think GAP is suitable for this. Takes way too much disk space. Or does it?

OK, I tried to use a GAP's move path on a high resolution image. It seems to require a moving image as source? If a want to use a *still* image as source, does this mean I have to create n copies of the already large image, and GAP then loads each (identical) image separately, and extracts the zoomed-in and panned frame from it? Ugh. Also, the GAP's move path dialog didn't seem to have a way to set the destination frame size directly in pixels, only hard-to-use percentages?

--tml

Tor Lillqvist
2003-09-06 03:02:42 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

Alan Horkan writes:
> 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).

Umm... Yes, that does sound a bit scary. I don't think GIMP's components (like the bezier path tool) are ready yet to be used in other applications.

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

Umm... maybe later. Layering graphics on top of the animation could/should be handled by a separate application, why cram all functionality into one. At least not initially.

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

Yup. Any comments from core developers? Would implementing callbacks to plug-ins be straightforward, or is there some gotcha? Or should plug-ins just poll frequently to see if a path/selection/whatever has been edited?

--tml

Bowie J. Poag
2003-09-06 08:31:33 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone orplug-in?

Tor,

I wrote/maintain a project that does what you're describing. In realtime, even! :)

http://freshmeat.net/projects/show/?topic_id=111,112

...Might be worth looking into for such a plug-in. I made it as modular as possible, so making a gimp plugin [out of it | for it] may not be too much of a stretch.

Cheers,
Bowie J. Poag

----- Original Message ----- From: "Tor Lillqvist"
To:
Sent: Wednesday, September 03, 2003 2:54 PM Subject: [Gimp-developer] "Ken Burns" style animation tool: standalone orplug-in?

(No, I haven't seen any Ken Burns documentaries (AFAIK), but his name comes up all the time when googling for stuff to do this kind of animation I am talking about here. He probably is known to the Americans on this list?)

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.

(For a simple and small commercial standalone tool that does this (on Windows), check out MovingPicture from Stage Tools, www.stagetools.com. Demo version downloadable.)

Would it be better to write this as a GIMP plug-in, or a standalone tool?

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.

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.

One difficult thing is how to handle the fact that it is possible that the user edits the path while the "Ken Burns" plug-in is active and already has fetched its data with gimp_path_get_points().

Should there be some way for plug-ins to register interest in getting callbacks when paths nodes are moved/added/deleted, etc? Other 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?

--tml

Jakub Steiner
2003-09-06 10:37:03 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

On Sat, 2003-09-06 at 02:35, Tor Lillqvist wrote:

OK, I tried to use a GAP's move path on a high resolution image. It seems to require a moving image as source? If a want to use a *still*

It can be a still.

image as source, does this mean I have to create n copies of the already large image, and GAP then loads each (identical) image separately, and extracts the zoomed-in and panned frame from it?

No. You just have one source image that will be rendered to the final composite as a new layer.

Ugh. Also, the GAP's move path dialog didn't seem to have a way to set the destination frame size directly in pixels, only hard-to-use percentages?

Yes, only in percentages. I have made a tutorial on GAP that has a description of the move path dialog at http://jimmac.musichall.cz/tutor2.php3 that you may find useful.

cheers

Tor Lillqvist
2003-09-07 09:52:00 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

Burton Samograd writes:
> You should look at Cinellera.

Hmm... It was strangely hard to find Cinellera using Google, I actually first found the Slashdot discussion, from which was a link to the firm's pages. http://heroinewarrior.com/cinelerra.php3 says:

RECOMMENDED FRONT END SYSTEM [...] Dual 2Ghz Athlon.

RECOMMENDED RENDERFARM NODE: Single 2.4Ghz Athlon.

Sure.

Sounds way overkill.

--tml

Tor Lillqvist
2003-09-07 22:47:50 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

Burton Samograd writes:
> You should look at Cinellera.

> Tor Lillqvist writes:
> > Hmm... It was strangely hard to find Cinellera using Google, I

Umm yes, that was because it's spelled Cinelerra, not Cinellera...

Still, I find it odd that neither the heroinewarrior.com or sourceforge pages, nor the source code, mention any names of the people (one or several) behind this project. (OK, I don't have a problem with anonymously written software per se, but the author could at least document then that he/she prefers to be anonymous.) Written in C++. Few meaningful comments. Lack of READMEs. Very much Linux and X11 only, and doesn't seem to have been ported even to other Unixes. Uses its own GUI toolkit. Doesn't use any auto* machinery. Seems very much to be the work of a "lone fanatic".

Err, no thanks. I have gotten too accustomed to the programming style and cooperative community of GTK, GIMP etc.

--tml

Daniel Rogers
2003-09-08 01:39:11 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Tor Lillqvist wrote: | > > 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.
|
| Yup. Any comments from core developers? Would implementing callbacks | to plug-ins be straightforward, or is there some gotcha? Or should | plug-ins just poll frequently to see if a path/selection/whatever has | been edited?

hmm, last time I checked, plugins run in a different process space, so setting up callbacks is a bit more difficult than normal. There are a coupla schemes that could work, including copying the args into shared memory, and telling the plugin to invoke the process, RMI over a unix socket, etc, however, the gimp process can't just invoke the callback in the plugin as though the plugin was a shared lib.

So, to answer your qestions, no, it is not straightfoward, yes, there is a gotcha but yes, it is possible.

- -- Dan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE/W8Gfad4P1+ZAZk0RAk9LAJ92fqjvOVBg96atQuUWJ5Up1+k/HwCfasm1 SoPKEpyo+/6lRfMxpUHBuC8=
=hrg2
-----END PGP SIGNATURE-----

Tor Lillqvist
2003-09-08 02:13:28 UTC (over 21 years ago)

"Ken Burns" style animation tool: standalone or plug-in?

Daniel Rogers writes:
> hmm, last time I checked, plugins run in a different process space, so > setting up callbacks is a bit more difficult than normal.

Well, obviously I meant callbacks using the normal PDB mechanism, and not directly.

--tml