Merge branch 'innolab' into develop
This commit is contained in:
commit
873d234999
8 changed files with 266 additions and 81 deletions
|
@ -664,7 +664,7 @@ export class BrowserWindow {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
/*
|
||||||
ipcMain.on('check-for-update', async (_event) => {
|
ipcMain.on('check-for-update', async (_event) => {
|
||||||
const branch = utils.getStoreValue('general.update_branch')
|
const branch = utils.getStoreValue('general.update_branch')
|
||||||
let latestbranch = await fetch(`https://circleci.com/api/v1.1/project/gh/ciderapp/Cider/latest/artifacts?branch=${branch}&filter=successful`)
|
let latestbranch = await fetch(`https://circleci.com/api/v1.1/project/gh/ciderapp/Cider/latest/artifacts?branch=${branch}&filter=successful`)
|
||||||
|
@ -680,10 +680,10 @@ export class BrowserWindow {
|
||||||
const options: any = {
|
const options: any = {
|
||||||
provider: 'generic',
|
provider: 'generic',
|
||||||
url: `${base_url}`
|
url: `${base_url}`
|
||||||
}
|
}*/
|
||||||
/*
|
/*
|
||||||
* Have to handle the auto updaters seperatly until we can support macOS. electron-builder limitation -q
|
* Have to handle the auto updaters seperatly until we can support macOS. electron-builder limitation -q
|
||||||
*/
|
*/ /*
|
||||||
const win_autoUpdater = new NsisUpdater(options) //Windows
|
const win_autoUpdater = new NsisUpdater(options) //Windows
|
||||||
const linux_autoUpdater = new AppImageUpdater(options) //Linux
|
const linux_autoUpdater = new AppImageUpdater(options) //Linux
|
||||||
await win_autoUpdater.checkForUpdatesAndNotify()
|
await win_autoUpdater.checkForUpdatesAndNotify()
|
||||||
|
@ -697,7 +697,7 @@ export class BrowserWindow {
|
||||||
event.returnValue = true
|
event.returnValue = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
*/
|
||||||
|
|
||||||
ipcMain.on('share-menu', async (_event, url) => {
|
ipcMain.on('share-menu', async (_event, url) => {
|
||||||
if (process.platform != 'darwin') return;
|
if (process.platform != 'darwin') return;
|
||||||
|
|
|
@ -12,7 +12,7 @@ export class Store {
|
||||||
"discord_rpc_clear_on_pause": true,
|
"discord_rpc_clear_on_pause": true,
|
||||||
"language": "en_US", // electron.app.getLocale().replace('-', '_') this can be used in future
|
"language": "en_US", // electron.app.getLocale().replace('-', '_') this can be used in future
|
||||||
"playbackNotifications": true,
|
"playbackNotifications": true,
|
||||||
"update_branch": "main"
|
"update_branch": "innolab"
|
||||||
},
|
},
|
||||||
"home": {
|
"home": {
|
||||||
"followedArtists": [],
|
"followedArtists": [],
|
||||||
|
@ -36,6 +36,8 @@ export class Store {
|
||||||
"normalization": false,
|
"normalization": false,
|
||||||
"ciderPPE": false,
|
"ciderPPE": false,
|
||||||
"ciderPPE_value": 0.5,
|
"ciderPPE_value": 0.5,
|
||||||
|
"analogWarmth": false,
|
||||||
|
"analogWarmth_value": 1.25,
|
||||||
"spatial": false,
|
"spatial": false,
|
||||||
"spatial_properties": {
|
"spatial_properties": {
|
||||||
"presets": [],
|
"presets": [],
|
||||||
|
|
BIN
src/renderer/audio/CiderSpatial_Conv.wav
Normal file
BIN
src/renderer/audio/CiderSpatial_Conv.wav
Normal file
Binary file not shown.
|
@ -8,7 +8,8 @@ var CiderAudio = {
|
||||||
audioBands : null,
|
audioBands : null,
|
||||||
vibrantbassNode: null,
|
vibrantbassNode: null,
|
||||||
llpw: null,
|
llpw: null,
|
||||||
llpwEnabled: null
|
llpwEnabled: null,
|
||||||
|
analogWarmth: null
|
||||||
},
|
},
|
||||||
init: function (cb = function () { }) {
|
init: function (cb = function () { }) {
|
||||||
//AudioOutputs.fInit = true;
|
//AudioOutputs.fInit = true;
|
||||||
|
@ -29,6 +30,9 @@ var CiderAudio = {
|
||||||
CiderAudio.audioNodes.gainNode.disconnect(); } catch(e){}
|
CiderAudio.audioNodes.gainNode.disconnect(); } catch(e){}
|
||||||
try{ CiderAudio.audioNodes.spatialNode.disconnect();} catch(e){}
|
try{ CiderAudio.audioNodes.spatialNode.disconnect();} catch(e){}
|
||||||
try{
|
try{
|
||||||
|
for (var i of CiderAudio.audioNodes.analogWarmth){
|
||||||
|
i.disconnect();
|
||||||
|
}
|
||||||
for (var i of CiderAudio.audioNodes.llpw){
|
for (var i of CiderAudio.audioNodes.llpw){
|
||||||
i.disconnect();
|
i.disconnect();
|
||||||
}
|
}
|
||||||
|
@ -47,7 +51,8 @@ var CiderAudio = {
|
||||||
audioBands : null,
|
audioBands : null,
|
||||||
vibrantbassNode: null,
|
vibrantbassNode: null,
|
||||||
llpw: null,
|
llpw: null,
|
||||||
llpwEnabled: null
|
llpwEnabled: null,
|
||||||
|
analogWarmth: null
|
||||||
}
|
}
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
CiderAudio.source.connect(CiderAudio.context.destination);} catch(e){}
|
CiderAudio.source.connect(CiderAudio.context.destination);} catch(e){}
|
||||||
|
@ -74,9 +79,13 @@ var CiderAudio = {
|
||||||
normalizerOff: function (){
|
normalizerOff: function (){
|
||||||
CiderAudio.audioNodes.gainNode.gain.setTargetAtTime(1, CiderAudio.context.currentTime+ 1, 0.5);
|
CiderAudio.audioNodes.gainNode.gain.setTargetAtTime(1, CiderAudio.context.currentTime+ 1, 0.5);
|
||||||
},
|
},
|
||||||
|
|
||||||
spatialOn: function (){
|
spatialOn: function (){
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
CiderAudio.audioNodes.spatialNode = new ResonanceAudio(CiderAudio.context);
|
CiderAudio.audioNodes.spatialNode = new ResonanceAudio(CiderAudio.context);
|
||||||
//CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.context.destination);
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination);
|
||||||
let roomDimensions = {
|
let roomDimensions = {
|
||||||
width: 32,
|
width: 32,
|
||||||
height: 12,
|
height: 12,
|
||||||
|
@ -91,9 +100,17 @@ var CiderAudio = {
|
||||||
down: 'acoustic-ceiling-tiles',
|
down: 'acoustic-ceiling-tiles',
|
||||||
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.hierarchical_loading();
|
CiderAudio.audioNodes.spatialNode = CiderAudio.context.createConvolver();
|
||||||
|
|
||||||
|
fetch('./audio/CiderSpatial_Conv.wav').then(async (impulseData) => {
|
||||||
|
let bufferedImpulse = await impulseData.arrayBuffer();
|
||||||
|
CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse);
|
||||||
|
|
||||||
|
});
|
||||||
|
CiderAudio.audioNodes.spatialNode.normalize = true;
|
||||||
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination);
|
||||||
},
|
},
|
||||||
spatialOff: function (){
|
spatialOff: function (){
|
||||||
CiderAudio.hierarchical_loading();
|
CiderAudio.hierarchical_loading();
|
||||||
|
@ -113,6 +130,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){
|
llpw_h2_2: function (status, hierarchy){
|
||||||
if (status === true) {
|
if (status === true) {
|
||||||
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];
|
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];
|
||||||
|
@ -131,13 +186,17 @@ var CiderAudio = {
|
||||||
for (i = 1; i < LLPW_FREQUENCIES.length; i ++) {
|
for (i = 1; i < LLPW_FREQUENCIES.length; i ++) {
|
||||||
CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[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) {
|
switch (hierarchy) {
|
||||||
try{
|
case 2:
|
||||||
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.vibrantbassNode[0]);} catch(e){}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){}
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -165,8 +224,9 @@ var CiderAudio = {
|
||||||
|
|
||||||
},
|
},
|
||||||
hierarchical_unloading: function (){
|
hierarchical_unloading: function (){
|
||||||
try {CiderAudio.audioNodes.spatialNode.output.disconnect();} catch(e){}
|
try {CiderAudio.audioNodes.spatialNode.disconnect();} catch(e){}
|
||||||
try {CiderAudio.audioNodes.gainNode.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.llpw){i.disconnect();} CiderAudio.audioNodes.llpw = []} catch(e){}
|
||||||
try {for (var i of CiderAudio.audioNodes.vibrantbassNode){i.disconnect();} CiderAudio.audioNodes.vibrantbassNode = []} catch(e){}
|
try {for (var i of CiderAudio.audioNodes.vibrantbassNode){i.disconnect();} CiderAudio.audioNodes.vibrantbassNode = []} catch(e){}
|
||||||
|
|
||||||
|
@ -175,45 +235,155 @@ var CiderAudio = {
|
||||||
},
|
},
|
||||||
hierarchical_loading: function (){
|
hierarchical_loading: function (){
|
||||||
CiderAudio.hierarchical_unloading();
|
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
|
// Vibrant Bass, CAP, Analog Warmth, Spatial
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
if (app.cfg.audio.vibrantBass.multiplier !== 0 &&
|
||||||
if (app.cfg.audio.spatial) {
|
app.cfg.advanced.ciderPPE === true &&
|
||||||
app.cfg.advanced.ciderPPE = false;
|
app.cfg.audio.spatial === true &&
|
||||||
notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility'));
|
app.cfg.audio.analogWarmth === true) {
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
|
||||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
|
CiderAudio.vibrantbass_h2_1(true)
|
||||||
}
|
CiderAudio.llpw_h2_2(true, 2);
|
||||||
else {CiderAudio.llpw_h2_2(true, 2); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);}
|
CiderAudio.analogWarmth_h2_3(true, 3);
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
||||||
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
|
console.log('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial')
|
||||||
}
|
}
|
||||||
else { // If only vibrant bass is enabled
|
// Vibrant Bass, CAP, Spatial
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
else if (app.cfg.audio.vibrantBass.multiplier !== 0 &&
|
||||||
//CiderAudio.llpw_h2_2(false, 0)
|
app.cfg.advanced.ciderPPE === true &&
|
||||||
if (app.cfg.audio.spatial) {
|
app.cfg.audio.spatial === true &&
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
app.cfg.audio.analogWarmth === false) {
|
||||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]);}
|
|
||||||
else {CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);}
|
CiderAudio.vibrantbass_h2_1(true)
|
||||||
}
|
CiderAudio.llpw_h2_2(true, 2);
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
||||||
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]);
|
||||||
|
console.log('[Cider][Audio] Vibrant Bass, CAP, Spatial')
|
||||||
}
|
}
|
||||||
else { // If vibrant bass is disabled
|
// Vibrant Bass, CAP, Analog Warmth
|
||||||
if (app.cfg.advanced.ciderPPE) { // If CAP is enabled & vibrant bass is disabled
|
else if (app.cfg.audio.vibrantBass.multiplier !== 0 &&
|
||||||
//CiderAudio.vibrantbass_h2_1(false)
|
app.cfg.advanced.ciderPPE === true &&
|
||||||
if (app.cfg.audio.spatial) {
|
app.cfg.audio.spatial === false &&
|
||||||
app.cfg.advanced.ciderPPE = false;
|
app.cfg.audio.analogWarmth === true) {
|
||||||
notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility'));
|
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
CiderAudio.vibrantbass_h2_1(true)
|
||||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]);
|
CiderAudio.llpw_h2_2(true, 2);
|
||||||
}
|
CiderAudio.analogWarmth_h2_3(true, 3);
|
||||||
else {CiderAudio.llpw_h2_2(true, 1); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);}
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
}
|
console.log('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth')
|
||||||
else { // If CAP & vibrant bass is disabled
|
}
|
||||||
//CiderAudio.vibrantbass_h2_1(false)
|
// CAP, Spatial
|
||||||
//CiderAudio.llpw_h2_2(false, 0)
|
else if (app.cfg.audio.vibrantBass.multiplier === 0 &&
|
||||||
if (app.cfg.audio.spatial) {
|
app.cfg.advanced.ciderPPE === true &&
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
app.cfg.audio.spatial === true &&
|
||||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]);}
|
app.cfg.audio.analogWarmth === false) {
|
||||||
else {CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]);}
|
|
||||||
}
|
CiderAudio.llpw_h2_2(true, 1);
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
||||||
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]);
|
||||||
|
console.log('[Cider][Audio] CAP, Spatial')
|
||||||
|
}
|
||||||
|
// Analog Warmth, Spatial
|
||||||
|
else if (app.cfg.audio.vibrantBass.multiplier === 0 &&
|
||||||
|
app.cfg.advanced.ciderPPE === false &&
|
||||||
|
app.cfg.audio.spatial === true &&
|
||||||
|
app.cfg.audio.analogWarmth === true) {
|
||||||
|
|
||||||
|
CCiderAudio.analogWarmth_h2_3(true, 1);
|
||||||
|
//CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
||||||
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
|
console.log('[Cider][Audio] Analog Warmth, Spatial')
|
||||||
|
}
|
||||||
|
// 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, 3);
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
|
console.log('[Cider][Audio] CAP and Analog Warmth')
|
||||||
|
}
|
||||||
|
// 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]);
|
||||||
|
console.log('[Cider][Audio] Vibrant Bass, Analog Warmth')
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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]);
|
||||||
|
console.log('[Cider][Audio] Vibrant Bass, CAP')
|
||||||
|
}
|
||||||
|
// 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.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
||||||
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
|
||||||
|
console.log('[Cider][Audio] Vibrant Bass, Spatial')
|
||||||
|
}
|
||||||
|
// 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]);
|
||||||
|
console.log('[Cider][Audio] 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.llpw_h2_2(true, 1);
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
|
||||||
|
console.log('[Cider][Audio] CAP')
|
||||||
|
}
|
||||||
|
// 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_3(true, 1);
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
|
console.log('[Cider][Audio] Analog Warmth')
|
||||||
|
}
|
||||||
|
// 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.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
||||||
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.audioBands[0]);
|
||||||
|
console.log('[Cider][Audio] Spatial')
|
||||||
|
|
||||||
|
}
|
||||||
|
// Nothing
|
||||||
|
else {
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]);
|
||||||
|
console.log('[Cider][Audio] Nothing') // If CAP & vibrant bass is disabled
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("[Cider][Audio] Finished hierarchical loading");
|
console.log("[Cider][Audio] Finished hierarchical loading");
|
||||||
|
|
|
@ -3689,9 +3689,6 @@ const app = new Vue({
|
||||||
closeWindow() {
|
closeWindow() {
|
||||||
ipcRenderer.send('close');
|
ipcRenderer.send('close');
|
||||||
},
|
},
|
||||||
checkForUpdate() {
|
|
||||||
ipcRenderer.send('check-for-update')
|
|
||||||
},
|
|
||||||
darwinShare(url) {
|
darwinShare(url) {
|
||||||
ipcRenderer.send('share-menu', url)
|
ipcRenderer.send('share-menu', url)
|
||||||
},
|
},
|
||||||
|
|
|
@ -948,7 +948,6 @@
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-genres-container {
|
.top-genres-container {
|
||||||
|
|
||||||
.genre-name {
|
.genre-name {
|
||||||
|
|
|
@ -147,11 +147,11 @@
|
||||||
'vibrantBass': 0,
|
'vibrantBass': 0,
|
||||||
'userGenerated': false
|
'userGenerated': false
|
||||||
}, {
|
}, {
|
||||||
'preset': 'boostBrightness',
|
'preset': 'boostAiriness',
|
||||||
'name': 'Boost Brightness',
|
'name': 'Boost Airiness',
|
||||||
'frequencies': [32, 63, 125, 250, 466, 1000, 2000, 4000, 8000, 20000],
|
'frequencies': [1169, 1733, 5962, 8688, 14125, 18628, 18628, 19000, 19500, 20000],
|
||||||
'gain': [0, 0, 0, 0, -2, 0, 0, 0, 0, 10],
|
'gain': [-1.41, 0.25, 3.33, 0.22, -0.53, 0.2, 3.64, 0, 0, 0],
|
||||||
'Q': [1, 1, 1, 1, 0.6, 1, 1, 1, 1, 0.1],
|
'Q': [0.405, 2.102, 0.025, 2.5, 7.071, 1.768, 1.146, 1, 1, 1],
|
||||||
'mix': 1,
|
'mix': 1,
|
||||||
'vibrantBass': 0,
|
'vibrantBass': 0,
|
||||||
'userGenerated': false
|
'userGenerated': false
|
||||||
|
@ -201,16 +201,6 @@
|
||||||
'vibrantBass': 0,
|
'vibrantBass': 0,
|
||||||
'userGenerated': false
|
'userGenerated': false
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'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],
|
|
||||||
'mix': 1,
|
|
||||||
'vibrantBass': 0,
|
|
||||||
'userGenerated': false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'preset': 'bassBoostSurgical',
|
'preset': 'bassBoostSurgical',
|
||||||
'name': 'Surgical Bass Boost',
|
'name': 'Surgical Bass Boost',
|
||||||
|
|
|
@ -78,7 +78,7 @@
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.description')}}</small>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.description')}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<input type="checkbox" v-model="app.cfg.advanced.ciderPPE" :disabled="app.cfg.audio.spatial === true" v-on:change="CiderAudio.hierarchical_loading();" switch/>
|
<input type="checkbox" v-model="app.cfg.advanced.ciderPPE" v-on:change="CiderAudio.hierarchical_loading();" switch/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext && app.cfg.advanced.ciderPPE === true">
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext && app.cfg.advanced.ciderPPE === true">
|
||||||
|
@ -96,6 +96,31 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
|
||||||
|
<div class="md-option-segment">
|
||||||
|
Analog Warmth
|
||||||
|
<br>
|
||||||
|
<small>Simulates the analog warmth modelled after the Korg Nutube 6P1</small>
|
||||||
|
</div>
|
||||||
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
|
<input type="checkbox" v-model="app.cfg.audio.analogWarmth" v-on:change="CiderAudio.hierarchical_loading();" switch/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext && app.cfg.audio.analogWarmth === true">
|
||||||
|
<div class="md-option-segment">
|
||||||
|
Analog Warmth Intensity
|
||||||
|
<br>
|
||||||
|
<small>Changes the intensity of the Analog Warmth Module processing.</small>
|
||||||
|
</div>
|
||||||
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
|
<button class="md-btn" :disabled="app.cfg.audio.analogWarmth_value === 1.25" v-model="app.cfg.audio.analogWarmth_value" onclick="app.cfg.audio.analogWarmth_value = 1.25; CiderAudio.hierarchical_loading();">
|
||||||
|
Smooth
|
||||||
|
</button>
|
||||||
|
<button class="md-btn" :disabled="app.cfg.audio.analogWarmth_value === 1.75" v-model="app.cfg.audio.analogWarmth_value" onclick="app.cfg.audio.analogWarmth_value = 1.75; CiderAudio.hierarchical_loading();">
|
||||||
|
Warm
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
{{$root.getLz('term.equalizer')}}
|
{{$root.getLz('term.equalizer')}}
|
||||||
|
@ -124,7 +149,7 @@
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description')}}</small>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description')}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<input type="checkbox" v-model="app.cfg.audio.spatial" :disabled="app.cfg.advanced.ciderPPE === true" v-on:change="toggleSpatial" switch/>
|
<input type="checkbox" v-model="app.cfg.audio.spatial" v-on:change="toggleSpatial" switch/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -846,6 +871,7 @@
|
||||||
}
|
}
|
||||||
if (app.cfg.audio.spatial) {
|
if (app.cfg.audio.spatial) {
|
||||||
CiderAudio.spatialOn()
|
CiderAudio.spatialOn()
|
||||||
|
CiderAudio.hierarchical_loading();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
app.cfg.advanced.ciderPPE = false;
|
app.cfg.advanced.ciderPPE = false;
|
||||||
|
@ -861,14 +887,15 @@
|
||||||
},
|
},
|
||||||
toggleSpatial: function () {
|
toggleSpatial: function () {
|
||||||
if (app.cfg.audio.spatial) {
|
if (app.cfg.audio.spatial) {
|
||||||
if (!app.cfg.advanced.ciderPPE) {
|
if (app.cfg.advanced.ciderPPE === true) {
|
||||||
CiderAudio.spatialOn()
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
CiderAudio.spatialOff()
|
CiderAudio.spatialOff()
|
||||||
app.cfg.audio.spatial = false;
|
app.cfg.audio.spatial = false;
|
||||||
notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility'))
|
notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility'))
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
CiderAudio.spatialOn()
|
||||||
|
CiderAudio.hierarchical_loading();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
CiderAudio.spatialOff()
|
CiderAudio.spatialOff()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue