diff --git a/src/main/base/store.ts b/src/main/base/store.ts index cd7fe219..c5ba0473 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -27,7 +27,7 @@ export class ConfigStore { "volume": 1, "lastVolume": 1, "muted": false, - "quality": "990", + "quality": "256", "seamless_audio": true, "normalization": false, "spatial": false, @@ -51,16 +51,9 @@ export class ConfigStore { } }, "equalizer": { - '60' : 0, - '170': 0 , - '310': 0 , - '600': 0 , - '1000': 0 , - '3000': 0 , - '6000': 0 , - '12000': 0 , - '14000': 0 , - '16000': 0 , + 'frequencies': [32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000], + 'gain': [0,0,0,0,0,0,0,0,0,0], + 'Q' : [1,1,1,1,1,1,1,1,1,1] } }, "visual": { diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 6697d908..aa2ebd16 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -94,13 +94,15 @@ var CiderAudio = { } }, equalizer: function (){ - const BANDS = [60, 170, 310, 600, 1000, 3000, 6000, 12000, 14000, 16000]; + let BANDS = app.cfg.audio.equalizer.frequencies; + let GAIN = app.cfg.audio.equalizer.gain; + let Q = app.cfg.audio.equalizer.Q; CiderAudio.audioNodes.audioBands = {}; BANDS.forEach((band, i) => { const filter = CiderAudio.context.createBiquadFilter(); - CiderAudio.audioNodes.audioBands[band] = filter; + CiderAudio.audioNodes.audioBands[i] = filter; if (i === 0) { // The first filter, includes all lower frequencies @@ -111,8 +113,9 @@ var CiderAudio = { } else { filter.type = "peaking"; } - filter.frequency.value = band; - filter.gain.value = 0; + filter.frequency.value = BANDS[i]; + filter.gain.value = GAIN[i]; + filter.Q.value = Q[i]; if (i == 0){ if (app.cfg.audio.spatial) { CiderAudio.audioNodes.spatialNode.output.disconnect(CiderAudio.context.destination); @@ -122,10 +125,10 @@ var CiderAudio = { CiderAudio.audioNodes.gainNode.connect(filter); } } else if (i === BANDS.length - 1) { - CiderAudio.audioNodes.audioBands[BANDS[i - 1]].connect(filter); + CiderAudio.audioNodes.audioBands[i - 1].connect(filter); } else { - CiderAudio.audioNodes.audioBands[BANDS[i - 1]].connect(filter); - filter.connect(CiderAudio.context.destination); + CiderAudio.audioNodes.audioBands[i - 1].connect(filter); + filter.connect(CiderAudio.context.destination); } }); diff --git a/src/renderer/style.less b/src/renderer/style.less index 934c1330..b09f9818 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -5701,10 +5701,10 @@ body.no-gpu { .equalizer-panel { .modal-window { - height: 300px; - max-height: 300px; - width: 400px; - max-width: 400px; + height: 330px; + max-height: 330px; + width: 630px; + max-width: 630px; overflow: hidden; .info-header { @@ -5751,20 +5751,34 @@ body.no-gpu { display: block; .input-container{ display: inline-grid; - width: 35px; + width: 52px; justify-items: center; font-size: 0.7em; } + .freq-header{ + margin-bottom: 2px; + } + .reset-button{ width: 50%; margin-left: 25%; } + input.eq-slider { + -webkit-appearance: slider-vertical; + width: 5%; + } + input[type="number"]{ + padding: unset; + width: 55px; + } + .header input.eq-slider { + -webkit-appearance: slider-vertical; + width: 5%; + opacity: 0; + } } } } -input.eq-slider { - -webkit-appearance: slider-vertical; - width: 5%; -} + @import url("less/compact.less"); diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs index 5ae27962..0a8534c5 100644 --- a/src/renderer/views/components/equalizer.ejs +++ b/src/renderer/views/components/equalizer.ejs @@ -8,55 +8,71 @@