AVWizard

From LinuxMCE
Revision as of 00:47, 29 September 2007 by Rwilson131 (Talk | contribs) (AV Welcome screen)

Jump to: navigation, search

Note: Due to a bug in the 0704 release, the numeric keys 0-9 on the Windows XP I/R remote may not set your output connector & resolution. If they do not, use the 0-9 keys on the keyboard or use another remote.


The AVWizard has two points of view:

- AVWizard user's point of view
That covers the aspect that one user should handle the AVWizard
- AVWizard developer's point of view
That match the part of how is to customise the AVWizard for your needs, like writing a separate backend, or changing the AVWizard for your needs


Background

Consumer a/v gear, like DVD's, cable boxes and TV's, handle video differently than PC's and PC Monitors. PC's and PC Monitors exchange information about the resolution and capabilities of the monitors using EDID, and the PC's figure out automatically what type of monitor is connected to which video connector (ie VGA, DVI, etc.). Consumer a/v gear generally does not work like this; you tell the device what resolution to output usually with a switch, and it outputs the same video on all connectors at the same time.

This often leads to frustration when using a home theater PC because when you connect the PC to a TV the PC is expecting to get valid information from the TV using EDID, but most consumer TV's do not report this correctly, and so the PC's often times end up outputting the wrong resolution, or not correctly detecting which connector is active. To get it to work can be complicated, using utilities like PowerStrip for Windows, or editing Modeline's in Linux.

Starting A/V Wizard

Since LinuxMCE is intended to mainly be used with a PC we made it act like a normal consumer a/v device. It does not use EDID or try to talk to the TV or monitor. It just outputs whatever resolution you tell it to on whatever connector you specify. This is done using the video/audio setup wizard. This wizard is started automatically the first time the system boots, and does not start again. If you want to change the settings, you can restart the A/V wizard by choosing Advanced, Advanced, A/V Wizard from the main LinuxMCE menu, or during bootup you can either hold down the shift key on the keyboard, or press the a/v menu button on the remote to make A/V wizard start that boot. During bootup you will hear a series of escalating beeps to tell you when LinuxMCE is monitoring the Shift & A/V Menu keys. Hold the keys and A/V Wizard will start. When you hear the descending beeps that means it's too late; the bootup has already gone past the AV Wizard check and LinuxMCE has started.

How A/V Wizard Starts

When A/V Wizard starts it always outputs 640x480 on the VGA connector. So, if you are not using the VGA connector, you will likely see a blank, black screen when A/V Wizard starts, even if you previously saw the Kubuntu boot splash. You will know that the A/V Wizard is running because you hear a series of beeps. When you hear those beeps, if you have video, proceed to complete the A/V Wizard.

What to do if A/V Wizard does not start

If you do not, press the number 1 through 5 on the keyboard or the remote control to switch to the connector that is active. Wait about 15 seconds, and you will hear that same sequence of beeps telling you that A/V Wizard has now restarted using the connector you specified. If you don't hear the beeps after 15 seconds, press the number for your connector again.

 Keys for choosing a connector:

1: DVI
2: VGA
3: Component
4: Composite
5: S-Video

If you do hear the beeps, but you still don't see a picture, it's possible that the display you're using cannot handle 640x480. If so, then press the number 6-9, and 0, and shown below to select a resolution. Again, 15 seconds later, you'll hear the beeps when A/V Wizard is running. If you need to choose a connector besides the default VGA, press the 1-5 key and wait until you hear the beeps again before choosing another connector or resolution.

Keys for choosing a resolution:

6: 640x480
7: 1024x768
8: 720p
9: 1080i
0: 1080p

Once you have a picture you can proceed to complete the A/V Wizard and resize your user interface to fit your screen, choose your audio outputs and so on. You can follow the instructions listed here:

A/V Wizard makes the process a bit more complicated for normal PC users that are using PC Monitors and used to having the video card automatically figure out the correct connector and resolution. But it's the only way to make it simple to use a home theater PC with a consumer TV and still HD video without needing to mess with complex utilities.

AVWizard steps

AVWizard is a 10 steps easy wizard which covers everything of basic configuration of your system.

After that will launch an OrbiterGen which will create an Orbiter corresponding to that tool.

The pages are:

AV Welcome screen

This short section requires expansion
File:AVWizard1.jpg

AV Resolution and Refresh screen

This short section requires expansion


AV Video Resolution counter

This short section requires expansion


AV UI Switcher

This short section requires expansion


AV Video Output

This short section requires expansion


AV Audio Connector

This short section requires expansion


AV Audio Volume

This short section requires expansion


AV Dolby Test

This short section requires expansion


AV DTS Test

This short section requires expansion


AV Final Selections

This short section requires expansion


Running A/V Wizard from Commandline

If you are having difficulty running the AVWizard normally (by selecting the option in the Orbiter) it can be run manually by typing in the command line.
/usr/pluto/bin/AVWizard_Run.sh

Note that you should kill X and any process trying to reload it before running the wizard. You should only do this if your attempt to run it normally fails for whatever reason.

For developers

AVWizard is written in C++ using that libraries:

- SDL (SDL_image, SDL_rotozoom, etc.)
- libXML2
- network code

AVWizard has the next working steps:

- Generating screens of the AVWizard (in the /tmp folder as XML files)
- load one by one depending of the needs of running (Main AVWizard).

That two steps may be splitted in the future in two separately applications, that will make it more customisable and to not make it more "redundant code" like: defining object, save/load operations restore objects. The XML files keeps only the display representations of the data. The factory creates the coresponding objects in a WizardWidget class which contains a tree of WizardWidgets that has as much childs as we are used.