]> git.sesse.net Git - vlc/commitdiff
"[PATCH] http interface workaround to make the play/pause button work well" by Lauren...
authorAntoine Cellerier <dionoea@videolan.org>
Wed, 15 Mar 2006 13:01:36 +0000 (13:01 +0000)
committerAntoine Cellerier <dionoea@videolan.org>
Wed, 15 Mar 2006 13:01:36 +0000 (13:01 +0000)
THANKS
share/http/js/functions.js
share/http/requests/status.xml

diff --git a/THANKS b/THANKS
index e566451bb59d094fb6f895170c554735e0e7185a..07c0afc302e446f8a8d5cc386e56fd8b5aa18a57 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -78,6 +78,7 @@ Jonas Larsen <jonas at vrt.dk> - Danish translation
 Julien Blache <jb at technologeek.org> - disc ejection code
 kty0ne - WinAmp 5 skin for VLC
 Laurent Jonqueres <laurent_jonqueres at yahoo.fr> - Occitan localization
+Laurent Mutricy <laurent.mutricy at ecl2005 dot ec-lyon dot fr> - HTTP interface fixes
 Lorena Gomes - Catalan translation
 Marc Nolette <nolette at videotron.ca> - PVR support in DirectShow input
 Marco Munderloh <Marco.Munderloh at web.de> - HTTP fix for Win32 to URL filenames
index 2304c1ba7c10acebb53c48bc4586c60ff2dd5f25..7b694db78a8fc83c5e9f33a12f6b8148fd92cf64 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  *****************************************************************************/
 
-/* global variables */
+/**********************************************************************
+ * Global variables
+ *********************************************************************/
 
 var old_time = 0;
+var pl_cur_id;
 
 /**********************************************************************
  * Slider functions
@@ -273,11 +276,12 @@ function in_enqueue()
 function pl_play( id )
 {
     loadXMLDoc( 'requests/status.xml?command=pl_play&id='+id, parse_status );
+    pl_cur_id = id;
     setTimeout( 'update_playlist()', 1000 );
 }
 function pl_pause()
 {
-    loadXMLDoc( 'requests/status.xml?command=pl_pause', parse_status );
+    loadXMLDoc( 'requests/status.xml?command=pl_pause&id='+pl_cur_id, parse_status );
 }
 function pl_stop()
 {
@@ -478,6 +482,9 @@ function parse_playlist()
             var pos = document.createElement( "div" );
             var pos_top = pos;
             var elt = answer.firstChild;
+            
+            pl_cur_id = 0;  /* changed to the current id is there actually
+                             * is a current id */
             while( elt )
             {
                 if( elt.nodeName == "node" )
@@ -513,6 +520,7 @@ function parse_playlist()
                         clear_children( nowplaying );
                         nowplaying.appendChild( document.createTextNode( elt.getAttribute( 'name' ) ) );
                         pl.appendChild( document.createTextNode( '* '));
+                        pl_cur_id = elt.getAttribute( 'id' );
                     }
                     pl.setAttribute( 'title', elt.getAttribute( 'uri' ));
                     pl.appendChild( document.createTextNode( elt.getAttribute( 'name' ) ) );
index d92bd64ab4cb7ac2375361e0968f1ff932b11304..334b6d14dc48180f460f7813d0c57a67c9c05293 100644 (file)
     <vlc id="rpn" param1="id value vlc_play" />
   <vlc id="end" />
   <vlc id="if" param1="command value 'pl_pause' strcmp 0 =" />
-    <vlc id="rpn" param1="vlc_pause" />
+    <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" />