Issue 42894 - Animated group objects do not work during slideshow
Summary: Animated group objects do not work during slideshow
Alias: None
Product: Impress
Classification: Application
Component: viewing (show other issues)
Version: OOo 1.0.0
Hardware: All All
: P3 Trivial (vote)
Target Milestone: 4.1.0
Assignee: Armin Le Grand
QA Contact:
Depends on:
Reported: 2005-02-16 10:19 UTC by clippka
Modified: 2014-04-03 07:05 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---

Animation group (8.73 KB, application/vnd.sun.xml.impress)
2014-02-11 14:06 UTC, Regina Henschel
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description clippka 2005-02-16 10:19:54 UTC
Create an animated group object with the animator or load an animated group
object from an OOo or OASIS presentation document, it does not animate in the
Comment 1 wolframgarten 2005-02-16 12:16:38 UTC
Comment 2 clippka 2005-05-24 11:52:35 UTC
Comment 3 Regina Henschel 2014-02-10 23:12:59 UTC
No work since 2005. Reset to default owner. The bug is still present in AOO4.
Comment 4 Armin Le Grand 2014-02-11 00:05:39 UTC
just tried:
- new presentation
- add rect, ellipse
- select both, group
- assign e.g. 'Appear' (using 'modify effect', 'add' in the sidebar)
-> preview works as expected
-> Presaentation (F5) works as expected

Maybe I get 'animated group object' wrong somehow...?
Comment 5 Regina Henschel 2014-02-11 14:06:42 UTC
Created attachment 82562 [details]
Animation group

Hi Armin. You need OOo1.1.5 to see the subject of this bug. Open attached file in OOo1.1.5. The object on slide 1 is such an object. Play slide show. On click the animation group plays. With right click you can rewind it and play it again with click.
To generate such object use slide 2.
Mark all 8 objects together and call "Slide Show > Animation". You get the dialog "Animation".
Make sure in the lower part "Animation group" the option "Group object" is selected.
In the section "Image" click on the second button from left, that with tooltip "Apply Objects Individually".
Use the for - back buttons to see the animation in the preview window.
Click on button "Create".
You get a group which is referenced in file format in the animation
    <presentation:play draw:shape-id="1"/>

Notice, this is no SMIL animation.

The dialog "Animation" has moved to "Insert > Animated Image" in the meantime and the selection of the alignment has been removed from the dialog. The preview still works, but when the presentation is shown, the animation does no longer work.
Comment 6 Armin Le Grand 2014-02-11 16:06:46 UTC
Ah, I see. That is rather old stuff, see def of SdAnimationInfo in animinfo.hxx; everything but PresObjKind (for PresObj handling in SD) is marked as deprecated. The dialog is still able to create Gif-Animations in bitmap mode, but I doubt that the group object animation ever was supported since the slideshow was refactored.
The question is what can be done here; does anyone want that (rather old) stuff to be supported? I do not know enough about SMIL to say that it can be converted over to that format...
What about ODF? Is <presentation:animations> not in conflict with the SMIL stuff anyways...?
Comment 7 Regina Henschel 2014-02-11 16:58:58 UTC
<presentation:animations> is part of ODF1.2. It is in section 10.8

AOO does not support this element at all. When you open the attached .sxi file and resave it by AOO - either in .sxi or .odp format - the element <presentation:animations> is dropped and the needed reference draw:id in the g-element too.

I don't know whether any application supports the element.

I see two solutions:
(1) Implement element <presentation:animations> in AOO.
(2) Suggest to OASIS to deprecate the element and its children in ODF1.3.
Comment 8 Armin Le Grand 2014-02-11 17:15:25 UTC
Checked a little bit deeper, there is intyerestingly a definition for 'AddEffectFromAnimationInfo' in 'class EffectMigration' in SD, but no implementation. Someone already thought about migrating this at load time...

@Regina: I would efinitely recommend to

(a) remove the dialog and what it does (thought about resuing the GIF anim creator, but it is not a good animation creator and you can nowadays copy/paste AOO SdrObjects to any GIF animator in excellent AAed quality)

(b) Deprecate, suggestion (2). We *may* think about somehow convert that old stuff at load time, but it is not supported for such a long time, there would have been more complaints when this would have been a widely used feature.

I will check how far that stuff is in any way still used...
Comment 9 Armin Le Grand 2014-02-11 19:26:17 UTC
Independent from <presentation:animations> there are quite some UNO API slots still mapped to SdAnimationInfo (which will not work since a looong time), some are retargeted to the new animation stuff, some are commented out with 'todo?' labels at it. When cleaning this up, I will have to check/retarget quite sume UNO API slots. Examples (started to look, not complete):

#define UNO_NAME_OBJ_BLUESCREEN			"TransparentColor"
#define UNO_NAME_OBJ_VERB				"Verb"
#define UNO_NAME_OBJ_PLAYFULL			"PlayFull"

#define UNO_NAME_OBJ_ANIMATIONPATH		"AnimationPath"
Had as data type a drawing::XShape, but this makes it impossible to return a value (since a temporary XShape is problematic regarding lifetime and model). Indeed, getting was still implemented by returning a SdrPathObj hold in SdAnimationInfo, while setting was already mapped to the new animation stuff. The new animation stuff holds the path as svg:d and as string...
Comment 10 Armin Le Grand 2014-02-12 00:56:14 UTC
Pretty deeply woven stuff, hard to cleanup...
Comment 11 Armin Le Grand 2014-02-12 15:23:31 UTC
I tried some cleanups, but its going far; I will have to stop now, but will grep this task and make me a note. The cleanups go in the direction of aw080, but the impact for the user is not urgent enough.
My checks get me to the point that

- we should keep what is there to import what we can (maybe improve the API at that point, ts not completely supported), thus no need to deprecate <presentation:animations>, but deprecating in the sense that it *should* no longer be used will be fine

- we should remove the Animation dialog, at least remove the part that creates group objects, so make it a pure GIT animation creator. There are better GIT animators, and copypaste or D&D to external is good now, so also no real need to keep it

- we need to check if and how those animations can be converted to SMIL at import

I thought about adding my changes so far, but it's too much and will not be useful in a view weeks.
Comment 12 Armin Le Grand 2014-02-12 20:34:50 UTC
Checked what presentation:play draw:shape-id="1" does on import time; it gets the correct way but in SdXShape::setPropertyValue the case WID_ISANIMATION is simply commented out, there is *no* effect migration implementation to convert this to SMIL stuff. This could be done there, thus existing animations of that type could be converted at import time. This is still no solution for the dialog and objects created there, though.
Comment 13 Armin Le Grand 2014-02-12 22:14:23 UTC
Getting OpenOffice 1.1.5. Diving deeper into the SMIL animation stuff, trying to figure out how the old group animation might be translated to SMIL stuff...
Comment 14 Armin Le Grand 2014-02-13 13:44:47 UTC
Got the old office working, all the pres stuff is on vcl and the animation works as intended.
Worked through the stuff during load and added code to evtl. add SMIL animations at load time (another EffectMigration method) and reactivate WID_ISANIMATION. The question is how that should look like

-1st child Appear, not visible after anim
-nth child not visible at start, f'up to previous, Appear, not visible after anim

may work. The problem is how in the world to create/add those actions with all the CustomAnimationEffect/CustomAnimationPreset/XAnimationNode/...
Looks like a big bunch of not really understandable stuff. Soes someone know how to do that...?
Comment 15 Armin Le Grand 2014-02-13 13:45:56 UTC
AFAIKT there is no simple helper that inserts an animation to a xShape on one page by just giving some basic parameters (what I had hoped/expected)...
Comment 16 Armin Le Grand 2014-02-13 17:40:28 UTC
Checking now what e.g. ppt import does with multiple shapes animated similar to what I need here...
Comment 17 Armin Le Grand 2014-02-14 20:45:25 UTC
I am pretty sure that I can now create correct animation stuff for the members of the group shape, but it does not work in slideshow. It looks as if slideshow cannot handle animated objects which are part of a group. I see no reason for this (thus I would assume this an error in slideshow), but it seems to be the case. I will try to move the contained shapes out of the group to see if this is the case...
Comment 18 Armin Le Grand 2014-02-14 21:50:29 UTC
In the meantime experimented with export to ppt; MS2003 does show all effects for objects in group, but also does not play them. MS2010 shows no effects. Checking now with cloned objects moved to page...
Comment 19 Armin Le Grand 2014-02-15 01:13:47 UTC
As expected, the slideshow is not capable of playing animated objects which are group members, despite that it was designed/implemented to be as generic as possible, thus I expected that to work. Well, need to move group members to the page to do what is needed.
Have now adapted import case and also the dialog insert case, both now create a bunch of animated objects (which can - as described - due to the slideshow - unfortunately not stay in a group object).
This means we can even keep the dialog as it is (no speculations about usefulness here), also the <presentation:animations>.

I would still suggest to deprecate it, thuogh, who knows how long this can be supported anymore.

Preparing commit...
Comment 20 SVN Robot 2014-02-15 01:16:09 UTC
"alg" committed SVN revision 1568575 into trunk:
i42894 added support for <presentation:animations> at import and creation
Comment 21 Armin Le Grand 2014-02-15 01:16:30 UTC
Okay, done.
Comment 22 Steve Yin 2014-04-03 07:05:08 UTC
Verified on branch AOO410. Rev. 1583666