Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Core 2022-03-11 00:26:49 +00:00
commit 622c01b5df
No known key found for this signature in database
GPG key ID: FE9BF1B547F8F3C6
2 changed files with 387 additions and 171 deletions

View file

@ -73,7 +73,6 @@ const CiderAudio = {
if (app.cfg.audio.spatial){ if (app.cfg.audio.spatial){
CiderAudio.spatialOn() CiderAudio.spatialOn()
} }
CiderAudio.equalizer();
CiderAudio.hierarchical_loading(); CiderAudio.hierarchical_loading();
}, },
normalizerOn: function (){ normalizerOn: function (){
@ -128,8 +127,7 @@ const CiderAudio = {
up: 'acoustic-ceiling-tiles', up: 'acoustic-ceiling-tiles',
}; };
CiderAudio.audioNodes.spatialNode.setRoomProperties(roomDimensions, roomMaterials); CiderAudio.audioNodes.spatialNode.setRoomProperties(roomDimensions, roomMaterials);
CiderAudio.audioNodes.spatialInput = CiderAudio.audioNodes.spatialNode.createSource(); CiderAudio.audioNodes.spatialInput = CiderAudio.audioNodes.spatialNode.createSource();}
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);}
}, },
spatialOff: function (){ spatialOff: function (){
CiderAudio.hierarchical_loading(); CiderAudio.hierarchical_loading();
@ -325,6 +323,9 @@ const CiderAudio = {
try{ try{
CiderAudio.audioNodes.analogWarmth[WARMTH_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} CiderAudio.audioNodes.analogWarmth[WARMTH_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){}
break; break;
case 0:
try{CiderAudio.audioNodes.analogWarmth[WARMTH_FREQUENCIES.length-1].connect(CiderAudio.context.destination);} catch(e){}
break;
} }
@ -362,6 +363,9 @@ const CiderAudio = {
case 1: case 1:
try{CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} try{CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){}
break; break;
case 0:
try{CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.context.destination);} catch(e){}
break;
} }
@ -384,12 +388,14 @@ const CiderAudio = {
switch (hierarchy) { switch (hierarchy) {
case 2: case 2:
try{ try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){}
CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){}
break; break;
case 1: case 1:
try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){}
break; break;
case 0:
try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.context.destination);} catch(e){}
break;
} }
console.debug("[Cider][Audio] CAP - Classic Mode"); console.debug("[Cider][Audio] CAP - Classic Mode");
@ -397,29 +403,36 @@ const CiderAudio = {
} }
}, },
vibrantbass_h2_1: function (status){ vibrantbass_h2_1: function (status, hierarchy){
if (status === true) { if (status === true) {
let VIBRANTBASSBANDS = app.cfg.audio.maikiwiAudio.vibrantBass.frequencies; let VIBRANTBASSBANDS = app.cfg.audio.maikiwiAudio.vibrantBass.frequencies;
let VIBRANTBASSGAIN = app.cfg.audio.maikiwiAudio.vibrantBass.gain; let VIBRANTBASSGAIN = app.cfg.audio.maikiwiAudio.vibrantBass.gain;
let VIBRANTBASSQ = app.cfg.audio.maikiwiAudio.vibrantBass.Q; let VIBRANTBASSQ = app.cfg.audio.maikiwiAudio.vibrantBass.Q;
CiderAudio.audioNodes.vibrantbassNode = [] CiderAudio.audioNodes.vibrantbassNode = []
for (let i = 0; i < VIBRANTBASSBANDS.length; i++) { for (let i = 0; i < VIBRANTBASSBANDS.length; i++) {
CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i]; CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i];
CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i]; CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i];
CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * app.cfg.audio.maikiwiAudio.vibrantBass.multiplier; CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * app.cfg.audio.maikiwiAudio.vibrantBass.multiplier;
} }
for (let i = 1; i < VIBRANTBASSBANDS.length; i ++) { for (let i = 1; i < VIBRANTBASSBANDS.length; i ++) {
CiderAudio.audioNodes.vibrantbassNode[i-1].connect(CiderAudio.audioNodes.vibrantbassNode[i]); CiderAudio.audioNodes.vibrantbassNode[i-1].connect(CiderAudio.audioNodes.vibrantbassNode[i]);
} }
CiderAudio.audioNodes.vibrantbassNode[VIBRANTBASSBANDS.length-1].connect(CiderAudio.audioNodes.audioBands[0]); switch (hierarchy) {
case 0:
try{
CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.context.destination);} catch(e){}
break;
case 1:
try{CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){}
break;
}
} }
CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.audioNodes.audioBands[0])
}, },
hierarchical_unloading: function (){ hierarchical_unloading: function (){
try {CiderAudio.audioNodes.spatialNode.output.disconnect();} catch(e){} try {CiderAudio.audioNodes.spatialNode.output.disconnect();} catch(e){}
@ -428,6 +441,7 @@ const CiderAudio = {
try {for (var i of CiderAudio.audioNodes.analogWarmth){i.disconnect();} CiderAudio.audioNodes.analogWarmth = null} catch(e){} try {for (var i of CiderAudio.audioNodes.analogWarmth){i.disconnect();} CiderAudio.audioNodes.analogWarmth = null} catch(e){}
try {for (var i of CiderAudio.audioNodes.llpw){i.disconnect();} CiderAudio.audioNodes.llpw = null} catch(e){} try {for (var i of CiderAudio.audioNodes.llpw){i.disconnect();} CiderAudio.audioNodes.llpw = null} catch(e){}
try {for (var i of CiderAudio.audioNodes.vibrantbassNode){i.disconnect();} CiderAudio.audioNodes.vibrantbassNode = null} catch(e){} try {for (var i of CiderAudio.audioNodes.vibrantbassNode){i.disconnect();} CiderAudio.audioNodes.vibrantbassNode = null} catch(e){}
try {for (var i of CiderAudio.audioNodes.audioBands) {i.disconnect();} CiderAudio.audioNodes.audioBands = null} catch(e){}
console.debug("[Cider][Audio] Finished hierarchical unloading"); console.debug("[Cider][Audio] Finished hierarchical unloading");
@ -435,216 +449,411 @@ const CiderAudio = {
hierarchical_loading: function (){ hierarchical_loading: function (){
CiderAudio.hierarchical_unloading(); CiderAudio.hierarchical_unloading();
if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0) { // Vibrant Bass if (Math.max(...app.cfg.audio.equalizer.gain) !== 0) {
CiderAudio.vibrantbass_h2_1(true) CiderAudio.equalizer(true, 0);
if (app.cfg.audio.maikiwiAudio.ciderPPE === true) { // Vibrant Bass, CAP if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0) {
CiderAudio.llpw_h2_2(true, 2); CiderAudio.vibrantbass_h2_1(true, 1);
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { // Vibrant Bass, CAP, Analog Warmth if (app.cfg.audio.maikiwiAudio.ciderPPE === true) { // Vibrant Bass, CAP
CiderAudio.analogWarmth_h2_3(true, 3); CiderAudio.llpw_h2_2(true, 2);
if (app.cfg.audio.spatial === true) { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { // Vibrant Bass, CAP, Analog Warmth
if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial CiderAudio.analogWarmth_h2_3(true, 3);
app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); if (app.cfg.audio.spatial === true) {
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial') app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial')
}
else { // Vibrant Bass, CAP, Analog Warmth, Spatial
app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Spatial')
}
} }
else { // Vibrant Bass, CAP, Analog Warmth, Spatial else {
app.cfg.audio.normalization = true; app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth')
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial')
} }
} }
else { else {
app.cfg.audio.normalization = true; if (app.cfg.audio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); if (app.cfg.audio.maikiwiAudio.spatial === true) {
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth') CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]);
app.cfg.audio.normalization = true
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Spatial')
}
}
else {
app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP')
}
} }
} }
else { else {
if (app.cfg.audio.spatial === true) { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.analogWarmth_h2_3(true, 2);
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); app.cfg.audio.normalization = true;
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]);
app.cfg.audio.normalization = true if (app.cfg.audio.spatial === true) {
console.debug('[Cider][Audio] Vibrant Bass, CAP, Maikiwi Spatial') if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Spatial')
}
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); app.cfg.audio.normalization = true;
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Vibrant Bass, CAP, Spatial') console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth')
} }
} }
else { else {
app.cfg.audio.normalization = true; if (app.cfg.audio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); if (app.cfg.audio.maikiwiAudio.spatial === true) {
console.debug('[Cider][Audio] Vibrant Bass, CAP') app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Spatial')
}
}
else {
app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
console.debug('[Cider][Audio] Equalizer, Vibrant Bass')
}
} }
} }
} }
else { // Vibrant Bass ends here
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { else { // if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier) === 0
CiderAudio.analogWarmth_h2_3(true, 2); if (app.cfg.audio.maikiwiAudio.ciderPPE === true) {
app.cfg.audio.normalization = true; CiderAudio.llpw_h2_2(true, 1);
if (app.cfg.audio.spatial === true) { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.analogWarmth_h2_3(true, 3);
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); if (app.cfg.audio.spatial === true) {
console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Maikiwi Spatial') if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
app.cfg.audio.normalization = true;
console.debug('[Cider][Audio] Equalizer, CAP, Analog Warmth, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Equalizer, CAP, Analog Warmth, Spatial')
}
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); console.debug('[Cider][Audio] Equalizer, CAP and Analog Warmth')
console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Spatial')
} }
} }
else { else {
app.cfg.audio.normalization = true; if (app.cfg.audio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); if (app.cfg.audio.maikiwiAudio.spatial === true) {
console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth') CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
} CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]);
} app.cfg.audio.normalization = true;
else { console.debug('[Cider][Audio] Equalizer, CAP, Maikiwi Spatial')
if (app.cfg.audio.spatial === true) { }
if (app.cfg.audio.maikiwiAudio.spatial === true) { else {
app.cfg.audio.normalization = true; CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); console.debug('[Cider][Audio] Equalizer, CAP, Spatial')
console.debug('[Cider][Audio] Vibrant Bass, Maikiwi Spatial') }
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]); console.debug('[Cider][Audio] Equalizer, CAP')
console.debug('[Cider][Audio] Vibrant Bass, Spatial')
} }
} }
else { } // CAP ends here
app.cfg.audio.normalization = true; else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
console.debug('[Cider][Audio] Vibrant Bass') CiderAudio.analogWarmth_h2_3(true, 1);
if (app.cfg.audio.spatial === true) {
if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
app.cfg.audio.normalization = true;
console.debug('[Cider][Audio] Equalizer, Analog Warmth, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Equalizer, Analog Warmth, Spatial')
}
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Equalizer, Analog Warmth')
}
}
else {
if (app.cfg.audio.spatial === true) {
if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.audioBands[0]);
app.cfg.audio.normalization = true;
console.debug('[Cider][Audio] Equalizer, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.context.audioBands[0]);
console.debug('[Cider][Audio] Equalizer, Spatial')
}
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.context.audioBands[0]);
console.debug('[Cider][Audio] Equalizer')
}
} }
} }
} }
} }
// Vibrant Bass ends here else { //if (Math.max(...app.cfg.audio.equalizer.gain) === 0)
else { if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0) { // Vibrant Bass
if (app.cfg.audio.maikiwiAudio.ciderPPE === true) { CiderAudio.vibrantbass_h2_1(true, 0)
CiderAudio.llpw_h2_2(true, 1);
if (app.cfg.audio.maikiwiAudio.ciderPPE === true) { // Vibrant Bass, CAP
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.llpw_h2_2(true, 2);
CiderAudio.analogWarmth_h2_3(true, 3);
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { // Vibrant Bass, CAP, Analog Warmth
if (app.cfg.audio.spatial === true) { CiderAudio.analogWarmth_h2_3(true, 3);
if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); if (app.cfg.audio.spatial === true) {
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial
app.cfg.audio.normalization = true; app.cfg.audio.normalization = true;
console.debug('[Cider][Audio] CAP, Analog Warmth, Maikiwi Spatial') CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial')
}
else { // Vibrant Bass, CAP, Analog Warmth, Spatial
app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial')
}
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); app.cfg.audio.normalization = true;
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] CAP, Analog Warmth, Spatial') console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth')
} }
} }
else { else { // if (app.cfg.audio.maikiwiAudio.analogWarmth) !== true
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); if (app.cfg.audio.spatial === true) {
console.debug('[Cider][Audio] CAP and Analog Warmth') if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]);
app.cfg.audio.normalization = true
console.debug('[Cider][Audio] Vibrant Bass, CAP, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]);
console.debug('[Cider][Audio] Vibrant Bass, CAP, Spatial')
}
}
else {
app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
console.debug('[Cider][Audio] Vibrant Bass, CAP')
}
} }
} }
else { else {
if (app.cfg.audio.spatial === true) { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.analogWarmth_h2_3(true, 2);
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); app.cfg.audio.normalization = true;
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]);
app.cfg.audio.normalization = true; if (app.cfg.audio.spatial === true) {
console.debug('[Cider][Audio] CAP, Maikiwi Spatial') if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Spatial')
}
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); app.cfg.audio.normalization = true;
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] CAP, Spatial') console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth')
} }
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); if (app.cfg.audio.spatial === true) {
console.debug('[Cider][Audio] CAP') if (app.cfg.audio.maikiwiAudio.spatial === true) {
app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
console.debug('[Cider][Audio] Vibrant Bass, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
console.debug('[Cider][Audio] Vibrant Bass, Spatial')
}
}
else {
app.cfg.audio.normalization = true;
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
console.debug('[Cider][Audio] Vibrant Bass')
}
} }
} }
} // CAP ends here }
// Vibrant Bass ends here
else { else {
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { if (app.cfg.audio.maikiwiAudio.ciderPPE === true) {
CiderAudio.analogWarmth_h2_3(true, 1); CiderAudio.llpw_h2_2(true, 0);
if (app.cfg.audio.spatial === true) { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.analogWarmth_h2_3(true, 3);
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); if (app.cfg.audio.spatial === true) {
app.cfg.audio.normalization = true; if (app.cfg.audio.maikiwiAudio.spatial === true) {
console.debug('[Cider][Audio] Analog Warmth, Maikiwi Spatial') CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
app.cfg.audio.normalization = true;
console.debug('[Cider][Audio] CAP, Analog Warmth, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] CAP, Analog Warmth, Spatial')
}
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); console.debug('[Cider][Audio] CAP and Analog Warmth')
console.debug('[Cider][Audio] Analog Warmth, Spatial')
} }
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); if (app.cfg.audio.spatial === true) {
console.debug('[Cider][Audio] Analog Warmth') if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]);
app.cfg.audio.normalization = true;
console.debug('[Cider][Audio] CAP, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]);
console.debug('[Cider][Audio] CAP, Spatial')
}
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
console.debug('[Cider][Audio] CAP')
}
} }
} } // CAP ends here
else { else {
if (app.cfg.audio.spatial === true) { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.analogWarmth_h2_3(true, 0);
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.audioBands[0]); if (app.cfg.audio.spatial === true) {
app.cfg.audio.normalization = true; if (app.cfg.audio.maikiwiAudio.spatial === true) {
console.debug('[Cider][Audio] Maikiwi Spatial') CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
app.cfg.audio.normalization = true;
console.debug('[Cider][Audio] Analog Warmth, Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
console.debug('[Cider][Audio] Analog Warmth, Spatial')
}
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]); console.debug('[Cider][Audio] Analog Warmth')
console.debug('[Cider][Audio] Spatial')
} }
} }
else { else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]); if (app.cfg.audio.spatial === true) {
console.debug('[Cider][Audio] Direct Mode to Equalizer') if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination);
app.cfg.audio.normalization = true;
console.debug('[Cider][Audio] Maikiwi Spatial')
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.context.destination);
console.debug('[Cider][Audio] Spatial')
}
}
else {
CiderAudio.audioNodes.gainNode.connect(CiderAudio.context.destination);
console.debug('[Cider][Audio] Literal Nothing')
}
} }
} }
} }
} }
console.debug("[Cider][Audio] Finished hierarchical loading"); console.debug("[Cider][Audio] Finished hierarchical loading");
}, },
equalizer: function (){ // h1_1 equalizer: function (status, hierarchy){ // h1_1
let BANDS = app.cfg.audio.equalizer.frequencies; if (status === true) {
let GAIN = app.cfg.audio.equalizer.gain; let BANDS = app.cfg.audio.equalizer.frequencies;
let Q = app.cfg.audio.equalizer.Q; let GAIN = app.cfg.audio.equalizer.gain;
let Q = app.cfg.audio.equalizer.Q;
CiderAudio.audioNodes.audioBands = []; CiderAudio.audioNodes.audioBands = [];
for (let i = 0; i < BANDS.length; i++) {
CiderAudio.audioNodes.audioBands[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.audioBands[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.audioBands[i].frequency.value = BANDS[i];
CiderAudio.audioNodes.audioBands[i].Q.value = Q[i];
CiderAudio.audioNodes.audioBands[i].gain.value = GAIN[i] * app.cfg.audio.equalizer.mix;
}
for (let i = 1; i < BANDS.length; i ++) {
CiderAudio.audioNodes.audioBands[i-1].connect(CiderAudio.audioNodes.audioBands[i]);
}
switch (hierarchy) {
case 0:
try{
CiderAudio.audioNodes.audioBands[BANDS.length-1].connect(CiderAudio.context.destination);} catch(e){}
break;
}
for (let i = 0; i < BANDS.length; i++) { }
CiderAudio.audioNodes.audioBands[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.audioBands[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.audioBands[i].frequency.value = BANDS[i];
CiderAudio.audioNodes.audioBands[i].Q.value = Q[i];
CiderAudio.audioNodes.audioBands[i].gain.value = GAIN[i] * app.cfg.audio.equalizer.mix;
} }
for (let i = 1; i < BANDS.length; i ++) {
CiderAudio.audioNodes.audioBands[i-1].connect(CiderAudio.audioNodes.audioBands[i]);
}
CiderAudio.audioNodes.audioBands[BANDS.length-1].connect(CiderAudio.context.destination);
}
} }
export {CiderAudio} export {CiderAudio}

View file

@ -310,12 +310,19 @@
} }
}, },
changeMix() { changeMix() {
for (var i = 0; i < 10; i++) { if (Math.max(...$root.cfg.audio.equalizer.gain) !== 0) {
for (var i = 0; i < 10; i++) {
CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix
}
} }
}, },
changeGain(i) { changeGain(i) {
CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix if (Math.max(...$root.cfg.audio.equalizer.gain) !== 0) {
CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix
}
else {
CiderAudio.hierarchical_loading();
}
}, },
changeFreq(i) { changeFreq(i) {
CiderAudio.audioNodes.audioBands[i].frequency.value = app.cfg.audio.equalizer.frequencies[i] CiderAudio.audioNodes.audioBands[i].frequency.value = app.cfg.audio.equalizer.frequencies[i]