summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorccd0 <admin@containerchan.org>2014-03-04 16:45:53 -0800
committerccd0 <admin@containerchan.org>2014-03-04 16:45:53 -0800
commit0ef2db58ea210ab435051f4c17778c12b62416ec (patch)
tree3b06bcaa12cb434ed238e995863a784252cbaa92
parented10ad44e3874bff8ca6a418de8637a04c29cd03 (diff)
mute -> volume control
-rw-r--r--expandvideo.js6
-rw-r--r--playersettings.js3
-rw-r--r--settings.js24
3 files changed, 22 insertions, 11 deletions
diff --git a/expandvideo.js b/expandvideo.js
index fb18fac8..771a5936 100644
--- a/expandvideo.js
+++ b/expandvideo.js
@@ -84,7 +84,8 @@ function setupVideo(thumb, url) {
videoContainer.style.position = "static";
thumb.style.display = "none";
- video.muted = setting("videomuted");
+ video.muted = (setting("videovolume") == 0);
+ video.volume = setting("videovolume");
video.controls = true;
if (video.readyState == 0) {
video.addEventListener("loadedmetadata", expand2, false);
@@ -130,7 +131,8 @@ function setupVideo(thumb, url) {
videoContainer.style.display = "inline";
videoContainer.style.position = "fixed";
- video.muted = setting("videomuted");
+ video.muted = (setting("videovolume") == 0);
+ video.volume = setting("videovolume");
video.controls = false;
video.play();
}
diff --git a/playersettings.js b/playersettings.js
index 26242586..8d9a8d20 100644
--- a/playersettings.js
+++ b/playersettings.js
@@ -21,6 +21,7 @@ if (window.addEventListener) window.addEventListener("load", function(e) {
setupLoopLink(i);
}
- video.muted = setting("videomuted");
+ video.muted = (setting("videovolume") == 0);
+ video.volume = setting("videovolume");
video.play();
}, false);
diff --git a/settings.js b/settings.js
index 0d7a494b..cc4a30d5 100644
--- a/settings.js
+++ b/settings.js
@@ -11,7 +11,7 @@ function setDefault(name, value) {
}
setDefault("videoexpand", true);
setDefault("videohover", false);
-setDefault("videomuted", false);
+setDefault("videovolume", 1.0);
// Create settings menu
var settingsMenu = document.createElement("span");
@@ -20,27 +20,35 @@ settingsMenu.innerHTML = '<span>[Settings]</span>'
+ '<div style="display: none; text-align: left; position: absolute; right: 0px; margin-left: -999em; margin-top: -1px; padding-top: 1px;">'
+ '<label><input type="checkbox" name="videoexpand">Expand videos inline</label><br>'
+ '<label><input type="checkbox" name="videohover">Play videos on hover</label><br>'
- + '<label><input type="checkbox" name="videomuted">Open videos muted</label><br>'
+ + '<label><input type="range" name="videovolume" min="0" max="1" step="0.01" style="width: 4em; height: 1ex; vertical-align: middle; margin: 0px;">Default volume</label><br>'
+ '</div>';
function refreshSettings() {
var settingsItems = settingsMenu.getElementsByTagName("input");
for (var i = 0; i < settingsItems.length; i++) {
- var box = settingsItems[i];
- box.checked = setting(box.name);
+ var control = settingsItems[i];
+ if (control.type == "checkbox") {
+ control.checked = setting(control.name);
+ } else if (control.type == "range") {
+ control.value = setting(control.name);
+ }
}
}
-function setupCheckbox(box) {
- if (box.addEventListener) box.addEventListener("change", function(e) {
- localStorage[box.name] = JSON.stringify(box.checked);
+function setupControl(control) {
+ if (control.addEventListener) control.addEventListener("change", function(e) {
+ if (control.type == "checkbox") {
+ localStorage[control.name] = JSON.stringify(control.checked);
+ } else if (control.type == "range") {
+ localStorage[control.name] = JSON.stringify(control.value);
+ }
}, false);
}
refreshSettings();
var settingsItems = settingsMenu.getElementsByTagName("input");
for (var i = 0; i < settingsItems.length; i++) {
- setupCheckbox(settingsItems[i]);
+ setupControl(settingsItems[i]);
}
if (settingsMenu.addEventListener) {