From b54ad6fe22becbb521a45d069e65018efbe76f23 Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Sun, 27 Nov 2022 06:04:57 +0100 Subject: [PATCH] HTMLMediaElement: Add logarithmic volume controls --- assets/HTMLMediaElement.mjs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 assets/HTMLMediaElement.mjs diff --git a/assets/HTMLMediaElement.mjs b/assets/HTMLMediaElement.mjs new file mode 100644 index 0000000..7e8c3d2 --- /dev/null +++ b/assets/HTMLMediaElement.mjs @@ -0,0 +1,15 @@ +'use strict'; + +(function() { + // Used by PulseAudio, sounds good enough. + const EXPONENT = 3; + + Object.defineProperty(HTMLMediaElement.prototype, 'logVolume', { + get () { + return this.volume ** (1 / EXPONENT); + }, + set (originalVolume) { + this.volume = originalVolume ** EXPONENT; + } + }); +})();