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