From f7ad525f08ed9fd4898da26af147c87b892fb966 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 29 Jan 2022 17:28:05 -0800 Subject: [PATCH 1/8] why tf is this flipped --- src/renderer/views/pages/settings.ejs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 69f2a63e..d5081e59 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -560,8 +560,7 @@ From 67e578c4185b59b7d72f57dc712447c8c3a02fa5 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 29 Jan 2022 19:25:13 -0800 Subject: [PATCH 2/8] Revert "why tf is this flipped" This reverts commit f7ad525f08ed9fd4898da26af147c87b892fb966. --- src/renderer/views/pages/settings.ejs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index d5081e59..69f2a63e 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -560,7 +560,8 @@ From 00b16bfd4765152d11d4893b8ae642aa5268a8b7 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 30 Jan 2022 13:39:27 -0800 Subject: [PATCH 3/8] i18n term.audioSettings --- src/i18n/ja_JP.jsonc | 1 + src/i18n/zh_CN.jsonc | 1 + src/i18n/zh_TW.jsonc | 1 + 3 files changed, 3 insertions(+) diff --git a/src/i18n/ja_JP.jsonc b/src/i18n/ja_JP.jsonc index 33ca832c..cd3bc171 100644 --- a/src/i18n/ja_JP.jsonc +++ b/src/i18n/ja_JP.jsonc @@ -98,6 +98,7 @@ "term.time.second": "秒", "term.fullscreenView": "全画面表示", "term.defaultView": "ウィンドウ表示", + "term.audioSettings": "オーディオ設定", "term.spacializedAudioSetting": "オーディオ空間化設定", "term.clearAll": "消去", "term.recentStations": "最近の再生", diff --git a/src/i18n/zh_CN.jsonc b/src/i18n/zh_CN.jsonc index 4052ab9e..520083c1 100644 --- a/src/i18n/zh_CN.jsonc +++ b/src/i18n/zh_CN.jsonc @@ -98,6 +98,7 @@ "term.time.second": "秒", "term.fullscreenView": "全屏", "term.defaultView": "默认", + "term.audioSettings": "音频设置", "term.spacializedAudioSetting": "音频空间化设置", "term.clearAll": "清空", "term.recentStations": "最近播放的频道", diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index 8464491c..3f78c5d8 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -98,6 +98,7 @@ "term.time.second": "秒", "term.fullscreenView": "全螢幕顯示", "term.defaultView": "預設顯示", + "term.audioSettings": "音訊設定", "term.spacializedAudioSetting": "音頻空間化設置", "term.clearAll": "清空", "term.recentStations": "最近收聽的廣播", From f115cb742215e1eda886ead75a0e825d911f40fa Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 30 Jan 2022 13:50:33 -0800 Subject: [PATCH 4/8] its unlove not unload @vapormusic --- src/renderer/views/components/mediaitem-list-item.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs index 8e29e275..afd54109 100644 --- a/src/renderer/views/components/mediaitem-list-item.ejs +++ b/src/renderer/views/components/mediaitem-list-item.ejs @@ -305,7 +305,7 @@ "icon": "./assets/feather/heart.svg", "id": "unlove", "active": true, - "name": this.app.getLz('action.unload'), + "name": this.app.getLz('action.unlove'), "hidden": true, "action": function () { app.unlove(self.item) From dae00d4501f69f279b1120c507f5855294e81420 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 30 Jan 2022 16:01:31 -0800 Subject: [PATCH 5/8] BROKEN DO NOT USE --- src/main/base/store.ts | 7 ++++++ src/renderer/audio/audio.js | 23 ++++++++++++++++-- src/renderer/views/components/equalizer.ejs | 27 +++++++++++++++++---- 3 files changed, 50 insertions(+), 7 deletions(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index a1f067b6..55d00f53 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -62,8 +62,15 @@ export class ConfigStore { 'Q' : [1,1,1,1,1,1,1,1,1,1], 'preamp' : 0, 'mix' : 1, + 'vibrantBass' : 0, 'presets': [], 'userGenerated': false + }, + "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], + 'Q': [2.5, 0.388, 5, 5, 2.5, 7.071, 14.14, 10, 7.071, 14.14, 8.409, 0.372, 7.071, 10, 16.82, 7.071, 28.28, 20, 8.409, 40, 40], + 'gain': [-0.34, 2.49, 0.23, -0.49, 0.23, -0.12, 0.32, -0.29, 0.33, 0.19, -0.18, -1.27, -0.11, 0.25, -0.18, -0.53, 0.34, 1.32, 1.78, 0.41, -0.28] } }, "visual": { diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 948a4d7a..c5c10da1 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -7,6 +7,7 @@ var CiderAudio = { spatialInput: null, audioBands : null, preampNode : null, + vibrantbassNode: null, }, init: function (cb = function () { }) { //AudioOutputs.fInit = true; @@ -28,6 +29,7 @@ var CiderAudio = { try{ CiderAudio.audioNodes.spatialNode.disconnect();} catch(e){} try{ CiderAudio.audioNodes.preampNode.disconnect(); + CiderAudio.audioNodes.vibrantbassNode.disconnect(); CiderAudio.audioNodes.audioBands[0].disconnect(); CiderAudio.audioNodes.audioBands[9].disconnect(); } catch(e){} @@ -104,7 +106,10 @@ var CiderAudio = { let BANDS = app.cfg.audio.equalizer.frequencies; let GAIN = app.cfg.audio.equalizer.gain; let Q = app.cfg.audio.equalizer.Q; - CiderAudio.audioNodes.audioBands = []; + let VIBRANTBASSBANDS = app.cfg.audio.vibrantBass.frequencies; + let VIBRANTBASSGAIN = app.cfg.audio.vibrantBass.gain; + let VIBRANTBASSQ = app.cfg.audio.vibrantBass.Q; + CiderAudio.audioNodes.audioBands = []; CiderAudio.audioNodes.vibrantbassNode = []; for (i = 0; i < BANDS.length; i++) { CiderAudio.audioNodes.audioBands[i] = CiderAudio.context.createBiquadFilter(); @@ -119,6 +124,14 @@ var CiderAudio = { CiderAudio.audioNodes.preampNode.frequency.value = 0; // allow all CiderAudio.audioNodes.preampNode.gain.value = app.cfg.audio.equalizer.preamp; + for (i = 0; i < VIBRANTBASSBANDS.length; i++) { + CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter(); + CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking'; + CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i]; + CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i]; + CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * app.cfg.audio.vibrantBass.multiplier; + } + if (app.cfg.audio.spatial) { try{ CiderAudio.audioNodes.spatialNode.output.disconnect(CiderAudio.context.destination); } catch(e){} @@ -129,7 +142,13 @@ var CiderAudio = { CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.preampNode); } - CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.audioBands[0]); + CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + CiderAudio.audioNodes.vibrantbassNode.connect(CiderAudio.audioNodes.audioBands[0]); + + for (i = 1; i < VIBRANTBASSBANDS.length; i ++) { + CiderAudio.audioNodes.vibrantbassNode[i-1].connect(CiderAudio.audioNodes.vibrantbassNode[i]); + } + CiderAudio.audioNodes.vibrantbassNode[VIBRANTBASSBANDS.length-1].connect(CiderAudio.audioNodes.audioBands[0]); for (i = 1; i < BANDS.length; i ++) { CiderAudio.audioNodes.audioBands[i-1].connect(CiderAudio.audioNodes.audioBands[i]); diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs index 793d3d3b..9323cbe4 100644 --- a/src/renderer/views/components/equalizer.ejs +++ b/src/renderer/views/components/equalizer.ejs @@ -19,9 +19,9 @@
- {{$root.cfg.audio.equalizer.smoothbass}} - - Smooth Bass + {{$root.cfg.audio.equalizer.vibrantbass}} + + Vibrant Bass
@@ -140,6 +140,7 @@ 'Q': [1, 0.7, 1, 1.5, 1, 1, 1, 2, 1, 1], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { 'preset': 'boostBrightness', @@ -149,6 +150,7 @@ 'Q': [1, 1, 1, 1, 0.6, 1, 1, 1, 1, 0.1], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { 'preset': 'acoustic', @@ -158,6 +160,7 @@ 'Q': [1, 0.2, 1, 2.0, 1.4, 1, 1, 1, 0.1, 1], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { 'preset': 'clearVocal', @@ -167,6 +170,7 @@ 'Q': [0.3, 1, 1, 1, 2.0, 1, 0.7, 1, 1, 0.8], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { 'preset': 'instrumentClarity', @@ -176,6 +180,7 @@ 'Q': [0.5, 1, 2, 1, 1, 1, 1, 1.5, 0.1, 1], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { 'preset': 'reduceHarshness', @@ -185,6 +190,7 @@ 'Q': [1, 1, 1, 1, 1, 2, 1, 1, 1, 1], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { 'preset': 'smileyFace', @@ -194,16 +200,18 @@ 'Q': [0.1, 1, 1, 1, 1, 0.6, 1, 1, 1, 0.2], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { - 'preset': 'bassBoostCrystal', - 'name': 'Crystal Bass Boost', + 'preset': 'bassBoostGentle', + 'name': 'Gentle Bass Boost', 'frequencies': [45.53,88.06,116.18,161.3,247.05,295.6,365.79,495.13,716.85,960.76], 'gain': [-0.36,4.07,-1.3,1.92,0.77,-0.53,-1.33,0.44,0.46,-0.5], 'Q': [1.768,0.625,5,8.409,10,16.82,5.946,7.071,20,10], 'preamp': -2, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { @@ -214,6 +222,7 @@ 'Q': [1.4, 1.4, 1.4, 1.4, 1.4, 1, 1, 1, 1, 1], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }, { 'preset': 'bassBoostClassic', @@ -223,6 +232,7 @@ 'Q': [0.7, 0.7, 0.7, 0.7, 0.7, 1, 1, 1, 1, 1], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, 'userGenerated': false }] } @@ -307,6 +317,9 @@ close() { app.resetState() }, + changeVibrantBass() { + app.cfg.audio.vibrantBass.multiplier = app.cfg.audio.equalizer.vibrantBass / 10 + }, changePreamp() { CiderAudio.audioNodes.preampNode.gain.value = app.cfg.audio.equalizer.preamp; }, @@ -331,6 +344,7 @@ 'Q': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 'preamp': 0, 'mix': 1, + 'vibrantBass': 0, }) if (app.cfg.audio.equalizer.userGenerated) { this.saveSelectedPreset() @@ -348,6 +362,7 @@ newPreset.Q = eqSettings.Q newPreset.preamp = eqSettings.preamp newPreset.mix = eqSettings.mix + newPreset.vibrantBass = eqSettings.vibrantBass app.cfg.audio.equalizer.presets.push(newPreset) notyf.success("Added Preset") self.changePreset(newPreset.preset) @@ -365,11 +380,13 @@ preset.Q = app.cfg.audio.equalizer.Q preset.preamp = app.cfg.audio.equalizer.preamp preset.mix = app.cfg.audio.equalizer.mix + preset.vibrantBass = app.cfg.audio.equalizer.vibrantBass notyf.success("Saved Preset") }, applyPreset(preset) { Object.assign(this.$root.cfg.audio.equalizer, preset) this.changePreamp() + this.changeVibrantBass() for (var i = 0; i < 10; i++) { this.changeGain(i) this.changeFreq(i) From 1c5d2a7c00f50585f66356a6bb3bfed0df94ff06 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 30 Jan 2022 16:06:38 -0800 Subject: [PATCH 6/8] oops --- src/renderer/views/components/equalizer.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs index 9323cbe4..91ac2d30 100644 --- a/src/renderer/views/components/equalizer.ejs +++ b/src/renderer/views/components/equalizer.ejs @@ -19,7 +19,7 @@
- {{$root.cfg.audio.equalizer.vibrantbass}} + {{$root.cfg.audio.equalizer.vibrantBass}} Vibrant Bass
From f8a4e831423db8477987b1503fec85f701497a9b Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 30 Jan 2022 16:50:35 -0800 Subject: [PATCH 7/8] vapor said so --- src/renderer/audio/audio.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index c5c10da1..56b2ad01 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -143,7 +143,6 @@ var CiderAudio = { } CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - CiderAudio.audioNodes.vibrantbassNode.connect(CiderAudio.audioNodes.audioBands[0]); for (i = 1; i < VIBRANTBASSBANDS.length; i ++) { CiderAudio.audioNodes.vibrantbassNode[i-1].connect(CiderAudio.audioNodes.vibrantbassNode[i]); From c19356ddf8bd7ef8036ccdfd18862123e1dcec08 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 30 Jan 2022 17:40:24 -0800 Subject: [PATCH 8/8] Vibrant Bass Update --- src/renderer/views/components/equalizer.ejs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs index 91ac2d30..afcfd86e 100644 --- a/src/renderer/views/components/equalizer.ejs +++ b/src/renderer/views/components/equalizer.ejs @@ -20,7 +20,7 @@
{{$root.cfg.audio.equalizer.vibrantBass}} - + Vibrant Bass
@@ -130,9 +130,21 @@ this.Q = [] this.preamp = 0 this.mix = 1 + this.vibrantBass = 0 this.userGenerated = true }, - defaultPresets: [{ + defaultPresets: [ + { + 'preset': 'default', + 'name': 'Default', + '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], + 'preamp': 0, + 'mix': 1, + 'vibrantBass': 0, + 'userGenerated': false + },{ 'preset': 'warmth', 'name': 'Warmth', 'frequencies': [32, 75, 125, 197, 500, 1000, 2000, 3040, 8000, 16000], @@ -319,6 +331,9 @@ }, changeVibrantBass() { app.cfg.audio.vibrantBass.multiplier = app.cfg.audio.equalizer.vibrantBass / 10 + for (var i = 0; i < 21; i++) { + CiderAudio.audioNodes.vibrantbassNode[i].gain.value = app.cfg.audio.vibrantBass.gain[i] * (app.cfg.audio.equalizer.vibrantBass / 10); + } }, changePreamp() { CiderAudio.audioNodes.preampNode.gain.value = app.cfg.audio.equalizer.preamp;