[vlc-devel] [PATCH] added control for speed in http interface

sunil kumar skstronghold at gmail.com
Fri Apr 8 13:23:39 CEST 2011


added speed controls in vlc http interface

diff --git a/share/http/dialogs/main b/share/http/dialogs/main
index 244c4d9..a08021d 100644
--- a/share/http/dialogs/main
+++ b/share/http/dialogs/main
@@ -98,6 +98,14 @@ sout and playlist .
       <img src="images/volume_mute.png" alt="Mute Volume" />
       <span class="btn_text">Mute Volume</span>
     </button>
+    <button id="btn_speed_down" onclick="rate_down();"
onmouseover="button_over(this);" onmouseout="button_out(this);"
title="Increase Speed" >
+      <img src="images/fast.png" alt="Increase Speed" />
+      <span class="btn_text">Increase Speed</span>
+    </button>
+    <button id="btn_speed_up" onclick="rate_up();"
onmouseover="button_over(this);" onmouseout="button_out(this);"
title="Decrease Speed" >
+      <img src="images/slow.png" alt="Decrease Speed" />
+      <span class="btn_text">Decrease Speed</span>
+    </button>
   </div>
   <div id="status">
     <span id="state">(?)</span>
@@ -105,6 +113,8 @@ sout and playlist .
     Time : <span id="time">(?)</span>/<span id="length">(?)</span>
     -
     Volume : <span id="volume">(?)</span>
+    -
+    Speed : <span id="rate">(?)</span>
     <br/>
     <!-- progress bar -->
     <img src="images/slider_left.png" alt="slider left" /><span
id="progressbar" style="background-image: url( 'images/slider_bar.png' );
width: 408px; height:16px; position:absolute;" onclick="slider_seek( event,
this );" onmousemove="slider_move( event, this );"><img
src="images/slider_point.png" alt="slider point" style="position:relative;
left:0px;" id="main_slider_point" onmousedown="slider_down( event, this );"
onmouseup="slider_up( event, this.parentNode );" onmouseout="slider_up(
event, this.parentNode );"/></span><img src="images/slider_right.png"
alt="slider right" style="position:relative;left:408px;" />
diff --git a/share/http/images/fast.png b/share/http/images/fast.png
new file mode 100644
index 0000000..b16b74b
Binary files /dev/null and b/share/http/images/fast.png differ
diff --git a/share/http/js/functions.js b/share/http/js/functions.js
index c09222c..3d6c1bb 100644
--- a/share/http/js/functions.js
+++ b/share/http/js/functions.js
@@ -383,6 +383,14 @@ function volume_mute()
 {
     loadXMLDoc( 'requests/status.xml?command=volume&val=0', parse_status );
 }
+function rate_up()
+{
+    loadXMLDoc( 'requests/status.xml?command=rate&val=150', parse_status );
+}
+function rate_down()
+{
+    loadXMLDoc( 'requests/status.xml?command=rate&val=-150', parse_status
);
+}
 function seek( pos )
 {
     loadXMLDoc( 'requests/status.xml?command=seek&val='+pos, parse_status
);
@@ -471,6 +479,8 @@ function parse_status()
             set_text( 'length', format_time( length ) );
             if( status.getElementsByTagName( 'volume' ).length != 0 )
                 set_text( 'volume', Math.floor(status.getElementsByTagName(
'volume' )[0].firstChild.data/5.12)+'%' );
+    if( status.getElementsByTagName( 'rate' ).length != 0 )
+                set_text( 'rate', (status.getElementsByTagName( 'rate'
)[0].firstChild.data)+'%' );
             var statetag = status.getElementsByTagName( 'state' );
             if( statetag.length > 0 )
             {
diff --git a/share/http/requests/README.txt b/share/http/requests/README.txt
index cfd5a09..6e437b1 100644
--- a/share/http/requests/README.txt
+++ b/share/http/requests/README.txt
@@ -100,6 +100,12 @@ status.xml:
     +1H:2M -> seek 1 hour and 2 minutes forward
     -10% -> seek 10% back

+> change playing speed(rate)
+  ?command=rate&val=<val>
+  Allowed values are of the form:
+   <int> To increase speed
+  -<int> To decrease speed
+
 playlist.xml:
 =============
 < get the full playlist tree
diff --git a/share/http/requests/status.xml b/share/http/requests/status.xml
index da6d3ca..7088df6 100644
--- a/share/http/requests/status.xml
+++ b/share/http/requests/status.xml
@@ -116,6 +116,9 @@
   <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 'rate' strcmp 0 =" />
+    <vlc id="rpn" param1="'rate' 'VLC_OBJECT_INPUT' vlc_var_get val +
'rate' 'VLC_OBJECT_INPUT' vlc_var_set" />
+  <vlc id="end"/>
   <vlc id="if" param1="command value 'seek' strcmp 0 =" />
     <vlc id="rpn" param1="val value vlc_seek" />
   <vlc id="end"/>
@@ -126,6 +129,7 @@
 <vlc id="end" />
 <root>
   <volume><vlc id="value" param1="volume" /></volume>
+  <rate><vlc id="value" param1="100000 'rate' 'VLC_OBJECT_INPUT'
vlc_var_get /"/></rate>
   <length><vlc id="value" param1="stream_length" /></length>
   <time><vlc id="value" param1="stream_time" /></time>
   <state><vlc id="value" param1="stream_state" /></state>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110408/dbef88c2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch
Type: application/octet-stream
Size: 4672 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110408/dbef88c2/attachment.obj>


More information about the vlc-devel mailing list