]> git.sesse.net Git - vlc/blob - projects/mozilla/test.html
VLCKit: Remove contrib dependency files.
[vlc] / projects / mozilla / test.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
2 <HTML>\r
3 <TITLE>VLC Plugin test page</TITLE>\r
4 <STYLE>\r
5   .inputTrackerInput {\r
6         height:20;\r
7         width:30;\r
8         font-family : Arial, Helvetica, sans-serif;\r
9         font-size : 12px;\r
10   }\r
11 </STYLE>\r
12 \r
13 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/lib/LibCrossBrowser.js"></SCRIPT>\r
14 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/lib/EventHandler.js"></SCRIPT>\r
15 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/core/form/Bs_FormUtil.lib.js"></SCRIPT>\r
16 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/components/slider/Bs_Slider.class.js"></SCRIPT>\r
17 \r
18 <SCRIPT language="JavaScript"><!--\r
19 function init()\r
20 {\r
21     inputTracker = new Bs_Slider();\r
22     if (inputTracker)\r
23     {\r
24         inputTracker.attachOnChange(onInputTrackerChange);\r
25         inputTracker.attachOnSlideStart(onInputTrackerScrollStart);\r
26         inputTracker.attachOnSlideEnd(onInputTrackerScrollEnd);\r
27         inputTracker.width         = 530 ;\r
28         inputTracker.height        = 15;\r
29         inputTracker.minVal        = 0;\r
30         inputTracker.maxVal        = 1.0;\r
31         inputTracker.valueDefault  = 0;\r
32         inputTracker.valueInterval = 1/530;\r
33         inputTracker.setDisabled(true);\r
34         inputTracker.imgDir   = 'blueshoes-4.5/javascript/components/slider/img/';\r
35         inputTracker.setBackgroundImage('aluminumalloyvolcanic/horizontal_background.gif', 'repeat');\r
36         inputTracker.setArrowIconLeft('aluminumalloyvolcanic/horizontal_backgroundLeft.gif', 2, 19);\r
37         inputTracker.setArrowIconRight('aluminumalloyvolcanic/horizontal_backgroundRight.gif', 2, 19);\r
38         inputTracker.setSliderIcon('aluminumalloyvolcanic/horizontal_knob.gif', 15, 19);\r
39         inputTracker.useInputField = 0;\r
40         inputTracker.draw('inputTrackerDiv');\r
41     }\r
42 \r
43     if( navigator.appName.indexOf("Microsoft Internet")==-1 )\r
44     {\r
45         onVLCPluginReady()\r
46     }\r
47     else if( document.readyState == 'complete' )\r
48     {\r
49         onVLCPluginReady();\r
50     }\r
51     else\r
52     {\r
53         /* Explorer loads plugins asynchronously */\r
54         document.onreadystatechange=function()\r
55         {\r
56             if( document.readyState == 'complete' )\r
57             {\r
58                 onVLCPluginReady();\r
59             }\r
60         }\r
61     }\r
62 }\r
63 \r
64 function getVLC(name)\r
65 {\r
66     if (window.document[name])\r
67     {\r
68         return window.document[name];\r
69     }\r
70     if (navigator.appName.indexOf("Microsoft Internet")==-1)\r
71     {\r
72         if (document.embeds && document.embeds[name])\r
73             return document.embeds[name];\r
74     }\r
75     else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)\r
76     {\r
77         return document.getElementById(name);\r
78     }\r
79 }\r
80 \r
81 function onVLCPluginReady()\r
82 {\r
83     updateVolume(0);\r
84 }\r
85 \r
86 //--></SCRIPT>\r
87 \r
88 <BODY onLoad="init();">\r
89 <TABLE>\r
90 <TR><TD colspan="2">\r
91 MRL:\r
92 <INPUT size="90" id="targetTextField" value="">\r
93 <INPUT type=submit value="Go" onClick="doGo(document.getElementById('targetTextField').value);">\r
94 <INPUT type=submit value="Add" onClick="doAdd(document.getElementById('targetTextField').value);">\r
95 </TD></TR>\r
96 <TR><TD align="center" colspan="2">\r
97 <!--\r
98 Insert VideoLAN.VLCPlugin.2\r
99 -->\r
100 <OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"\r
101         width="640"\r
102         height="480"\r
103         id="vlc"\r
104         events="True">\r
105 <param name="MRL" value="" />\r
106 <param name="ShowDisplay" value="True" />\r
107 <param name="AutoLoop" value="False" />\r
108 <param name="AutoPlay" value="False" />\r
109 <param name="Volume" value="50" />\r
110 <param name="toolbar" value="true" />\r
111 <param name="StartTime" value="0" />\r
112 <EMBED pluginspage="http://www.videolan.org"\r
113        type="application/x-vlc-plugin"\r
114        version="VideoLAN.VLCPlugin.2"\r
115        width="640"\r
116        height="480"\r
117        toolbar="true"\r
118        text="Waiting for video"\r
119        name="vlc">\r
120 </EMBED>\r
121 </OBJECT>\r
122 </TD></TR>\r
123 <TR><TD colspan="2">\r
124 <TABLE><TR>\r
125 <TD valign="top" width="550">\r
126 <!--\r
127 Insert Slider widget\r
128 -->\r
129 <DIV id="inputTrackerDiv"</DIV>\r
130 </TD><TD width="15%">\r
131 <DIV id="info" style="text-align:center">-:--:--/-:--:--</DIV>\r
132 <DIV id="state" style="text-align:center">Stopped...</DIV>\r
133 </TD></TR></TABLE>\r
134 </TD></TR>\r
135 <TR><TD>\r
136 <INPUT type=button id="PlayOrPause" value=" Play " onClick='doPlayOrPause();'>\r
137 <INPUT type=button value="Stop" onClick='doStop();'>\r
138 &nbsp;\r
139 <INPUT type=button value=" << " onClick='doPlaySlower();'>\r
140 <INPUT type=button value="Reverse" onClick='doReverse();'>\r
141 <INPUT type=button value=" >> " onClick='doPlayFaster();'>\r
142 &nbsp;\r
143 <INPUT type=button value="Fullscreen" onClick='getVLC("vlc").video.toggleFullscreen();'>\r
144 <INPUT type=button value="Version" onClick='alert("vlc " + getVLC("vlc").VersionInfo);'>\r
145 <INPUT type=button value=" State " onClick='alert("state: " + getVLC("vlc").input.state);'>\r
146 </TD><TD align="right">\r
147 <SPAN style="text-align:center">Volume:</SPAN>\r
148 <INPUT type=button value=" - " onClick='updateVolume(-10)'>\r
149 <SPAN id="volumeTextField" style="text-align:center">--</SPAN>\r
150 <INPUT type=button value=" + " onClick='updateVolume(+10)'>\r
151 <INPUT type=button value="Mute" onClick='getVLC("vlc").audio.toggleMute();'>\r
152 </TD>\r
153 </TR>\r
154 <TR><TD>Playlist:\r
155 <INPUT type=button value="Prev" onClick='getVLC("vlc").playlist.prev();'>\r
156 <INPUT type=button value="Next" onClick='getVLC("vlc").playlist.next();'>\r
157 <INPUT type=button value="Clear All" onClick='doPlaylistClearAll();'>\r
158     Aspect Ratio:\r
159     <SELECT readonly onChange='doAspectRatio(this.value)'>\r
160       <OPTION value="default">Default</OPTION>\r
161       <OPTION value="1:1">1:1</OPTION>\r
162       <OPTION value="4:3">4:3</OPTION>\r
163       <OPTION value="16:9">16:9</OPTION>\r
164       <OPTION value="221:100">221:100</OPTION>\r
165       <OPTION value="5:4">5:4</OPTION>\r
166     </SELECT>\r
167 </TD><TD align="right">\r
168 <INPUT type=button id="itemCount" value=" Items 0 " onClick='doItemCount();'>\r
169 <INPUT size=4 value="" id="removeid"><INPUT type=submit value="Delete" onClick="doRemoveItem(document.getElementById('removeid').value);">\r
170 </TD>\r
171 </TR>\r
172 <TR><TD>Audio Channel:\r
173   <SELECT readonly onClick='doAudioChannel(this.value);'>\r
174     <OPTION value=1>Stereo</OPTION>\r
175     <OPTION value=2>Reverse Stereo</OPTION>\r
176     <OPTION value=3>Left</OPTION>\r
177     <OPTION value=4>Right</OPTION>\r
178     <OPTION value=5>Dolby</OPTION>\r
179   </SELECT>\r
180 </TD>\r
181 <TD>\r
182 <INPUT type=button value="current channel" onClick='alert(getVLC("vlc").audio.channel);'>\r
183 </TD>\r
184 </TR>\r
185 <TR><TD> Audio Track:\r
186 <INPUT type=button value=" + " onClick='doAudioTrack(1);'>\r
187 <SPAN id="trackTextField" style="text-align:center">--</SPAN>\r
188 <INPUT type=button value=" - " onClick='doAudioTrack(-1);'>\r
189 <INPUT type=button value="current track" onClick='alert(getVLC("vlc").audio.description(vlc.audio.track));'>\r
190 <INPUT type=button value="number of track" onClick='alert(getVLC("vlc").audio.count);'>\r
191 </TD>\r
192 <TD>\r
193 <INPUT type=button value="set slider" onClick='doSetSlider();'>\r
194 <INPUT type=button value="get position" onClick='doGetPosition();'>\r
195 </TD>\r
196 </TR>\r
197 <TR>\r
198 <TD>Video Subtitle:\r
199     <INPUT type=button value=" + " onClick='doSubtitle(1);'>\r
200     <SPAN id="spuTextField" style="text-align:center">--</SPAN>\r
201     <INPUT type=button value=" - " onClick='doSubtitle(-1);'>\r
202     <INPUT type=button value="current subtitle" onClick='alert(getVLC("vlc").subtitle.description(vlc.subtitle.track));'>\r
203     <INPUT type=button value="number of subtitle" onClick='alert(getVLC("vlc").subtitle.count);'>\r
204 </TD>\r
205 </TR>\r
206 <TR>\r
207 <TD>Deinterlacing:\r
208     <INPUT type=button value="BLEND" onClick='getVLC("vlc").video.deinterlace.enable("blend");'>\r
209     <INPUT type=button value="  X  " onClick='getVLC("vlc").video.deinterlace.enable("x");'>\r
210     <INPUT type=button value="Disable" onClick='getVLC("vlc").video.deinterlace.disable();'>\r
211 </TD>\r
212 </TR>\r
213 <TR>\r
214 <TD>Marquee video filter:\r
215     <INPUT type=button value="Enable" onClick='getVLC("vlc").video.marquee.enable();'>\r
216     <INPUT type=button value="Disable" onClick='getVLC("vlc").video.marquee.disable();'>\r
217     <INPUT size=4 value="" id="marqueeIntValue">\r
218     <SELECT readonly onClick="doMarqueeOption(this.value,document.getElementById('marqueeIntValue').value);">\r
219         <OPTION value=1>Color</OPTION>\r
220         <OPTION value=2>Opacity</OPTION>\r
221         <OPTION value=3>Position</OPTION>\r
222         <OPTION value=4>Refresh</OPTION>\r
223         <OPTION value=5>Size</OPTION>\r
224         <OPTION value=6>Text</OPTION>\r
225         <OPTION value=7>Timeout</OPTION>\r
226         <OPTION value=8>X</OPTION>\r
227         <OPTION value=9>Y</OPTION>\r
228     </SELECT>\r
229 </TD>\r
230 </TR>
231 <TR>\r
232 <TD>Logo video filter:\r
233     <INPUT type=button value="Enable" onClick='getVLC("vlc").video.logo.enable();'>\r
234     <INPUT type=button value="Disable" onClick='getVLC("vlc").video.logo.disable();'>\r
235     <INPUT size=4 value="" id="logoIntValue">\r
236     <SELECT readonly onClick="doLogoOption(this.value,document.getElementById('logoIntValue').value);">\r
237         <OPTION value=1>File</OPTION>\r
238         <OPTION value=2>Position</OPTION>\r
239         <OPTION value=3>Opacity</OPTION>\r
240         <OPTION value=4>Repeat</OPTION>\r
241         <OPTION value=5>Delay</OPTION>\r
242         <OPTION value=6>X</OPTION>\r
243         <OPTION value=7>Y</OPTION>
244     </SELECT>\r
245 </TD>\r
246 </TR>\r\r
247 <TR>\r
248 <TD>\r
249     <INPUT type=button id="telx" value="Teletext off" onClick='doToggleTeletext();'>\r
250     Teletext page:\r
251     <INPUT size=4 value="100" id="telxPage" onClick='doTelxPage(document.getElementById("telxPage").value);'>\r
252 </TD>\r
253 </TR>\r
254 </TABLE>\r
255 <SCRIPT language="javascript">\r
256 <!--\r
257 \r
258 var rate = 0;\r
259 var prevState = 0;\r
260 var monitorTimerId = 0;\r
261 var inputTracker;\r
262 var inputTrackerScrolling = false;\r
263 var inputTrackerIgnoreChange = false;\r
264 var telxState = false;\r
265 \r
266 function doSetSlider()\r
267 {\r
268     var vlc = getVLC("vlc");\r
269 \r
270     // set slider to new position\r
271     if( vlc )\r
272         vlc.input.time = (vlc.input.length/2);\r
273 }\r
274 \r
275 function doGetPosition()\r
276 {\r
277     var vlc = getVLC("vlc");\r
278 \r
279     // set slider to new position\r
280     if (vlc)\r
281         alert( "position is " + vlc.input.time);\r
282 }\r
283 \r
284 function doReverse(rate)\r
285 {\r
286     var vlc = getVLC("vlc");\r
287     if( vlc )\r
288         vlc.input.rate = -1.0 * vlc.input.rate;\r
289 }\r
290 \r
291 function doAudioChannel(value)\r
292 {\r
293     var vlc = getVLC("vlc");\r
294     if( vlc )\r
295         vlc.audio.channel = parseInt(value);\r
296 }\r
297 \r
298 function doAudioTrack(value)\r
299 {\r
300     var vlc = getVLC("vlc");\r
301     if( vlc )\r
302     {\r
303         vlc.audio.track = vlc.audio.track + value;\r
304         document.getElementById("trackTextField").innerHTML = vlc.audio.track;\r
305     }\r
306 }\r
307 \r
308 function doAspectRatio(value)\r
309 {\r
310     var vlc = getVLC("vlc");\r
311     if( vlc )\r
312         vlc.video.aspectRatio = value;\r
313 }\r
314 \r
315 function doSubtitle(value)\r
316 {\r
317     var vlc = getVLC("vlc");\r
318     if( vlc )\r
319     {\r
320         vlc.subtitle.track = vlc.subtitle.track + value;\r
321         document.getElementById("spuTextField").innerHTML = vlc.subtitle.track;\r
322     }\r
323 }\r
324 \r
325 function doTelxPage(value)\r
326 {\r
327     var vlc = getVLC("vlc");\r
328     if( vlc )\r
329         vlc.video.teletext = parseInt(value);\r
330 }\r
331 \r
332 function doToggleTeletext()\r
333 {\r
334     var vlc = getVLC("vlc");\r
335 \r
336     if( vlc )\r
337     {\r
338         vlc.video.toggleTeletext();\r
339         if (telxState)\r
340         {\r
341             document.getElementById("telx").innerHTML = "Teletext on";\r
342             telxState = true;\r
343         }\r
344         else\r
345         {\r
346             document.getElementById("telx").innerHTML = "Teletext off";\r
347             telxState = false;\r
348         }\r
349     }\r
350 }\r
351 \r
352 function doItemCount()\r
353 {\r
354     var vlc = getVLC("vlc");\r
355     if( vlc )\r
356     {\r
357         var count = vlc.playlist.items.count;\r
358         document.getElementById("itemCount").value = " Items " + count + " ";\r
359     }\r
360 }\r
361 \r
362 function doRemoveItem(item)\r
363 {\r
364     var vlc = getVLC("vlc");\r
365     if( vlc )\r
366         vlc.playlist.items.remove(item);\r
367 }\r
368 \r
369 function doPlaylistClearAll()\r
370 {\r
371     var vlc = getVLC("vlc");\r
372     if( vlc )\r
373     {\r
374         vlc.playlist.items.clear();\r
375         while( vlc.playlist.items.count > 0)\r
376         {\r
377             // wait till playlist empties.\r
378         }\r
379         doItemCount();\r
380     }\r
381 }\r
382 \r
383 function updateVolume(deltaVol)\r
384 {\r
385     var vlc = getVLC("vlc");\r
386     if( vlc )\r
387     {\r
388         vlc.audio.volume += deltaVol;\r
389         document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";\r
390     }\r
391 }\r
392 \r
393 function formatTime(timeVal)\r
394 {\r
395     if( typeof timeVal != 'number' )\r
396         return "-:--:--";\r
397 \r
398     var timeHour = Math.round(timeVal / 1000);\r
399     var timeSec = timeHour % 60;\r
400     if( timeSec < 10 )\r
401         timeSec = '0'+timeSec;\r
402     timeHour = (timeHour - timeSec)/60;\r
403     var timeMin = timeHour % 60;\r
404     if( timeMin < 10 )\r
405         timeMin = '0'+timeMin;\r
406     timeHour = (timeHour - timeMin)/60;\r
407     if( timeHour > 0 )\r
408         return timeHour+":"+timeMin+":"+timeSec;\r
409     else\r
410         return timeMin+":"+timeSec;\r
411 }\r
412 \r
413 function doState()\r
414 {\r
415     var vlc = getVLC("vlc");\r
416     var newState = 0;\r
417 \r
418     if( vlc )\r
419         newState = vlc.input.state;\r
420 \r
421     if( newState == 0 )\r
422     {\r
423         // current media has stopped\r
424         onEnd();\r
425     }\r
426     else if( newState == 1 )\r
427     {\r
428         // current media is openning/connecting\r
429         onOpen();\r
430     }\r
431     else if( newState == 2 )\r
432     {\r
433         // current media is buffering data\r
434         onBuffer();\r
435     }\r
436     else if( newState == 3 )\r
437     {\r
438         // current media is now playing\r
439         onPlay();\r
440     }\r
441     else if( newState == 4 )\r
442     {\r
443         // current media is now paused\r
444         onPause();\r
445     }\r
446     else if( newState == 5 )\r
447     {\r
448         // current media has stopped\r
449         onStop();\r
450     }\r
451     else if( newState == 6 )\r
452     {\r
453         // current media has ended\r
454         onEnd();\r
455     }\r
456     else if( newState == 7 )\r
457     {\r
458         // current media encountered error\r
459         onError();\r
460     }\r
461 }\r
462 \r
463 function monitor()\r
464 {\r
465     var vlc = getVLC("vlc");\r
466     var newState = 0;\r
467 \r
468     if( vlc )\r
469     {\r
470         newState = vlc.input.state;\r
471     }\r
472 \r
473     if( prevState != newState )\r
474     {\r
475         if( newState == 0 )\r
476         {\r
477             // current media has stopped\r
478             onEnd();\r
479         }\r
480         else if( newState == 1 )\r
481         {\r
482             // current media is openning/connecting\r
483             onOpen();\r
484         }\r
485         else if( newState == 2 )\r
486         {\r
487             // current media is buffering data\r
488             onBuffer();\r
489         }\r
490         else if( newState == 3 )\r
491         {\r
492             // current media is now playing\r
493             onPlay();\r
494         }\r
495         else if( newState == 4 )\r
496         {\r
497             // current media is now paused\r
498             onPause();\r
499         }\r
500         else if( newState == 5 )\r
501         {\r
502             // current media has stopped\r
503                 onStop();\r
504         }\r
505         else if( newState == 6 )\r
506         {\r
507             // current media has ended\r
508             onEnd();\r
509         }\r
510         else if( newState == 7 )\r
511         {\r
512             // current media encountered error\r
513             onError();\r
514         }\r
515         prevState = newState;\r
516     }\r
517     else if( newState == 3 )\r
518     {\r
519         // current media is playing\r
520         onPlaying();\r
521     }\r
522     if( monitorTimerId == 0 )\r
523     {\r
524         monitorTimerId = setInterval("monitor()", 1000);\r
525     }\r
526 };\r
527 \r
528 /* actions */\r
529 \r
530 function doGo(targetURL)\r
531 {\r
532     var vlc = getVLC("vlc");\r
533 \r
534     if( vlc )\r
535     {\r
536         vlc.playlist.items.clear();\r
537         while( vlc.playlist.items.count > 0 )\r
538         {\r
539             // clear() may return before the playlist has actually been cleared\r
540             // just wait for it to finish its job\r
541         }\r
542         var options = [":rtsp-tcp"];\r
543         var itemId = vlc.playlist.add(targetURL,"",options);\r
544         options = [];\r
545         if( itemId != -1 )\r
546         {\r
547             // play MRL\r
548             vlc.playlist.playItem(itemId);\r
549             if( monitorTimerId == 0 )\r
550             {\r
551                 monitor();\r
552             }\r
553         }\r
554         else\r
555         {\r
556             alert("cannot play at the moment !");\r
557         }\r
558         doItemCount();\r
559     }\r
560 }\r
561 \r
562 function doAdd(targetURL)\r
563 {\r
564     var vlc = getVLC("vlc");\r
565     var options = [":vout-filter=deinterlace", ":deinterlace-mode=linear"];\r
566     if( vlc )\r
567     {\r
568         vlc.playlist.add(targetURL, "", options);\r
569         options = [];\r
570         doItemCount();\r
571     }\r
572 }\r
573 \r
574 function doPlayOrPause()\r
575 {\r
576     var vlc = getVLC("vlc");\r
577     if( vlc )\r
578     {\r
579         if( vlc.playlist.isPlaying )\r
580         {\r
581             vlc.playlist.togglePause();\r
582             monitor();\r
583         }\r
584         else if( vlc.playlist.items.count > 0 )\r
585         {\r
586             vlc.playlist.play();\r
587             monitor();\r
588         }\r
589         else\r
590         {\r
591             alert('nothing to play !');\r
592         }\r
593     }\r
594 }\r
595 \r
596 function doStop()\r
597 {\r
598     var vlc = getVLC("vlc");\r
599 \r
600     if( vlc )\r
601         vlc.playlist.stop();\r
602 \r
603     if( monitorTimerId != 0 )\r
604     {\r
605         clearInterval(monitorTimerId);\r
606         monitorTimerId = 0;\r
607     }\r
608     onStop();\r
609 }\r
610 \r
611 function doPlaySlower()\r
612 {\r
613     var vlc = getVLC("vlc");\r
614     if( vlc )\r
615         vlc.input.rate = vlc.input.rate / 2;\r
616 }\r
617 \r
618 function doPlayFaster()\r
619 {\r
620     var vlc = getVLC("vlc");\r
621     if( vlc )\r
622         vlc.input.rate = vlc.input.rate * 2;\r
623 }\r
624 \r
625 /* events */\r
626 \r
627 function onOpen()\r
628 {\r
629     document.getElementById("state").innerHTML = "Opening...";\r
630     document.getElementById("PlayOrPause").value = "Pause";\r
631 }\r
632 \r
633 function onBuffer()\r
634 {\r
635     document.getElementById("state").innerHTML = "Buffering...";\r
636     document.getElementById("PlayOrPause").value = "Pause";\r
637 }\r
638 \r
639 function onPlay()\r
640 {\r
641     document.getElementById("state").innerHTML = "Playing...";\r
642     document.getElementById("PlayOrPause").value = "Pause";\r
643     onPlaying();\r
644 }\r
645 \r
646 function onEnd()\r
647 {\r
648     document.getElementById("state").innerHTML = "End...";\r
649     doStop();\r
650 }\r
651 \r
652 var liveFeedText = ["Live", "((Live))", "(( Live ))", "((  Live  ))"];\r
653 var liveFeedRoll = 0;\r
654 \r
655 function onPlaying()\r
656 {\r
657     if( !inputTrackerScrolling )\r
658     {\r
659         var vlc = getVLC("vlc");\r
660         var info = document.getElementById("info");\r
661         if( vlc )\r
662         {\r
663             var mediaLen = vlc.input.length;\r
664             inputTrackerIgnoreChange = true;\r
665             if( mediaLen > 0 )\r
666             {\r
667                 // seekable media\r
668                 if( inputTracker )\r
669                 {\r
670                     if( inputTracker.maxVal == 1.0 )\r
671                     {\r
672                         inputTracker.setDisabled(false);\r
673                         inputTracker.maxVal = 1.0;\r
674                     }\r
675                     inputTracker.setValue(vlc.input.position);\r
676                 }\r
677                 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);\r
678             }\r
679             else\r
680             {\r
681                 // non-seekable "live" media\r
682                 if( inputTracker )\r
683                 {\r
684                     if( inputTracker.maxVal != 0.0 )\r
685                     {\r
686                         inputTracker.maxVal = 0.0;\r
687                         inputTracker.setValue(0.0);\r
688                         inputTracker.setDisabled(true);\r
689                     }\r
690                 }\r
691                 liveFeedRoll = liveFeedRoll & 3;\r
692                 info.innerHTML = liveFeedText[liveFeedRoll++];\r
693             }\r
694             inputTrackerIgnoreChange  = false;\r
695         }\r
696     }\r
697 }\r
698 \r
699 function onPause()\r
700 {\r
701     document.getElementById("state").innerHTML = "Paused...";\r
702     document.getElementById("PlayOrPause").value = " Play ";\r
703 }\r
704 \r
705 function onStop()\r
706 {\r
707     var vlc = getVLC("vlc");\r
708 \r
709     if( inputTracker )\r
710     {\r
711         if( !inputTracker.disabled )\r
712         {\r
713             inputTracker.setValue(inputTracker.minVal);\r
714             inputTracker.setDisabled(true);\r
715         }\r
716     }\r
717 \r
718     document.getElementById("info").innerHTML = "-:--:--/-:--:--";\r
719     document.getElementById("state").innerHTML = "Stopped...";\r
720     document.getElementById("PlayOrPause").value = " Play ";\r
721 }\r
722 \r
723 function onError()\r
724 {\r
725     var vlc = getVLC("vlc");\r
726 \r
727     document.getElementById("state").innerHTML = "Error...";\r
728 }\r
729 \r
730 function onInputTrackerScrollStart()\r
731 {\r
732     inputTrackerScrolling = true;\r
733 }\r
734 \r
735 function onInputTrackerScrollEnd(inputTracker, value, pos)\r
736 {\r
737     inputTrackerScrolling = false;\r
738 }\r
739 \r
740 function onInputTrackerChange(inputTracker, value, pos)\r
741 {\r
742     if( !inputTrackerIgnoreChange )\r
743     {\r
744         var vlc = getVLC("vlc");\r
745         if( vlc )\r
746         {\r
747             if( (vlc.input.state == 3) && (vlc.input.position != value) )\r
748             {\r
749                 var info = document.getElementById("info");\r
750                 vlc.input.position = value;\r
751                 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);\r
752             }\r
753         }\r
754     }\r
755 }\r
756 \r
757 function doMarqueeOption(option, value)\r
758 {\r
759     var vlc = getVLC("vlc");\r
760     val = parseInt(value);\r
761     if( vlc )\r
762     {\r
763         if (option == 1)\r
764             vlc.video.marquee.color = val;\r
765         if (option == 2)\r
766             vlc.video.marquee.opacity = val;\r
767         if (option == 3)\r
768             vlc.video.marquee.position = value;\r
769         if (option == 4)\r
770             vlc.video.marquee.refresh = val;\r
771         if (option == 5)\r
772             vlc.video.marquee.size = val;\r
773         if (option == 6)\r
774             vlc.video.marquee.text = value;\r
775         if (option == 7)\r
776             vlc.video.marquee.timeout = val;\r
777         if (option == 8)\r
778             vlc.video.marquee.x = val;\r
779         if (option == 9)\r
780             vlc.video.marquee.y = val;\r
781     }\r
782 }\r
783
784 function doLogoOption(option, value)\r
785 {\r
786     var vlc = getVLC("vlc");\r
787     if( vlc )\r
788     {\r
789         if (option == 1)\r
790             vlc.video.logo.file(value);\r
791         if (option == 2)\r
792             vlc.video.logo.position = value;\r
793         val = parseInt(value);\r
794         if (option == 3)\r
795             vlc.video.logo.opacity = val;\r
796         if (option == 4)\r
797             vlc.video.logo.repeat = val;\r
798         if (option == 5)\r
799             vlc.video.logo.delay = val;\r
800         if (option == 6)\r
801             vlc.video.logo.x = val;\r
802         if (option == 7)\r
803             vlc.video.logo.y = val;\r
804     }\r
805 }\r
806 \r
807 //-->\r
808 </SCRIPT>\r
809 </BODY>\r
810 </HTML>\r