<sect1 id="howto-settings">
<title>Advanced configuration</title>

<para>This micro-HOWTO describes some of the more advanced settings available
in the <link linkend="settings">&kplayer; Settings</link> dialog that you can
open using the <guimenuitem>Configure &kplayer;</guimenuitem> command on the
<link linkend="menu-settings"><guimenu>Settings</guimenu> menu</link>.</para>

<sect2 id="howto-settings-general">
<title><link linkend="settings-general">General</link> settings</title>

<variablelist>

<varlistentry><term><guilabel>Resize main window automatically</guilabel></term>
<listitem><para>By default &kplayer; resizes the main window automatically
unless it is maximized or full screen. When &kplayer; loads and starts playing
a new video, it scales it in increments of 50% of the original video size until
the video width reaches the <guilabel>Minimum initial video width</guilabel>
setting. It also automatically resizes the window to maintain the video aspect
if that option is turned on.</para>

<para>If you would like to avoid automatic resizing and always keep the window
the size you make it, turn this option off. &kplayer; will then maintain the
video aspect by constraining the video within the window, as if the window was
maximized for example. You will also want to turn this option off if you get
problems coming back from full screen mode, like endless flickering for example.
But in that case you should also report the bug following instructions in the
<link linkend="howto-bug-reporting">Reporting bugs
micro-HOWTO</link>.</para></listitem></varlistentry>

</variablelist>

</sect2>

<sect2 id="howto-settings-playlist">
<title><link linkend="settings-playlist">Playlist</link> settings</title>

<variablelist>

<varlistentry><term><guilabel>Start playing new entries
immediately</guilabel></term>
<listitem><para>This option is turned on by default, so &kplayer; will start
playing new entries you add to the playlist by using
<guimenuitem>Open</guimenuitem> or <guimenuitem>Open URL</guimenuitem> commands
on the <guimenu>File</guimenu> menu, or dragging and dropping files onto
&kplayer; window, or launching files in &konqueror; etc. If you turn it off,
the files will still be put on the currently playing list, but will not be
played until their turn comes.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Allow duplicate entries</guilabel></term>
<listitem><para>By default &kplayer; will remove duplicate entries from the
playlist when adding new entries. Turning the option on allows you to have
duplicate entries on your playlist. Duplicate means that the entries'
<acronym>URL</acronym>s are exactly the same.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Cache size limit</guilabel></term>
<listitem><para>&kplayer; will remember the
<link linkend="howto-properties">properties</link> of any files or
<acronym>URL</acronym>s it has played, even when they are removed from the
playlist. It will only start forgetting old file properties after a large
number of files have been played. This setting controls that number, by
default it is 1000. This has nothing to do with &mplayer; cache, look on
the <link linkend="howto-settings-advanced">Advanced page</link> for
that.</para></listitem></varlistentry>

</variablelist>

</sect2>

<sect2 id="howto-settings-controls">
<title><link linkend="settings-controls">Control</link> settings</title>

<variablelist>

<varlistentry><term><guilabel>Always remember the following settings for
each file</guilabel></term>
<listitem><para>&kplayer; 0.5 and later comes with the ability to set a good
number of different options on a per file or <acronym>URL</acronym> basis. Those
options are called file properties. The <link linkend="howto-properties">File
properties micro-HOWTO</link> has more information.</para>

<para>On this page you can choose the properties that will be remembered
automatically for each file or <acronym>URL</acronym>. By default &kplayer;
will remember audio delay, subtitle delay and subtitle <acronym>URL</acronym>
(except autoloaded subtitles).</para></listitem></varlistentry>

<varlistentry><term><guilabel>Remember for current file any changes made with
&Shift;</guilabel></term>
<listitem><para>Alternatively, you can make &kplayer; remember a setting for
the current file by holding the &Shift; key while changing that setting. For
example, if you have a video file that needs too much resources to play
correctly on your system, you can hold &Shift; and choose a frame dropping
setting on the <link linkend="menu-player"><guimenu>Player</guimenu>
menu</link>. &kplayer; will then use that setting for this file only, and will
continue using the default setting for all other
files.</para></listitem></varlistentry>

</variablelist>

</sect2>

<sect2 id="howto-settings-progress">
<title><link linkend="settings-progress">Progress</link> and seeking control
settings</title>

<variablelist>

<varlistentry><term><guilabel>Seek amount</guilabel></term>
<listitem><para>This option allows you to choose how much &kplayer; will seek
forward or backward when you use the seek commands on the
<link linkend="menu-player"><guimenu>Player</guimenu> menu</link>. You can set
the amounts in percentages of the video length or in
seconds.</para></listitem></varlistentry>

</variablelist>

</sect2>

<sect2 id="howto-settings-volume">
<title><link linkend="settings-volume">Volume</link> and
<link linkend="settings-contrast">video</link> control settings</title>

<variablelist>

<varlistentry><term><guilabel>Adjustment amount</guilabel></term>
<listitem><para>This is the amount by which a setting like volume or contrast
will change when you use commands like <guimenuitem>Increase
Volume</guimenuitem> or <guimenuitem>Decrease Contrast</guimenuitem> on the
<link linkend="menu-player"><guimenu>Player</guimenu>
menu</link>.</para></listitem></varlistentry>

</variablelist>

</sect2>

<sect2 id="howto-settings-audio">
<title><link linkend="settings-audio">Audio</link> and
<link linkend="settings-video">video</link> settings</title>

<variablelist>

<varlistentry><term><guilabel>Driver</guilabel></term>
<listitem><para>This option allows you to choose the video or audio output that
<link linkend="howto-installation-mplayer">&mplayer;</link> will use. The
recommended outputs are XVideo for video and <acronym>OSS</acronym> or
<acronym>ALSA</acronym> for audio. Right next to it there is a check box that
tells &mplayer; to use a different output if the chosen one
fails.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Device</guilabel></term>
<listitem><para>For some output types you can also specify the device that
&mplayer; will use for output. For other output types this sets the output
subtype instead. For still other output types this setting may not be meaningful
at all. You can find the details on the mplayer(1)
manpage.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Codec</guilabel></term>
<listitem><para>This sets the decoder and codec &mplayer; will use for decoding
the video or audio. Right next to it there is a check box that tells &mplayer;
to use a different codec if the chosen one fails. The <guilabel>Codec</guilabel>
option is not of much use anymore since &kplayer; 0.5 introduced
<link linkend="howto-properties">file properties</link> and the ability to set
the codec for each file or <acronym>URL</acronym>
individually.</para></listitem></varlistentry>

</variablelist>

</sect2>

<sect2 id="howto-settings-video">
<title><link linkend="settings-video">Video</link> settings</title>

<variablelist>

<varlistentry><term><guilabel>Scaler</guilabel></term>
<listitem><para>When using a video output that does not support hardware
scaling, like X11, this option sets the scaler type to use. Since normally
you would use XVideo or another video output that supports hardware scaling,
this option will have no effect. But if you use X11 output or otherwise
enable software scaler, you can play around with this option to see what
setting gives you the best results. Bicubic and bicubic spline are supposed
to give smooth picture in most cases.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Double buffering</guilabel></term>
<listitem><para>This option is enabled by default. It gives smoother video
in most cases.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Direct rendering</guilabel></term>
<listitem><para>This option may give better performance. However, it will
not work with double buffering, and also causes subtitles to be jerky.
It is disabled by default.</para></listitem></varlistentry>

</variablelist>

</sect2>

<sect2 id="howto-settings-advanced">
<title><link linkend="settings-advanced">Advanced</link> settings</title>

<variablelist>

<varlistentry><term><guilabel>Additional command line
arguments</guilabel></term>
<listitem><para>In this field you can place additional command line options
you want to pass to <link linkend="howto-installation-mplayer">&mplayer;</link>
when playing this <acronym>URL</acronym>. For example, to deinterlace a
<acronym>DVD</acronym> put a video filtering option like <option>-vf
pullup</option> here for a <literal>dvd://1</literal> <acronym>URL</acronym>.
Choose the <guilabel>append</guilabel> option to add the options you put here
to the ones you enter on the <link linkend="settings-advanced">Advanced
page</link> in the <guilabel>&kplayer; Settings</guilabel> dialog, or the
<guilabel>set to</guilabel> option to override
them.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Frame drop</guilabel></term>
<listitem><para>If your system is too slow to play your files properly, this
option will tell &mplayer; to drop some frames. This option is not of much use
anymore, since &kplayer; 0.5 introduced <link linkend="howto-properties">file
properties</link> and the ability to set the frame dropping option on per file
or <acronym>URL</acronym> basis. Just hold down &Shift; key when selecting a
frame dropping option from the
<link linkend="menu-player"><guimenu>Player</guimenu> menu</link>, and &kplayer;
will remember it for the current file or
<acronym>URL</acronym>.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Cache</guilabel></term>
<listitem><para>This is probably the most tricky of &mplayer; options. It is
especially important when playing directly from a
<link linkend="howto-slaves">&kde; <acronym>I/O</acronym> Slave</link>. Although
most audio files will play fine with only 64 kilobyte cache, such a small cache
will cause problems with many video files. For maximum compatibility the default
cache size in &kplayer; is one megabyte. However, some slow media types like
<acronym>DVD</acronym>, <acronym>VCD</acronym>, <acronym>NFS</acronym>, Samba,
etc. may sometimes require much larger cache like eight megabytes. On the other
hand, low bitrate media like <link linkend="howto-streams">online radio
stations</link> may need smaller cache so they start playing more quickly. Also,
according to &mplayer; crashing message, non-interleaved <acronym>AVI</acronym>
files may need cache to be turned off. As usual, you can set the
<guilabel>Cache</guilabel> option for each individual file or
<acronym>URL</acronym> in its <link linkend="properties-advanced">File
Properties</link>.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Build new index</guilabel></term>
<listitem><para>If a file does not have an index or has a broken one, so seeking
is not functional, you can try setting this option to see if it gives an
improvement. Turning it on usually does not hurt, but the
<guilabel>force</guilabel> setting should only be set in the
<link linkend="properties-advanced">properties</link> of an individual file or
<acronym>URL</acronym>.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Use temporary file for playing from
KIOSlave</guilabel></term>
<listitem><para>This option will only have effect when using a
<link linkend="howto-slaves">&kde; <acronym>I/O</acronym> Slave</link>. By
default it is turned off, so data is sent to &mplayer; through a named pipe.
This works most of the time, the only disadvantage being that seeking is not
possible and the time length will usually be unknown. If playing directly from
a &kde; <acronym>I/O</acronym> Slave does not work for you, turn this option on.
Then &kplayer; will download and save the file locally before playing it. This
will take more time and also take up some disk space temporarily, but it will
make length detection and seeking possible. This option is also available in
<link linkend="properties-advanced">file properties</link>, so you can change it
for individual files and
<acronym>URL</acronym>s.</para></listitem></varlistentry>

<varlistentry><term><guilabel>Use KIOSlave for HTTP, FTP, SMB</guilabel></term>
<listitem><para>Those three <acronym>URL</acronym> types can be played either
directly by &mplayer; or using a <link linkend="howto-slaves">&kde;
<acronym>I/O</acronym> Slave</link>. All three options are turned off by
default, so the <acronym>URL</acronym>s are passed to &mplayer; directly. But
for example &mplayer; 1.0-pre4 was released with <acronym>FTP</acronym>
support broken all the way down, so if that is the &mplayer; version you are
using, you will want to turn the <guilabel>FTP</guilabel> option on, so
&kplayer; uses the <acronym>FTP</acronym> <acronym>I/O</acronym> Slave. The same
&mplayer; version also had broken handling of <acronym>URL</acronym> encoded
characters like a space, so you would either turn this option on for
<guilabel>HTTP</guilabel> as well, or turn on the &kde; <acronym>I/O</acronym>
Slave option in the <link linkend="properties-advanced">file properties</link>
for any <acronym>HTTP</acronym> <acronym>URL</acronym> that has a character like
that in it. Also Samba support in &mplayer; is still listed as experimental, so
if you did not compile it in or if it does not work for you, turn the
<guilabel>SMB</guilabel> option on.</para></listitem></varlistentry>

</variablelist>

</sect2>

</sect1>
