diff options
Diffstat (limited to 'DOCS')
-rw-r--r-- | DOCS/man/en/mplayer.1 | 97 | ||||
-rw-r--r-- | DOCS/man/fr/mplayer.1 | 2 | ||||
-rw-r--r-- | DOCS/tech/MAINTAINERS | 2 | ||||
-rw-r--r-- | DOCS/tech/binary-packaging.txt | 22 | ||||
-rw-r--r-- | DOCS/tech/general.txt | 1 | ||||
-rw-r--r-- | DOCS/tech/libmpcodecs.txt | 22 | ||||
-rw-r--r-- | DOCS/tech/libvo.txt | 1 | ||||
-rw-r--r-- | DOCS/tech/realcodecs/TODO | 2 | ||||
-rw-r--r-- | DOCS/tech/realcodecs/audio-codecs.txt | 3 | ||||
-rw-r--r-- | DOCS/tech/realcodecs/video-codecs.txt | 2 | ||||
-rw-r--r-- | DOCS/tech/slave.txt | 1 | ||||
-rw-r--r-- | DOCS/tech/snow.txt | 1 | ||||
-rw-r--r-- | DOCS/tech/subcp.txt | 2 | ||||
-rw-r--r-- | DOCS/tech/swscaler_methods.txt | 1 | ||||
-rw-r--r-- | DOCS/xml/en/documentation.xml | 1 | ||||
-rw-r--r-- | DOCS/xml/en/faq.xml | 6 | ||||
-rw-r--r-- | DOCS/xml/en/install.xml | 29 | ||||
-rw-r--r-- | DOCS/xml/en/skin.xml | 1200 | ||||
-rw-r--r-- | DOCS/xml/ldp.dsl | 1 | ||||
-rw-r--r-- | DOCS/xml/ru/ports.xml | 2 |
20 files changed, 39 insertions, 1359 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index fee7c53f50..749c15e922 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -124,11 +124,6 @@ tivo://host/[list|llist|fsid] [options] . .br -.B gmplayer -[options] -[\-skin\ skin] -. -.br .B mencoder [options] file [file|URL|\-] [\-o file | file://file | smb://[user:pass@]host/filepath] @@ -362,30 +357,6 @@ Seek backward/\:forward 1 minute. .PD 1 .PP .RS -(The following keys are only valid if GUI support is compiled in -and will take precedence over the keys defined above.) -.RE -.PP -.PD 0 -.RS -.IPs ENTER -Start playing. -.IPs "ESC\ \ " -Stop playing. -.IPs "l\ \ \ \ " -Load file. -.IPs "t\ \ \ \ " -Load subtitle. -.IPs "c\ \ \ \ " -Open skin browser. -.IPs "p\ \ \ \ " -Open playlist. -.IPs "r\ \ \ \ " -Open preferences. -.RE -.PD 1 -.PP -.RS (The following keys are only valid if you compiled with TV or DVB input support and will take precedence over the keys defined above.) .RE @@ -720,8 +691,6 @@ Available options are: .RSs .IPs "all\ \ " all configuration files -.IPs "gui (GUI only)" -GUI configuration file .IPs system system configuration file .IPs "user\ " @@ -757,7 +726,6 @@ Use the given profile(s), \-profile help displays a list of the defined profiles .TP .B \-really\-quiet (also see \-quiet) Display even less output and status messages than with \-quiet. -Also suppresses the GUI error message boxes. . .TP .B \-show\-profile <profile> @@ -865,15 +833,12 @@ later. See http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.html for details. . .TP -.B \-enqueue (GUI only) -Enqueue files given on the command line in the playlist instead of playing them -immediately. -. -.TP -.B \-fixed\-vo -Enforces a fixed video system for multiple files (one (un)initialization for -all files). +.B \-nofixed\-vo +\-fixed\-vo enforces a fixed video system for multiple files (one +(un)initialization for all files). Therefore only one window will be opened for all files. +Now enabled by default, use \-nofixed\-vo to disable and create a new window +whenever the video stream changes. Currently the following drivers are fixed-vo compliant: gl, gl2, mga, svga, x11, xmga, xv, xvidix and dfbmga. . @@ -884,12 +849,6 @@ Video filters are not applied to such frames. For B-frames even decoding is skipped completely. . .TP -.B \-(no)gui -Enable or disable the GUI interface (default depends on binary name). -Only works as the first argument on the command line. -Does not work as a config-file option. -. -.TP .B \-h, \-help, \-\-help Show short summary of options. . @@ -1074,6 +1033,11 @@ Turns off LIRC support. .B \-nomouseinput Disable mouse button press/\:release input (mozplayerxp's context menu relies on this option). +.TP +.B \-noorderedchapters +Disable support for Matroska ordered chapters. +MPlayer will not load or search for video segments from other files, +and will also ignore any chapter order specified for the main file. . .TP .B \-rtc (RTC only) @@ -1116,20 +1080,6 @@ Use the specified device for RTC timing. Play files in random order. . .TP -.B \-skin <name> (GUI only) -Loads a skin from the directory given as parameter below the default skin -directories, /usr/\:local/\:share/\:mplayer/\:skins/\: and ~/.mplayer/\:skins/. -.sp 1 -.I EXAMPLE: -.PD 0 -.RSs -.IPs "\-skin fittyfene" -Tries /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene -and afterwards ~/.mplayer/\:skins/\:fittyfene. -.RE -.PD 1 -. -.TP .B \-slave (also see \-input) Switches on slave mode, in which MPlayer works as a backend for other programs. Instead of intercepting keyboard events, MPlayer will read commands separated @@ -2152,7 +2102,7 @@ The same, but hinting will only be performed if the OSD is rendered at screen resolution and will therefore not be scaled. .RE .RSs -The default value is 7 (use native hinter for unscaled OSD and no hinting otherwise). +The default value is 5 (use light hinter for unscaled OSD and no hinting otherwise). .RE .PD 1 . @@ -3060,6 +3010,13 @@ VESA framebuffer does not support mode changing. Override framebuffer mode configuration file (default: /etc/\:fb.modes). . .TP +.B \-force\-window\-position +Forcefully move MPlayer's video output window to default location whenever +there is a change in video parameters, video stream or file. +This used to be the default behavior. +Currently only affects X11 VOs. +. +.TP .B \-fs (also see \-zoom) Fullscreen playback (centers movie, and paints black bands around it). Not supported by all video output drivers. @@ -3147,12 +3104,6 @@ Places the window at the bottom right corner of the screen. .PD 1 . .TP -.B \-guiwid <window ID> (also see \-wid) (GUI only) -This tells the GUI to also use an X11 window and stick itself to the bottom -of the video, which is useful to embed a mini-GUI in a browser (with the -MPlayer plugin for instance). -. -.TP .B \-hue <\-100\-100> Adjust the hue of the video signal (default: 0). You can get a colored negative of the image with this option. @@ -3283,7 +3234,7 @@ the new display mode. Enables VBI for the vesa, dfbmga and svga video output drivers. . .TP -.B \-wid <window ID> (also see \-guiwid) (X11, OpenGL and DirectX only) +.B \-wid <window ID> (X11, OpenGL and DirectX only) This tells MPlayer to attach to an existing window. Useful to embed MPlayer in a browser (e.g.\& the plugger extension). This option fills the given window completely, thus aspect scaling, @@ -4329,8 +4280,6 @@ Each file takes the frame number padded with leading zeros as name. .IPs z=<0\-9> Specifies the compression level. 0 is no compression, 9 is maximum compression. -.IPs outdir=<dirname> -Specify the directory to save the PNG files to (default: ./). .IPs alpha (default: noalpha) Create PNG files with an alpha channel. Note that MPlayer in general does not support alpha, so this will only @@ -11080,14 +11029,6 @@ MEncoder user settings input bindings (see '\-input keylist' for the full list) . .TP -~/.mplayer/\:gui.conf -GUI configuration file -. -.TP -~/.mplayer/\:gui.pl -GUI playlist -. -.TP ~/.mplayer/\:font/ font directory (There must be a font.desc file and files with .RAW extension.) . diff --git a/DOCS/man/fr/mplayer.1 b/DOCS/man/fr/mplayer.1 index 5b23beec9b..40c41aaf90 100644 --- a/DOCS/man/fr/mplayer.1 +++ b/DOCS/man/fr/mplayer.1 @@ -4570,8 +4570,6 @@ Ne gère que les formats RGB et BGR 24 bits/pixel. .IPs z=<0\-9> Définit le taux de compression. 0 équivaut à pas de compression et 9 à la compression maximale. -.IPs outdir=<chemin> -Définit le répertoire où sauver les fichiers PNG (par défaut\ ./). .IPs alpha (par défaut\ : noalpha) Crée un fichier PNG avec un canal alpha. Notez que MPlayer ne gère en général pas les canaux alpha, donc cette diff --git a/DOCS/tech/MAINTAINERS b/DOCS/tech/MAINTAINERS index 680906e4e2..fcd4566c41 100644 --- a/DOCS/tech/MAINTAINERS +++ b/DOCS/tech/MAINTAINERS @@ -84,8 +84,6 @@ MPlayer code: * playtree, input layer: Alban Bedel * libswscale: Michael Niedermayer, Luca Abeni * DVB support: Nico Sabbi - * GUI: None - * GUI skins: Diego Biurrun * EDL code: Reynaldo H. Verdejo Pinochet, Oded Shimon Imported libs/projects: diff --git a/DOCS/tech/binary-packaging.txt b/DOCS/tech/binary-packaging.txt index 9d852372db..974a20d46f 100644 --- a/DOCS/tech/binary-packaging.txt +++ b/DOCS/tech/binary-packaging.txt @@ -66,9 +66,6 @@ the following features MUST be included in any official binary package: (*) if available for your OS/hardware -There is great demand for the GUI, so it SHOULD be included, but it MUST -come as a separate package (see Tips and Tricks for details). - Including other features, like LIVE.COM streaming or JACK support, is acceptable. They SHOULD, however, be build-time configurable, with the default build configuration containing the above set. @@ -111,7 +108,6 @@ for Red Hat and Fedora RPMs I am using FHS-compliant paths: /usr/share/doc/mplayer-version/ docs /usr/share/man/man1/ man page /usr/share/man/XX/man1/ translated man page -/usr/share/mplayer/skins/ GUI skins You MUST NOT include the codecs.conf file in your package. It is useful only for development purposes and often causes obscure problems for users. @@ -129,13 +125,9 @@ install only what you need. This is the layout I am using for Red Hat and Fedora RPMs: mencoder contains MEncoder binary (mencoder) -mplayer contains MPlayer binary without GUI (mplayer), - config files, man pages and documentation; - required by mplayer-gui +mplayer contains MPlayer binary config files, man pages and + documentation; mplayer-codecs-* contain binary codecs available from MPlayer's site -mplayer-gui contains MPlayer binary with GUI (gmplayer); - contains default skin (Blue) -mplayer-skin-* contain various MPlayer GUI skins There is no strict policy for now, just use your common sense. @@ -200,14 +192,8 @@ ao=alsa, Tips and tricks ~~~~~~~~~~~~~~~ -In my package layout, mplayer and mplayer-gui can be installed at the same -time, because they contain differently named binaries and there is no -conflict. The trick is to build MPlayer once with --enable-gui, rename the -resulting binary to "gmplayer" and then build it again, without GUI, but -keeping the rest of ./configure options the same. - -To provide man pages for all MPlayer suite binaries (mplayer, gmplayer, -mencoder), you can use man-links instead of regular symbolic links. +To provide man pages for all MPlayer suite binaries (mplayer, mencoder), you +can use man-links instead of regular symbolic links. Creating a mencoder man page linked to mplayer is as simple as: echo ".so mplayer.1" >> mencoder.1 diff --git a/DOCS/tech/general.txt b/DOCS/tech/general.txt index f4b7f0d713..631ee3f9de 100644 --- a/DOCS/tech/general.txt +++ b/DOCS/tech/general.txt @@ -226,4 +226,3 @@ Now, go on: 6.a audio plugins for details on this, read libao2.txt - diff --git a/DOCS/tech/libmpcodecs.txt b/DOCS/tech/libmpcodecs.txt index 22d29aaf98..5015f5dcc0 100644 --- a/DOCS/tech/libmpcodecs.txt +++ b/DOCS/tech/libmpcodecs.txt @@ -153,7 +153,7 @@ vf_info_t* info; const char *name; // short name of the filter, must be FILTERNAME const char *author; // name and email/URL of the author(s) const char *comment; // comment, URL to papers describing algorithm etc. - int (*open)(struct vf_instance_s* vf,char* args); + int (*open)(struct vf_instance* vf,char* args); // pointer to the open() function: Sample: @@ -197,13 +197,13 @@ static int open(vf_instance_t *vf, char* args) return 1; } -Functions in vf_instance_s: +Functions in vf_instance: NOTE: All these are optional, their function pointer is either NULL or points to a default implementation. If you implement them, don't forget to set vf->FUNCNAME in your open() ! - int (*query_format)(struct vf_instance_s* vf, unsigned int fmt); + int (*query_format)(struct vf_instance* vf, unsigned int fmt); The query_format() function is called one or more times before the config(), to find out the capabilities and/or support status of a given colorspace (fmt). @@ -216,7 +216,7 @@ next filter will accept at least one of your possible output colorspaces! Sample: -static int query_format(struct vf_instance_s* vf, unsigned int fmt) +static int query_format(struct vf_instance* vf, unsigned int fmt) { switch(fmt){ case IMGFMT_YV12: @@ -232,7 +232,7 @@ For the more complex case, when you have an N -> M colorspace mapping matrix, see vf_scale or vf_rgb2bgr for examples. - int (*config)(struct vf_instance_s* vf, + int (*config)(struct vf_instance* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt); @@ -257,7 +257,7 @@ Its parameters are already well-known from libvo: Sample: -static int config(struct vf_instance_s* vf, +static int config(struct vf_instance* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt) { @@ -272,12 +272,12 @@ static int config(struct vf_instance_s* vf, return vf_next_config(vf,vf->priv->w,vf->priv->h,d_width,d_height,flags,outfmt); } - void (*uninit)(struct vf_instance_s* vf); + void (*uninit)(struct vf_instance* vf); Okay, uninit() is the simplest, it's called at the end. You can free your private buffers etc here. - int (*put_image)(struct vf_instance_s* vf, mp_image_t *mpi); + int (*put_image)(struct vf_instance* vf, mp_image_t *mpi); Ah, put_image(). This is the main filter function, it should convert/filter/ transform the image data from one format/size/color/whatever to another. @@ -332,7 +332,7 @@ image: Ok, the rest is for advanced functionality only: - int (*control)(struct vf_instance_s* vf, int request, void* data); + int (*control)(struct vf_instance* vf, int request, void* data); You can control the filter at runtime from MPlayer/MEncoder/dec_video: #define VFCTRL_QUERY_MAX_PP_LEVEL 4 /* test for postprocessing support (max level) */ @@ -343,7 +343,7 @@ You can control the filter at runtime from MPlayer/MEncoder/dec_video: #define VFCTRL_CHANGE_RECTANGLE 9 /* Change the rectangle boundaries */ - void (*get_image)(struct vf_instance_s* vf, mp_image_t *mpi); + void (*get_image)(struct vf_instance* vf, mp_image_t *mpi); This is for direct rendering support, works the same way as in libvo drivers. It makes in-place pixel modifications possible. @@ -359,7 +359,7 @@ order, while put_image is called for display) so the only safe place to save it is in the mpi struct itself: mpi->priv=(void*)dmpi; - void (*draw_slice)(struct vf_instance_s* vf, unsigned char** src, + void (*draw_slice)(struct vf_instance* vf, unsigned char** src, int* stride, int w,int h, int x, int y); It's the good old draw_slice callback, already known from libvo. diff --git a/DOCS/tech/libvo.txt b/DOCS/tech/libvo.txt index e80f80d2fb..945aeab952 100644 --- a/DOCS/tech/libvo.txt +++ b/DOCS/tech/libvo.txt @@ -171,4 +171,3 @@ Each vo driver _has_ to implement these: real. This is 'swapbuffers' when doublebuffering. Try to do as little work here as possible, since that affect jitter/ A-V sync. - diff --git a/DOCS/tech/realcodecs/TODO b/DOCS/tech/realcodecs/TODO index 00f20f13ac..5ba035bfdd 100644 --- a/DOCS/tech/realcodecs/TODO +++ b/DOCS/tech/realcodecs/TODO @@ -20,5 +20,3 @@ TODO: also statistics->streams->video->POST FILTER: ON (i've found that custommessage calls differ wiht pp on/off, but adding these calls to mplayer didn't make a pixel difference between outputs) - - diff --git a/DOCS/tech/realcodecs/audio-codecs.txt b/DOCS/tech/realcodecs/audio-codecs.txt index 6d79815ac0..8a0d958354 100644 --- a/DOCS/tech/realcodecs/audio-codecs.txt +++ b/DOCS/tech/realcodecs/audio-codecs.txt @@ -153,6 +153,3 @@ output_buffer points to the output buffer from the last decode operation. retval is unknown, returning always 0x18 in a specific sample -> further investigation needed - - - diff --git a/DOCS/tech/realcodecs/video-codecs.txt b/DOCS/tech/realcodecs/video-codecs.txt index 5ef9a51961..2bef957172 100644 --- a/DOCS/tech/realcodecs/video-codecs.txt +++ b/DOCS/tech/realcodecs/video-codecs.txt @@ -183,5 +183,3 @@ Transform (internally calls (0x1c,x,y)) ] Free - - diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt index c15a3a7fa8..e1fed7edee 100644 --- a/DOCS/tech/slave.txt +++ b/DOCS/tech/slave.txt @@ -546,4 +546,3 @@ teletext_format int 0 3 X X X 0 - opaque, 3 - transp. inv. teletext_half_page int 0 2 X X X 0 - off, 1 - top half, 2- bottom half - diff --git a/DOCS/tech/snow.txt b/DOCS/tech/snow.txt index db1b558cb9..be531fcb5c 100644 --- a/DOCS/tech/snow.txt +++ b/DOCS/tech/snow.txt @@ -87,4 +87,3 @@ vcodec=snow:vstrict=-2:vpass=2:vbitrate=$B:pred=0:cmp=12:subcmp=12:mbcmp=1:qpel: Decent, fast options are vcodec=snow:vstrict=-2:vpass=1:vbitrate=$B:pred=0:cmp=1:subcmp=1:mbcmp=1 vcodec=snow:vstrict=-2:vpass=2:vbitrate=$B:pred=0:cmp=2:subcmp=2:mbcmp=1:refs=2 - diff --git a/DOCS/tech/subcp.txt b/DOCS/tech/subcp.txt index df96f31e80..60c370771c 100644 --- a/DOCS/tech/subcp.txt +++ b/DOCS/tech/subcp.txt @@ -40,5 +40,3 @@ I tested charmap2enc script only with /usr/share/i18n/charmaps/EUC-KR.gz -- Artur Zaprzala - - diff --git a/DOCS/tech/swscaler_methods.txt b/DOCS/tech/swscaler_methods.txt index e37227b982..b2c7077652 100644 --- a/DOCS/tech/swscaler_methods.txt +++ b/DOCS/tech/swscaler_methods.txt @@ -66,4 +66,3 @@ m mosaic (blocky) (upscale only) Notes: area upscale is identical to bilinear - diff --git a/DOCS/xml/en/documentation.xml b/DOCS/xml/en/documentation.xml index c1f0fb5527..2108533f96 100644 --- a/DOCS/xml/en/documentation.xml +++ b/DOCS/xml/en/documentation.xml @@ -175,4 +175,3 @@ can be distributed under the terms of the GNU General Public License Version 2. &encoding-guide.xml; &faq.xml; &bugreports.xml; -&skin.xml; diff --git a/DOCS/xml/en/faq.xml b/DOCS/xml/en/faq.xml index 83989dbf3a..9234ad7334 100644 --- a/DOCS/xml/en/faq.xml +++ b/DOCS/xml/en/faq.xml @@ -644,11 +644,7 @@ your configuration file. Add <programlisting> vo = <replaceable>selected_vo</replaceable> </programlisting> -to <filename>~/.mplayer/config</filename> and/or -<programlisting> -vo_driver = <replaceable>selected_vo</replaceable> -</programlisting> -to <filename>~/.mplayer/gui.conf</filename>. +to <filename>~/.mplayer/config</filename> </para></answer> </qandaentry> diff --git a/DOCS/xml/en/install.xml b/DOCS/xml/en/install.xml index 21de5406bf..dd03e00377 100644 --- a/DOCS/xml/en/install.xml +++ b/DOCS/xml/en/install.xml @@ -106,10 +106,6 @@ answers. <itemizedlist> <listitem><para> - Decide if you need GUI. If you do, see the <link linkend="gui">GUI</link> - section before compiling. -</para></listitem> -<listitem><para> If you want to install <application>MEncoder</application> (our great all-purpose encoder), see the <link linkend="mencoder"><application>MEncoder</application></link> section. @@ -184,27 +180,10 @@ See the <link linkend="subosd">Subtitles and OSD</link> section for details. <title>What about the GUI?</title> <para> -The GUI needs GTK 1.2.x or GTK 2.0 (it isn't fully GTK, but the panels are), -so <systemitem class="library">GTK</systemitem> (and the devel stuff, usually -called <systemitem class="library">gtk-dev</systemitem>) has to be installed. -You can build it by specifying <option>--enable-gui</option> during -<filename>./configure</filename>. Then, to turn on GUI mode, you have to -execute the <command>gmplayer</command> binary. -</para> - -<para> -As <application>MPlayer</application> doesn't have a skin included, you -have to download one if you want to use the GUI. See the <ulink -url="http://www.mplayerhq.hu/dload.html">download page</ulink>. -It should be extracted to the usual system-wide directory (<filename -class="directory">$PREFIX/share/mplayer/skins</filename>), or to <filename -class="directory">$HOME/.mplayer/skins</filename>. -<application>MPlayer</application> by default looks in these directories -for a directory named <filename class="directory">default</filename>, but -you can use the <option>-skin <replaceable>newskin</replaceable></option> -option, or the <literal>skin=newskin</literal> config file directive to use -the skin in the <filename class="directory">*/skins/newskin</filename> -directory. +MPlayer used to have an internal GUI, but it was removed because it was +buggy, unmaintained and there are much better alternatives. See <ulink +url="http://www.mplayerhq.hu/design7/projects.html#mplayer_frontends">the +frontends page</ulink> for a list of existing GUIs. </para> </sect1> diff --git a/DOCS/xml/en/skin.xml b/DOCS/xml/en/skin.xml deleted file mode 100644 index 38feef6782..0000000000 --- a/DOCS/xml/en/skin.xml +++ /dev/null @@ -1,1200 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- $Revision$ --> -<appendix id="skin"> -<title><application>MPlayer</application> skin format</title> - -<sect1 id="skin-overview"> -<title>Overview</title> - -<!-- ********** --> - -<sect2 id="skin-overview-components"> -<title>Skin components</title> - -<para> -Skins are quite free-format (unlike the fixed-format skins of -<application>Winamp</application>/<application>XMMS</application>, -for example), so it is up to you to create something great. -</para> - -<para> -Currently there are four windows to be decorated: the -<link linkend="skin-file-main">main window</link>, the -<link linkend="skin-file-subwindow">subwindow</link>, the -<link linkend="skin-file-main">playbar</link>, and the -<link linkend="skin-file-menu">skin menu</link> (which can be activated -by a right click). - -<itemizedlist> -<listitem> - <para> - The <emphasis role="bold">main window</emphasis> and/or the - <emphasis role="bold">playbar</emphasis> is where you can control - <application>MPlayer</application>. The background of the window is an image. - Various items can (and must) be placed in the window: - <emphasis>buttons</emphasis>, <emphasis>potmeters</emphasis> (sliders) and - <emphasis>labels</emphasis>. - For every item, you must specify its position and size. - </para> - - <para> - A <emphasis role="bold">button</emphasis> has three states (pressed, released, - disabled), thus its image must be divided into three parts vertically. See the - <link linkend="skin-button">button</link> item for details. - </para> - - <para> - A <emphasis role="bold">potmeter</emphasis> (mainly used for the seek bar and - volume/balance control) can have any number of phases by dividing its image - into different parts below each other. See - <link linkend="skin-hpotmeter">hpotmeter</link> and - <link linkend="skin-potmeter">potmeter</link> for details. - </para> - - <para> - <emphasis role="bold">Labels</emphasis> are a bit special: The characters - needed to draw them are taken from an image file, and the characters in the - image are described by a - <link linkend="skin-fonts">font description file</link>. - The latter is a plain text file which specifies the x,y position and size of - each character in the image (the image file and its font description file - form a font <emphasis>together</emphasis>). - See <link linkend="skin-dlabel">dlabel</link> - and <link linkend="skin-slabel">slabel</link> for details. - </para> - - <note><para> - All images can have full transparency as described in the section about - <link linkend="skin-overview-formats">image formats</link>. If the X server - doesn't support the XShape extension, the parts marked transparent will be - black. If you'd like to use this feature, the width of the main window's - background image must be dividable by 8. - </para></note> -</listitem> - -<listitem><para> - The <emphasis role="bold">subwindow</emphasis> is where the movie appears. It - can display a specified image if there is no movie loaded (it is quite boring - to have an empty window :-)) <emphasis role="bold">Note:</emphasis> - transparency is <emphasis role="bold">not allowed</emphasis> here. -</para></listitem> - -<listitem> - <para> - The <emphasis role="bold">skin menu</emphasis> is just a way to control - <application>MPlayer</application> by means of menu entries. Two images - are required for the menu: one of them is the base image that shows the - menu in its normal state, the other one is used to display the selected - entries. When you pop up the menu, the first image is shown. If you move - the mouse over the menu entries, the currently selected entry is copied - from the second image over the menu entry below the mouse pointer - (the second image is never shown as a whole). - </para> - <para> - A menu entry is defined by its position and size in the image (see the - section about the <link linkend="skin-file-menu">skin menu</link> for - details). - </para> -</listitem> -</itemizedlist> -</para> - -<para> -There is an important thing not mentioned yet: For buttons, potmeters and -menu entries to work, <application>MPlayer</application> must know what to -do if they are clicked. This is done by <link linkend="skin-gui">messages</link> -(events). For these items you must define the messages to be generated when -they are clicked. -</para> -</sect2> - -<sect2 id="skin-overview-formats"> -<title>Image formats</title> - -<para>Images must be truecolor (24 or 32 bpp) PNGs.</para> -<para> -In the main window and in the playbar (see below) you can use images with -`transparency': Regions filled with the color #FF00FF (magenta) are fully -transparent when viewed by <application>MPlayer</application>. This means -that you can even have shaped windows if your X server has the XShape extension. -</para> -</sect2> - -<!-- ********** --> - -<sect2 id="skin-files"> -<title>Files</title> - -<para> -You need the following files to build a skin: -<itemizedlist> -<listitem><para> - The configuration file named <link linkend="skin-file">skin</link> tells - <application>MPlayer</application> how to put different parts of the skin - together and what to do if you click somewhere in the window. -</para></listitem> -<listitem><para> - The background image for the main window. -</para></listitem> -<listitem><para> - Images for the items in the main window (including one or more font - description files needed to draw labels). -</para></listitem> -<listitem><para> - The image to be displayed in the subwindow (optional). -</para></listitem> -<listitem><para> - Two images for the skin menu (they are needed only if you want to create - a menu). -</para></listitem> -</itemizedlist> - With the exception of the skin configuration file, you can name the other - files whatever you want (but note that font description files must have - a <filename>.fnt</filename> extension). -</para> -</sect2> -</sect1> - - -<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - - -<sect1 id="skin-file"> -<title>The skin file</title> - -<para> -As mentioned above, this is the skin configuration file. It is line oriented; -comment lines start with a '<literal>;</literal>' character at the beginning of -the line (only spaces and tabs are allowed before the '<literal>;</literal>'). -</para> - -<para> -The file is made up of sections. Each section describes the skin for an -application and has the following form: -<programlisting> -section = <replaceable>section name</replaceable> -. -. -. -end -</programlisting> -</para> - -<para> -Currently there is only one application, so you need only one section: its name -is <emphasis role="bold">movieplayer</emphasis>. -</para> - -<para> -Within this section each window is described by a block of the following form: -<programlisting> -window = <replaceable>window name</replaceable> -. -. -. -end -</programlisting> -</para> - -<para> -where <replaceable>window name</replaceable> can be one of these strings: -<itemizedlist> -<listitem><para> - <emphasis role="bold">main</emphasis> - for the main window -</para></listitem> -<listitem><para> - <emphasis role="bold">sub</emphasis> - for the subwindow -</para></listitem> -<listitem><para> - <emphasis role="bold">menu</emphasis> - for the skin menu -</para></listitem> -<listitem><para> - <emphasis role="bold">playbar</emphasis> - playbar -</para></listitem> -</itemizedlist> -</para> - -<para> -(The sub and menu blocks are optional - you do not need to create a menu or -decorate the subwindow.) |