29-03-2021, 09:06 PM
Heh, that's right [mention]Lewis[/mention], but you've found a very complex definition!
I'd recommend looking at it from the point of view of the person writing the MHEG code.
There's two parts to making an MHEG service work: the MHEG App and one or more MHEG Scenes.
The MHEG App is code that runs all the time on a channel, so it's all the stuff that you want to keep available for use during the lifetime of the application (think global variables, if you're a programmer). The first thing the MHEG App does is load in an MHEG Scene. Scenes can be swapped in and out, but you can only have one active at any time. MHEG Scenes are code specific for the type of "page" the viewer is on. There could be unique MHEG Scenes for every single Red Button Page, or there might be unique MHEG Scenes for each type of page (news, menus, weather, off-air messages etc.).
Have a look at this Hello World example of an MHEG App and Scene: http://digvid.info/mheg5/hello_world.php
In the MHEG Application shown there, there's a ":link" (a bit of code that runs for some reason). The "IsRunning" is the event that causes that code to run, and "IsRunning" means "when the MHEG App first starts". The code that's run loads ("transitions to") the "~/hello.mhg" MHEG Scene.
This hello.mhg MHEG Scene has a textbox on it that says Hello World.
I believe the reason for this split between MHEG Apps and MHEG Scenes was down to the limited memory on early MHEG receivers. They couldn't hold all of the code that describes how to render a red button service, so they swapped the bits of code in and out as required.
I'd recommend looking at it from the point of view of the person writing the MHEG code.
There's two parts to making an MHEG service work: the MHEG App and one or more MHEG Scenes.
The MHEG App is code that runs all the time on a channel, so it's all the stuff that you want to keep available for use during the lifetime of the application (think global variables, if you're a programmer). The first thing the MHEG App does is load in an MHEG Scene. Scenes can be swapped in and out, but you can only have one active at any time. MHEG Scenes are code specific for the type of "page" the viewer is on. There could be unique MHEG Scenes for every single Red Button Page, or there might be unique MHEG Scenes for each type of page (news, menus, weather, off-air messages etc.).
Have a look at this Hello World example of an MHEG App and Scene: http://digvid.info/mheg5/hello_world.php
In the MHEG Application shown there, there's a ":link" (a bit of code that runs for some reason). The "IsRunning" is the event that causes that code to run, and "IsRunning" means "when the MHEG App first starts". The code that's run loads ("transitions to") the "~/hello.mhg" MHEG Scene.
This hello.mhg MHEG Scene has a textbox on it that says Hello World.
I believe the reason for this split between MHEG Apps and MHEG Scenes was down to the limited memory on early MHEG receivers. They couldn't hold all of the code that describes how to render a red button service, so they swapped the bits of code in and out as required.
