diff --git a/src/main/base/store.ts b/src/main/base/store.ts index b703ff3e..7e2aa3b2 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -57,7 +57,7 @@ export class Store { "ciderPPE": false, "ciderPPE_value": "NATURAL", "analogWarmth": false, - "analogWarmth_value": 1.25, + "analogWarmth_value": "SMOOTH", "spatial": false, "spatialProfile": "420signature-B", "vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 2ea0877d..3d53dbe6 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -288,14 +288,39 @@ const CiderAudio = { let WARMTH_Q = [0.442, 3.536, 2.102, 8.409, 0.625, 16.82, 5, 2.973, 3.536, 2.5, 2.5, 11.89, 0.625, 1.487, 1.153, 5, 5.453, 5, 2.973, 3.386, 3.386, 14.14, 8.409]; CiderAudio.audioNodes.analogWarmth = [] - - for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) { - CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter(); - CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking'; - CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i]; - CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i]; - CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * app.cfg.audio.maikiwiAudio.analogWarmth_value; + switch (app.cfg.audio.maikiwiAudio.analogWarmth_value) { + case "SMOOTH": + for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) { + CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter(); + CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking'; + CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i]; + CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i]; + CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25; + } + break; + + case "WARM": + for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) { + CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter(); + CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking'; + CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i]; + CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i]; + CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.75; + } + break; + + default: + for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) { + CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter(); + CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking'; + CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i]; + CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i]; + CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25; + } + app.cfg.audio.maikiwiAudio.analogWarmth_value = "SMOOTH"; + break; } + for (let i = 1; i < WARMTH_FREQUENCIES.length; i ++) { CiderAudio.audioNodes.analogWarmth[i-1].connect(CiderAudio.audioNodes.analogWarmth[i]); diff --git a/src/renderer/views/pages/audiolabs.ejs b/src/renderer/views/pages/audiolabs.ejs index 9c1da93a..bf31c675 100644 --- a/src/renderer/views/pages/audiolabs.ejs +++ b/src/renderer/views/pages/audiolabs.ejs @@ -1,103 +1,83 @@ \ No newline at end of file diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 692b6ea1..7489f403 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -122,7 +122,7 @@ {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization.description')}}