we have encountered an interesting problem in the MHEG-5 details,
related to the preparation behavior of the group class.
It is written there:
"Apply the preparation behaviour for all Ingredients of the Group that
have the Initially active flag set to true..."
The Root class specifies for the preparation behaviour:
"...
4: set the availability attribute to true
..."
For some actions the following is said (e.g. for "Ingredient:setData"):
Provisions of use: "The target object shall be an available object"
I hope you have been able to follow me until now :-)
Here comes my problem:
I can not apply SetData (as an example) to ingredients, which have the
InitiallyActive attribute set to false. At least, according to the
standard, the call to the action is simply ignored.
Due to that, it is not possible to make some off-screen preparation of
objects, e.g. SetData, SetPosition, SendToBack etc. This is might be a
drawback. And, this was not intended by Sc29Wg12/5 (IMHO).
There are some "legal" workarounds:
* Use of the Preload action: The intention of this actuin is related to
content. As a sideeffect, it calls the "preparation behaviour". But,
preload is only a "hint".
* Use of lock/unlock screen: This is a bit complicated: In order to make
some attribute changes of unvisible attributes, the following is needed:
- lockScreen
- run Ingredient
- change the attributes of the Ingredient
- stop ingredient
- unlock screen
A bit heavy, right? And, "lockScreen" might not be implemented, it is a
hint also.
I'd like to hear opinions from the experts of MUG. What is your feeling,
how does your Engine handles this? I add an example below.
My opinion is start an amendment process on this issue, with the target
either
* to relax the preparation behaviour for Group (calling the preparation
behaviour for all objects) or
* to allow action execution on objects which have not the availability
flag set to true.
The first option would impact on "preload", e.g. it could be restricted
to content related issues (not to attributes like the boxsize).
The second sounds more strange than it actually is, since data
structures might already be there.
Anyway, I would suggest the first solution. Any other ideas? Or are you
all happy with the current state?
- Klaus
example:
{:Scene
( 'actions2/scene.mheg' 0 )
:Items (
{:Text
1
:InitiallyActive false
:CHook 1
:OrigContent
'actions2 test'
:OrigBoxSize 600 50
:OrigPosition 10 10
}
{:Link
2
:EventSource 0
:EventType UserInput
:EventData 1
:LinkEffect (
:SetData ( 1 "othertext" ) // will be ignored
)
}
)
:InputEventReg 1
:SceneCS 640 480
}
-- GMD FOKUS German National Research Center for Information Technology Klaus Hofrichter Hardenbergplatz 2 D-10623 Berlin Germany mailto:hofrichter@fokus.gmd.de http://www.fokus.gmd.de/usr/hofrichter Tel +49 30 25499-211 Fax -202 There is a reexamination, but no reparty