Hello Matthew, Matthew Neeley wrote:
Impress is a great application. Thanks for all your hard work. I would like to start using it for my presentations, but at the moment it does not perform well enough. I mostly do technical presentations that are pretty heavy on drawings and figures, and typically on a slide I will reveal various parts one after another. No fancy animations, just three or four parts appearing in succession. I've tried OOo 3.0 on MacOS 10.5 and Linux (Ubuntu 8.10) and in both cases there is such a delay between clicking and the next reveal that it just unusable.
You could help me in finding and fixing these problems by supplying one of your presentations. You can file a new issue, post it here, or send it to me directly.
I have read that there are some performance issues with Impress and the way animations are implemented that probably cause this issue, and I understand that these may take a while to sort out. I'd like to do something simpler for a short term solution, basically just 'prerendering' the presentation by exporting it to pdf. Right now each slide in the presentation gets exported as one page in the pdf. But suppose a slide has animations that reveal different parts in sequence. I would like to export that as multiple pages where the parts get revealed page by page. Obviously this won't work in general for all kinds of fancy animations, but for simple appear/disappear animations, it will work fine, and that's the most common use case (at least, it's _my_ most common use case :-) ). This is how the LaTeX beamer package works, for example. I've looked into doing this with a macro, but I can't find any docs about how to access the animations from Basic. With the Xray tool I have found that each DrawPage has an AnimationNode property, but beyond that I'm lost as to how the AnimationNode is structured. I need to be able to inspect the slide animations, determine how many appear/disappear steps there are, duplicate the slide that many times (this I have figured out how to do), and then delete the appropriate objects on each copy of the slide. Finally, the new presentation with the expanded slides can just be exported as usual.
Here is a very terse description of the most important things you need to know to extract the information you are looking for.
Animation nodes are organized as a tree whose root node can be obtained from each DrawPage. See com::sun::star::animations for documentation of the interfaces. The XAnimationNode::Type specifies the type of each node. Inner nodes with children have type AnimationNodeType::PAR (parallel execution of the child animations) or AnimationNodeType::SEQ (sequential execution). Inner nodes implement css::container::XEnumerationAccess to provide access to their children.
The nodes that start an animation sequence (triggered for example by pressing the space bar) can be found by looking at the XAnimationNode::BEGIN attribute. Their css::animations::Event objects have a Trigger attribute of value css::animations::EventTrigger::ON_NEXT.
My questions: -Is it possible to do this with the Basic API as it stands? -Is there a good place to learn about the animation infrastructure (I'm happy to read source code, but in browsing the svn, I get lost and don't know the best places to look).
See slideshow/source/engine for the central part of the slide show implementation. I hope that I will soon find the time to write some documentation of what I have found out so far how this all works.
Long term, of course, it would be nice if Impress could handle these animations itself, especially simple appear/disappear animations. That's something I'd be very interested to work on; I'd love some pointers about where to start. I really like OpenOffice.org, thanks for all your hard work. Looking forward to helping make it better. -Matthew Neeley --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@graphics.openoffice.org For additional commands, e-mail: dev-h...@graphics.openoffice.org
Best regards, Andre --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@graphics.openoffice.org For additional commands, e-mail: dev-h...@graphics.openoffice.org