diff --git a/index.css b/index.css
index f881f3b..016d3a2 100644
--- a/index.css
+++ b/index.css
@@ -40,7 +40,8 @@ body, html {
background-size: 100%;
background-position: -50%;
background-repeat: no-repeat;
- -webkit-filter: grayscale(100%);
+ /*-webkit-filter: grayscale(100%);*/
+ /*-webkit-filter: blur(13px);*/
}
#overlay {
@@ -77,6 +78,10 @@ body, html {
display: none;
}
+#popup.chromecast #settings-popup {
+ display: none;
+}
+
#popup.playlist #playlist-popup {
display: block;
}
@@ -85,6 +90,22 @@ body, html {
display: none;
}
+#popup.playlist #settings-popup {
+ display: none;
+}
+
+#popup.settings #settings-popup {
+ display: block;
+}
+
+#popup.settings #chromecast-popup {
+ display: none;
+}
+
+#popup.settings #playlist-popup {
+ display: none;
+}
+
#playlist-entries, #chromecast-entries {
position: absolute;
top: 46px;
@@ -103,6 +124,15 @@ body, html {
white-space: nowrap;
}
+/*.brightness {
+ color: #fff;
+ font-size: 13px;
+ padding: 10px 15px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}*/
+
@-webkit-keyframes spin {
to { -webkit-transform: rotate(360deg); }
}
@@ -277,10 +307,11 @@ body:hover #overlay, body:hover .titlebar {
#controls-play span:hover .mega-octicon, #player-downloadspeed span:hover .mega-octicon,
#controls-fullscreen span:hover .mega-octicon, #controls-playlist span:hover .mega-octicon,
-#controls-chromecast span:hover .mega-octicon {
+#controls-chromecast span:hover .mega-octicon, #controls-settings span:hover .mega-octicon {
color: #31A357;
}
+
#controls-chromecast .chromecast {
background-image: url('chromecast.png');
background-size: 26px 72px;
@@ -368,3 +399,45 @@ body:hover #overlay, body:hover .titlebar {
float: left;
margin-left: 20px;
}
+
+
+#controls-settings {
+ float: right;
+ margin-right: 10px;
+ margin-top: 10px !important;
+}
+
+.brightness {
+ margin-top: 20px;
+ margin-left: 10px;
+
+}
+
+#controls-brightness-slider {
+ -webkit-appearance: none;
+ background: #727374;
+ width: 50px;
+ height: 4px;
+ border-radius: 0px;
+ float: right;
+ margin-top: 12px;
+ margin-left: 5px;
+}
+
+#controls-brightness-slider::-webkit-slider-thumb {
+ -webkit-appearance: none;
+ background-color: #31A357;
+ opacity: 1.0;
+ width: 9px;
+ height: 9px;
+ border-radius: 4.5px;
+}
+
+#controls-brightness-slider:focus {
+ outline: none;
+}
+
+#settings-popup span label {
+ font-size: 15px;
+}
+
diff --git a/index.html b/index.html
index 7cab713..6416eb0 100644
--- a/index.html
+++ b/index.html
@@ -21,6 +21,14 @@
+
@@ -42,6 +50,9 @@
‒‒:‒‒
+
+
+
diff --git a/index.js b/index.js
index c359540..0a02489 100644
--- a/index.js
+++ b/index.js
@@ -28,6 +28,27 @@ var argv = minimist(JSON.parse(window.location.toString().split('#')[1]), {
boolean: ['follow']
})
+
+var FILTER_VALS = {};
+var el = document.querySelector('video');
+
+var set = function (filter, value) {
+ FILTER_VALS[filter] = typeof value == 'number' ? Math.round(value * 10) / 10 : value;
+ if (value == 0 || (typeof value == 'string' && value.indexOf('0') == 0)) {
+ delete FILTER_VALS[filter];
+ }
+ render();
+}
+
+var render = function () {
+ var vals = [];
+ Object.keys(FILTER_VALS).sort().forEach(function(key, i) {
+ vals.push(key + '(' + FILTER_VALS[key] + ')');
+ });
+ var val = vals.join(' ');
+ el.style.webkitFilter = val;
+}
+
var printError = function (err) {
if (err) console.log(err)
}
@@ -190,6 +211,7 @@ $('#controls-timeline').on('mouseout', function (e) {
})
var isVolumeSliderClicked = false
+var isBrightnessSliderClicked = false
function updateAudioVolume(value) {
media.volume(value)
@@ -219,6 +241,28 @@ $('#controls-volume-slider').on('mouseup', function (e) {
isVolumeSliderClicked = false
})
+function updateBrightnessSlider(brightness) {
+ var val = brightness.value * 10;
+ brightness.style.background = '-webkit-gradient(linear, left top, right top, color-stop(' + val.toString() + '%, #31A357), color-stop(' + val.toString() + '%, #727374))'
+}
+
+$('#controls-brightness-slider').on('mousemove', function (e) {
+ if (isBrightnessSliderClicked) {
+ var brightness = $('#controls-brightness-slider')[0]
+ updateBrightnessSlider(brightness)
+ }
+})
+
+$('#controls-brightness-slider').on('mousedown', function (e) {
+ isBrightnessSliderClicked = true
+})
+
+$('#controls-brightness-slider').on('mouseup', function (e) {
+ var brightness = $('#controls-brightness-slider')[0]
+ updateBrightnessSlider(brightness)
+ isBrightnessSliderClicked = false
+})
+
$(document).on('keydown', function (e) {
if (e.keyCode === 27 && isFullscreen) return onfullscreentoggle(e)
if (e.keyCode === 13 && e.metaKey) return onfullscreentoggle(e)
@@ -227,6 +271,7 @@ $(document).on('keydown', function (e) {
if ($('#controls-playlist').hasClass('selected')) $('#controls-playlist').trigger('click')
if ($('#controls-chromecast').hasClass('selected')) $('#controls-chromecast').trigger('click')
+ if ($('#controls-settings').hasClass('selected')) $('#controls-settings').trigger('click')
})
mouseidle($('#idle')[0], 3000, 'hide-cursor')
@@ -285,14 +330,15 @@ list.once('update', function () {
})
var popupSelected = function () {
- return $('#controls-playlist').hasClass('selected') || $('#controls-chromecast').hasClass('selected')
+ return $('#controls-playlist').hasClass('selected') || $('#controls-chromecast').hasClass('selected') || $('#controls-settings').hasClass('selected')
}
var closePopup = function (e) {
- if (e && (e.target === $('#controls-playlist .mega-octicon')[0] || e.target === $('#controls-chromecast .chromecast')[0])) return
+ if (e && (e.target === $('#controls-playlist .mega-octicon')[0] || e.target === $('#controls-chromecast .chromecast')[0] || e.target === $('#controls-settings .mega-octicon')[0])) return
$('#popup')[0].style.opacity = 0
$('#controls-playlist').removeClass('selected')
$('#controls-chromecast').removeClass('selected')
+ $('#controls-settings').removeClass('selected')
}
$('#controls').on('click', closePopup)
@@ -327,6 +373,19 @@ var updatePopup = function () {
}
}
+$('#controls-settings').on('click', function (e) {
+ if ($('#controls-settings').hasClass('selected')) {
+ closePopup()
+ return
+ }
+
+ $('#popup')[0].className = 'settings'
+ $('#controls .controls-main .selected').removeClass('selected')
+ $('#controls-settings').addClass('selected')
+ chromecasts.update()
+ updatePopup()
+})
+
$('#controls-chromecast').on('click', function (e) {
if ($('#controls-chromecast').hasClass('selected')) {
closePopup()