]> git.sesse.net Git - vlc/blob - projects/mozilla/test.html
9edd87ed618b6094cd641f077ab8aebca4bfce50
[vlc] / projects / mozilla / test.html
1 F<!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.deinterlaceEnable("blend");'>\r
209     <INPUT type=button value="  X  " onClick='getVLC("vlc").video.deinterlaceEnable("x");'>\r
210     <INPUT type=button value="Disable" onClick='getVLC("vlc").video.deinterlaceDisable();'>\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>Transparency</OPTION>\r
239         <OPTION value=3>Position</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         <OPTION value=8>Width</OPTION>\r
245         <OPTION value=9>Height</OPTION>
246     </SELECT>\r
247 </TD>\r
248 </TR>\r\r
249 <TR>\r
250 <TD>\r
251     <INPUT type=button id="telx" value="Teletext off" onClick='doToggleTeletext();'>\r
252     Teletext page:\r
253     <INPUT size=4 value="100" id="telxPage" onClick='doTelxPage(document.getElementById("telxPage").value);'>\r
254 </TD>\r
255 </TR>\r
256 </TABLE>\r
257 <SCRIPT language="javascript">\r
258 <!--\r
259 \r
260 var rate = 0;\r
261 var prevState = 0;\r
262 var monitorTimerId = 0;\r
263 var inputTracker;\r
264 var inputTrackerScrolling = false;\r
265 var inputTrackerIgnoreChange = false;\r
266 var telxState = false;\r
267 \r
268 function doSetSlider()\r
269 {\r
270     var vlc = getVLC("vlc");\r
271 \r
272     // set slider to new position\r
273     if( vlc )\r
274         vlc.input.time = (vlc.input.length/2);\r
275 }\r
276 \r
277 function doGetPosition()\r
278 {\r
279     var vlc = getVLC("vlc");\r
280 \r
281     // set slider to new position\r
282     if (vlc)\r
283         alert( "position is " + vlc.input.time);\r
284 }\r
285 \r
286 function doReverse(rate)\r
287 {\r
288     var vlc = getVLC("vlc");\r
289     if( vlc )\r
290         vlc.input.rate = -1.0 * vlc.input.rate;\r
291 }\r
292 \r
293 function doAudioChannel(value)\r
294 {\r
295     var vlc = getVLC("vlc");\r
296     if( vlc )\r
297         vlc.audio.channel = parseInt(value);\r
298 }\r
299 \r
300 function doAudioTrack(value)\r
301 {\r
302     var vlc = getVLC("vlc");\r
303     if( vlc )\r
304     {\r
305         vlc.audio.track = vlc.audio.track + value;\r
306         document.getElementById("trackTextField").innerHTML = vlc.audio.track;\r
307     }\r
308 }\r
309 \r
310 function doAspectRatio(value)\r
311 {\r
312     var vlc = getVLC("vlc");\r
313     if( vlc )\r
314         vlc.video.aspectRatio = value;\r
315 }\r
316 \r
317 function doSubtitle(value)\r
318 {\r
319     var vlc = getVLC("vlc");\r
320     if( vlc )\r
321     {\r
322         vlc.subtitle.track = vlc.subtitle.track + value;\r
323         document.getElementById("spuTextField").innerHTML = vlc.subtitle.track;\r
324     }\r
325 }\r
326 \r
327 function doTelxPage(value)\r
328 {\r
329     var vlc = getVLC("vlc");\r
330     if( vlc )\r
331         vlc.video.teletext = parseInt(value);\r
332 }\r
333 \r
334 function doToggleTeletext()\r
335 {\r
336     var vlc = getVLC("vlc");\r
337 \r
338     if( vlc )\r
339     {\r
340         vlc.video.toggleTeletext();\r
341         if (telxState)\r
342         {\r
343             document.getElementById("telx").innerHTML = "Teletext on";\r
344             telxState = true;\r
345         }\r
346         else\r
347         {\r
348             document.getElementById("telx").innerHTML = "Teletext off";\r
349             telxState = false;\r
350         }\r
351     }\r
352 }\r
353 \r
354 function doItemCount()\r
355 {\r
356     var vlc = getVLC("vlc");\r
357     if( vlc )\r
358     {\r
359         var count = vlc.playlist.items.count;\r
360         document.getElementById("itemCount").value = " Items " + count + " ";\r
361     }\r
362 }\r
363 \r
364 function doRemoveItem(item)\r
365 {\r
366     var vlc = getVLC("vlc");\r
367     if( vlc )\r
368         vlc.playlist.items.remove(item);\r
369 }\r
370 \r
371 function doPlaylistClearAll()\r
372 {\r
373     var vlc = getVLC("vlc");\r
374     if( vlc )\r
375     {\r
376         vlc.playlist.items.clear();\r
377         while( vlc.playlist.items.count > 0)\r
378         {\r
379             // wait till playlist empties.\r
380         }\r
381         doItemCount();\r
382     }\r
383 }\r
384 \r
385 function updateVolume(deltaVol)\r
386 {\r
387     var vlc = getVLC("vlc");\r
388     if( vlc )\r
389     {\r
390         vlc.audio.volume += deltaVol;\r
391         document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";\r
392     }\r
393 }\r
394 \r
395 function formatTime(timeVal)\r
396 {\r
397     if( typeof timeVal != 'number' )\r
398         return "-:--:--";\r
399 \r
400     var timeHour = Math.round(timeVal / 1000);\r
401     var timeSec = timeHour % 60;\r
402     if( timeSec < 10 )\r
403         timeSec = '0'+timeSec;\r
404     timeHour = (timeHour - timeSec)/60;\r
405     var timeMin = timeHour % 60;\r
406     if( timeMin < 10 )\r
407         timeMin = '0'+timeMin;\r
408     timeHour = (timeHour - timeMin)/60;\r
409     if( timeHour > 0 )\r
410         return timeHour+":"+timeMin+":"+timeSec;\r
411     else\r
412         return timeMin+":"+timeSec;\r
413 }\r
414 \r
415 function doState()\r
416 {\r
417     var vlc = getVLC("vlc");\r
418     var newState = 0;\r
419 \r
420     if( vlc )\r
421         newState = vlc.input.state;\r
422 \r
423     if( newState == 0 )\r
424     {\r
425         // current media has stopped\r
426         onEnd();\r
427     }\r
428     else if( newState == 1 )\r
429     {\r
430         // current media is openning/connecting\r
431         onOpen();\r
432     }\r
433     else if( newState == 2 )\r
434     {\r
435         // current media is buffering data\r
436         onBuffer();\r
437     }\r
438     else if( newState == 3 )\r
439     {\r
440         // current media is now playing\r
441         onPlay();\r
442     }\r
443     else if( newState == 4 )\r
444     {\r
445         // current media is now paused\r
446         onPause();\r
447     }\r
448     else if( newState == 5 )\r
449     {\r
450         // current media has stopped\r
451         onStop();\r
452     }\r
453     else if( newState == 6 )\r
454     {\r
455         // current media has ended\r
456         onEnd();\r
457     }\r
458     else if( newState == 7 )\r
459     {\r
460         // current media encountered error\r
461         onError();\r
462     }\r
463 }\r
464 \r
465 function monitor()\r
466 {\r
467     var vlc = getVLC("vlc");\r
468     var newState = 0;\r
469 \r
470     if( vlc )\r
471     {\r
472         newState = vlc.input.state;\r
473     }\r
474 \r
475     if( prevState != newState )\r
476     {\r
477         if( newState == 0 )\r
478         {\r
479             // current media has stopped\r
480             onEnd();\r
481         }\r
482         else if( newState == 1 )\r
483         {\r
484             // current media is openning/connecting\r
485             onOpen();\r
486         }\r
487         else if( newState == 2 )\r
488         {\r
489             // current media is buffering data\r
490             onBuffer();\r
491         }\r
492         else if( newState == 3 )\r
493         {\r
494             // current media is now playing\r
495             onPlay();\r
496         }\r
497         else if( newState == 4 )\r
498         {\r
499             // current media is now paused\r
500             onPause();\r
501         }\r
502         else if( newState == 5 )\r
503         {\r
504             // current media has stopped\r
505                 onStop();\r
506         }\r
507         else if( newState == 6 )\r
508         {\r
509             // current media has ended\r
510             onEnd();\r
511         }\r
512         else if( newState == 7 )\r
513         {\r
514             // current media encountered error\r
515             onError();\r
516         }\r
517         prevState = newState;\r
518     }\r
519     else if( newState == 3 )\r
520     {\r
521         // current media is playing\r
522         onPlaying();\r
523     }\r
524     if( monitorTimerId == 0 )\r
525     {\r
526         monitorTimerId = setInterval("monitor()", 1000);\r
527     }\r
528 };\r
529 \r
530 /* actions */\r
531 \r
532 function doGo(targetURL)\r
533 {\r
534     var vlc = getVLC("vlc");\r
535 \r
536     if( vlc )\r
537     {\r
538         vlc.playlist.items.clear();\r
539         while( vlc.playlist.items.count > 0 )\r
540         {\r
541             // clear() may return before the playlist has actually been cleared\r
542             // just wait for it to finish its job\r
543         }\r
544         var options = [":rtsp-tcp"];\r
545         var itemId = vlc.playlist.add(targetURL,"",options);\r
546         options = [];\r
547         if( itemId != -1 )\r
548         {\r
549             // play MRL\r
550             vlc.playlist.playItem(itemId);\r
551             if( monitorTimerId == 0 )\r
552             {\r
553                 monitor();\r
554             }\r
555         }\r
556         else\r
557         {\r
558             alert("cannot play at the moment !");\r
559         }\r
560         doItemCount();\r
561     }\r
562 }\r
563 \r
564 function doAdd(targetURL)\r
565 {\r
566     var vlc = getVLC("vlc");\r
567     var options = [":vout-filter=deinterlace", ":deinterlace-mode=linear"];\r
568     if( vlc )\r
569     {\r
570         vlc.playlist.add(targetURL, "", options);\r
571         options = [];\r
572         doItemCount();\r
573     }\r
574 }\r
575 \r
576 function doPlayOrPause()\r
577 {\r
578     var vlc = getVLC("vlc");\r
579     if( vlc )\r
580     {\r
581         if( vlc.playlist.isPlaying )\r
582         {\r
583             vlc.playlist.togglePause();\r
584             monitor();\r
585         }\r
586         else if( vlc.playlist.items.count > 0 )\r
587         {\r
588             vlc.playlist.play();\r
589             monitor();\r
590         }\r
591         else\r
592         {\r
593             alert('nothing to play !');\r
594         }\r
595     }\r
596 }\r
597 \r
598 function doStop()\r
599 {\r
600     var vlc = getVLC("vlc");\r
601 \r
602     if( vlc )\r
603         vlc.playlist.stop();\r
604 \r
605     if( monitorTimerId != 0 )\r
606     {\r
607         clearInterval(monitorTimerId);\r
608         monitorTimerId = 0;\r
609     }\r
610     onStop();\r
611 }\r
612 \r
613 function doPlaySlower()\r
614 {\r
615     var vlc = getVLC("vlc");\r
616     if( vlc )\r
617         vlc.input.rate = vlc.input.rate / 2;\r
618 }\r
619 \r
620 function doPlayFaster()\r
621 {\r
622     var vlc = getVLC("vlc");\r
623     if( vlc )\r
624         vlc.input.rate = vlc.input.rate * 2;\r
625 }\r
626 \r
627 /* events */\r
628 \r
629 function onOpen()\r
630 {\r
631     document.getElementById("state").innerHTML = "Opening...";\r
632     document.getElementById("PlayOrPause").value = "Pause";\r
633 }\r
634 \r
635 function onBuffer()\r
636 {\r
637     document.getElementById("state").innerHTML = "Buffering...";\r
638     document.getElementById("PlayOrPause").value = "Pause";\r
639 }\r
640 \r
641 function onPlay()\r
642 {\r
643     document.getElementById("state").innerHTML = "Playing...";\r
644     document.getElementById("PlayOrPause").value = "Pause";\r
645     onPlaying();\r
646 }\r
647 \r
648 function onEnd()\r
649 {\r
650     document.getElementById("state").innerHTML = "End...";\r
651     doStop();\r
652 }\r
653 \r
654 var liveFeedText = ["Live", "((Live))", "(( Live ))", "((  Live  ))"];\r
655 var liveFeedRoll = 0;\r
656 \r
657 function onPlaying()\r
658 {\r
659     if( !inputTrackerScrolling )\r
660     {\r
661         var vlc = getVLC("vlc");\r
662         var info = document.getElementById("info");\r
663         if( vlc )\r
664         {\r
665             var mediaLen = vlc.input.length;\r
666             inputTrackerIgnoreChange = true;\r
667             if( mediaLen > 0 )\r
668             {\r
669                 // seekable media\r
670                 if( inputTracker )\r
671                 {\r
672                     if( inputTracker.maxVal == 1.0 )\r
673                     {\r
674                         inputTracker.setDisabled(false);\r
675                         inputTracker.maxVal = 1.0;\r
676                     }\r
677                     inputTracker.setValue(vlc.input.position);\r
678                 }\r
679                 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);\r
680             }\r
681             else\r
682             {\r
683                 // non-seekable "live" media\r
684                 if( inputTracker )\r
685                 {\r
686                     if( inputTracker.maxVal != 0.0 )\r
687                     {\r
688                         inputTracker.maxVal = 0.0;\r
689                         inputTracker.setValue(0.0);\r
690                         inputTracker.setDisabled(true);\r
691                     }\r
692                 }\r
693                 liveFeedRoll = liveFeedRoll & 3;\r
694                 info.innerHTML = liveFeedText[liveFeedRoll++];\r
695             }\r
696             inputTrackerIgnoreChange  = false;\r
697         }\r
698     }\r
699 }\r
700 \r
701 function onPause()\r
702 {\r
703     document.getElementById("state").innerHTML = "Paused...";\r
704     document.getElementById("PlayOrPause").value = " Play ";\r
705 }\r
706 \r
707 function onStop()\r
708 {\r
709     var vlc = getVLC("vlc");\r
710 \r
711     if( inputTracker )\r
712     {\r
713         if( !inputTracker.disabled )\r
714         {\r
715             inputTracker.setValue(inputTracker.minVal);\r
716             inputTracker.setDisabled(true);\r
717         }\r
718     }\r
719 \r
720     document.getElementById("info").innerHTML = "-:--:--/-:--:--";\r
721     document.getElementById("state").innerHTML = "Stopped...";\r
722     document.getElementById("PlayOrPause").value = " Play ";\r
723 }\r
724 \r
725 function onError()\r
726 {\r
727     var vlc = getVLC("vlc");\r
728 \r
729     document.getElementById("state").innerHTML = "Error...";\r
730 }\r
731 \r
732 function onInputTrackerScrollStart()\r
733 {\r
734     inputTrackerScrolling = true;\r
735 }\r
736 \r
737 function onInputTrackerScrollEnd(inputTracker, value, pos)\r
738 {\r
739     inputTrackerScrolling = false;\r
740 }\r
741 \r
742 function onInputTrackerChange(inputTracker, value, pos)\r
743 {\r
744     if( !inputTrackerIgnoreChange )\r
745     {\r
746         var vlc = getVLC("vlc");\r
747         if( vlc )\r
748         {\r
749             if( (vlc.input.state == 3) && (vlc.input.position != value) )\r
750             {\r
751                 var info = document.getElementById("info");\r
752                 vlc.input.position = value;\r
753                 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);\r
754             }\r
755         }\r
756     }\r
757 }\r
758 \r
759 function doMarqueeOption(option, value)\r
760 {\r
761     var vlc = getVLC("vlc");\r
762     val = parseInt(value);\r
763     if( vlc )\r
764     {\r
765         if (option == 1)\r
766             vlc.video.marquee.color(val);\r
767         if (option == 2)\r
768             vlc.video.marquee.opacity(val);\r
769         if (option == 3)\r
770             vlc.video.marquee.position(val);\r
771         if (option == 4)\r
772             vlc.video.marquee.refresh(val);\r
773         if (option == 5)\r
774             vlc.video.marquee.size(val);\r
775         if (option == 6)\r
776             vlc.video.marquee.text(value);\r
777         if (option == 7)\r
778             vlc.video.marquee.timeout(val);\r
779         if (option == 8)\r
780             vlc.video.marquee.x(val);\r
781         if (option == 9)\r
782             vlc.video.marquee.y(val);\r
783     }\r
784 }\r
785
786 function doLogoOption(option, value)\r
787 {\r
788     var vlc = getVLC("vlc");\r
789     val = parseInt(value);\r
790     if( vlc )\r
791     {\r
792         if (option == 1)\r
793             vlc.video.logo.file(val);\r
794         if (option == 2)\r
795             vlc.video.logo.transparency(val);\r
796         if (option == 3)\r
797             vlc.video.logo.position(val);\r
798         if (option == 4)\r
799             vlc.video.logo.repeat(val);\r
800         if (option == 5)\r
801             vlc.video.logo.delay(val);\r
802         if (option == 6)\r
803             vlc.video.logo.x(val);\r
804         if (option == 7)\r
805             vlc.video.logo.y(val);\r
806         if (option == 8)\r
807             vlc.video.logo.width(val);\r
808         if (option == 9)\r
809             vlc.video.logo.height(val);\r
810     }\r
811 }\r
812 \r
813 //-->\r
814 </SCRIPT>\r
815 </BODY>\r
816 </HTML>\r