Orbiter Generator

From LinuxMCE
Revision as of 20:29, 22 May 2008 by Perspectoff (Talk | contribs) (Running OrbiterGen (performing a "regen"))

Jump to: navigation, search

It would be impractical and inefficient for the Orbiters, many of which have limited processing power and are unable to repeatedly rebuild and re-render the User Interface (UI) graphics on the fly.

The User Interface images are all very high resolution yet need to be resized to accommodate the size and resolution of the screens of each different type of Orbiter.

Therefore, on the Core is a program called OrbiterGen that pre-renders the UI graphics as much as possible. Graphics and text are combined into single pre-rendered bitmaps and stored in a database on the Core. These pre-rendered images are then sent directly to each different Orbiter when it starts, allowing immediate display of the User Interface.

The only time you will need to use OrbiterGen is when you are manipulating or creating the User Interface. This occurs when you create or change scenarios. Adding new scenarios may result in the creation of new buttons for the User Interface, or may result in changes to the text on existing buttons. Perhaps an entirely new screen will need to be created.

OrbiterGen will also be run whenever you customize the User Interface using Designer.

Regen the Orbiter

The Core maintains a list of the Orbiters used by your system in a database. It generates and stores a User Interface screen for each different type of Orbiter.

It will "regenerate" the User Interface screens each time you change the UI (by adding/changing scenarios or using Designer), or whenever you request a "regen". If you have five different types of Orbiters (each with a different type of screen), then five different images will be regenerated during each "regen".

Until the User Interface images are regenerated, you won't be able to see changes to you buttons (or screens). The "regeneration" process can take about 2-5 minutes to recreate the UI screens for every type of Orbiter, depending on the number of Orbiter types.

The appropriate UI image is then sent from the Core to an Orbiter only when that Orbiter is activated.

You needn't do a regen every time you add a scenario. You could wait until you have finished adding all your new scenarios.

When you are editing or adding scenarios (or using Designer), it is possible to regenerate a UI for the single Orbiter that you are using using by doing a "Quick regen". This allows you to view the new User Interface without having to do a full regen for every Orbiter type. This is much quicker and allows you to see your changes without waiting for a full regen.

Once you have finished adding and changing scenarios, you can do a full regen for all the Orbiters.

This regen process can be a bit annoying, but is necessary.

In future editions of LinuxMCE, it is planned to allow Media Directors, which have a lot more processing power, to render their on-screen Orbiter User Interfaces on the fly (so you don't have to do a regen each time you add or remove a scenario).

Running OrbiterGen (performing a "regen")

  • The OrbiterGen program is invoked automatically each time you finish adding or changing a scenario or make changes using Designer.
  • You can perform either a full Orbiter regen of a Quick regen at any time by using buttons located on the Core's Launch Manager.

Other

The User's Manual explains the command line options. There is no Programmer's Guide for OrbiterGen.