fix i'm blind
This commit is contained in:
parent
c2dc1c479e
commit
3e28d65fab
3 changed files with 180 additions and 49 deletions
|
@ -113,6 +113,44 @@ var CiderAudio = {
|
|||
);
|
||||
}
|
||||
},
|
||||
analogWarmth_h2_3: function (status, hierarchy){
|
||||
if (status === true) { // 23 Band Adjustment
|
||||
let WARMTH_FREQUENCIES = [10.513, 15.756, 224.01, 677.77, 1245.4, 2326.8, 2847.3, 4215.3, 11057, 12793, 16235, 16235, 17838, 18112, 18112, 19326, 19372, 19372, 20061, 20280, 20280, 20853, 22276];
|
||||
let WARMTH_GAIN = [-4.81, 0.74, 0.55, -0.84, -1.52, 0.84, 0.66, -0.29, 0.29, 0.94, 1.67, 1.62, -0.53, -0.81, -4.98, 1.43, 0.86, 1.13, -1.06, -0.95, -1.13, 1.78, -3.86];
|
||||
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 (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.analogWarmth_value;
|
||||
}
|
||||
|
||||
for (i = 1; i < WARMTH_FREQUENCIES.length; i ++) {
|
||||
CiderAudio.audioNodes.analogWarmth[i-1].connect(CiderAudio.audioNodes.analogWarmth[i]);
|
||||
}
|
||||
|
||||
switch (hierarchy) {
|
||||
case 3:
|
||||
try{
|
||||
CiderAudio.audioNodes.analogWarmth[WARMTH_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.llpw[0]);} catch(e){}
|
||||
break;
|
||||
case 2:
|
||||
try{
|
||||
CiderAudio.audioNodes.analogWarmth[WARMTH_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){}
|
||||
break;
|
||||
case 1:
|
||||
try{
|
||||
CiderAudio.audioNodes.analogWarmth[WARMTH_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
llpw_h2_2: function (status, hierarchy){
|
||||
if (status === true) { // 23 Band Adjustment
|
||||
let LLPW_Q = [5, 1, 3.536, 1.25, 8.409, 1.25, 14.14, 7.071, 5, 0.625, 16.82, 20, 20, 20, 28.28, 28.28, 28.28, 20, 33.64, 33.64, 10, 28.28, 7.071, 3.856];
|
||||
|
@ -132,13 +170,17 @@ var CiderAudio = {
|
|||
for (i = 1; i < LLPW_FREQUENCIES.length; i ++) {
|
||||
CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[i]);
|
||||
}
|
||||
if (hierarchy === 2) {
|
||||
try{
|
||||
CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){}}
|
||||
|
||||
else if (hierarchy === 1) {
|
||||
try{
|
||||
CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){}}
|
||||
switch (hierarchy) {
|
||||
case 2:
|
||||
try{
|
||||
CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){}
|
||||
break;
|
||||
case 1:
|
||||
try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
@ -168,6 +210,7 @@ var CiderAudio = {
|
|||
hierarchical_unloading: function (){
|
||||
try {CiderAudio.audioNodes.spatialNode.output.disconnect();} catch(e){}
|
||||
try {CiderAudio.audioNodes.gainNode.disconnect();} catch(e){}
|
||||
try {for (var i of CiderAudio.audioNodes.analogWarmth){i.disconnect();} CiderAudio.audioNodes.analogWarmth = []} catch(e){}
|
||||
try {for (var i of CiderAudio.audioNodes.llpw){i.disconnect();} CiderAudio.audioNodes.llpw = []} catch(e){}
|
||||
try {for (var i of CiderAudio.audioNodes.vibrantbassNode){i.disconnect();} CiderAudio.audioNodes.vibrantbassNode = []} catch(e){}
|
||||
|
||||
|
@ -176,45 +219,103 @@ var CiderAudio = {
|
|||
},
|
||||
hierarchical_loading: function (){
|
||||
CiderAudio.hierarchical_unloading();
|
||||
if (app.cfg.audio.vibrantBass.multiplier !== 0) { // If vibrant bass is enabled
|
||||
if (app.cfg.advanced.ciderPPE) { // If CAP & vibrant bass is enabled
|
||||
CiderAudio.vibrantbass_h2_1(true)
|
||||
if (app.cfg.audio.spatial) {
|
||||
app.cfg.advanced.ciderPPE = false;
|
||||
notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility'));
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
|
||||
}
|
||||
else {CiderAudio.llpw_h2_2(true, 2); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);}
|
||||
|
||||
// Compatibility Check
|
||||
if (app.cfg.audio.spatial === true && app.cfg.advanced.ciderPPE === true || app.cfg.audio.spatial === true && app.cfg.advanced.analogWarmth === true) {
|
||||
app.cfg.advanced.analogWarmth = false;
|
||||
app.cfg.advanced.ciderPPE = false;
|
||||
notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility'));
|
||||
this.hierarchical_loading();
|
||||
}
|
||||
else { // If only vibrant bass is enabled
|
||||
CiderAudio.vibrantbass_h2_1(true)
|
||||
//CiderAudio.llpw_h2_2(false, 0)
|
||||
if (app.cfg.audio.spatial) {
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]);}
|
||||
else {CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);}
|
||||
}
|
||||
|
||||
// Vibrant Bass, CAP, Analog Warmth
|
||||
if (app.cfg.audio.vibrantBass.multiplier !== 0 &&
|
||||
app.cfg.advanced.ciderPPE === true &&
|
||||
app.cfg.audio.spatial === true &&
|
||||
app.cfg.audio.analogWarmth === true) {
|
||||
|
||||
CiderAudio.vibrantbass_h2_1(true)
|
||||
CiderAudio.llpw_h2_2(true, 2);
|
||||
CiderAudio.analogWarmth_h2_3(true, 3);
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||
}
|
||||
else { // If vibrant bass is disabled
|
||||
if (app.cfg.advanced.ciderPPE) { // If CAP is enabled & vibrant bass is disabled
|
||||
//CiderAudio.vibrantbass_h2_1(false)
|
||||
if (app.cfg.audio.spatial) {
|
||||
app.cfg.advanced.ciderPPE = false;
|
||||
notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility'));
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]);
|
||||
}
|
||||
else {CiderAudio.llpw_h2_2(true, 1); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);}
|
||||
}
|
||||
else { // If CAP & vibrant bass is disabled
|
||||
//CiderAudio.vibrantbass_h2_1(false)
|
||||
//CiderAudio.llpw_h2_2(false, 0)
|
||||
if (app.cfg.audio.spatial) {
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]);}
|
||||
else {CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]);}
|
||||
}
|
||||
// CAP, Analog Warmth
|
||||
else if (app.cfg.audio.vibrantBass.multiplier === 0 &&
|
||||
app.cfg.advanced.ciderPPE === true &&
|
||||
app.cfg.audio.spatial === false &&
|
||||
app.cfg.audio.analogWarmth === true) {
|
||||
|
||||
CiderAudio.llpw_h2_2(true, 1);
|
||||
CiderAudio.analogWarmth_h2_3(true, 2);
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||
}
|
||||
// Vibrant Bass, Analog Warmth
|
||||
else if (app.cfg.audio.vibrantBass.multiplier !== 0 &&
|
||||
app.cfg.advanced.ciderPPE === false &&
|
||||
app.cfg.audio.spatial === false &&
|
||||
app.cfg.audio.analogWarmth === true) {
|
||||
|
||||
CiderAudio.vibrantbass_h2_1(true)
|
||||
CiderAudio.analogWarmth_h2_3(true, 2);
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||
}
|
||||
|
||||
// Vibrant Bass, CAP
|
||||
else if (app.cfg.audio.vibrantBass.multiplier !== 0 &&
|
||||
app.cfg.advanced.ciderPPE === true &&
|
||||
app.cfg.audio.spatial === false &&
|
||||
app.cfg.audio.analogWarmth === false) {
|
||||
|
||||
CiderAudio.vibrantbass_h2_1(true)
|
||||
CiderAudio.llpw_h2_2(true, 2);
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
|
||||
}
|
||||
// Vibrant Bass, Spatial
|
||||
else if (app.cfg.audio.vibrantBass.multiplier !== 0 &&
|
||||
app.cfg.advanced.ciderPPE === false &&
|
||||
app.cfg.audio.spatial === true &&
|
||||
app.cfg.audio.analogWarmth === false) {
|
||||
|
||||
CiderAudio.vibrantbass_h2_1(true)
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
|
||||
}
|
||||
// Vibrant Bass
|
||||
else if (app.cfg.audio.vibrantBass.multiplier !== 0 &&
|
||||
app.cfg.advanced.ciderPPE === false &&
|
||||
app.cfg.audio.spatial === false &&
|
||||
app.cfg.audio.analogWarmth === false) {
|
||||
CiderAudio.vibrantbass_h2_1(true)
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
|
||||
}
|
||||
// CAP
|
||||
else if (app.cfg.audio.vibrantBass.multiplier === 0 &&
|
||||
app.cfg.advanced.ciderPPE === true &&
|
||||
app.cfg.audio.spatial === false &&
|
||||
app.cfg.audio.analogWarmth === false) {
|
||||
CiderAudio.llpw_h2_2(true, 1);
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
|
||||
}
|
||||
// Analog Warmth
|
||||
else if (app.cfg.audio.vibrantBass.multiplier === 0 &&
|
||||
app.cfg.advanced.ciderPPE === false &&
|
||||
app.cfg.audio.spatial === false &&
|
||||
app.cfg.audio.analogWarmth === true) {
|
||||
CiderAudio.analogWarmth_h2_2(true, 1);
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||
}
|
||||
// Spatial
|
||||
else if (app.cfg.audio.vibrantBass.multiplier === 0 &&
|
||||
app.cfg.advanced.ciderPPE === false &&
|
||||
app.cfg.audio.spatial === true &&
|
||||
app.cfg.audio.analogWarmth === false){
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]);
|
||||
|
||||
}
|
||||
// Nothing
|
||||
else {
|
||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]); // If CAP & vibrant bass is disabled
|
||||
}
|
||||
|
||||
console.log("[Cider][Audio] Finished hierarchical loading");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue