diff --git a/src/main/base/store.ts b/src/main/base/store.ts index c97989cb..7a15af84 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -40,6 +40,7 @@ export class Store { "analogWarmth": false, "analogWarmth_value": 1.25, "spatial": false, + "spatialType": 0, "vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts 'multiplier': 0, 'frequencies': [17.182, 42.169, 53.763, 112.69, 119.65, 264.59, 336.57, 400.65, 505.48, 612.7, 838.7, 1155.3, 1175.6, 3406.8, 5158.6, 5968.1, 6999.9, 7468.6, 8862.9, 9666, 10109], diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index e3b2f6fe..977fe73e 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -83,12 +83,31 @@ var CiderAudio = { spatialOn: function (){ if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.audioNodes.spatialNode = CiderAudio.context.createConvolver(); - - fetch('./audio/impulses/CiderSpatial_Conv.wav').then(async (impulseData) => { - let bufferedImpulse = await impulseData.arrayBuffer(); - CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); - - }); + + switch (app.cfg.audio.maikiwiAudio.spatialType) { + case 0: + fetch('./audio/impulses/CiderSpatial_Conv.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + + }); + break; + case 1: + fetch('./audio/impulses/CiderSpatial_Conv.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + + }); + break; + default: + fetch('./audio/impulses/CiderSpatial_Conv.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + + }); + app.cfg.audio.maikiwiAudio.spatialType = 0; + break; + } CiderAudio.audioNodes.spatialNode.normalize = true; CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination); } diff --git a/src/renderer/views/components/audio-settings.ejs b/src/renderer/views/components/audio-settings.ejs index 013f9ea1..a63c0de4 100644 --- a/src/renderer/views/components/audio-settings.ejs +++ b/src/renderer/views/components/audio-settings.ejs @@ -23,7 +23,7 @@