🏠 Home 

TesterTV_YouTube_Effects

Add video effects


Install this script?
// ==UserScript==
// @name         TesterTV_YouTube_Effects
// @namespace    https://greasyfork.org/ru/scripts/482237-testertv-youtube-effects
// @version      2023.12.16
// @description  Add video effects
// @license      GPL version 3 or any later version
// @author       TesterTV
// @match        https://www.youtube.com/*
// @match        https://m.youtube.com/*
// @match        https://music.youtube.com/*
// @grant        GM_openInTab
// ==/UserScript==
//********************************************************************************************************************
//***                                      Start Video Effects Function                                            ***
//********************************************************************************************************************
setInterval(function() {
if (window.location.href !== "https://www.youtube.com" && window.location.href !== "https://www.youtube.com/" && window.location.href !== "https://m.youtube.com/" && window.location.href !== "https://m.youtube.com" && window.location.href !== "https://music.youtube.com/" && window.location.href !== "https://music.youtube.com") {
// Check if the page contains an element with id "ButtonEffects"
if (!document.getElementById("ButtonEffects")) {
// If the element isn't found, start the effects script
YoutubeEffects();
}
}
}, 1000);
function YoutubeEffects() {
// Check if current window isn't an iframe
var isInIframe = window === window.top;
if (isInIframe) {
//********************************************************************************************************************
//***                                         Video Effects Button 🎞️🎛️                                              ***
//********************************************************************************************************************
//************************
//*** ButtonEffects 🎞️🎛️ ***
//************************
// Create a new button element
const ButtonEffects = document.createElement('button');
ButtonEffects.id = 'ButtonEffects';
ButtonEffects.style.position = 'relative';
ButtonEffects.textContent = '🎛️';
ButtonEffects.style.fontSize = '20px';
ButtonEffects.style.background = 'none';
ButtonEffects.style.border = "3px solid rgba(0, 0, 0, 0)";
ButtonEffects.style.color = 'white';
ButtonEffects.style.margin = '0px 10px 0';
ButtonEffects.style.height= '34px';
ButtonEffects.style.width= '36px';
ButtonEffects.style.borderRadius = '5%';
ButtonEffects.style.left = '10px';
ButtonEffects.style.display = 'flex';
ButtonEffects.style.justifyContent = 'center';
ButtonEffects.style.alignItems = 'center';
// Insert the container into the YouTube player controls
var ControlsRight = document.querySelector('.ytp-right-controls');
ControlsRight.style.position = 'relative';
ControlsRight.style.display = 'flex';
ControlsRight.style.alignItems = 'center';
ControlsRight.insertBefore(ButtonEffects, ControlsRight.firstChild);
//********************************************************************************************************************
//***                                            Video Effects 🎛️                                                    ***
//********************************************************************************************************************
// Add click event listener to the button...
ButtonEffects.addEventListener("click", function(event) {
//***********************
//*** Video Blur 💧🎚️ ***
//***********************
// Create the BlurSlider element
var BlurSlider = document.createElement('input');
BlurSlider.id = 'BlurSlider';
BlurSlider.type = 'range';
BlurSlider.min = '0';
BlurSlider.max = '50';
BlurSlider.step = '1';
BlurSlider.value = '0';
BlurSlider.style.width = '200px';
BlurSlider.style.margin = '-11px 5px 0';
BlurSlider.style.marginLeft = '52px';
// Change blur sliders
BlurSlider.style.background = '#74e3ff';
BlurSlider.style.border = 'none';
BlurSlider.style.height = '5px';
BlurSlider.style.outline = 'none';
BlurSlider.style.appearance = 'none';
BlurSlider.style.webkitAppearance = 'none';
BlurSlider.style.mozAppearance = 'none';
BlurSlider.style.msAppearance = 'none';
BlurSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
BlurSlider.style.mozSliderThumb = '-moz-slider-thumb';
BlurSlider.style.msSliderThumb = '-ms-slider-thumb';
BlurSlider.style.sliderThumb = 'slider-thumb';
//*****************************
//*** Video Brightness ☀️🎚️ ***
//*****************************
// Create the BrightnessSlider element
var BrightnessSlider = document.createElement('input');
BrightnessSlider.id = 'BrightnessSlider';
BrightnessSlider.type = 'range';
BrightnessSlider.min = '0';
BrightnessSlider.max = '200';
BrightnessSlider.step = '1';
BrightnessSlider.value = '100';
BrightnessSlider.style.width = '200px';
BrightnessSlider.style.margin = '-11px 5px 0';
BrightnessSlider.style.marginLeft = '7px';
// Change brightness sliders
BrightnessSlider.style.background = '#74e3ff';
BrightnessSlider.style.border = 'none';
BrightnessSlider.style.height = '5px';
BrightnessSlider.style.outline = 'none';
BrightnessSlider.style.appearance = 'none';
BrightnessSlider.style.webkitAppearance = 'none';
BrightnessSlider.style.mozAppearance = 'none';
BrightnessSlider.style.msAppearance = 'none';
BrightnessSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
BrightnessSlider.style.mozSliderThumb = '-moz-slider-thumb';
BrightnessSlider.style.msSliderThumb = '-ms-slider-thumb';
BrightnessSlider.style.sliderThumb = 'slider-thumb';
//***************************
//*** Video Contrast 🌓🎚️ ***
//***************************
// Create the ContrastSlider element
var ContrastSlider = document.createElement('input');
ContrastSlider.id = 'ContrastSlider';
ContrastSlider.type = 'range';
ContrastSlider.min = '0';
ContrastSlider.max = '200';
ContrastSlider.step = '1';
ContrastSlider.value = '100';
ContrastSlider.style.width = '200px';
ContrastSlider.style.margin = '-11px 5px 0';
ContrastSlider.style.marginLeft = '18px';
// Change contrast sliders
ContrastSlider.style.background = '#74e3ff';
ContrastSlider.style.border = 'none';
ContrastSlider.style.height = '5px';
ContrastSlider.style.outline = 'none';
ContrastSlider.style.appearance = 'none';
ContrastSlider.style.webkitAppearance = 'none';
ContrastSlider.style.mozAppearance = 'none';
ContrastSlider.style.msAppearance = 'none';
ContrastSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
ContrastSlider.style.mozSliderThumb = '-moz-slider-thumb';
ContrastSlider.style.msSliderThumb = '-ms-slider-thumb';
ContrastSlider.style.sliderThumb = 'slider-thumb';
//****************************
//*** Video Grayscale ⚪️🎚️ ***
//****************************
// Create the GrayscaleSlider element
var GrayscaleSlider = document.createElement('input');
GrayscaleSlider.id = 'GrayscaleSlider';
GrayscaleSlider.type = 'range';
GrayscaleSlider.min = '0';
GrayscaleSlider.max = '100';
GrayscaleSlider.step = '1';
GrayscaleSlider.value = '0';
GrayscaleSlider.style.width = '200px';
GrayscaleSlider.style.margin = '-11px 5px 0';
GrayscaleSlider.style.marginLeft = '13px';
// Change grayscale sliders
GrayscaleSlider.style.background = '#74e3ff';
GrayscaleSlider.style.border = 'none';
GrayscaleSlider.style.height = '5px';
GrayscaleSlider.style.outline = 'none';
GrayscaleSlider.style.appearance = 'none';
GrayscaleSlider.style.webkitAppearance = 'none';
GrayscaleSlider.style.mozAppearance = 'none';
GrayscaleSlider.style.msAppearance = 'none';
GrayscaleSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
GrayscaleSlider.style.mozSliderThumb = '-moz-slider-thumb';
GrayscaleSlider.style.msSliderThumb = '-ms-slider-thumb';
GrayscaleSlider.style.sliderThumb = 'slider-thumb';
//*******************************
//*** Video Hue Ratation 👩‍🎨🎚️ ***
//*******************************
// Create the Hue_RotationSlider element
var Hue_RotationSlider = document.createElement('input');
Hue_RotationSlider.id = 'Hue_RotationSlider';
Hue_RotationSlider.type = 'range';
Hue_RotationSlider.min = '0';
Hue_RotationSlider.max = '360';
Hue_RotationSlider.step = '1';
Hue_RotationSlider.value = '0';
Hue_RotationSlider.style.width = '200px';
Hue_RotationSlider.style.margin = '-11px 5px 0';
Hue_RotationSlider.style.marginLeft = '4px';
// Change Hue_Rotation sliders
Hue_RotationSlider.style.background = '#74e3ff';
Hue_RotationSlider.style.border = 'none';
Hue_RotationSlider.style.height = '5px';
Hue_RotationSlider.style.outline = 'none';
Hue_RotationSlider.style.appearance = 'none';
Hue_RotationSlider.style.webkitAppearance = 'none';
Hue_RotationSlider.style.mozAppearance = 'none';
Hue_RotationSlider.style.msAppearance = 'none';
Hue_RotationSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
Hue_RotationSlider.style.mozSliderThumb = '-moz-slider-thumb';
Hue_RotationSlider.style.msSliderThumb = '-ms-slider-thumb';
Hue_RotationSlider.style.sliderThumb = 'slider-thumb';
//*********************************
//*** Video Color Invetion 🩻🎚️ ***
//*********************************
// Create the Color_InvertionSlider element
var Color_InvertionSlider = document.createElement('input');
Color_InvertionSlider.id = 'Color_InvertionSlider';
Color_InvertionSlider.type = 'range';
Color_InvertionSlider.min = '0';
Color_InvertionSlider.max = '100';
Color_InvertionSlider.step = '1';
Color_InvertionSlider.value = '0';
Color_InvertionSlider.style.width = '200px';
Color_InvertionSlider.style.margin = '-11px 5px 0';
Color_InvertionSlider.style.marginLeft = '1px';
// Change Color_Invertion sliders
Color_InvertionSlider.style.background = '#74e3ff';
Color_InvertionSlider.style.border = 'none';
Color_InvertionSlider.style.height = '5px';
Color_InvertionSlider.style.outline = 'none';
Color_InvertionSlider.style.appearance = 'none';
Color_InvertionSlider.style.webkitAppearance = 'none';
Color_InvertionSlider.style.mozAppearance = 'none';
Color_InvertionSlider.style.msAppearance = 'none';
Color_InvertionSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
Color_InvertionSlider.style.mozSliderThumb = '-moz-slider-thumb';
Color_InvertionSlider.style.msSliderThumb = '-ms-slider-thumb';
Color_InvertionSlider.style.sliderThumb = 'slider-thumb';
//***************************
//*** Video Saturate 💦🎚️ ***
//***************************
// Create the SaturateSlider element
var SaturateSlider = document.createElement('input');
SaturateSlider.id = 'SaturateSlider';
SaturateSlider.type = 'range';
SaturateSlider.min = '0';
SaturateSlider.max = '200';
SaturateSlider.step = '1';
SaturateSlider.value = '100';
SaturateSlider.style.width = '200px';
SaturateSlider.style.margin = '-11px 5px 0';
SaturateSlider.style.marginLeft = '10px';
// Change Saturate sliders
SaturateSlider.style.background = '#74e3ff';
SaturateSlider.style.border = 'none';
SaturateSlider.style.height = '5px';
SaturateSlider.style.outline = 'none';
SaturateSlider.style.appearance = 'none';
SaturateSlider.style.webkitAppearance = 'none';
SaturateSlider.style.mozAppearance = 'none';
SaturateSlider.style.msAppearance = 'none';
SaturateSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
SaturateSlider.style.mozSliderThumb = '-moz-slider-thumb';
SaturateSlider.style.msSliderThumb = '-ms-slider-thumb';
SaturateSlider.style.sliderThumb = 'slider-thumb';
//************************
//*** Video Sepia 🌅🎚️ ***
//************************
// Create the SepiaSlider element
var SepiaSlider = document.createElement('input');
SepiaSlider.id = 'SepiaSlider';
SepiaSlider.type = 'range';
SepiaSlider.min = '0';
SepiaSlider.max = '100';
SepiaSlider.step = '1';
SepiaSlider.value = '0';
SepiaSlider.style.width = '200px';
SepiaSlider.style.margin = '-11px 5px 0';
SepiaSlider.style.marginLeft = '41px';
// Change Sepia sliders
SepiaSlider.style.background = '#74e3ff';
SepiaSlider.style.border = 'none';
SepiaSlider.style.height = '5px';
SepiaSlider.style.outline = 'none';
SepiaSlider.style.appearance = 'none';
SepiaSlider.style.webkitAppearance = 'none';
SepiaSlider.style.mozAppearance = 'none';
SepiaSlider.style.msAppearance = 'none';
SepiaSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
SepiaSlider.style.mozSliderThumb = '-moz-slider-thumb';
SepiaSlider.style.msSliderThumb = '-ms-slider-thumb';
SepiaSlider.style.sliderThumb = 'slider-thumb';
//***************************
//*** Video Rotation 🔄🎚️ ***
//***************************
// Create the Video_RotationSlider element
var Video_RotationSlider = document.createElement('input');
Video_RotationSlider.id = 'Video_RotationSlider';
Video_RotationSlider.type = 'range';
Video_RotationSlider.min = '0';
Video_RotationSlider.max = '360';
Video_RotationSlider.step = '1';
Video_RotationSlider.value = '0';
Video_RotationSlider.style.width = '200px';
Video_RotationSlider.style.margin = '-11px 5px 0';
Video_RotationSlider.style.marginLeft = '22px';
// Change Video_Rotation sliders
Video_RotationSlider.style.background = '#74e3ff';
Video_RotationSlider.style.border = 'none';
Video_RotationSlider.style.height = '5px';
Video_RotationSlider.style.outline = 'none';
Video_RotationSlider.style.appearance = 'none';
Video_RotationSlider.style.webkitAppearance = 'none';
Video_RotationSlider.style.mozAppearance = 'none';
Video_RotationSlider.style.msAppearance = 'none';
Video_RotationSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
Video_RotationSlider.style.mozSliderThumb = '-moz-slider-thumb';
Video_RotationSlider.style.msSliderThumb = '-ms-slider-thumb';
Video_RotationSlider.style.sliderThumb = 'slider-thumb';
//***************************
//*** Video TranslateX ↔️🎚️ ***
//***************************
// Create the Video_TranslateXSlider element
var Video_TranslateXSlider = document.createElement('input');
Video_TranslateXSlider.id = 'Video_TranslateXSlider';
Video_TranslateXSlider.type = 'range';
Video_TranslateXSlider.min = '-7680';
Video_TranslateXSlider.max = '7680';
Video_TranslateXSlider.step = '1';
Video_TranslateXSlider.value = '0';
Video_TranslateXSlider.style.width = '200px';
Video_TranslateXSlider.style.margin = '-11px 5px 0';
Video_TranslateXSlider.style.marginLeft = '7px';
// Change Video_TranslateX sliders
Video_TranslateXSlider.style.background = '#74e3ff';
Video_TranslateXSlider.style.border = 'none';
Video_TranslateXSlider.style.height = '5px';
Video_TranslateXSlider.style.outline = 'none';
Video_TranslateXSlider.style.appearance = 'none';
Video_TranslateXSlider.style.webkitAppearance = 'none';
Video_TranslateXSlider.style.mozAppearance = 'none';
Video_TranslateXSlider.style.msAppearance = 'none';
Video_TranslateXSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
Video_TranslateXSlider.style.mozSliderThumb = '-moz-slider-thumb';
Video_TranslateXSlider.style.msSliderThumb = '-ms-slider-thumb';
Video_TranslateXSlider.style.sliderThumb = 'slider-thumb';
//***************************
//*** Video TranslateY ↕️🎚️ ***
//***************************
// Create the Video_TranslateYSlider element
var Video_TranslateYSlider = document.createElement('input');
Video_TranslateYSlider.id = 'Video_TranslateYSlider';
Video_TranslateYSlider.type = 'range';
Video_TranslateYSlider.min = '-4320';
Video_TranslateYSlider.max = '4320';
Video_TranslateYSlider.step = '1';
Video_TranslateYSlider.value = '0';
Video_TranslateYSlider.style.width = '200px';
Video_TranslateYSlider.style.margin = '-11px 5px 0';
Video_TranslateYSlider.style.marginLeft = '7px';
// Change Video_TranslateY sliders
Video_TranslateYSlider.style.background = '#74e3ff';
Video_TranslateYSlider.style.border = 'none';
Video_TranslateYSlider.style.height = '5px';
Video_TranslateYSlider.style.outline = 'none';
Video_TranslateYSlider.style.appearance = 'none';
Video_TranslateYSlider.style.webkitAppearance = 'none';
Video_TranslateYSlider.style.mozAppearance = 'none';
Video_TranslateYSlider.style.msAppearance = 'none';
Video_TranslateYSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
Video_TranslateYSlider.style.mozSliderThumb = '-moz-slider-thumb';
Video_TranslateYSlider.style.msSliderThumb = '-ms-slider-thumb';
Video_TranslateYSlider.style.sliderThumb = 'slider-thumb';
//************************
//*** Video Scale 🔎🎚️ ***
//************************
// Create the Video_ScaleSlider element
var Video_ScaleSlider = document.createElement('input');
Video_ScaleSlider.id = 'Video_ScaleSlider';
Video_ScaleSlider.type = 'range';
Video_ScaleSlider.min = '1';
Video_ScaleSlider.max = '10';
Video_ScaleSlider.step = '0.1';
Video_ScaleSlider.value = '1';
Video_ScaleSlider.style.width = '200px';
Video_ScaleSlider.style.margin = '-11px 5px 0';
Video_ScaleSlider.style.marginLeft = '42px';
// Change Video_Scale sliders
Video_ScaleSlider.style.background = '#74e3ff';
Video_ScaleSlider.style.border = 'none';
Video_ScaleSlider.style.height = '5px';
Video_ScaleSlider.style.outline = 'none';
Video_ScaleSlider.style.appearance = 'none';
Video_ScaleSlider.style.webkitAppearance = 'none';
Video_ScaleSlider.style.mozAppearance = 'none';
Video_ScaleSlider.style.msAppearance = 'none';
Video_ScaleSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
Video_ScaleSlider.style.mozSliderThumb = '-moz-slider-thumb';
Video_ScaleSlider.style.msSliderThumb = '-ms-slider-thumb';
Video_ScaleSlider.style.sliderThumb = 'slider-thumb';
//**************************
//*** Video ScaleX ◀️▶️🎚️ ***
//**************************
// Create the Video_ScaleXSlider element
var Video_ScaleXSlider = document.createElement('input');
Video_ScaleXSlider.id = 'Video_ScaleXSlider';
Video_ScaleXSlider.type = 'range';
Video_ScaleXSlider.min = '-1';
Video_ScaleXSlider.max = '10';
Video_ScaleXSlider.step = '0.1';
Video_ScaleXSlider.value = '1';
Video_ScaleXSlider.style.width = '200px';
Video_ScaleXSlider.style.margin = '-11px 5px 0';
Video_ScaleXSlider.style.marginLeft = '32px';
// Change Video_ScaleX sliders
Video_ScaleXSlider.style.background = '#74e3ff';
Video_ScaleXSlider.style.border = 'none';
Video_ScaleXSlider.style.height = '5px';
Video_ScaleXSlider.style.outline = 'none';
Video_ScaleXSlider.style.appearance = 'none';
Video_ScaleXSlider.style.webkitAppearance = 'none';
Video_ScaleXSlider.style.mozAppearance = 'none';
Video_ScaleXSlider.style.msAppearance = 'none';
Video_ScaleXSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
Video_ScaleXSlider.style.mozSliderThumb = '-moz-slider-thumb';
Video_ScaleXSlider.style.msSliderThumb = '-ms-slider-thumb';
Video_ScaleXSlider.style.sliderThumb = 'slider-thumb';
//**************************
//*** Video ScaleY 🔼🔽🎚️ ***
//**************************
// Create the Video_ScaleYSlider element
var Video_ScaleYSlider = document.createElement('input');
Video_ScaleYSlider.id = 'Video_ScaleYSlider';
Video_ScaleYSlider.type = 'range';
Video_ScaleYSlider.min = '-1';
Video_ScaleYSlider.max = '10';
Video_ScaleYSlider.step = '0.1';
Video_ScaleYSlider.value = '1';
Video_ScaleYSlider.style.width = '200px';
Video_ScaleYSlider.style.margin = '-11px 5px 0';
Video_ScaleYSlider.style.marginLeft = '32px';
// Change Video_ScaleY sliders
Video_ScaleYSlider.style.background = '#74e3ff';
Video_ScaleYSlider.style.border = 'none';
Video_ScaleYSlider.style.height = '5px';
Video_ScaleYSlider.style.outline = 'none';
Video_ScaleYSlider.style.appearance = 'none';
Video_ScaleYSlider.style.webkitAppearance = 'none';
Video_ScaleYSlider.style.mozAppearance = 'none';
Video_ScaleYSlider.style.msAppearance = 'none';
Video_ScaleYSlider.style.webkitSliderThumb = '-webkit-slider-thumb';
Video_ScaleYSlider.style.mozSliderThumb = '-moz-slider-thumb';
Video_ScaleYSlider.style.msSliderThumb = '-ms-slider-thumb';
Video_ScaleYSlider.style.sliderThumb = 'slider-thumb';
//*****************
//*** Labels 🎚️ ***
//*****************
// Create labels
var LabelEffects0 = document.createElement('label');
LabelEffects0.innerHTML = 'Effects';
LabelEffects0.style.color = 'white';
LabelEffects0.style.fontWeight = 'bold';
LabelEffects0.style.textDecoration = 'underline';
LabelEffects0.style.fontSize = '20px';
var LabelEffects1 = document.createElement('label');
LabelEffects1.innerHTML = 'Blur:';
LabelEffects1.style.color = 'white';
LabelEffects1.style.fontSize = '15px';
var LabelEffects2 = document.createElement('label');
LabelEffects2.innerHTML = 'Brightness:';
LabelEffects2.style.color = 'white';
LabelEffects2.style.fontSize = '15px';
var LabelEffects3 = document.createElement('label');
LabelEffects3.innerHTML = 'Contrast:     ';
LabelEffects3.style.color = 'white';
LabelEffects3.style.fontSize = '15px';
var LabelEffects4 = document.createElement('label');
LabelEffects4.innerHTML = 'Grayscale:';
LabelEffects4.style.color = 'white';
LabelEffects4.style.fontSize = '15px';
var LabelEffects5 = document.createElement('label');
LabelEffects5.innerHTML = 'Hue Rotate:';
LabelEffects5.style.color = 'white';
LabelEffects5.style.fontSize = '15px';
var LabelEffects6 = document.createElement('label');
LabelEffects6.innerHTML = 'Invert Color:';
LabelEffects6.style.color = 'white';
LabelEffects6.style.fontSize = '15px';
var LabelEffects7 = document.createElement('label');
LabelEffects7.innerHTML = 'Saturation:';
LabelEffects7.style.color = 'white';
LabelEffects7.style.fontSize = '15px';
var LabelEffects8 = document.createElement('label');
LabelEffects8.innerHTML = 'Sepia:';
LabelEffects8.style.color = 'white';
LabelEffects8.style.fontSize = '15px';
var LabelEffects9 = document.createElement('label');
LabelEffects9.innerHTML = 'Rotation:';
LabelEffects9.style.color = 'white';
LabelEffects9.style.fontSize = '15px';
var LabelEffects10 = document.createElement('label');
LabelEffects10.innerHTML = 'TranslateX:';
LabelEffects10.style.color = 'white';
LabelEffects10.style.fontSize = '15px';
var LabelEffects11 = document.createElement('label');
LabelEffects11.innerHTML = 'TranslateY:';
LabelEffects11.style.color = 'white';
LabelEffects11.style.fontSize = '15px';
var LabelEffects12 = document.createElement('label');
LabelEffects12.innerHTML = 'Scale:';
LabelEffects12.style.color = 'white';
LabelEffects12.style.fontSize = '15px';
var LabelEffects13 = document.createElement('label');
LabelEffects13.innerHTML = 'ScaleX:';
LabelEffects13.style.color = 'white';
LabelEffects13.style.fontSize = '15px';
var LabelEffects14 = document.createElement('label');
LabelEffects14.innerHTML = 'ScaleY:';
LabelEffects14.style.color = 'white';
LabelEffects14.style.fontSize = '15px';
//**********************
//*** reset button 🔄 ***
//**********************
// Create button
var ResetEffectsButton = document.createElement('button');
// Button size
ResetEffectsButton.style.position = 'fixed';
ResetEffectsButton.style.width = '180px';
ResetEffectsButton.style.height = '25px';
// Button text
ResetEffectsButton.textContent = 'Reset';
ResetEffectsButton.style.fontSize = '16px';
// Button text style
ResetEffectsButton.style.color = '#303236';
ResetEffectsButton.style.textAlign = 'center';
ResetEffectsButton.addEventListener('click', function() {
BlurSlider.value = '0';
BrightnessSlider.value = '100';
ContrastSlider.value = '100';
GrayscaleSlider.value = '0';
Hue_RotationSlider.value = '0';
Color_InvertionSlider.value = '0';
SaturateSlider.value = '100';
SepiaSlider.value = '0';
Video_RotationSlider.value = '0';
Video_TranslateXSlider.value = '0';
Video_TranslateYSlider.value = '0';
Video_ScaleSlider.value = '1';
Video_ScaleXSlider.value = '1';
Video_ScaleYSlider.value = '1';
const videos = document.querySelectorAll('video');
// Loop through each video and reset effects
videos.forEach(video => {
video.style.filter = 'blur(' + BlurSlider.value + 'px) brightness(' + BrightnessSlider.value + '%) contrast(' + ContrastSlider.value + '%) grayscale(' + GrayscaleSlider.value + '%) hue-rotate(' + Hue_RotationSlider.value + 'deg) invert(' + Color_InvertionSlider.value + '%) saturate(' + SaturateSlider.value + '%) sepia(' + SepiaSlider.value + '%)';
video.style.transform = 'rotate(' + Video_RotationSlider.value + 'deg) translateX(' + Video_TranslateXSlider.value + 'px) translateY(' + Video_TranslateYSlider.value + 'px) scale(' + Video_ScaleSlider.value + ') scaleX(' + Video_ScaleXSlider.value + ') scaleY(' + Video_ScaleYSlider.value + ')';
});
});
ResetEffectsButton.style.backgroundColor = 'white';
ResetEffectsButton.style.border = '1px solid grey';
// Button position in panel
ResetEffectsButton.style.position = 'absolute';
ResetEffectsButton.style.left = '50%';
ResetEffectsButton.style.transform = 'translate(-50%, -50%)';
//*************************
//***    Donation 💳   ***
//*************************
// Create button
var DonationEffectsButton = document.createElement('button');
// Button size
DonationEffectsButton.style.position = 'fixed';
DonationEffectsButton.style.width = '180px';
DonationEffectsButton.style.height = '25px';
// Button text
DonationEffectsButton.textContent = '💳Please support me!🤗';
DonationEffectsButton.style.fontSize = '16px';
// Button text style
DonationEffectsButton.style.color = '#303236';
DonationEffectsButton.style.textAlign = 'center';
// Go to donation webpage
DonationEffectsButton.addEventListener('click', function() {GM_openInTab("https://greasyfork.org/ru/scripts/482237-testertv-youtube-effects");});
DonationEffectsButton.style.backgroundColor = 'white';
DonationEffectsButton.style.border = '1px solid grey';
// Button position in panel
DonationEffectsButton.style.position = 'absolute';
DonationEffectsButton.style.left = '50%';
DonationEffectsButton.style.transform = 'translate(-50%, -50%)';
//****************
//*** Panel 🎚️ ***
//****************
// Create the panel
var EffectsPanel = document.createElement('div');
EffectsPanel.id = 'EffectsPanel';
EffectsPanel.style.position = 'fixed';
EffectsPanel.style.top = '50%';
EffectsPanel.style.left = '50%';
EffectsPanel.style.transform = 'translate(-50%, -50%)';
EffectsPanel.style.backgroundColor = "rgba(0, 0, 0, 0.5)";
EffectsPanel.style.padding = '10px';
EffectsPanel.style.border = '1px solid grey';
EffectsPanel.style.display = 'block';
EffectsPanel.style.zIndex = '9999';
// Append the labels, dropdowns and donation button to the Panel
EffectsPanel.appendChild(LabelEffects0);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects1);
EffectsPanel.appendChild(BlurSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects2);
EffectsPanel.appendChild(BrightnessSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects3);
EffectsPanel.appendChild(ContrastSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects4);
EffectsPanel.appendChild(GrayscaleSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects5);
EffectsPanel.appendChild(Hue_RotationSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects6);
EffectsPanel.appendChild(Color_InvertionSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects7);
EffectsPanel.appendChild(SaturateSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects8);
EffectsPanel.appendChild(SepiaSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects9);
EffectsPanel.appendChild(Video_RotationSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects10);
EffectsPanel.appendChild(Video_TranslateXSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects11);
EffectsPanel.appendChild(Video_TranslateYSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects12);
EffectsPanel.appendChild(Video_ScaleSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects13);
EffectsPanel.appendChild(Video_ScaleXSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(LabelEffects14);
EffectsPanel.appendChild(Video_ScaleYSlider);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(ResetEffectsButton);
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(document.createElement('br'));
EffectsPanel.appendChild(DonationEffectsButton);
EffectsPanel.appendChild(document.createElement('br'));
// Append the Panel to the body
document.body.appendChild(EffectsPanel);
//********************************************************************************************************************
//***                                     Listener event - Effects sliders👂                                         ***
//********************************************************************************************************************
//*************************************
//*** Video Color mode sliders 🎨🎚️ ***
//*************************************
// Add an event listener to update the effects when either slider value changes
document.addEventListener('input', function(event) {
// Check if the event target is one of the sliders
const sliders = [BlurSlider, BrightnessSlider, ContrastSlider, GrayscaleSlider, Hue_RotationSlider, Color_InvertionSlider, SaturateSlider, SepiaSlider];
if (sliders.includes(event.target)) {
// Select all video elements on the page
const videos = document.querySelectorAll('video');
// Loop through each video and apply the blur and brightness effects
videos.forEach(video => {
video.style.filter = 'blur(' + BlurSlider.value + 'px) brightness(' + BrightnessSlider.value + '%) contrast(' + ContrastSlider.value + '%) grayscale(' + GrayscaleSlider.value + '%) hue-rotate(' + Hue_RotationSlider.value + 'deg) invert(' + Color_InvertionSlider.value + '%) saturate(' + SaturateSlider.value + '%) sepia(' + SepiaSlider.value + '%)';
});
}
});
//*********************************************
//*** Video Transformation mode slider 🔄🎚️ ***
//*********************************************
// Add an event listener to update the effects when either slider value changes
document.addEventListener('input', function(event) {
// Check if the event target is one of the sliders
const sliders = [Video_RotationSlider, Video_TranslateXSlider, Video_TranslateYSlider, Video_ScaleSlider, Video_ScaleXSlider, Video_ScaleYSlider];
if (sliders.includes(event.target)) {
// Select all video elements on the page
const videos = document.querySelectorAll('video');
// Loop through each video and apply the blur and brightness effects
videos.forEach(video => {
video.style.transform = 'rotate(' + Video_RotationSlider.value + 'deg) translateX(' + Video_TranslateXSlider.value + 'px) translateY(' + Video_TranslateYSlider.value + 'px) scale(' + Video_ScaleSlider.value + ') scaleX(' + Video_ScaleXSlider.value + ') scaleY(' + Video_ScaleYSlider.value + ')';
});
}
});
//********************************************************************************************************************
//***                                             Listener event 👂                                                ***
//********************************************************************************************************************
//*********************
//*** Hide Panel 👀 ***
//*********************
// Add click event listener to the panel...
EffectsPanel.addEventListener("click", function(event) {
// Stop the event propagation to prevent hiding the panel
event.stopPropagation();
});
// Add click event listener to the document...
document.addEventListener("click", function(event) {
// Check if the clicked element is not the ButtonEffects or the EffectsPanel itself
if (event.target !== ButtonEffects && event.target !== EffectsPanel) {
// Hide the EffectsPanel
EffectsPanel.style.display = 'none';
}
});
});
//********************************************************************************************************************
//***                                Listener event - Button click ⏩👂                                          ***
//********************************************************************************************************************
// Add an event listener to check if the user has pressed the forward button
ButtonEffects.addEventListener("click", function(event) {
ButtonEffects.style.border = "3px solid rgba(255, 0, 0, 0.5)";
if (ButtonEffects) {
setTimeout(function() {
ButtonEffects.style.border = "3px solid rgba(0, 0, 0, 0)";
}, 150);
}
if (ButtonEffects) {
setTimeout(function() {
ButtonEffects.style.border = "3px solid #74e3ff";
}, 150);
}
});
//********************************************************************************************************************
//***                                Listener event - Button mouseover ⏩👂                                        ***
//********************************************************************************************************************
// Add mouseover event listener to the button...
ButtonEffects.addEventListener('mouseover', function(event) {
ButtonEffects.style.border = "3px solid #74e3ff";
});
// Add mouseover event listener to the button...
ButtonEffects.addEventListener('mouseleave', function(event) {
ButtonEffects.style.border = "3px solid rgba(0, 0, 0, 0)";
});
}//window isn't an iframe
}