Re: Another MHEG Link related question, actions after transitionTo

Andreas Kraft (kraft@fokus.gmd.de)
Mon, 3 Nov 1997 21:33:31 +0100 (MET)

Emmanuel,

On Mon, 3 Nov 1997, Emmanuel BEUQUE wrote:

> On a similar subject than the one I discuss previously, how you all would
> deal with some elementary actions situated in a link (part of the scene,
> not of the application) after a transitionTo elementary action.
>
> Suppose this in scene1 items:
>
> {Link 1
> ...
> :LinkEffect (
> :TransitionTo ((scene2 0))
> :Run ((scene2 1))
> )
> }
>
> Would the Run action be executed ?

No.
See 53.3:

"Default error handling is the following: if one of the aforementioned
elementary action produces an error, that elementary action shall
be ignored. It is however allowed for an application domain to use
EngineEvent events to indicate the error situation to the MHEG-5
application (e.g., to send to an error message)."

and, more important, 53.3:

"Actions that change the context of the current action processing will
influence both the queue of asynchronous events and the queue of actions
waiting for processing. The context is changed by "TransitionTo",
"Launch", "Spawn" and "Quit" actions. If such an action occurs, the
pending asynchronous events whose origin is after the context switch
shall be removed from the asynchronous event queue. Elementary actions
waiting for execution shall be removed from the action queue as well."

> Shall the group identifier of the next scene be encoded in the Run action ?
> Is it forbidden ? Why ? Where ?

It is not forbidden, but doesn't make sense (see above).

However, putting actions after a "TransitionTo" action is not as useless
as it may seem. You can put here some kind of error handler, e.g. if a
"TransitionTo" fails:

{Link 1
...
:LinkEffect (
:TransitionTo ((scene2 0))
:Run (1)
)
}

Here, object (1) can be a text which indicates an error message to the
user.

Regards,

Andreas

--
  o  _     Andreas Kraft
 (\_|_)      GMD FOKUS, kraft@fokus.gmd.de, +49 30 3463-7232
 T> ] [        The sky is the limit