From 241c5b9e10830608bbe0c5aa9693e5f9eb8ab820 Mon Sep 17 00:00:00 2001 From: P2P-Next User Date: Tue, 8 Mar 2011 17:27:21 +0200 Subject: [PATCH] new dir added, trial-site, which contains an interface for NextSharePC VLC plugin --- trial-site/NextSharePC-interface.css | 23 ++ trial-site/NextSharePC-interface.js | 198 ++++++++++++++++++ .../cataloger-old-item-table-based.html | 40 ++++ trial-site/test.html | 25 +++ 4 files changed, 286 insertions(+) create mode 100644 trial-site/NextSharePC-interface.css create mode 100644 trial-site/NextSharePC-interface.js create mode 100644 trial-site/cataloger-old-item-table-based.html create mode 100644 trial-site/test.html diff --git a/trial-site/NextSharePC-interface.css b/trial-site/NextSharePC-interface.css new file mode 100644 index 0000000..160aeb8 --- /dev/null +++ b/trial-site/NextSharePC-interface.css @@ -0,0 +1,23 @@ +#nsTable { + width: 800; +} + +#nsPlaybackCell { + width: 22%; +} + +#nsTimeCell { + width: 55%; +} + +#nsTime { + padding: 3px; + border-style:solid; + border-width: 1px; + border-color:#AAAAAA +} + +#nsVol { + height: 5; +} + diff --git a/trial-site/NextSharePC-interface.js b/trial-site/NextSharePC-interface.js new file mode 100644 index 0000000..1c395c5 --- /dev/null +++ b/trial-site/NextSharePC-interface.js @@ -0,0 +1,198 @@ +// NextSharePC plugin controls +// Author: Calin-Andrei Burloiu, calin.burloiu@gmail.com +// 2011 + +updateInterval = 500; + +function getPluginWidth() +{ + return 800; +} + +function getPluginHeight() +{ + return 600; +} + +function getSliderWidth() +{ + return $("#nsSlider").width(); +} + +function updateTime(afterSlider) +{ + var len = document.vlc.input.length; + var pos; + if(afterSlider) + { + var val = 1.0 * $("#nsSlider").slider("option", "value"); + pos = val / (getSliderWidth() - 1); + } + else + pos = document.vlc.input.position; + var time = Math.round(pos * len); + var crt_s = Math.floor(time / 1000 % 60); + var crt_min = Math.floor((time / 1000) / 60); + var tot_s = Math.floor(len / 1000 % 60); + var tot_min = Math.floor((len / 1000) / 60); + + $("#nsTime").html("" + pad(crt_min, 2) + ":" + pad(crt_s, 2) + + " / " + pad(tot_min, 2) + ":" + pad(tot_s, 2)); +} + +function update() +{ + var val = Math.round(document.vlc.input.position * (getSliderWidth() - 1)); + + $("#nsSlider").slider({ value: val }); + + updateTime(false); + + timerHandle = setTimeout("update()", updateInterval); +} + +function displayNextSharePC(torrent) +{ + if (navigator.appName == "Netscape") + { + document.write(''); + } + else + { + document.write(''); + document.write(''); + document.write(''); + document.write(''); + document.write(''); + document.write(''); + document.write(''); + } + + document.write('' + + '' + + '' + + '' + + '' + + '' + + '
' + + '' + + '-
'); + + $("nsTable").css("width", getPluginWidth()); +} + +function onSliderStop(event, ui) +{ + var val = $("#nsSlider").slider("option", "value"); + var s = 1.0 * val / (getSliderWidth() - 1); + + //document.vlc.playlist.seek(s, false); + //document.vlc.video.toggleFullscreen(); + + try { + if(s == 0) + document.vlc.input.position = 0.0000001; + else if(s == 1) + document.vlc.input.position = 0.9999999; + else + document.vlc.input.position = s; + } + catch(err) { + alert(err.message + ": " + err.description); + } + + timerHandle = setTimeout("update()", updateInterval); +} + +function pad(number, length) +{ + var str = '' + number; + while (str.length < length) + { + str = '0' + str; + } + + return str; +} + +function onSliderSlide(event, ui) +{ + updateTime(true); + + clearTimeout(timerHandle); +} + +function onVolChange(event, ui) +{ + var val = $("#nsVol").slider("option", "value"); + + document.vlc.audio.volume = val; +} + +$(document).ready(function() +{ + // Progress Slider + $("#nsSlider").slider({ animate: true }); + $("#nsSlider").slider({ min: 0 }); + $("#nsSlider").slider({ max: (getPluginWidth() - 1) }); + $("#nsSlider").slider({ + stop: onSliderStop, + slide: onSliderSlide + }); + $("#nsSlider").css("width", getPluginWidth());// TODO + $("#nsSlider").slider(); + + // Volume Slider + $("#nsVol").slider({ animate: true }); + $("#nsVol").slider({ min: 0 }); + $("#nsVol").slider({ max: 200 }); + $("#nsVol").slider({ value: document.vlc.audio.volume }); + $("#nsVol").slider({ + change: onVolChange, + }); + $("#nsVol").css("width", 72); + $("#nsVol").slider(); + + timerHandle = setTimeout("update()", updateInterval); +}); + +function play() +{ + document.vlc.playlist.play(); + timerHandle = setTimeout("update()", updateInterval); +} + +function pause() +{ + document.vlc.playlist.togglePause(); + clearTimeout(timerHandle); +} + +function stop() +{ + document.vlc.playlist.stop(); + clearTimeout(timerHandle); +} + +function fullscreen() +{ + document.vlc.video.toggleFullscreen(); +} \ No newline at end of file diff --git a/trial-site/cataloger-old-item-table-based.html b/trial-site/cataloger-old-item-table-based.html new file mode 100644 index 0000000..962e542 --- /dev/null +++ b/trial-site/cataloger-old-item-table-based.html @@ -0,0 +1,40 @@ +
+ + + +
+{literal} + +{/literal} + +

+ + + +
+

+
+ +
+ diff --git a/trial-site/test.html b/trial-site/test.html new file mode 100644 index 0000000..4f7bdd5 --- /dev/null +++ b/trial-site/test.html @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file -- 2.20.1