W3C home > Mailing lists > Public > www-smil@w3.org > April to June 2007

Re: R: Urgent please

From: Sjoerd Mullender <sjoerd@acm.org>
Date: Sun, 17 Jun 2007 14:02:40 +0200
Message-ID: <467522E0.9000800@acm.org>
To: ___ <berlusconigay@gmail.com>
CC: "'Jack Jansen'" <Jack.Jansen@cwi.nl>, "'SMIL List'" <www-smil@w3.org>

On 06/17/2007 01:04 PM, ___ wrote:
> Well, if realplayer can't handle it, then SMIL is totally useless. I mean,

Please explain how a bug in one implementation of SMIL makes SMIL
totally useless?
Have you tried other players, e.g. ambulant or GRiNS?

> if it handle just the base things like transitions of slides, then i could
> use powerpoint for a presentation. The nice thing of SMIL should be the
> interactivity. After 2 weeks i couldn't handle succesfully to load on same
> page objects according to what is selected from menu. Use href to link to
> external .smil files is terrible and senseless, but seems the only thing
> that works.
> I would expect to use <excl> group and fix things: no! It just doesn't work,
> i understood that only the begin event should be described for each excl
> child and excl will handle to exclusively load the child group. Obviously
> that doesn't work, and objects from other excl children are still visible
> for no reason (no, i didn't use the fill="hold"). I tried several tutorial
> with excl, but only those that load just an image per child works.. If i
> start from those and add groups as excl child, then all mess up, sooner or
> late.
> Is there any template that works on realplayer or any other player where
> SMIL has sense and interactive presentation works?
> Please answer, since i'm quite frustrated 

I'm not really getting a warm, fuzzy feeling from trying to help you.

There are a few things you could try to get those textstreams to end
when you click on the button, but first I would try to *simplify* the
code by removing begin/end attribute values that are already implied by
the timing model.  The first version below is a copy of your version
with all superfluous attributes removed.  The second is an equivalent
version that uses excl.  The second version would be the preferred way
of doing it.  I think they should both do what you seem to want, but I
cannot guarantee that the RealPlayer does this correctly.  If it
doesn't, then it's a bug in the RealPlayer, not in SMIL.  Don't confuse
the two.

<body>
  <par dur="indefinite">
    <par id="A_par" begin="bt_A.activateEvent" end="bt_B.activateEvent">
      ......
    </par>
    <par id="B_par" begin="bt_B.activateEvent" end="bt_A.activateEvent">
      <par id="B_par_text1" begin="0s;arrow_b.activateEvent"
end="arrow_f.activateEvent">
	<textstream id="B_text1" src="..." rn:backgroundOpacity="0%"
transIn="fade_1" region="text_B_a" fill="freeze"/>
	<textstream id="B_text2" src="..." rn:backgroundOpacity="0%"
transIn="fade_1" region="text_B_b" fill="freeze"/>
      </par>
      <par id="B_par_text2" begin="arrow_f.activateEvent"
end="arrow_b.activateEvent">
	.......
      </par>
    </par>
  </par>
</body>

<body>
  <excl dur="indefinite">
    <par id="A_par" begin="bt_A.activateEvent">
      ......
    </par>
    <excl id="B_par" begin="bt_B.activateEvent">
      <par id="B_par_text1" begin="0s;arrow_b.activateEvent">
	<textstream id="B_text1" src="..." rn:backgroundOpacity="0%"
transIn="fade_1" region="text_B_a" fill="freeze"/>
	<textstream id="B_text2" src="..." rn:backgroundOpacity="0%"
transIn="fade_1" region="text_B_b" fill="freeze"/>
      </par>
      <par id="B_par_text2" begin="arrow_f.activateEvent">
	.......
      </par>
    </par>
  </par>
</body>


> -----Messaggio originale-----
> Da: Sjoerd Mullender [mailto:sjoerd@acm.org] 
> Inviato: domenica 17 giugno 2007 12.40
> A: Jack Jansen
> Cc: ___; 'SMIL List'
> Oggetto: Re: Urgent please
> 
> On 06/17/2007 12:47 AM, Jack Jansen wrote:
> --
> Sjoerd Mullender
>> It is a bit difficult to read your code, but the problem may be that 
>> your mixing up scheduled end and event-based end.
>>
>> if bt_A.activateEvent is fired then two things happend immediately:
>> 1. B_par ends
>> 2. B_text2 ends
>>
>> You're expecting that the end of B_par raises B_par.end which in turn 
>> leads to B_text2 ending. This seems like a reasonable expectation, but 
>> I'm not 100% sure it is correct. "B_par.end" is different from
>> "B_par.endEvent": the first one is scheduled and the second one is 
>> event-based.
>>
>> The exact distinction between those two mechanisms can be found in the 
>> SMIL standard (in the timing section), but the hand-waving explanation 
>> is that scheduled timing is pre-computed into the timegraph (similar 
>> to seq children starting when their predecessor ends, etc) whereas 
>> event-based timing happens on the fly (the timegraph is computed as if 
>> end="indefinite", I think).
>>
>> I'm not sure whether the standard specifies what should happen in this 
>> case (a scheduled timing relationship depending on an event-based 
>> timing relationship), maybe Sjoerd or someone else who understands 
>> this better than me can explain?
> 
> When an element ends because of an event, the end condition is reevaluated
> and repropagated.
> 
>> But what I am sure of is that with a construct like this you're 
>> descending into the deep damp cellars of the SMIL timing model, so 
>> you're quite likely to stumble upon a bug. My suggestion would be to 
>> change the "B_par.end" into "B_par.endEvent", thereby making 
>> everything event-based, and hoping that that fixes the problem.
>>
>> On  16-Jun-2007, at 23:56 , ___ wrote:
>>
>>> This situation is extremely easy to understand, please give me a 
>>> reply please. I'm using real player.
>>>
>>>   <body>
>>>     <par dur="indefinite">
>>> <par id="A_par" begin="bt_A.activateEvent" end="bt_B.activateEvent"> 
>>> ......
>>> </par>
>>> <par id="B_par" begin="bt_B.activateEvent" end="bt_A.activateEvent"> 
>>> <par id="B_par_text1" begin="0s;arrow_b.activateEvent"
>>> end="B_par.end;arrow_f.activateEvent">
>>> <textstream id="B_text1" src="..."
>>> rn:backgroundOpacity="0%" transIn="fade_1" region="text_B_a"
>>> end="B_par_text1.end;bt_A.activateEvent" fill="freeze"/> <textstream 
>>> id="B_text2" src="..."
>>> rn:backgroundOpacity="0%" transIn="fade_1" region="text_B_b"
>>> end="B_par_text1.end;B_par.end" fill="freeze"/> </par> <par 
>>> id="B_par_text2" begin="arrow_f.activateEvent"
>>> end="B_par.end;arrow_b.activateEvent">
>>> .......
>>> </par>
>>> </par>
>>>     </par>
>>>   </body>
>>> </smil>
>>>
>>> Why when B_text1 and B_text2 are visible, and i click on bt_A, only
>>> B_text1
>>> disappear?
>>> The difference between B_text1 and B_text2 is that the end differ in 
>>> this
>>> way:
>>>
>>> B_text1 --> B_par_text1.end;bt_A.activateEvent
>>> B_text2 --> B_par_text1.end;B_par.end
>>>
>>> BUT, since B_par group has the end attribute set to: 
>>> bt_A.activateEvent, shouldn't B_par.end and bt_A.activateEvent act the
> SAME way?
> 
> It seems to me you've uncovered a bug in the RealPlayer.  When you click on
> bt_A, since B_par has an end="bt_A.activateEvent", it ends.  It doesn't
> matter what's inside, but all that is inside should end then as well, so
> this definitely includes B_text1 and B_text2.  There is no two ways about
> it, and it doesn't matter what their end attributes say, they should end.
> 
> --
> Sjoerd Mullender
> 
> No virus found in this incoming message.
> Checked by AVG Free Edition. 
> Version: 7.5.472 / Virus Database: 269.9.0/851 - Release Date: 16/06/2007
> 12.50
>  
> 
> No virus found in this outgoing message.
> Checked by AVG Free Edition. 
> Version: 7.5.472 / Virus Database: 269.9.0/851 - Release Date: 16/06/2007
> 12.50
>  
> 
> 


-- 
Sjoerd Mullender
Received on Sunday, 17 June 2007 12:02:59 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:53:29 GMT