<?xml version="1.0" encoding="<vlc id="value" param1="charset"/>" 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 playlist_add vlc_play" />
  <vlc id="end" />
  <vlc id="if" param1="command value 'in_enqueue' strcmp 0 =" />
    <vlc id="rpn" param1="input value dup 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 '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="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" />">
        <vlc id="foreach" param1="subinf" param2="inf.info" />
          <info name="<vlc id="value" param1="subinf.name" />"><vlc id="value" param1="subinf.value" /></info>
        <vlc id="end" />
      </category>
    <vlc id="end" />
  </information>
</root>
