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

Reply via email to