<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<vlc id="if" param1="0"/>
<!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
<  status.xml: VLC media player web interface
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
<  Copyright (C) 2005-2006 the VideoLAN team
<  $Id$
< 
<  Authors: Antoine Cellerier <dionoea -at- videolan -dot- org>
< 
<  This program is free software; you can redistribute it and/or modify
<  it under the terms of the GNU General Public License as published by
<  the Free Software Foundation; either version 2 of the License, or
<  (at your option) any later version.
< 
<  This program is distributed in the hope that it will be useful,
<  but WITHOUT ANY WARRANTY; without even the implied warranty of
<  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
<  GNU General Public License for more details.
< 
<  You should have received a copy of the GNU General Public License
<  along with this program; if not, write to the Free Software
<  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<vlc id="end"/>
<vlc id="if" param1="url_param 1 =" />
  <vlc id="rpn" param1="input 'input' url_extract store" />
  <vlc id="rpn" param1="command 'command' url_extract store" />
  <vlc id="rpn" param1="id 'id' url_extract store" />
  <vlc id="rpn" param1="val 'val' url_extract store" />

  <!-- input commands -->
  <vlc id="if" param1="command value 'in_play' strcmp 0 =" />
    <vlc id="rpn" param1="input value dup stripslashes playlist_add vlc_play" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'in_enqueue' strcmp 0 =" />
    <vlc id="rpn" param1="input value dup stripslashes playlist_add" />
  <vlc id="end" />

  <!-- playlist commands -->
  <vlc id="if" param1="command value 'pl_play' strcmp 0 =" />
    <vlc id="rpn" param1="id value vlc_play" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_pause' strcmp 0 =" />
    <vlc id="if" param1="stream_state value 'stop' strcmp 0 = id value 0 = ! &" />
      <vlc id="rpn" param1="id value vlc_play"/>
    <vlc id="else" />
      <vlc id="rpn" param1="vlc_pause" />
    <vlc id="end" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_stop' strcmp 0 =" />
    <vlc id="rpn" param1="vlc_stop" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_next' strcmp 0 =" />
    <vlc id="rpn" param1="vlc_next" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_previous' strcmp 0 =" />
    <!-- FIXME -->
    <vlc id="rpn" param1="vlc_previous" />
    <vlc id="rpn" param1="vlc_previous" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_delete' strcmp 0 =" />
    <vlc id="rpn" param1="id value playlist_delete" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_empty' strcmp 0 =" />
    <vlc id="rpn" param1="playlist_empty" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_sort' strcmp 0 =" />
    <vlc id="rpn" param1="val value id value playlist_sort" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_random' strcmp 0 =" />
    <vlc id="rpn" param1="'random' 'VLC_OBJECT_PLAYLIST' vlc_var_get 1 + 2 % 'random' 'VLC_OBJECT_PLAYLIST' vlc_var_set" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_loop' strcmp 0 =" />
    <vlc id="rpn" param1="'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_get 1 + 2 %  'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_set" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_repeat' strcmp 0 =" />
    <vlc id="rpn" param1="'repeat' 'VLC_OBJECT_PLAYLIST' vlc_var_get 1 + 2 % 'repeat' 'VLC_OBJECT_PLAYLIST' vlc_var_set" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'pl_sd' strcmp 0 =" />
    <vlc id="if" param1="val value services_discovery_is_loaded" />
      <vlc id="rpn" param1="val value services_discovery_remove" />
    <vlc id="else" />
      <vlc id="rpn" param1="val value services_discovery_add" />
    <vlc id="end" />
  <vlc id="end" />

  <!-- misc commands -->
  <vlc id="if" param1="command value 'fullscreen' strcmp 0 =" />
    <vlc id="if" param1="'VLC_OBJECT_VOUT' vlc_object_exists" />
      <vlc id="rpn" param1="'fullscreen' 'VLC_OBJECT_VOUT' vlc_var_get ! 'fullscreen' 'VLC_OBJECT_VOUT' vlc_var_set" />
    <vlc id="end" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'snapshot' strcmp 0 =" />
    <vlc id="rpn" param1="snapshot" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'volume' strcmp 0 =" />
    <vlc id="rpn" param1="val value vlc_volume_set" />
  <vlc id="end"/>
  <vlc id="if" param1="command value 'seek' strcmp 0 =" />
    <vlc id="rpn" param1="val value vlc_seek" />
  <vlc id="end"/>
  <vlc id="if" param1="command value 'key' strcmp 0 =" />
    <vlc id="rpn" param1="'key-' val value strcat 'VLC_OBJECT_LIBVLC' vlc_var_get key-pressed 'VLC_OBJECT_LIBVLC' vlc_var_set" />
  <vlc id="end"/>

<vlc id="end" />
<root>
  <volume><vlc id="value" param1="volume" /></volume>
  <length><vlc id="value" param1="stream_length" /></length>
  <time><vlc id="value" param1="stream_time" /></time>
  <state><vlc id="value" param1="stream_state" /></state>
  <position><vlc id="value" param1="stream_position" /></position>
  <fullscreen><vlc id="if" param1="'VLC_OBJECT_VOUT' vlc_obj_exists" /><vlc id="value" param1="'fullscreen' 'VLC_OBJECT_VOUT' vlc_var_get" /><vlc id="end" /></fullscreen>
  <random><vlc id="value" param1="'random' 'VLC_OBJECT_PLAYLIST' vlc_var_get" /></random>
  <loop><vlc id="value" param1="'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_get" /></loop>
  <repeat><vlc id="value" param1="'repeat' 'VLC_OBJECT_PLAYLIST' vlc_var_get" /></repeat>
  <information>
    <vlc id="foreach" param1="inf" param2="information" />
      <category name="<vlc id="value" param1="inf.name value xml_encode" />">
        <vlc id="foreach" param1="subinf" param2="inf.info" />
          <info name="<vlc id="value" param1="subinf.name value xml_encode" />"><vlc id="value" param1="subinf.value value xml_encode" /></info>
        <vlc id="end" />
      </category>
    <vlc id="end" />
	   <meta-information>
		    <title><![CDATA[<vlc id="value" param1="'TITLE' vlc_get_meta xml_encode" />]]></title>
		    <artist><![CDATA[<vlc id="value" param1="'ARTIST' vlc_get_meta xml_encode" />]]></artist>
		    <genre><![CDATA[<vlc id="value" param1="'GENRE' vlc_get_meta xml_encode" />]]></genre>
		    <copyright><![CDATA[<vlc id="value" param1="'COPYRIGHT' vlc_get_meta xml_encode" />]]></copyright>
		    <album><![CDATA[<vlc id="value" param1="'ALBUM' vlc_get_meta xml_encode" />]]></album>
		    <track><![CDATA[<vlc id="value" param1="'TRACK_NUMBER' vlc_get_meta xml_encode" />]]></track>
		    <description><![CDATA[<vlc id="value" param1="'DESCRIPTION' vlc_get_meta xml_encode" />]]></description>
		    <rating><![CDATA[<vlc id="value" param1="'RATING' vlc_get_meta xml_encode" />]]></rating>
		    <date><![CDATA[<vlc id="value" param1="'DATE' vlc_get_meta xml_encode" />]]></date>
		    <url><![CDATA[<vlc id="value" param1="'URL' vlc_get_meta xml_encode" />]]></url>
		    <language><![CDATA[<vlc id="value" param1="'LANGUAGE' vlc_get_meta xml_encode" />]]></language>
		    <now_playing><![CDATA[<vlc id="value" param1="'NOW_PLAYING' vlc_get_meta xml_encode" />]]></now_playing>
		    <publisher><![CDATA[<vlc id="value" param1="'PUBLISHER' vlc_get_meta xml_encode" />]]></publisher>
		    <encoded_by><![CDATA[<vlc id="value" param1="'ENCODED_BY' vlc_get_meta xml_encode" />]]></encoded_by>
		    <art_url><![CDATA[<vlc id="value" param1="'ART_URL' vlc_get_meta xml_encode" />]]></art_url>
		    <track_id><![CDATA[<vlc id="value" param1="'TRACK_ID' vlc_get_meta xml_encode" />]]></track_id>
		    </meta-information>
	   </information>
  <stats>
    <readbytes><vlc id="value" param1="read_bytes" /></readbytes>
    <inputbitrate><vlc id="value" param1="input_bitrate" /></inputbitrate>
    <demuxreadbytes><vlc id="value" param1="demux_read_bytes" /></demuxreadbytes>
    <demuxbitrate><vlc id="value" param1="demux_bitrate" /></demuxbitrate>
    <decodedvideo><vlc id="value" param1="decoded_video" /></decodedvideo>
    <displayedpictures><vlc id="value" param1="displayed_pictures" /></displayedpictures>
    <lostpictures><vlc id="value" param1="lost_pictures" /></lostpictures>
    <decodedaudio><vlc id="value" param1="decoded_audio" /></decodedaudio>
    <playedabuffers><vlc id="value" param1="played_abuffers" /></playedabuffers>
    <lostabuffers><vlc id="value" param1="lost_abuffers" /></lostabuffers>
    <sentpackets><vlc id="value" param1="sent_packets" /></sentpackets>
    <sentbytes><vlc id="value" param1="sent_bytes" /></sentbytes>
    <sendbitrate><vlc id="value" param1="send_bitrate" /></sendbitrate>
  </stats>
</root>
