# MeGUI/Main Window

The MeGUI main window is where most of the program functionality concerning video and audio encoding takes place. Audio or video inputs are defined, encoding format and parameters chosen, and the job sent to the job queue. The main window has four tabs: Input, Queue, Log and Changelog.

## Input

The input page is where all video and audio encoding is set up and configured from. It is divided into two sections, Video and Audio.
There are also two buttons down the bottom: Reset and AutoEncode. Reset simply clears all input fields, while AutoEncode is used to automate part of the encoding process. Please read the AutoEncode page for more information on it.

### Video

The video section is used for the encoding of video.
* AviSynth Script: used to specify the input AviSynth script. Use the ... button to load the script. If you double-click on this field (NOT the button) it will open a preview window of the video you are inputting.
* Video Output: used to specify the output file that will be written. By default, when an AviSynth script is loaded, the output will default to the same, just with the appropriate extension. The extension is automatically changed if the Container is changed.
* Codec: The codec is the compression format of the video. You can use the dropdown box to choose between four formats:
   * LMP4: libavcodec's MPEG-4 ASP encoder. Occasionally referred to as lavc (not to be confused with AVC aka H.264).
   * x264: the free AVC (aka H.264) encoder.
   * Snow: an experimental encoder, it should not normally be used.
   * XviD: the free ASP (aka Divx) encoder.
To configure the codec, click the Config button. You can read more about the configuration options for LMP4 and XviD and AVC format.
* Container: the format in which the video stream is output as. There are four options in total, not all are available for every codec: AVI, MP4, MKV and Raw. Only the formats which can be directly encoded to without muxing are displayed here -- if you want other formats, have a look at the AutoEncode window.
* Video Profile: if you wish to use a premade profile for the video encode, or want to load one to modify, you can do so here. This functionality is duplicated inside the codec config window too. Loading a profile here will instantly overwrite your current codec settings. See profiles for more depth
* Queue Analysis Pass: Pressing this adds an AviSynth job onto the queue. Useful for 2-pass AviSynth scripts.
* Add Pre-Rendering Job: Checking this adds a prerender job to be generated just before the video job. This is useful for very slow AviSynth scripts.
* Enqueue: You can use this button to move the currently set up job over into the job control window as a ready to run job.

### Audio

The audio section functions similar to above, just for audio. You can use the radio buttons to set up two audio jobs at the same time. They can be completely independent of each other.
* Audio Input: this file can take many audio files as input as well as an avs script.
* Audio Output: functions the same as Video Output
* Codec: for a quick rundown about the individual codecs, read this page from the Basic Guide. You can configure the codec by clicking the Config button.
* Container: works the same as for video.
* File:Megui X button.gif: Used to delete the stream. If you have configered two audio streams and want to remove one, you can click this button and it will delete the currently active stream (as dictated by the radio buttons up the top).
* Audio Profile: works the same as for video.
* Enqueue: works the same as for video.

## Queue

The queue window is where you control all the jobs from. The main window is where all the jobs are listed. This area shows a number of pieces of information about the job:
* Name: The name of the job, which is automatically generated by MeGUI. See job naming for details on the naming.
* Input: The file that was specified as input.
* Output: The file specified as output. Not all jobs specify one (such as analysis passes)
* Codec: The codec used. Used only for video and audio encoding.
* Mode: The mode is an identifier that specifies the sort of job that it is. For example, a muxing job is "mux", d2v creation is "idx" (for index) and so on. See list of modes for the entire list.
* Status: The status of the job. There are five job states, as shown below. To change between them, you can double-click on a job, or you can right-click on a job when it is selected.
   * Waiting: (the job has not been run yet and is waiting to be run)
   * Processing: (the job is in progress)
   * Done: (the job has been successfully completed)
   * Postponed: (the job has been paused by the user, it will not start)
   * Aborted: (the job was cancelled by the user)
   * Error: (the job had an error and did not complete)
* Start: The time the job was started. If the job has not yet started, it is blank.
* End: The time the job finished. If the job is incomplete, it is blank.
* FPS: The framerate of the completed job. Only for video encodes.
The buttons at the bottom of the window can also be used to control the jobs:
* Start: If there is no job running, clicking Start will start the first job in the list that is waiting.
* File:Megui pause button.gif: If an encode is running, you can use this button to pause it. It will then turn into a File:Megui play button.gif button, which you can click to resume the job.
* Abort: This will abort the current job immediately and stop the queue. Beware: you will lose all your progress on that current job, so use with caution.
* Load: If you have selected a job, clicking load will copy this job and it's settings back to the Input tab for you to modify. This is useful if you want to modify a job currently in the queue.
* Update: If you have selected a job, clicking save will replace this job with the currently set up job in the Input tab. You can use this in conjunction with the Load button to modify jobs in the queue without having to recreate them.
* Up: This will move the job up one spot in the list.
* Down: This will move the job down one spot in the list.
* Clear: Clear will delete all the jobs in the list. If there is a job currently running, it will continue to run until finished. Be careful, for some reason there is no confirmation that you really want to delete all jobs.
* Delete: If you just want to delete one job, select it and click this button. It will prompt you to delete linked jobs if there are any.
At the very bottom, there are two final items:
* A checkbox for "shutdown at the end of encoding" which will shut the computer down after all jobs have completed (or errored). Once again, there is no timeout when the encoding finishes to abort this shutdown, so take care.
* There is also a progress bar, which displays current job process.

## Log

The log window is an output window that gives information on what meGUI is doing. It shows commandlines that it gives to the various backends, the output they return and basic information describing what steps the program is progressing through.
It can be useful if an error is encountered to use the log and see at what point the error is encountered. Another use is to extract commandlines used by meGUI for use elsewhere.

## Changelog

The changelog tab simply describes the changes from version to version. If something has changed recently and you aren't sure what it has changed to you can check here. If you aren't sure what has changed with each version you can also read here to keep up with the latest updates.