AudioHTML/eq.html

622 lines
40 KiB
HTML
Raw Normal View History

2023-11-03 00:47:21 +08:00
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/app.css" rel="stylesheet">
<link href="css/roundslider.min.css" rel="stylesheet">
<script src="js/jquery-3.7.1.js"></script>
<script src="js/roundslider.min.js"></script>
</head>
<body class="h-100 text-center text-bg-dark content-warp">
<div class="d-flex w-100 h-100 mx-auto flex-column">
<header class="mb-auto pb-5">
<div class="dotblock d-flex justify-content-between px-5 py-4">
<div class="fs-3">GEAZAN</div>
<div></div>
</div>
<div class="d-flex justify-content-center fw-bold border-black nav">
<div class="">
<a href="home.html">HOME</a>
</div>
<div class=""><a href="filter.html">FILTER</a></div>
<div class=""><a href="fs.html">FS</div>
<div class="active"><a href="eq.html">EQ</a></div>
<div class=""><a href="ducking.html">DUCKING</a></div>
<div class=""><a href="network.html">NETWORK</a></div>
<div class="">
<a href="security.html">SECURITY</a>
</div>
<div class=""><a href="control.html">CONTROL</a></div>
<div class="last "><a href="system.html">SYSTEM</a></div>
</div>
</header>
<main class="px-3 d-flex justify-content-center">
<div class="content-container">
<div class="d-flex">
<div class="me-3"
style="border-left: 2px solid #000;border-right: 2px solid #000;border-bottom: 2px solid #000;">
<div class="divider">
<div class="divider-text"><span class="fw-bold">Equalizer</span></div>
</div>
<div class="p-3 d-flex justify-content-center">
<div class="d-flex">
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
<div class="me-3">
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Threshold
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
<input class="slider-value" style="width: 55px;" />
</div>
</div>
</div>
</div>
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
<div class="me-3">
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Attack
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
<input class="slider-value" style="width: 55px;" />
</div>
</div>
</div>
</div>
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
<div class="me-3">
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Hold
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
<input class="slider-value" style="width: 55px;" />
</div>
</div>
</div>
</div>
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
<div class="me-3">
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Release
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
<input class="slider-value" style="width: 55px;" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="mb-3">
<div class="d-flex justify-content-center align-items-center" style="height: 30px;">
<div class="d-flex redio-switche">
<input type="radio" class="btn-check" name="input1" id="inline1-on"
autocomplete="off">
<label class="btn btn-sm redio-btn on-btn" for="inline1-on">ON</label>
<input type="radio" class="btn-check" name="input1" id="inline1-off"
autocomplete="off">
<label class="btn btn-sm redio-btn off-btn" for="inline1-off">OFF</label>
</div>
</div>
</div>
</div>
<div class="me-3"
style="border-left: 2px solid #000;border-right: 2px solid #000;border-bottom: 2px solid #000;">
<div class="divider">
<div class="divider-text"><span class="fw-bold">Equalizer</span></div>
</div>
<div class="p-3 d-flex justify-content-center">
<div class="d-flex">
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
<div class="me-3">
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Threshold
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
<input class="slider-value" style="width: 55px;" />
</div>
</div>
</div>
</div>
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
<div class="me-3">
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Attack
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
<input class="slider-value" style="width: 55px;" />
</div>
</div>
</div>
</div>
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
<div class="me-3">
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Hold
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
<input class="slider-value" style="width: 55px;" />
</div>
</div>
</div>
</div>
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
<div class="me-3">
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Release
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
<input class="slider-value" style="width: 55px;" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="mb-3">
<div class="d-flex justify-content-center align-items-center" style="height: 30px;">
<div class="d-flex redio-switche">
<input type="radio" class="btn-check" name="input1" id="inline1-on"
autocomplete="off">
<label class="btn btn-sm redio-btn on-btn" for="inline1-on">ON</label>
<input type="radio" class="btn-check" name="input1" id="inline1-off"
autocomplete="off">
<label class="btn btn-sm redio-btn off-btn" for="inline1-off">OFF</label>
</div>
</div>
</div>
</div>
</div>
<div class="row d-flex">
</div>
</div>
</main>
<footer class="mt-auto text-white-50">
<div class="dotblock d-flex justify-content-between px-5 py-4">
<div class="">Geazan</div>
<div>www.geazan.com</div>
</div>
</footer>
</div>
</body>
<script>
let app = (() => {
function updateSlider(element) {
if (element) {
let parent = element.parentElement,
lastValue = parent.getAttribute('data-slider-value');
let container = parent.parentElement.parentElement.parentElement.parentElement;
console.log(`${lastValue}===${element.value}}`)
// if (lastValue === element.value) {
// return; // No value change, no need to update then
// }
parent.setAttribute('data-slider-value', element.value);
let $thumb = parent.querySelector('.range-slider-thumb'),
$bar = parent.querySelector('.range-slider-bar'),
$value = container.querySelector('.slider-value')
console.log(`${element.value},${parent.clientHeight},${$thumb.clientHeight}}`)
console.log(`===${((parent.clientHeight - $thumb.clientHeight) / parent.clientHeight)}===`)
pct = element.value * ((parent.clientHeight - $thumb.clientHeight) / parent.clientHeight);
$thumb.style.bottom = `${pct}%`;
$bar.style.height = `calc(${pct}% + ${$thumb.clientHeight / 2}px)`;
$value.value = `${((element.value * (60 / 100)) - 60).toFixed(1)}dB`;
}
}
return {
updateSlider: updateSlider
};
})();
(function initAndSetupTheSliders() {
const inputs = [].slice.call(document.querySelectorAll('.volume-slider-container .volume-slider input'));
inputs.forEach(input => input.setAttribute('value', '50'));
inputs.forEach(input => app.updateSlider(input));
// Cross-browser support where value changes instantly as you drag the handle, therefore two event types.
inputs.forEach(input => input.addEventListener('input', element => app.updateSlider(input)));
inputs.forEach(input => input.addEventListener('change', element => app.updateSlider(input)));
})();
$("#handle1").roundSlider({
sliderType: "min-range",
editableTooltip: false,
radius: 60,
width: 10,
value: 0,
handleSize: 0,
handleShape: "square",
circleShape: "pie",
startAngle: 315,
tooltipFormat: "changeTooltip",
mouseScrollAction: true
});
function changeTooltip(e) {
var val = e.value, speed;
// if (val < 20) speed = "Slow";
// else if (val < 40) speed = "Normal";
// else if (val < 70) speed = "Speed";
// else speed = "Very Speed";
// return val + " km/h" + "<div>" + speed + "<div>";
}
</script>
</html>