I understand that some here have reasons not to be happy with SMIL, but its
implementation within SVG really is quite nice and understandable. So far as
I can see, the discontent with it stems primarily from the fact SMIL seems
to have alternative specifications. Since the SVG implementation is the one
which seems to have met with fairly wide adoption, why not just converge
with the attribute set used there to control an animation?
Instead of media-loop-count it uses repeatCount. "dur" controls the
duration, "begin" controls when it starts, "end" controls when it stops.
Just for fun, one can add things like "begin=object.click" or
"begin=M.begin+1" to allow control to be passed declaratively, and to
synchronize multiple events, hence avoiding the need for copious script. If
one had multiple media elements on a page, controlling the synchronization
of those elements is quite within the province of SMIL(SVG).
All the timing mechanisms that are discussed here, are I believe, covered in
SMIL, each with a different set of attribute names.
It even has spline interpolations on the timing elements. In Opera or IE
with the Adobe plugin http://srufaculty.sru.edu/david.dailey/svg/smil.htm
shows some of the range of extant behavior.
Sorry if this horse is already dead, and copious apologies about my
cluelessness when it comes to how to read and write specifications, but
there are already authors and developers who are fluent in SVG/SMIL, so why
reinvent wheels?
respecfully,
David
----- Original Message -----
From: "Maciej Stachowiak" <[EMAIL PROTECTED]>
To: "Vladimir Vukicevic" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, April 04, 2007 10:58 PM
Subject: Re: [whatwg] Apple Proposal for Timed Media Elements
On Apr 4, 2007, at 7:31 PM, Vladimir Vukicevic wrote:
Maciej Stachowiak wrote:
CSS Timed Media Module proposal - http://webkit.org/specs/
Timed_Media_CSS.html
Some feedback on my initial reading.. the CSS properties specified seem
like a good set that will cover most common functionality. Some
comments about the spec, though:
Thanks for reading over this part.
1. 'media-loop-count' is an awkward name, especially with "The default
value of 1 means the item will play through once but will not loop." We
went through this with APNG, and ended up renaming that member. I would
suggest 'media-play-count' instead -- that way there is no ambiguity
with what the number means.
We considered 'media-repeat-count' instead of 'media-loop-count', but
that turned out to be more confusing. We really wanted all the
looping-related properties to have consistent naming, and I don't think
'play' would work in the other places mentioned.
2. The descriptions for 'media-loop-start-time' and 'media-loop-end-
time' don't match; start-time says "sets the time at which the media
item begins playing after looping", and end-time says "sets the time at
which the media item loops for the second and subsequent repetitions".
I would suggest that start-time says "sets the time index at which the
media item starts playing for the second and subsequent repetitions",
and that end-time says "sets the time index at which the media item ends
playing for the second and subsequent repetitions." The language for
end-time is still a little awkward, since "ends playing" could imply
that it simply stops playing (and does not loop), but it's clearer than
before.
I think the language might have ended up actually defining it wrong. The
intent of 'media-loop-end-time' is that this is the point where you end
where repeating, but on the last iteration you go all the way to
'media-end-time'. So if 'media-loop-count' has a value of 3, the three
repetitions would go as follows:
media-start-time ===> media-
loop-end-time
media-loop-start-time ===> media-
loop-end-time
media-loop-start- time
===> media-end-time
I'll update the spec.
3. 'media-timing' I would get rid of completely; while a shorthand would
be useful, I don't think that media-timing as specified really works.
Shorthands for properties such as 'background' are understandable on
their own; 'media-timing: playing 0s -0.5s 2 2s -4s 1' is very opaque.
If it's still desirable, I would remove the setting of start/end times
and change the volume shorthand to only accept the symbolic names; e.g.
'media-timing: playing high 4;'... but I think that removing the
shorthand entirely would be preferable.
I'll reply in more detail about media-timing in a later message.
Regards,
Maciej