]> git.sesse.net Git - vlc/blob - projects/mozilla/test.html
83377a03f2beb68edd4f3e04fc634424403e4ad0
[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        name="vlc">\r
119 </EMBED>\r
120 </OBJECT>\r
121 </TD></TR>\r
122 <TR><TD colspan="2">\r
123 <TABLE><TR>\r
124 <TD valign="top" width="550">\r
125 <!--\r
126 Insert Slider widget\r
127 -->\r
128 <DIV id="inputTrackerDiv"</DIV>\r
129 </TD><TD width="15%">\r
130 <DIV id="info" style="text-align:center">-:--:--/-:--:--</DIV>\r
131 <DIV id="state" style="text-align:center">Stopped...</DIV>\r
132 </TD></TR></TABLE>\r
133 </TD></TR>\r
134 <TR><TD>\r
135 <INPUT type=button id="PlayOrPause" value=" Play " onClick='doPlayOrPause();'>\r
136 <INPUT type=button value="Stop" onClick='doStop();'>\r
137 &nbsp;\r
138 <INPUT type=button value=" << " onClick='doPlaySlower();'>\r
139 <INPUT type=button value="Reverse" onClick='doReverse();'>\r
140 <INPUT type=button value=" >> " onClick='doPlayFaster();'>\r
141 &nbsp;\r
142 <INPUT type=button value="Fullscreen" onClick='getVLC("vlc").video.toggleFullscreen();'>\r
143 <INPUT type=button value="Version" onClick='alert("vlc " + getVLC("vlc").VersionInfo);'>\r
144 <INPUT type=button value=" State " onClick='alert("state: " + getVLC("vlc").input.state);'>\r
145 </TD><TD align="right">\r
146 <SPAN style="text-align:center">Volume:</SPAN>\r
147 <INPUT type=button value=" - " onClick='updateVolume(-10)'>\r
148 <SPAN id="volumeTextField" style="text-align:center">--</SPAN>\r
149 <INPUT type=button value=" + " onClick='updateVolume(+10)'>\r
150 <INPUT type=button value="Mute" onClick='getVLC("vlc").audio.toggleMute();'>\r
151 </TD>\r
152 </TR>\r
153 <TR><TD>Playlist:\r
154 <INPUT type=button value="Prev" onClick='getVLC("vlc").playlist.prev();'>\r
155 <INPUT type=button value="Next" onClick='getVLC("vlc").playlist.next();'>\r
156 <INPUT type=button value="Clear All" onClick='doPlaylistClearAll();'>\r
157     Aspect Ratio:\r
158     <SELECT readonly onChange='doAspectRatio(this.value)'>\r
159       <OPTION value="default">Default</OPTION>\r
160       <OPTION value="1:1">1:1</OPTION>\r
161       <OPTION value="4:3">4:3</OPTION>\r
162       <OPTION value="16:9">16:9</OPTION>\r
163       <OPTION value="221:100">221:100</OPTION>\r
164       <OPTION value="5:4">5:4</OPTION>\r
165     </SELECT>\r
166 </TD><TD align="right">\r
167 <INPUT type=button id="itemCount" value=" Items 0 " onClick='doItemCount();'>\r
168 <INPUT size=4 value="" id="removeid"><INPUT type=submit value="Delete" onClick="doRemoveItem(document.getElementById('removeid').value);">\r
169 </TD>\r
170 </TR>\r
171 <TR><TD>Audio Channel:\r
172   <SELECT readonly onClick='doAudioChannel(this.value);'>\r
173     <OPTION value=1>Stereo</OPTION>\r
174     <OPTION value=2>Reverse Stereo</OPTION>\r
175     <OPTION value=3>Left</OPTION>\r
176     <OPTION value=4>Right</OPTION>\r
177     <OPTION value=5>Dolby</OPTION>\r
178   </SELECT>\r
179 </TD>\r
180 <TD>\r
181 <INPUT type=button value="current channel" onClick='alert(getVLC("vlc").audio.channel);'>\r
182 </TD>\r
183 </TR>\r
184 <TR><TD> Audio Track:\r
185 <INPUT type=button value=" + " onClick='doAudioTrack(1);'>\r
186 <SPAN id="trackTextField" style="text-align:center">--</SPAN>\r
187 <INPUT type=button value=" - " onClick='doAudioTrack(-1);'>\r
188 <INPUT type=button value="current track" onClick='alert(getVLC("vlc").audio.description(vlc.audio.track));'>\r
189 <INPUT type=button value="number of track" onClick='alert(getVLC("vlc").audio.count);'>\r
190 </TD>\r
191 <TD>\r
192 <INPUT type=button value="set slider" onClick='doSetSlider();'>\r
193 <INPUT type=button value="get position" onClick='doGetPosition();'>\r
194 </TD>\r
195 </TR>\r
196 <TR>\r
197 <TD>Video Subtitle:\r
198     <INPUT type=button value=" + " onClick='doSubtitle(1);'>\r
199     <SPAN id="spuTextField" style="text-align:center">--</SPAN>\r
200     <INPUT type=button value=" - " onClick='doSubtitle(-1);'>\r
201     <INPUT type=button value="current subtitle" onClick='alert(getVLC("vlc").subtitle.description(vlc.subtitle.track));'>\r
202     <INPUT type=button value="number of subtitle" onClick='alert(getVLC("vlc").subtitle.count);'>\r
203 </TD>\r
204 </TR>\r
205 <TR>\r
206 <TD>Deinterlacing:\r
207     <INPUT type=button value="BLEND" onClick='getVLC("vlc").video.deinterlaceEnable("blend");'>\r
208     <INPUT type=button value="  X  " onClick='getVLC("vlc").video.deinterlaceEnable("x");'>\r
209     <INPUT type=button value="Disable" onClick='getVLC("vlc").video.deinterlaceDisable();'>\r
210 </TD>\r
211 </TR>\r
212 <TR>\r
213 <TD>Marquee:\r
214     <INPUT type=button value="Enable" onClick='getVLC("vlc").video.marquee.enable();'>\r
215     <INPUT type=button value="Disable" onClick='getVLC("vlc").video.marquee.disable();'>\r
216     <INPUT size=4 value="" id="marqueeIntValue">\r
217     <SELECT readonly onClick="doMarqueeOption(this.value,document.getElementById('marqueeIntValue').value);">\r
218         <OPTION value=1>Color</OPTION>\r
219         <OPTION value=2>Opacity</OPTION>\r
220         <OPTION value=3>Position</OPTION>\r
221         <OPTION value=4>Refresh</OPTION>\r
222         <OPTION value=5>Size</OPTION>\r
223         <OPTION value=6>Text</OPTION>\r
224         <OPTION value=7>Timeout</OPTION>\r
225         <OPTION value=8>X</OPTION>\r
226         <OPTION value=9>Y</OPTION>\r
227     </SELECT>\r
228 </TD>\r
229 </TR>\r
230 <TR>\r
231 <TD>\r
232     <INPUT type=button id="telx" value="Teletext off" onClick='doToggleTeletext();'>\r
233     Teletext page:\r
234     <INPUT size=4 value="100" id="telxPage" onClick='doTelxPage(document.getElementById("telxPage").value);'>\r
235 </TD>\r
236 </TR>\r
237 </TABLE>\r
238 <SCRIPT language="javascript">\r
239 <!--\r
240 \r
241 var rate = 0;\r
242 var prevState = 0;\r
243 var monitorTimerId = 0;\r
244 var inputTracker;\r
245 var inputTrackerScrolling = false;\r
246 var inputTrackerIgnoreChange = false;\r
247 var telxState = false;\r
248 \r
249 function doSetSlider()\r
250 {\r
251     var vlc = getVLC("vlc");\r
252 \r
253     // set slider to new position\r
254     if( vlc )\r
255         vlc.input.time = (vlc.input.length/2);\r
256 }\r
257 \r
258 function doGetPosition()\r
259 {\r
260     var vlc = getVLC("vlc");\r
261 \r
262     // set slider to new position\r
263     if (vlc)\r
264         alert( "position is " + vlc.input.time);\r
265 }\r
266 \r
267 function doReverse(rate)\r
268 {\r
269     var vlc = getVLC("vlc");\r
270     if( vlc )\r
271         vlc.input.rate = -1.0 * vlc.input.rate;\r
272 }\r
273 \r
274 function doAudioChannel(value)\r
275 {\r
276     var vlc = getVLC("vlc");\r
277     if( vlc )\r
278         vlc.audio.channel = parseInt(value);\r
279 }\r
280 \r
281 function doAudioTrack(value)\r
282 {\r
283     var vlc = getVLC("vlc");\r
284     if( vlc )\r
285     {\r
286         vlc.audio.track = vlc.audio.track + value;\r
287         document.getElementById("trackTextField").innerHTML = vlc.audio.track;\r
288     }\r
289 }\r
290 \r
291 function doAspectRatio(value)\r
292 {\r
293     var vlc = getVLC("vlc");\r
294     if( vlc )\r
295         vlc.video.aspectRatio = value;\r
296 }\r
297 \r
298 function doSubtitle(value)\r
299 {\r
300     var vlc = getVLC("vlc");\r
301     if( vlc )\r
302     {\r
303         vlc.subtitle.track = vlc.subtitle.track + value;\r
304         document.getElementById("spuTextField").innerHTML = vlc.subtitle.track;\r
305     }\r
306 }\r
307 \r
308 function doTelxPage(value)\r
309 {\r
310     var vlc = getVLC("vlc");\r
311     if( vlc )\r
312         vlc.video.teletext = parseInt(value);\r
313 }\r
314 \r
315 function doToggleTeletext()\r
316 {\r
317     var vlc = getVLC("vlc");\r
318 \r
319     if( vlc )\r
320     {\r
321         vlc.video.toggleTeletext();\r
322         if (telxState)\r
323         {\r
324             document.getElementById("telx").innerHTML = "Teletext on";\r
325             telxState = true;\r
326         }\r
327         else\r
328         {\r
329             document.getElementById("telx").innerHTML = "Teletext off";\r
330             telxState = false;\r
331         }\r
332     }\r
333 }\r
334 \r
335 function doItemCount()\r
336 {\r
337     var vlc = getVLC("vlc");\r
338     if( vlc )\r
339     {\r
340         var count = vlc.playlist.items.count;\r
341         document.getElementById("itemCount").value = " Items " + count + " ";\r
342     }\r
343 }\r
344 \r
345 function doRemoveItem(item)\r
346 {\r
347     var vlc = getVLC("vlc");\r
348     if( vlc )\r
349         vlc.playlist.items.remove(item);\r
350 }\r
351 \r
352 function doPlaylistClearAll()\r
353 {\r
354     var vlc = getVLC("vlc");\r
355     if( vlc )\r
356     {\r
357         vlc.playlist.items.clear();\r
358         while( vlc.playlist.items.count > 0)\r
359         {\r
360             // wait till playlist empties.\r
361         }\r
362         doItemCount();\r
363     }\r
364 }\r
365 \r
366 function updateVolume(deltaVol)\r
367 {\r
368     var vlc = getVLC("vlc");\r
369     if( vlc )\r
370     {\r
371         vlc.audio.volume += deltaVol;\r
372         document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";\r
373     }\r
374 }\r
375 \r
376 function formatTime(timeVal)\r
377 {\r
378     if( typeof timeVal != 'number' )\r
379         return "-:--:--";\r
380 \r
381     var timeHour = Math.round(timeVal / 1000);\r
382     var timeSec = timeHour % 60;\r
383     if( timeSec < 10 )\r
384         timeSec = '0'+timeSec;\r
385     timeHour = (timeHour - timeSec)/60;\r
386     var timeMin = timeHour % 60;\r
387     if( timeMin < 10 )\r
388         timeMin = '0'+timeMin;\r
389     timeHour = (timeHour - timeMin)/60;\r
390     if( timeHour > 0 )\r
391         return timeHour+":"+timeMin+":"+timeSec;\r
392     else\r
393         return timeMin+":"+timeSec;\r
394 }\r
395 \r
396 function doState()\r
397 {\r
398     var vlc = getVLC("vlc");\r
399     var newState = 0;\r
400 \r
401     if( vlc )\r
402         newState = vlc.input.state;\r
403 \r
404     if( newState == 0 )\r
405     {\r
406         // current media has stopped\r
407         onEnd();\r
408     }\r
409     else if( newState == 1 )\r
410     {\r
411         // current media is openning/connecting\r
412         onOpen();\r
413     }\r
414     else if( newState == 2 )\r
415     {\r
416         // current media is buffering data\r
417         onBuffer();\r
418     }\r
419     else if( newState == 3 )\r
420     {\r
421         // current media is now playing\r
422         onPlay();\r
423     }\r
424     else if( newState == 4 )\r
425     {\r
426         // current media is now paused\r
427         onPause();\r
428     }\r
429     else if( newState == 5 )\r
430     {\r
431         // current media has stopped\r
432         onStop();\r
433     }\r
434     else if( newState == 6 )\r
435     {\r
436         // current media has ended\r
437         onEnd();\r
438     }\r
439     else if( newState == 7 )\r
440     {\r
441         // current media encountered error\r
442         onError();\r
443     }\r
444 }\r
445 \r
446 function monitor()\r
447 {\r
448     var vlc = getVLC("vlc");\r
449     var newState = 0;\r
450 \r
451     if( vlc )\r
452     {\r
453         newState = vlc.input.state;\r
454     }\r
455 \r
456     if( prevState != newState )\r
457     {\r
458         if( newState == 0 )\r
459         {\r
460             // current media has stopped\r
461             onEnd();\r
462         }\r
463         else if( newState == 1 )\r
464         {\r
465             // current media is openning/connecting\r
466             onOpen();\r
467         }\r
468         else if( newState == 2 )\r
469         {\r
470             // current media is buffering data\r
471             onBuffer();\r
472         }\r
473         else if( newState == 3 )\r
474         {\r
475             // current media is now playing\r
476             onPlay();\r
477         }\r
478         else if( newState == 4 )\r
479         {\r
480             // current media is now paused\r
481             onPause();\r
482         }\r
483         else if( newState == 5 )\r
484         {\r
485             // current media has stopped\r
486                 onStop();\r
487         }\r
488         else if( newState == 6 )\r
489         {\r
490             // current media has ended\r
491             onEnd();\r
492         }\r
493         else if( newState == 7 )\r
494         {\r
495             // current media encountered error\r
496             onError();\r
497         }\r
498         prevState = newState;\r
499     }\r
500     else if( newState == 3 )\r
501     {\r
502         // current media is playing\r
503         onPlaying();\r
504     }\r
505     if( monitorTimerId == 0 )\r
506     {\r
507         monitorTimerId = setInterval("monitor()", 1000);\r
508     }\r
509 };\r
510 \r
511 /* actions */\r
512 \r
513 function doGo(targetURL)\r
514 {\r
515     var vlc = getVLC("vlc");\r
516 \r
517     if( vlc )\r
518     {\r
519         vlc.playlist.items.clear();\r
520         while( vlc.playlist.items.count > 0 )\r
521         {\r
522             // clear() may return before the playlist has actually been cleared\r
523             // just wait for it to finish its job\r
524         }\r
525         var options = [":rtsp-tcp"];\r
526         var itemId = vlc.playlist.add(targetURL,"",options);\r
527         options = [];\r
528         if( itemId != -1 )\r
529         {\r
530             // play MRL\r
531             vlc.playlist.playItem(itemId);\r
532             if( monitorTimerId == 0 )\r
533             {\r
534                 monitor();\r
535             }\r
536         }\r
537         else\r
538         {\r
539             alert("cannot play at the moment !");\r
540         }\r
541         doItemCount();\r
542     }\r
543 }\r
544 \r
545 function doAdd(targetURL)\r
546 {\r
547     var vlc = getVLC("vlc");\r
548     var options = [":vout-filter=deinterlace", ":deinterlace-mode=linear"];\r
549     if( vlc )\r
550     {\r
551         vlc.playlist.add(targetURL, "", options);\r
552         options = [];\r
553         doItemCount();\r
554     }\r
555 }\r
556 \r
557 function doPlayOrPause()\r
558 {\r
559     var vlc = getVLC("vlc");\r
560     if( vlc )\r
561     {\r
562         if( vlc.playlist.isPlaying )\r
563         {\r
564             vlc.playlist.togglePause();\r
565             monitor();\r
566         }\r
567         else if( vlc.playlist.items.count > 0 )\r
568         {\r
569             vlc.playlist.play();\r
570             monitor();\r
571         }\r
572         else\r
573         {\r
574             alert('nothing to play !');\r
575         }\r
576     }\r
577 }\r
578 \r
579 function doStop()\r
580 {\r
581     var vlc = getVLC("vlc");\r
582 \r
583     if( vlc )\r
584         vlc.playlist.stop();\r
585 \r
586     if( monitorTimerId != 0 )\r
587     {\r
588         clearInterval(monitorTimerId);\r
589         monitorTimerId = 0;\r
590     }\r
591     onStop();\r
592 }\r
593 \r
594 function doPlaySlower()\r
595 {\r
596     var vlc = getVLC("vlc");\r
597     if( vlc )\r
598         vlc.input.rate = vlc.input.rate / 2;\r
599 }\r
600 \r
601 function doPlayFaster()\r
602 {\r
603     var vlc = getVLC("vlc");\r
604     if( vlc )\r
605         vlc.input.rate = vlc.input.rate * 2;\r
606 }\r
607 \r
608 /* events */\r
609 \r
610 function onOpen()\r
611 {\r
612     document.getElementById("state").innerHTML = "Opening...";\r
613     document.getElementById("PlayOrPause").value = "Pause";\r
614 }\r
615 \r
616 function onBuffer()\r
617 {\r
618     document.getElementById("state").innerHTML = "Buffering...";\r
619     document.getElementById("PlayOrPause").value = "Pause";\r
620 }\r
621 \r
622 function onPlay()\r
623 {\r
624     document.getElementById("state").innerHTML = "Playing...";\r
625     document.getElementById("PlayOrPause").value = "Pause";\r
626     onPlaying();\r
627 }\r
628 \r
629 function onEnd()\r
630 {\r
631     document.getElementById("state").innerHTML = "End...";\r
632     doStop();\r
633 }\r
634 \r
635 var liveFeedText = ["Live", "((Live))", "(( Live ))", "((  Live  ))"];\r
636 var liveFeedRoll = 0;\r
637 \r
638 function onPlaying()\r
639 {\r
640     if( !inputTrackerScrolling )\r
641     {\r
642         var vlc = getVLC("vlc");\r
643         var info = document.getElementById("info");\r
644         if( vlc )\r
645         {\r
646             var mediaLen = vlc.input.length;\r
647             inputTrackerIgnoreChange = true;\r
648             if( mediaLen > 0 )\r
649             {\r
650                 // seekable media\r
651                 if( inputTracker )\r
652                 {\r
653                     if( inputTracker.maxVal == 1.0 )\r
654                     {\r
655                         inputTracker.setDisabled(false);\r
656                         inputTracker.maxVal = 1.0;\r
657                     }\r
658                     inputTracker.setValue(vlc.input.position);\r
659                 }\r
660                 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);\r
661             }\r
662             else\r
663             {\r
664                 // non-seekable "live" media\r
665                 if( inputTracker )\r
666                 {\r
667                     if( inputTracker.maxVal != 0.0 )\r
668                     {\r
669                         inputTracker.maxVal = 0.0;\r
670                         inputTracker.setValue(0.0);\r
671                         inputTracker.setDisabled(true);\r
672                     }\r
673                 }\r
674                 liveFeedRoll = liveFeedRoll & 3;\r
675                 info.innerHTML = liveFeedText[liveFeedRoll++];\r
676             }\r
677             inputTrackerIgnoreChange  = false;\r
678         }\r
679     }\r
680 }\r
681 \r
682 function onPause()\r
683 {\r
684     document.getElementById("state").innerHTML = "Paused...";\r
685     document.getElementById("PlayOrPause").value = " Play ";\r
686 }\r
687 \r
688 function onStop()\r
689 {\r
690     var vlc = getVLC("vlc");\r
691 \r
692     if( inputTracker )\r
693     {\r
694         if( !inputTracker.disabled )\r
695         {\r
696             inputTracker.setValue(inputTracker.minVal);\r
697             inputTracker.setDisabled(true);\r
698         }\r
699     }\r
700 \r
701     document.getElementById("info").innerHTML = "-:--:--/-:--:--";\r
702     document.getElementById("state").innerHTML = "Stopped...";\r
703     document.getElementById("PlayOrPause").value = " Play ";\r
704 }\r
705 \r
706 function onError()\r
707 {\r
708     var vlc = getVLC("vlc");\r
709 \r
710     document.getElementById("state").innerHTML = "Error...";\r
711 }\r
712 \r
713 function onInputTrackerScrollStart()\r
714 {\r
715     inputTrackerScrolling = true;\r
716 }\r
717 \r
718 function onInputTrackerScrollEnd(inputTracker, value, pos)\r
719 {\r
720     inputTrackerScrolling = false;\r
721 }\r
722 \r
723 function onInputTrackerChange(inputTracker, value, pos)\r
724 {\r
725     if( !inputTrackerIgnoreChange )\r
726     {\r
727         var vlc = getVLC("vlc");\r
728         if( vlc )\r
729         {\r
730             if( (vlc.input.state == 3) && (vlc.input.position != value) )\r
731             {\r
732                 var info = document.getElementById("info");\r
733                 vlc.input.position = value;\r
734                 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);\r
735             }\r
736         }\r
737     }\r
738 }\r
739 \r
740 function doMarqueeOption(option, value)\r
741 {\r
742     var vlc = getVLC("vlc");\r
743     val = parseInt(value);\r
744     if( vlc )\r
745     {\r
746         if (option == 1)\r
747             vlc.video.marquee.color(val);\r
748         if (option == 2)\r
749             vlc.video.marquee.opacity(val);\r
750         if (option == 3)\r
751             vlc.video.marquee.position(val);\r
752         if (option == 4)\r
753             vlc.video.marquee.refresh(val);\r
754         if (option == 5)\r
755             vlc.video.marquee.size(val);\r
756         if (option == 6)\r
757             vlc.video.marquee.text(value);\r
758         if (option == 7)\r
759             vlc.video.marquee.timeout(val);\r
760         if (option == 8)\r
761             vlc.video.marquee.x(val);\r
762         if (option == 9)\r
763             vlc.video.marquee.y(val);\r
764     }\r
765 }\r
766 \r
767 //-->\r
768 </SCRIPT>\r
769 </BODY>\r
770 </HTML>\r