]> git.sesse.net Git - vlc/blobdiff - doc/skins/skins2-howto.xml
Forward port [15458].
[vlc] / doc / skins / skins2-howto.xml
index fb79f340a4a1a64bb109bc04d0ff45052d4fec34..1ce25af3c2134c31db911c19f5021ec70f4f5d7e 100644 (file)
@@ -101,7 +101,7 @@ difficulty to understand how VLC skins work.</para>
 
 <para>XML is a markup language, like HTML. It won't be explained here any further, please use Google if you don't know what XML is. You'll see, it is rather easy to understand.</para>
 
-<para>The XML file used for the VLC skins follows a predefined DTD. You can find this DTD <link linkend="http://trac.videolan.org/vlc/file/trunk/share/skins2/skin.dtd">in VLC SVN</link>, and its reading is strongly advised, since it contains the default values used for the parameters. A skin that does not follow the DTD with which VLC was compiled won't be loaded by VLC (and it might even crash it...).</para>
+<para>The XML file used for the VLC skins follows a predefined DTD. You can find this DTD <ulink url="http://trac.videolan.org/vlc/file/trunk/share/skins2/skin.dtd">in VLC SVN</ulink>, and its reading is strongly advised, since it contains the default values used for the parameters. A skin that does not follow the DTD with which VLC was compiled won't be loaded by VLC (and it might even crash it...).</para>
 
 <para>For a better undestanding of what follows, you should have a look at the DTD <!--(the last version is available on <ulink url="FIXME">TODO</ulink>) -->and/or at an example of valid XML skin<!-- TODO: link to the current DTD -->.</para>
 
@@ -238,7 +238,7 @@ difficulty to understand how VLC skins work.</para>
 
 <sect3 id="Font">
   <title>Font</title>
-  <para>Declares a font to be used in a <link linkend="Text">Text</link> or <link linkend="Playlist">Playlist</link>.</para>
+  <para>Declares a font to be used in a <link linkend="Text">Text</link> or <link linkend="Playtree">Playtree</link>.</para>
   <sect4 id="fontid">
     <title>id</title>
     <para>Identifiant of the font that will be used with controls.</para>
@@ -395,7 +395,7 @@ difficulty to understand how VLC skins work.</para>
 
 <sect3 id="commattr">
   <title>Attributes common to all the controls</title>
-  <para>The following attributes are common to all the controls (Image, Button, Checkbox, Text, Slider, RadialSlider, Playlist, Video)</para>
+  <para>The following attributes are common to all the controls (Image, Button, Checkbox, Text, Slider, RadialSlider, Playtree, Video)</para>
   <sect4 id="attrid">
     <title>id</title>
     <para>Identifiant of the control. Currently unused.</para>
@@ -577,7 +577,7 @@ difficulty to understand how VLC skins work.</para>
   </sect4>
   <sect4 id="textscrolling">
     <title>scrolling</title>
-    <para>Scrolling behaviour of the text (only when it doesn't fit in the <link linkend="textwidth">width</link> of the control). Possible values are 'auto', 'manual' and 'none'. If this attribute is set to 'auto', the text automatically starts scrolling. The user can drag the text, and click on it to start/stop the scrolling. If this attribute is set to 'manual', the text only scrolls when dragged by the user. If this attribute is set to 'none', no scrolling is possible at all. Available since VLC 0.8.5.</para>
+    <para>Scrolling behaviour of the text (only when it doesn't fit in the <link linkend="textwidth">width</link> of the control). Possible values are 'auto', 'autooff', 'manual' and 'none'. If this attribute is set to 'auto', the text automatically starts scrolling. The user can drag the text, and click on it to start/stop the scrolling. If this attribute is set to 'manual', the text only scrolls when dragged by the user. If this attribute is set to 'none', no scrolling is possible at all. Available since VLC 0.8.5.</para>
     <para>Default value: auto</para>
   </sect4>
 </sect3>
@@ -613,7 +613,7 @@ difficulty to understand how VLC skins work.</para>
   </sect4>
   <sect4 id="slidervalue">
     <title>value</title>
-    <para>Variable controlled by the slider. This must be a <link linkend="percent">percentage variable</link>, e.g "volume" or "time" (only exception: the <link linkend="Slider">Slider</link> defined inside the <link linkend="Playlist">Playlist</link> tag does not need to set this attribute).</para>
+    <para>Variable controlled by the slider. This must be a <link linkend="percent">percentage variable</link>, e.g "volume" or "time" (only exception: the <link linkend="Slider">Slider</link> defined inside the <link linkend="Playtree">Playtree</link> tag does not need to set this attribute).</para>
     <para>Default value: none</para>
   </sect4>
   <sect4 id="slidertooltiptext">
@@ -681,7 +681,12 @@ difficulty to understand how VLC skins work.</para>
 </sect3>
 
 <sect3 id="Playlist">
-  <title>Playlist</title>
+ <title>Playlist</title>
+ <para>This tag used to create a playlist. This tag is deprecated, you should now use <link linkend="Playtree">Playtree</link></para>
+</sect3>
+
+<sect3 id="Playtree">
+  <title>Playtree</title>
   <para>Create a playlist. This tag must contain a <link linkend="Slider">Slider</link> tag (to allow scrolling in the playlist).</para>
   <para>See the <link linkend="commattr">common attributes</link>.</para>
   <sect4 id="playlistwidth">
@@ -734,6 +739,24 @@ difficulty to understand how VLC skins work.</para>
     <para>Background color for even playlist items. This attribute is ignored if the <link linkend="bgimage">bgimage</link> one is used.</para>
     <para>Default value: #FFFFFF</para>
   </sect4>
+  <sect4 id="flat">
+    <title>flat</title>
+    <para>Boolean to indicate whether the playlist should use the tree structure or be completely "flat" (only show the leafs of the tree).</para>
+    <para>A flat playtree will work like old-style playlists.</para>
+    <para>Default value: false</para>
+  </sect4>
+  <sect4 id="itemimage">
+    <title>itemimage</title>
+    <para>Identifiant of a <link linkend="Bitmap">Bitmap</link> shown to the left of a leaf (playlist item).</para>
+ </sect4>
+  <sect4 id="openimage">
+    <title>openimage</title>
+    <para>Identifiant of a <link linkend="Bitmap">Bitmap</link> shown to the left of a node, when it is expanded.</para>
+ </sect4>
+ <sect4 id="closedimage">
+    <title>closedimage</title>
+    <para>Identifiant of a <link linkend="Bitmap">Bitmap</link> shown to the left of a node, when it is retracted.</para>
+ </sect4>
 </sect3>
 
 </sect1>
@@ -754,13 +777,13 @@ difficulty to understand how VLC skins work.</para>
     <emphasis>dialogs.fileSimple()</emphasis>: Show the simple "Open File" dialog box.
   </para></listitem>
   <listitem><para>
-    <emphasis>dialog.file()</emphasis>: Show the "Open File" dialog box, with many options (stream output, subtitles, etc...).
+    <emphasis>dialogs.file()</emphasis>: Show the "Open File" dialog box, with many options (stream output, subtitles, etc...).
   </para></listitem>
   <listitem><para>
-    <emphasis>dialog.directory()</emphasis>: Show the "Open Directory" dialog box (new after VLC 0.8.2).
+    <emphasis>dialogs.directory()</emphasis>: Show the "Open Directory" dialog box (new after VLC 0.8.2).
   </para></listitem>
   <listitem><para>
-    <emphasis>dialog.disc()</emphasis>: Show the "Open Disc" dialog box.
+    <emphasis>dialogs.disc()</emphasis>: Show the "Open Disc" dialog box.
   </para></listitem>
   <listitem><para>
     <emphasis>dialogs.net()</emphasis>: Show the "Open Network Stream" dialog box.
@@ -774,11 +797,23 @@ difficulty to understand how VLC skins work.</para>
   <listitem><para>
     <emphasis>dialogs.fileInfo()</emphasis>: Show the "File Info" dialog box.
   </para></listitem>
+  <listitem><para>
+    <emphasis>dialogs.playlist()</emphasis>: Show the "standard" (not skinned) playlist dialog.
+  </para></listitem>
   <listitem><para>
     <emphasis>dialogs.streamingWizard()</emphasis>: Show the "Streaming Wizard" dialog box (new after VLC 0.8.2).
   </para></listitem>
   <listitem><para>
-    <emphasis>dialogs.popup()</emphasis>: Show the popup menu, (already available with a right-click on a <link linkend="Image">Image</link> control).
+    <emphasis>dialogs.popup()</emphasis>: Show the full popup menu, (already available with a right-click on a <link linkend="Image">Image</link> control).
+  </para></listitem>
+  <listitem><para>
+    <emphasis>dialogs.audioPopup()</emphasis>: Show the audio settings popup menu (since VLC 0.8.5).
+  </para></listitem>
+   <listitem><para>
+    <emphasis>dialogs.videoPopup()</emphasis>: Show the video settings popup menu (since VLC 0.8.5).
+  </para></listitem>
+  <listitem><para>
+    <emphasis>dialogs.miscPopup()</emphasis>: Show a popup menu containing playback control and general options (since VLC 0.8.5).
   </para></listitem>
   <listitem><para>
     <emphasis>equalizer.enable()</emphasis>: Enable the equalizer audio filter (since VLC 0.8.5).
@@ -813,6 +848,9 @@ difficulty to understand how VLC skins work.</para>
   <listitem><para>
     <emphasis>vlc.fullscreen()</emphasis>: Toggle the fullscreen mode.
   </para></listitem>
+  <listitem><para>
+    <emphasis>vlc.snapshot()</emphasis>: Take a snapshot (since VLC 0.8.5).
+  </para></listitem>
   <listitem><para>
     <emphasis>vlc.onTop()</emphasis>: Toggle the "Always on top" status (since VLC 0.8.0).
   </para></listitem>
@@ -861,6 +899,21 @@ difficulty to understand how VLC skins work.</para>
   <listitem><para>
     <emphasis>playlist.save()</emphasis>: Save the current playlist (since VLC 0.8.0).
   </para></listitem>
+  <listitem id="dvdactions"><para>
+    <emphasis>dvd.nextTitle()</emphasis>: Go to the next title of the DVD (since VLC 0.8.5).
+  </para></listitem>
+  <listitem><para>
+    <emphasis>dvd.previousTitle()</emphasis>: Go to the previous title of the DVD (since VLC 0.8.5).
+  </para></listitem>
+  <listitem><para>
+    <emphasis>dvd.nextChapter()</emphasis>: Go to the next chapter of the DVD (since VLC 0.8.5).
+  </para></listitem>
+  <listitem><para>
+    <emphasis>dvd.previousTitle()</emphasis>: Go to the previous chapter of the DVD (since VLC 0.8.5).
+  </para></listitem>
+  <listitem><para>
+    <emphasis>dvd.rootMenu()</emphasis>: Go to the root menu of the DVD (since VLC 0.8.5).
+  </para></listitem>
   <listitem><para>
     <emphasis>WindowID.show()</emphasis>: Show the <link linkend="Window">Window</link> whose <link linkend="windowid">id</link> attribute is 'WindowID'.
   </para></listitem>
@@ -882,6 +935,9 @@ difficulty to understand how VLC skins work.</para>
 <para>When specifying the <link linkend="texttext">text</link> attribute of the <link linkend="Text">Text</link> control or any tooltip attribute, you can insert escape sequences which will be expanded dynamically. An escape sequence always starts with the '$' character, followed by one or more predefined letters. Here is the list of accepted escape sequences:</para>
 
 <itemizedlist>
+  <listitem><para>
+    <emphasis>$B</emphasis>: Get the audio stream bitrate (in kb/s).
+  </para></listitem>
   <listitem><para>
     <emphasis>$V</emphasis>: Value of the volume (from 0 to 100 --> useful for a percentage).
   </para></listitem>
@@ -907,6 +963,9 @@ difficulty to understand how VLC skins work.</para>
   <listitem><para>
     <emphasis>$F</emphasis>: Full name (with path) of the stream that is being played.
   </para></listitem>
+  <listitem><para>
+    <emphasis>$S</emphasis>: Get the audio sample rate (in kHz).
+  </para></listitem>
 </itemizedlist>
 
 <para>Example of <link linkend="slidertooltiptext">tooltiptext</link> value for a slider controlling the volume: "Volume: $V%".</para>
@@ -924,6 +983,15 @@ difficulty to understand how VLC skins work.</para>
   <listitem><para>
     <emphasis>equalizer.isEnabled</emphasis>: True if the equalizer audio filter is enabled (since VLC 0.8.5).
   </para></listitem>
+  <listitem><para>
+    <emphasis>vlc.hasVout</emphasis>: True if a video is being played (since VLC 0.8.5).
+  </para></listitem>
+  <listitem><para>
+    <emphasis>vlc.hasAudio</emphasis>: True if audio is being played (since VLC 0.8.5).
+  </para></listitem>
+  <listitem><para>
+    <emphasis>vlc.isFullscreen</emphasis>: True when the video is in fullscreen mode (since VLC 0.8.5).
+  </para></listitem>
   <listitem><para>
     <emphasis>vlc.isPlaying</emphasis>: True when VLC is playing, false otherwise.
   </para></listitem>
@@ -951,6 +1019,9 @@ difficulty to understand how VLC skins work.</para>
   <listitem><para>
     <emphasis>playlist.isRepeat</emphasis>: True when the current playlist item is being repeated, false otherwise (since VLC 0.8.0).
   </para></listitem>
+  <listitem><para>
+   <emphasis>dvd.isActive</emphasis>: True when a DVD is currently playing. This variable can be used to display buttons associated to the <link linkend="dvdactions">dvd.* actions</link> only when needed (since VLC 0.8.5).
+  </para></listitem>
   <listitem><para>
     <emphasis>window_name.isVisible</emphasis>: True when the window whose <link linkend="windowid">id</link> is "window_name" is visible, false otherwise.
   </para></listitem>