Merge branch 'ciderapp:develop' into develop
This commit is contained in:
commit
140204ac0d
16 changed files with 13648 additions and 411 deletions
|
@ -39,6 +39,7 @@
|
||||||
"@sentry/electron": "^3.0.2",
|
"@sentry/electron": "^3.0.2",
|
||||||
"@sentry/integrations": "^6.18.1",
|
"@sentry/integrations": "^6.18.1",
|
||||||
"adm-zip": "0.4.10",
|
"adm-zip": "0.4.10",
|
||||||
|
|
||||||
"castv2-client": "^1.2.0",
|
"castv2-client": "^1.2.0",
|
||||||
"chokidar": "^3.5.3",
|
"chokidar": "^3.5.3",
|
||||||
"discord-rpc": "^4.0.1",
|
"discord-rpc": "^4.0.1",
|
||||||
|
@ -48,7 +49,7 @@
|
||||||
"electron-notarize": "^1.1.1",
|
"electron-notarize": "^1.1.1",
|
||||||
"electron-store": "^8.0.1",
|
"electron-store": "^8.0.1",
|
||||||
"electron-updater": "^4.6.5",
|
"electron-updater": "^4.6.5",
|
||||||
"electron-vibrancy-updated": "git+https://github.com/ciderapp/electron-vibrancy-updated",
|
|
||||||
"electron-window-state": "^5.0.3",
|
"electron-window-state": "^5.0.3",
|
||||||
"express": "^4.17.3",
|
"express": "^4.17.3",
|
||||||
"get-port": "^5.1.1",
|
"get-port": "^5.1.1",
|
||||||
|
@ -76,7 +77,7 @@
|
||||||
"@types/express": "^4.17.13",
|
"@types/express": "^4.17.13",
|
||||||
"@types/qrcode-terminal": "^0.12.0",
|
"@types/qrcode-terminal": "^0.12.0",
|
||||||
"@types/ws": "^8.5.1",
|
"@types/ws": "^8.5.1",
|
||||||
"electron": "git+https://github.com/castlabs/electron-releases.git#16-x-y",
|
"electron": "git+https://github.com/castlabs/electron-releases.git",
|
||||||
"electron-builder": "^22.14.13",
|
"electron-builder": "^22.14.13",
|
||||||
"electron-builder-notarize-pkg": "^1.2.0",
|
"electron-builder-notarize-pkg": "^1.2.0",
|
||||||
"electron-webpack": "^2.8.2",
|
"electron-webpack": "^2.8.2",
|
||||||
|
@ -108,9 +109,9 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"build": {
|
"build": {
|
||||||
"electronVersion": "16.0.7",
|
"electronVersion": "17.1.0",
|
||||||
"electronDownload": {
|
"electronDownload": {
|
||||||
"version": "16.0.7+wvcus",
|
"version": "18.0.0-alpha.5+wvcus",
|
||||||
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
|
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
|
||||||
},
|
},
|
||||||
"appId": "cider",
|
"appId": "cider",
|
||||||
|
|
Binary file not shown.
|
@ -60,6 +60,7 @@ export class BrowserWindow {
|
||||||
"pages/replay",
|
"pages/replay",
|
||||||
"pages/audiolabs",
|
"pages/audiolabs",
|
||||||
"pages/zoo",
|
"pages/zoo",
|
||||||
|
"pages/plugin-renderer",
|
||||||
"components/mediaitem-artwork",
|
"components/mediaitem-artwork",
|
||||||
"components/artwork-material",
|
"components/artwork-material",
|
||||||
"components/menu-panel",
|
"components/menu-panel",
|
||||||
|
@ -90,8 +91,14 @@ export class BrowserWindow {
|
||||||
"components/miniplayer",
|
"components/miniplayer",
|
||||||
"components/castmenu",
|
"components/castmenu",
|
||||||
"components/artist-chip",
|
"components/artist-chip",
|
||||||
|
"components/hello-world",
|
||||||
],
|
],
|
||||||
appRoutes: [
|
appRoutes: [
|
||||||
|
{
|
||||||
|
page: "plugin-renderer",
|
||||||
|
component: `<plugin-renderer></plugin-renderer>`,
|
||||||
|
condition: "page == 'plugin-renderer'"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
page: "zoo",
|
page: "zoo",
|
||||||
component: "<cider-zoo></cider-zoo>",
|
component: "<cider-zoo></cider-zoo>",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
require('v8-compile-cache');
|
require('v8-compile-cache');
|
||||||
|
|
||||||
import {app, components, ipcMain} from 'electron';
|
const {app, components, ipcMain} = require('electron');
|
||||||
import {join} from 'path';
|
import {join} from 'path';
|
||||||
|
|
||||||
if (!app.isPackaged) {
|
if (!app.isPackaged) {
|
||||||
|
@ -41,8 +41,7 @@ app.on('ready', () => {
|
||||||
require('vue-devtools').install()
|
require('vue-devtools').install()
|
||||||
}
|
}
|
||||||
|
|
||||||
app.whenReady().then(async () => {
|
components.whenReady().then(async () => {
|
||||||
await components.whenReady();
|
|
||||||
const bw = new BrowserWindow()
|
const bw = new BrowserWindow()
|
||||||
const win = await bw.createWindow()
|
const win = await bw.createWindow()
|
||||||
|
|
||||||
|
@ -51,11 +50,11 @@ app.on('ready', () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log('[Cider][Widevine] Status:', components.status());
|
console.log('[Cider][Widevine] Status:', components.status());
|
||||||
|
win.show();
|
||||||
|
|
||||||
win.on("ready-to-show", () => {
|
win.on("ready-to-show", () => {
|
||||||
Cider.bwCreated();
|
Cider.bwCreated();
|
||||||
CiderPlug.callPlugins('onReady', win);
|
CiderPlug.callPlugins('onReady', win);
|
||||||
win.show();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -439,237 +439,189 @@ const CiderAudio = {
|
||||||
hierarchical_loading: function (){
|
hierarchical_loading: function (){
|
||||||
CiderAudio.hierarchical_unloading();
|
CiderAudio.hierarchical_unloading();
|
||||||
|
|
||||||
// Vibrant Bass, CAP, Analog Warmth, Spatial
|
if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0) { // Vibrant Bass
|
||||||
if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === true &&
|
|
||||||
app.cfg.audio.spatial === true &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
|
||||||
|
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
CiderAudio.vibrantbass_h2_1(true)
|
||||||
CiderAudio.llpw_h2_2(true, 2);
|
|
||||||
CiderAudio.analogWarmth_h2_3(true, 3);
|
|
||||||
|
|
||||||
if (app.cfg.audio.maikiwiAudio.spatial === true) {
|
if (app.cfg.audio.maikiwiAudio.ciderPPE === true) { // Vibrant Bass, CAP
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
CiderAudio.llpw_h2_2(true, 2);
|
||||||
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
|
||||||
app.cfg.audio.normalization = true;
|
|
||||||
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial')
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
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')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { // Vibrant Bass, CAP, Analog Warmth
|
||||||
|
CiderAudio.analogWarmth_h2_3(true, 3);
|
||||||
|
|
||||||
|
if (app.cfg.audio.spatial === true) {
|
||||||
}
|
if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial
|
||||||
// CAP, Analog Warmth, Spatial
|
app.cfg.audio.normalization = true;
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 &&
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === true &&
|
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
app.cfg.audio.spatial === true &&
|
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial')
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
}
|
||||||
|
else { // Vibrant Bass, CAP, Analog Warmth, Spatial
|
||||||
CiderAudio.llpw_h2_2(true, 1);
|
app.cfg.audio.normalization = true;
|
||||||
CiderAudio.analogWarmth_h2_3(true, 3);
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
||||||
|
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
if (app.cfg.audio.maikiwiAudio.spatial === true) {
|
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial')
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode);
|
}
|
||||||
CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
}
|
||||||
app.cfg.audio.normalization = true;
|
else {
|
||||||
console.debug('[Cider][Audio] CAP, Analog Warmth, Maikiwi Spatial')
|
app.cfg.audio.normalization = true;
|
||||||
}
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
else {
|
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth')
|
||||||
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')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Vibrant Bass, CAP, Spatial
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === true &&
|
|
||||||
app.cfg.audio.spatial === true &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === false) {
|
|
||||||
|
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
|
||||||
CiderAudio.llpw_h2_2(true, 2);
|
|
||||||
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')
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
// Vibrant Bass, CAP, Analog Warmth
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === true &&
|
|
||||||
app.cfg.audio.spatial === false &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
|
||||||
|
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
|
||||||
CiderAudio.llpw_h2_2(true, 2);
|
|
||||||
CiderAudio.analogWarmth_h2_3(true, 3);
|
|
||||||
|
|
||||||
app.cfg.audio.normalization = true;
|
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
|
||||||
console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth')
|
|
||||||
}
|
|
||||||
// CAP, Spatial
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === true &&
|
|
||||||
app.cfg.audio.spatial === true &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === false) {
|
|
||||||
|
|
||||||
CiderAudio.llpw_h2_2(true, 1);
|
|
||||||
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')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Analog Warmth, Spatial
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === false &&
|
|
||||||
app.cfg.audio.spatial === true &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
|
||||||
|
|
||||||
CiderAudio.analogWarmth_h2_3(true, 1);
|
|
||||||
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] 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')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// CAP, Analog Warmth
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === true &&
|
|
||||||
app.cfg.audio.spatial === false &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
|
||||||
|
|
||||||
CiderAudio.llpw_h2_2(true, 1);
|
|
||||||
CiderAudio.analogWarmth_h2_3(true, 3);
|
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
|
||||||
console.debug('[Cider][Audio] CAP and Analog Warmth')
|
|
||||||
}
|
|
||||||
// Vibrant Bass, Analog Warmth
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === false &&
|
|
||||||
app.cfg.audio.spatial === false &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
|
||||||
|
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
|
||||||
CiderAudio.analogWarmth_h2_3(true, 2);
|
|
||||||
app.cfg.audio.normalization = true;
|
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
|
||||||
console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth')
|
|
||||||
}
|
|
||||||
|
|
||||||
// Vibrant Bass, CAP
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === true &&
|
|
||||||
app.cfg.audio.spatial === false &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === false) {
|
|
||||||
|
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
|
||||||
CiderAudio.llpw_h2_2(true, 2);
|
|
||||||
|
|
||||||
app.cfg.audio.normalization = true;
|
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
|
|
||||||
console.debug('[Cider][Audio] Vibrant Bass, CAP')
|
|
||||||
}
|
|
||||||
// Vibrant Bass, Spatial
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === false &&
|
|
||||||
app.cfg.audio.spatial === true &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === false) {
|
|
||||||
|
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
|
||||||
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')
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
// Vibrant Bass
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === false &&
|
|
||||||
app.cfg.audio.spatial === false &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === false) {
|
|
||||||
|
|
||||||
CiderAudio.vibrantbass_h2_1(true)
|
|
||||||
app.cfg.audio.normalization = true;
|
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]);
|
|
||||||
console.debug('[Cider][Audio] Vibrant Bass')
|
|
||||||
|
|
||||||
}
|
|
||||||
// CAP
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === true &&
|
|
||||||
app.cfg.audio.spatial === false &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === false) {
|
|
||||||
CiderAudio.llpw_h2_2(true, 1);
|
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]);
|
|
||||||
console.debug('[Cider][Audio] CAP')
|
|
||||||
}
|
|
||||||
// Analog Warmth
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === false &&
|
|
||||||
app.cfg.audio.spatial === false &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
|
||||||
CiderAudio.analogWarmth_h2_3(true, 1);
|
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
|
||||||
console.debug('[Cider][Audio] Analog Warmth')
|
|
||||||
}
|
|
||||||
// Spatial
|
|
||||||
else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 &&
|
|
||||||
app.cfg.audio.maikiwiAudio.ciderPPE === false &&
|
|
||||||
app.cfg.audio.spatial === true &&
|
|
||||||
app.cfg.audio.maikiwiAudio.analogWarmth === false){
|
|
||||||
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.audioBands[0]);
|
|
||||||
console.debug('[Cider][Audio] Maikiwi Spatial')
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);
|
if (app.cfg.audio.spatial === true) {
|
||||||
CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]);
|
if (app.cfg.audio.maikiwiAudio.spatial === true) {
|
||||||
console.debug('[Cider][Audio] Spatial')
|
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 {
|
||||||
|
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
||||||
|
CiderAudio.analogWarmth_h2_3(true, 2);
|
||||||
|
app.cfg.audio.normalization = true;
|
||||||
|
|
||||||
|
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]);
|
||||||
|
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 {
|
||||||
|
app.cfg.audio.normalization = true;
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
|
console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (app.cfg.audio.spatial === true) {
|
||||||
|
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')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Nothing
|
// Vibrant Bass ends here
|
||||||
else {
|
else {
|
||||||
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]);
|
if (app.cfg.audio.maikiwiAudio.ciderPPE === true) {
|
||||||
console.debug('[Cider][Audio] Nothing') // If CAP & vibrant bass is disabled
|
CiderAudio.llpw_h2_2(true, 1);
|
||||||
|
|
||||||
|
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
||||||
|
CiderAudio.analogWarmth_h2_3(true, 3);
|
||||||
|
|
||||||
|
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] 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 {
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
|
console.debug('[Cider][Audio] CAP and 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.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 {
|
||||||
|
if (app.cfg.audio.maikiwiAudio.analogWarmth === true) {
|
||||||
|
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] 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 {
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]);
|
||||||
|
console.debug('[Cider][Audio] 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.audioNodes.audioBands[0]);
|
||||||
|
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.audioNodes.audioBands[0]);
|
||||||
|
console.debug('[Cider][Audio] Spatial')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]);
|
||||||
|
console.debug('[Cider][Audio] Direct Mode to Equalizer')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.debug("[Cider][Audio] Finished hierarchical loading");
|
console.debug("[Cider][Audio] Finished hierarchical loading");
|
||||||
|
|
|
@ -1,17 +1,32 @@
|
||||||
const MusicKitTools = {
|
const MusicKitTools = {
|
||||||
async v3Continuous (href, options = {}, reqOptions = {}) {
|
async v3Continuous ({
|
||||||
|
href,
|
||||||
|
options = {},
|
||||||
|
reqOptions = {},
|
||||||
|
onProgress = () => {},
|
||||||
|
onError = () => {},
|
||||||
|
onSuccess = () => {}
|
||||||
|
} = {}) {
|
||||||
let returnData = []
|
let returnData = []
|
||||||
async function sendReq(href, options) {
|
async function sendReq(href, options) {
|
||||||
const response = await app.mk.api.v3.music(href, options)
|
const response = await app.mk.api.v3.music(href, options).catch(error => onError)
|
||||||
|
|
||||||
returnData = returnData.concat(response.data.data)
|
returnData = returnData.concat(response.data.data)
|
||||||
if(response.data.next) {
|
if(response.data.next) {
|
||||||
await sendReq(response.data.next, options)
|
onProgress({
|
||||||
|
response: response,
|
||||||
|
total: returnData.length
|
||||||
|
})
|
||||||
|
try {
|
||||||
|
await sendReq(response.data.next, options)
|
||||||
|
}catch(e){
|
||||||
|
await sendReq(response.data.next, options)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await sendReq(href, options)
|
await sendReq(href, options)
|
||||||
|
onSuccess(returnData)
|
||||||
return returnData
|
return returnData
|
||||||
},
|
},
|
||||||
getHeader() {
|
getHeader() {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import {store} from './vuex-store.js';
|
import { store } from './vuex-store.js';
|
||||||
|
|
||||||
Vue.use(VueHorizontal);
|
Vue.use(VueHorizontal);
|
||||||
Vue.use(VueObserveVisibility);
|
Vue.use(VueObserveVisibility);
|
||||||
|
@ -217,7 +217,11 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
pauseButtonTimer: null,
|
pauseButtonTimer: null,
|
||||||
activeCasts: []
|
activeCasts: [],
|
||||||
|
pluginPages: {
|
||||||
|
page: "hello-world",
|
||||||
|
pages: [],
|
||||||
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
cfg: {
|
cfg: {
|
||||||
|
@ -542,13 +546,13 @@ const app = new Vue({
|
||||||
this.modals.addToPlaylist = false
|
this.modals.addToPlaylist = false
|
||||||
await app.mk.api.v3.music(
|
await app.mk.api.v3.music(
|
||||||
`/v1/me/library/playlists/${playlist_id}/tracks`, {}, {
|
`/v1/me/library/playlists/${playlist_id}/tracks`, {}, {
|
||||||
fetchOptions: {
|
fetchOptions: {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
data: pl_items
|
data: pl_items
|
||||||
})
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
).then(() => {
|
).then(() => {
|
||||||
if (this.page == 'playlist_' + this.showingPlaylist.id) {
|
if (this.page == 'playlist_' + this.showingPlaylist.id) {
|
||||||
this.getPlaylistFromID(this.showingPlaylist.id, true)
|
this.getPlaylistFromID(this.showingPlaylist.id, true)
|
||||||
|
@ -1017,7 +1021,7 @@ const app = new Vue({
|
||||||
console.log("playlist has no cache")
|
console.log("playlist has no cache")
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cachedTrackMapping) {
|
if (cachedTrackMapping) {
|
||||||
console.log("using cached track mapping")
|
console.log("using cached track mapping")
|
||||||
this.playlists.trackMapping = cachedTrackMapping
|
this.playlists.trackMapping = cachedTrackMapping
|
||||||
}
|
}
|
||||||
|
@ -1033,7 +1037,7 @@ const app = new Vue({
|
||||||
const playlistData = await app.mk.api.v3.music(`/v1/me/library/playlist-folders/${parent}/children/`)
|
const playlistData = await app.mk.api.v3.music(`/v1/me/library/playlist-folders/${parent}/children/`)
|
||||||
await asyncForEach(playlistData.data.data, async (playlist) => {
|
await asyncForEach(playlistData.data.data, async (playlist) => {
|
||||||
playlist.parent = parent
|
playlist.parent = parent
|
||||||
if(
|
if (
|
||||||
playlist.type != "library-playlist-folders" &&
|
playlist.type != "library-playlist-folders" &&
|
||||||
typeof playlist.attributes.playParams["versionHash"] != "undefined"
|
typeof playlist.attributes.playParams["versionHash"] != "undefined"
|
||||||
) {
|
) {
|
||||||
|
@ -1103,12 +1107,12 @@ const app = new Vue({
|
||||||
this.newPlaylist()
|
this.newPlaylist()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: app.getLz('term.createNewPlaylistFolder'),
|
name: app.getLz('term.createNewPlaylistFolder'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.newPlaylistFolder()
|
this.newPlaylistFolder()
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
this.showMenuPanel(menu, event)
|
this.showMenuPanel(menu, event)
|
||||||
|
@ -1117,13 +1121,13 @@ const app = new Vue({
|
||||||
let self = this
|
let self = this
|
||||||
this.mk.api.v3.music(
|
this.mk.api.v3.music(
|
||||||
`/v1/me/library/playlist-folders/${id}`, {}, {
|
`/v1/me/library/playlist-folders/${id}`, {}, {
|
||||||
fetchOptions: {
|
fetchOptions: {
|
||||||
method: "PATCH",
|
method: "PATCH",
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
attributes: { name: name }
|
attributes: { name: name }
|
||||||
})
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
).then(res => {
|
).then(res => {
|
||||||
self.refreshPlaylists()
|
self.refreshPlaylists()
|
||||||
})
|
})
|
||||||
|
@ -1132,13 +1136,13 @@ const app = new Vue({
|
||||||
let self = this
|
let self = this
|
||||||
this.mk.api.v3.music(
|
this.mk.api.v3.music(
|
||||||
`/v1/me/library/playlists/${id}`, {}, {
|
`/v1/me/library/playlists/${id}`, {}, {
|
||||||
fetchOptions: {
|
fetchOptions: {
|
||||||
method: "PATCH",
|
method: "PATCH",
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
attributes: { name: name }
|
attributes: { name: name }
|
||||||
})
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
).then(res => {
|
).then(res => {
|
||||||
self.refreshPlaylists()
|
self.refreshPlaylists()
|
||||||
})
|
})
|
||||||
|
@ -1401,7 +1405,7 @@ const app = new Vue({
|
||||||
*/
|
*/
|
||||||
convertTime(time = 0, format = 'short') {
|
convertTime(time = 0, format = 'short') {
|
||||||
|
|
||||||
if(isNaN(time)) {
|
if (isNaN(time)) {
|
||||||
time = 0
|
time = 0
|
||||||
}
|
}
|
||||||
if (typeof time !== "number") {
|
if (typeof time !== "number") {
|
||||||
|
@ -1488,6 +1492,11 @@ const app = new Vue({
|
||||||
let page = hash[0]
|
let page = hash[0]
|
||||||
let id = hash[1]
|
let id = hash[1]
|
||||||
let isLibrary = hash[2] ?? false
|
let isLibrary = hash[2] ?? false
|
||||||
|
if(page == "plugin") {
|
||||||
|
this.pluginPages.page = "plugin." + id
|
||||||
|
this.page = "plugin-renderer"
|
||||||
|
return
|
||||||
|
}
|
||||||
this.routeView({
|
this.routeView({
|
||||||
kind: page,
|
kind: page,
|
||||||
id: id,
|
id: id,
|
||||||
|
@ -1516,9 +1525,9 @@ const app = new Vue({
|
||||||
document.querySelector("#app-content").scrollTop = 0
|
document.querySelector("#app-content").scrollTop = 0
|
||||||
} else if (kind == "editorial-elements") {
|
} else if (kind == "editorial-elements") {
|
||||||
console.log(item)
|
console.log(item)
|
||||||
if (item.relationships?.contents?.data != null && item.relationships?.contents?.data.length > 0){
|
if (item.relationships?.contents?.data != null && item.relationships?.contents?.data.length > 0) {
|
||||||
this.routeView(item.relationships.contents.data[0])
|
this.routeView(item.relationships.contents.data[0])
|
||||||
} else if (item.attributes?.link?.url != null){
|
} else if (item.attributes?.link?.url != null) {
|
||||||
window.open(item.attributes.link.url)
|
window.open(item.attributes.link.url)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2048,7 +2057,7 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
let librarySongs = await CiderCache.getCache(cacheId)
|
let librarySongs = await CiderCache.getCache(cacheId)
|
||||||
if (librarySongs) {
|
if (librarySongs) {
|
||||||
this.library.songs.listing = librarySongs
|
this.library.songs.listing.data = librarySongs
|
||||||
this.searchLibrarySongs()
|
this.searchLibrarySongs()
|
||||||
}
|
}
|
||||||
if (this.songstest) {
|
if (this.songstest) {
|
||||||
|
@ -2058,8 +2067,9 @@ const app = new Vue({
|
||||||
this.library.backgroundNotification.show = true
|
this.library.backgroundNotification.show = true
|
||||||
this.library.backgroundNotification.message = app.getLz('notification.updatingLibrarySongs')
|
this.library.backgroundNotification.message = app.getLz('notification.updatingLibrarySongs')
|
||||||
|
|
||||||
function downloadChunk() {
|
library = await MusicKitTools.v3Continuous({
|
||||||
const params = {
|
href: `/v1/me/library/songs/`,
|
||||||
|
options: {
|
||||||
"include[library-songs]": "catalog,artists,albums",
|
"include[library-songs]": "catalog,artists,albums",
|
||||||
"fields[artists]": "name,url,id",
|
"fields[artists]": "name,url,id",
|
||||||
"fields[albums]": "name,url,id",
|
"fields[albums]": "name,url,id",
|
||||||
|
@ -2067,80 +2077,28 @@ const app = new Vue({
|
||||||
"fields[catalog]": "artistUrl,albumUrl",
|
"fields[catalog]": "artistUrl,albumUrl",
|
||||||
"fields[songs]": "artistName,artistUrl,artwork,contentRating,editorialArtwork,name,playParams,releaseDate,url",
|
"fields[songs]": "artistName,artistUrl,artwork,contentRating,editorialArtwork,name,playParams,releaseDate,url",
|
||||||
limit: 100,
|
limit: 100,
|
||||||
l: self.mklang
|
l: app.mklang,
|
||||||
}
|
},
|
||||||
const safeparams = {
|
onProgress: (data) => {
|
||||||
"platform": "web",
|
console.log(`${data.total}/${data.response.data.meta.total}`)
|
||||||
"limit": 80
|
self.library.backgroundNotification.show = true
|
||||||
}
|
self.library.backgroundNotification.message = app.getLz('notification.updatingLibrarySongs')
|
||||||
self.library.songs.downloadState = 1
|
self.library.backgroundNotification.total = data.response.data.meta.total
|
||||||
if (downloaded == null) {
|
self.library.backgroundNotification.progress = data.total
|
||||||
app.mk.api.v3.music(`/v1/me/library/songs/`, params).then((response) => {
|
},
|
||||||
processChunk(response.data)
|
onSuccess: () => {
|
||||||
}).catch((error) => {
|
|
||||||
console.log('safe loading');
|
|
||||||
app.mk.api.v3.music(`/v1/me/library/songs/`, safeparams).then((response) => {
|
|
||||||
processChunk(response.data)
|
|
||||||
}).catch((error) => {
|
|
||||||
console.log('safe loading failed', error)
|
|
||||||
app.library.songs.downloadState = 2
|
|
||||||
app.library.backgroundNotification.show = false
|
|
||||||
})
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
if (downloaded.next != null) {
|
|
||||||
app.mk.api.v3.music(downloaded.next, params).then((response) => {
|
|
||||||
processChunk(response.data)
|
|
||||||
}).catch((error) => {
|
|
||||||
console.log('safe loading');
|
|
||||||
app.mk.api.v3.music(downloaded.next, safeparams).then((response) => {
|
|
||||||
processChunk(response.data)
|
|
||||||
}).catch((error) => {
|
|
||||||
console.log('safe loading failed', error)
|
|
||||||
app.library.songs.downloadState = 2
|
|
||||||
app.library.backgroundNotification.show = false
|
|
||||||
})
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
console.log("Download next", downloaded.next)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function processChunk(response) {
|
}
|
||||||
downloaded = response
|
})
|
||||||
library = library.concat(downloaded.data)
|
|
||||||
self.library.backgroundNotification.show = true
|
|
||||||
self.library.backgroundNotification.message = app.getLz('notification.updatingLibrarySongs')
|
|
||||||
self.library.backgroundNotification.total = downloaded.meta.total
|
|
||||||
self.library.backgroundNotification.progress = library.length
|
|
||||||
|
|
||||||
if (downloaded.meta.total == 0) {
|
self.library.songs.listing = library
|
||||||
self.library.songs.downloadState = 3
|
self.library.songs.downloadState = 2
|
||||||
return
|
self.library.backgroundNotification.show = false
|
||||||
}
|
self.searchLibrarySongs()
|
||||||
if (typeof downloaded.next == "undefined") {
|
CiderCache.putCache(cacheId, library)
|
||||||
console.log("downloaded.next is undefined")
|
console.log("Done!")
|
||||||
self.library.songs.listing = library
|
|
||||||
self.library.songs.downloadState = 2
|
|
||||||
self.library.backgroundNotification.show = false
|
|
||||||
self.searchLibrarySongs()
|
|
||||||
CiderCache.putCache(cacheId, library)
|
|
||||||
}
|
|
||||||
if (downloaded.meta.total > library.length || typeof downloaded.meta.next != "undefined") {
|
|
||||||
console.log(`downloading next chunk - ${library.length} songs so far`)
|
|
||||||
downloadChunk()
|
|
||||||
} else {
|
|
||||||
self.library.songs.listing = library
|
|
||||||
self.library.songs.downloadState = 2
|
|
||||||
self.library.backgroundNotification.show = false
|
|
||||||
self.searchLibrarySongs()
|
|
||||||
CiderCache.putCache(cacheId, library)
|
|
||||||
// console.log(library)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
downloadChunk()
|
return
|
||||||
},
|
},
|
||||||
// copy the getLibrarySongsFull function except change Songs to Albums
|
// copy the getLibrarySongsFull function except change Songs to Albums
|
||||||
async getLibraryAlbumsFull(force = false, index) {
|
async getLibraryAlbumsFull(force = false, index) {
|
||||||
|
@ -2239,7 +2197,7 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
if (downloaded.meta.total > library.length || typeof downloaded.meta.next != "undefined") {
|
if (downloaded.meta.total > library.length || typeof downloaded.meta.next != "undefined") {
|
||||||
console.log(`downloading next chunk - ${library.length
|
console.log(`downloading next chunk - ${library.length
|
||||||
} albums so far`)
|
} albums so far`)
|
||||||
downloadChunk()
|
downloadChunk()
|
||||||
} else {
|
} else {
|
||||||
self.library.albums.listing = library
|
self.library.albums.listing = library
|
||||||
|
@ -2348,7 +2306,7 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
if (downloaded.meta.total > library.length || typeof downloaded.meta.next != "undefined") {
|
if (downloaded.meta.total > library.length || typeof downloaded.meta.next != "undefined") {
|
||||||
console.log(`downloading next chunk - ${library.length
|
console.log(`downloading next chunk - ${library.length
|
||||||
} artists so far`)
|
} artists so far`)
|
||||||
downloadChunk()
|
downloadChunk()
|
||||||
} else {
|
} else {
|
||||||
self.library.artists.listing = library
|
self.library.artists.listing = library
|
||||||
|
@ -2484,13 +2442,13 @@ const app = new Vue({
|
||||||
let self = this
|
let self = this
|
||||||
this.mk.api.v3.music(
|
this.mk.api.v3.music(
|
||||||
"/v1/me/library/playlist-folders/", {}, {
|
"/v1/me/library/playlist-folders/", {}, {
|
||||||
fetchOptions: {
|
fetchOptions: {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
attributes: { name: name }
|
attributes: { name: name }
|
||||||
})
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
).then((res) => {
|
).then((res) => {
|
||||||
let playlist = (res.data.data[0])
|
let playlist = (res.data.data[0])
|
||||||
self.playlists.listing.push({
|
self.playlists.listing.push({
|
||||||
|
@ -3055,21 +3013,21 @@ const app = new Vue({
|
||||||
if (ids.length > 0) {
|
if (ids.length > 0) {
|
||||||
if (app.mk.queue._itemIDs.length > 0) {
|
if (app.mk.queue._itemIDs.length > 0) {
|
||||||
app.mk.playLater({ [kind + "s"]: itemsToPlay[kind] }).then(function () {
|
app.mk.playLater({ [kind + "s"]: itemsToPlay[kind] }).then(function () {
|
||||||
ind += 1;
|
ind += 1;
|
||||||
console.log(ind, Object.keys(itemsToPlay).length)
|
console.log(ind, Object.keys(itemsToPlay).length)
|
||||||
if (ind >= Object.keys(itemsToPlay).length) {
|
if (ind >= Object.keys(itemsToPlay).length) {
|
||||||
app.mk.changeToMediaAtIndex(app.mk.queue._itemIDs.indexOf(item.attributes.playParams.id ?? item.id))
|
app.mk.changeToMediaAtIndex(app.mk.queue._itemIDs.indexOf(item.attributes.playParams.id ?? item.id))
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
app.mk.setQueue({ [kind + "s"]: itemsToPlay[kind] }).then(function () {
|
app.mk.setQueue({ [kind + "s"]: itemsToPlay[kind] }).then(function () {
|
||||||
ind += 1;
|
ind += 1;
|
||||||
console.log(ind, Object.keys(itemsToPlay).length)
|
console.log(ind, Object.keys(itemsToPlay).length)
|
||||||
if (ind >= Object.keys(itemsToPlay).length) {
|
if (ind >= Object.keys(itemsToPlay).length) {
|
||||||
app.mk.changeToMediaAtIndex(app.mk.queue._itemIDs.indexOf(item.attributes.playParams.id ?? item.id))
|
app.mk.changeToMediaAtIndex(app.mk.queue._itemIDs.indexOf(item.attributes.playParams.id ?? item.id))
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3379,7 +3337,7 @@ const app = new Vue({
|
||||||
if (app.getThemeDirective("lcdArtworkSize") != "") {
|
if (app.getThemeDirective("lcdArtworkSize") != "") {
|
||||||
artworkSize = app.getThemeDirective("lcdArtworkSize")
|
artworkSize = app.getThemeDirective("lcdArtworkSize")
|
||||||
} else if (this.cfg.visual.directives.windowLayout == "twopanel") {
|
} else if (this.cfg.visual.directives.windowLayout == "twopanel") {
|
||||||
artworkSize = 70
|
artworkSize = 80
|
||||||
}
|
}
|
||||||
this.currentArtUrl = '';
|
this.currentArtUrl = '';
|
||||||
this.currentArtUrlRaw = '';
|
this.currentArtUrlRaw = '';
|
||||||
|
@ -3648,36 +3606,36 @@ const app = new Vue({
|
||||||
app.love(app.mk.nowPlayingItem)
|
app.love(app.mk.nowPlayingItem)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"icon": "./assets/feather/heart.svg",
|
"icon": "./assets/feather/heart.svg",
|
||||||
"id": "unlove",
|
"id": "unlove",
|
||||||
"active": true,
|
"active": true,
|
||||||
"name": app.getLz('action.unlove'),
|
"name": app.getLz('action.unlove'),
|
||||||
"hidden": true,
|
"hidden": true,
|
||||||
"action": function () {
|
"action": function () {
|
||||||
app.unlove(app.mk.nowPlayingItem)
|
app.unlove(app.mk.nowPlayingItem)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"icon": "./assets/feather/thumbs-down.svg",
|
"icon": "./assets/feather/thumbs-down.svg",
|
||||||
"id": "dislike",
|
"id": "dislike",
|
||||||
"name": app.getLz('action.dislike'),
|
"name": app.getLz('action.dislike'),
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"disabled": true,
|
"disabled": true,
|
||||||
"action": function () {
|
"action": function () {
|
||||||
app.dislike(app.mk.nowPlayingItem)
|
app.dislike(app.mk.nowPlayingItem)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"icon": "./assets/feather/thumbs-down.svg",
|
"icon": "./assets/feather/thumbs-down.svg",
|
||||||
"id": "undo_dislike",
|
"id": "undo_dislike",
|
||||||
"name": app.getLz('action.undoDislike'),
|
"name": app.getLz('action.undoDislike'),
|
||||||
"active": true,
|
"active": true,
|
||||||
"hidden": true,
|
"hidden": true,
|
||||||
"action": function () {
|
"action": function () {
|
||||||
app.unlove(app.mk.nowPlayingItem)
|
app.unlove(app.mk.nowPlayingItem)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
|
@ -3868,14 +3826,15 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
pinMiniPlayer(status = false) {
|
pinMiniPlayer(status = false) {
|
||||||
if (!status){
|
if (!status) {
|
||||||
if (!this.cfg.visual.miniplayer_top_toggle) {
|
if (!this.cfg.visual.miniplayer_top_toggle) {
|
||||||
ipcRenderer.send('windowontop', true)
|
ipcRenderer.send('windowontop', true)
|
||||||
this.cfg.visual.miniplayer_top_toggle = true;
|
this.cfg.visual.miniplayer_top_toggle = true;
|
||||||
|
} else {
|
||||||
|
ipcRenderer.send('windowontop', false)
|
||||||
|
this.cfg.visual.miniplayer_top_toggle = false;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ipcRenderer.send('windowontop', false)
|
|
||||||
this.cfg.visual.miniplayer_top_toggle = false;
|
|
||||||
}} else {
|
|
||||||
ipcRenderer.send('windowontop', this.cfg.visual.miniplayer_top_toggle ?? false)
|
ipcRenderer.send('windowontop', this.cfg.visual.miniplayer_top_toggle ?? false)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
13152
src/renderer/style.css
Normal file
13152
src/renderer/style.css
Normal file
File diff suppressed because it is too large
Load diff
|
@ -558,14 +558,14 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
|
||||||
.app-sidebar-notification {
|
.app-sidebar-notification {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
min-height: 60px;
|
min-height: 36px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-top: 1px solid rgb(200 200 200 / 15%);
|
border-top: 1px solid rgb(200 200 200 / 15%);
|
||||||
background: rgb(0 0 0 / 15%);
|
background: rgb(0 0 0 / 15%);
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding: 20px 0px;
|
padding: 10px 0px;
|
||||||
|
|
||||||
&.libraryNotification {
|
&.libraryNotification {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
|
40
src/renderer/themes/sweetener.css
Normal file
40
src/renderer/themes/sweetener.css
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
.menu-panel .menu-panel-body {
|
||||||
|
background-color: rgba(30, 30, 30, 0.45);
|
||||||
|
backdrop-filter: blur(32px) saturate(180%);
|
||||||
|
animation: menuIn 0.1s var(--appleEase);
|
||||||
|
}
|
||||||
|
@keyframes menuIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-10px) translate3d(0, 0, 0);
|
||||||
|
background: #1e1e1e;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
background: rgba(30, 30, 30, 0.45);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.cd-mediaitem-square:not(.mediaitem-card) {
|
||||||
|
transition: transform 0.2s var(--appleEase);
|
||||||
|
transition-delay: 0.1s;
|
||||||
|
padding: 12px;
|
||||||
|
height: 250px;
|
||||||
|
}
|
||||||
|
.cd-mediaitem-square:not(.mediaitem-card) .artwork-container,
|
||||||
|
.cd-mediaitem-square:not(.mediaitem-card) .info-rect {
|
||||||
|
transition: transform 0.22s var(--appleEase);
|
||||||
|
transition-delay: 0.05s;
|
||||||
|
}
|
||||||
|
.cd-mediaitem-square:not(.mediaitem-card):hover .artwork-container {
|
||||||
|
transform: scale(1.1);
|
||||||
|
transition: transform 0.1s var(--appleEase);
|
||||||
|
transition-delay: 0s;
|
||||||
|
transform-origin: center;
|
||||||
|
}
|
||||||
|
.cd-mediaitem-square:not(.mediaitem-card):hover .info-rect {
|
||||||
|
z-index: 1;
|
||||||
|
transition: transform 0.1s var(--appleEase);
|
||||||
|
transition-delay: 0s;
|
||||||
|
transform: translateY(8px) translate3d(0, 0, 0);
|
||||||
|
}
|
|
@ -47,7 +47,7 @@
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
.artwork-container {
|
.artwork-container {
|
||||||
transform : scale(1.1) translate3d(0,0,0);
|
transform : scale(1.1);
|
||||||
transition : transform .1s var(--appleEase);
|
transition : transform .1s var(--appleEase);
|
||||||
transition-delay: 0s;
|
transition-delay: 0s;
|
||||||
transform-origin: center;
|
transform-origin: center;
|
||||||
|
|
|
@ -57,6 +57,7 @@
|
||||||
platformInfo: {requiresCDMAttachOnStart: !0, maxSecurityLevel: d, keySystemConfig: h},
|
platformInfo: {requiresCDMAttachOnStart: !0, maxSecurityLevel: d, keySystemConfig: h},
|
||||||
appData: {serviceName: "Apple Music"}
|
appData: {serviceName: "Apple Music"}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.hls.attachMedia(this.$refs.video);
|
this.hls.attachMedia(this.$refs.video);
|
||||||
this.hls.loadSource(this.video);
|
this.hls.loadSource(this.video);
|
||||||
let u = this.hls;
|
let u = this.hls;
|
||||||
|
@ -80,8 +81,8 @@
|
||||||
quality = qualities[qualities.length - 1].level
|
quality = qualities[qualities.length - 1].level
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
try{
|
||||||
this.hls.loadLevel = parseInt( quality || 1);},200)
|
this.hls.loadLevel = parseInt( quality || 1);} catch(e){}},200)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -295,11 +295,19 @@
|
||||||
},
|
},
|
||||||
changeVibrantBass() {
|
changeVibrantBass() {
|
||||||
app.cfg.audio.maikiwiAudio.vibrantBass.multiplier = app.cfg.audio.equalizer.vibrantBass / 10
|
app.cfg.audio.maikiwiAudio.vibrantBass.multiplier = app.cfg.audio.equalizer.vibrantBass / 10
|
||||||
CiderAudio.hierarchical_loading();
|
if (app.cfg.audio.equalizer.vibrantBass !== 0) {
|
||||||
if (app.cfg.audio.equalizer.vibrantBass != 0) {
|
try {
|
||||||
for (var i = 0; i < 21; i++) {
|
for (var i = 0; i < 21; i++) {
|
||||||
CiderAudio.audioNodes.vibrantbassNode[i].gain.value = app.cfg.audio.maikiwiAudio.vibrantBass.gain[i] * (app.cfg.audio.equalizer.vibrantBass / 10);
|
CiderAudio.audioNodes.vibrantbassNode[i].gain.value = app.cfg.audio.maikiwiAudio.vibrantBass.gain[i] * (app.cfg.audio.equalizer.vibrantBass / 10);
|
||||||
}}
|
}}
|
||||||
|
catch(e) {
|
||||||
|
CiderAudio.hierarchical_loading();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
CiderAudio.hierarchical_loading();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
changeMix() {
|
changeMix() {
|
||||||
for (var i = 0; i < 10; i++) {
|
for (var i = 0; i < 10; i++) {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
Vue.component('hello-world', {
|
var hw = Vue.component('hello-world', {
|
||||||
template: '#hello-world',
|
template: '#hello-world',
|
||||||
methods: {
|
methods: {
|
||||||
sayHello: function () {
|
sayHello: function () {
|
||||||
|
|
|
@ -30,10 +30,10 @@
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}</small>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<button class="md-btn" :disabled="app.cfg.audio.maikiwiAudio.ciderPPE_value === 0.5" v-model="app.cfg.audio.maikiwiAudio.ciderPPE_value" onclick="app.cfg.audio.maikiwiAudio.ciderPPE_value = 0.5; CiderAudio.hierarchical_loading();">
|
<button class="md-btn" :disabled="app.cfg.audio.maikiwiAudio.ciderPPE_value === 0.5" v-model="app.cfg.audio.maikiwiAudio.ciderPPE_value" onclick="ciderPPEStandard">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard')}}
|
||||||
</button>
|
</button>
|
||||||
<button class="md-btn" style="margin-top: 5px;" :disabled="app.cfg.audio.maikiwiAudio.ciderPPE_value === 0.55" v-model="app.cfg.audio.maikiwiAudio.ciderPPE_value" onclick="app.cfg.audio.maikiwiAudio.ciderPPE_value = 0.55; CiderAudio.hierarchical_loading();">
|
<button class="md-btn" style="margin-top: 5px;" :disabled="app.cfg.audio.maikiwiAudio.ciderPPE_value === 0.55" v-model="app.cfg.audio.maikiwiAudio.ciderPPE_value" onclick="ciderPPEClarity">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive')}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -55,10 +55,10 @@
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description')}}</small>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description')}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<button class="md-btn" :disabled="app.cfg.audio.maikiwiAudio.analogWarmth_value === 1.25" v-model="app.cfg.audio.maikiwiAudio.analogWarmth_value" onclick="app.cfg.audio.maikiwiAudio.analogWarmth_value = 1.25; CiderAudio.hierarchical_loading();">
|
<button class="md-btn" :disabled="app.cfg.audio.maikiwiAudio.analogWarmth_value === 1.25" v-model="app.cfg.audio.maikiwiAudio.analogWarmth_value" onclick="analogWarmthSmooth">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth')}}
|
||||||
</button>
|
</button>
|
||||||
<button class="md-btn" :disabled="app.cfg.audio.maikiwiAudio.analogWarmth_value === 1.75" v-model="app.cfg.audio.maikiwiAudio.analogWarmth_value" onclick="app.cfg.audio.maikiwiAudio.analogWarmth_value = 1.75; CiderAudio.hierarchical_loading();">
|
<button class="md-btn" :disabled="app.cfg.audio.maikiwiAudio.analogWarmth_value === 1.75" v-model="app.cfg.audio.maikiwiAudio.analogWarmth_value" onclick="analogWarmthWarm">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm')}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -98,6 +98,59 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div style="opacity: 0.5; pointer-events: none">
|
||||||
|
<div class="md-option-header">
|
||||||
|
<span>{{$root.getLz('settings.header.unfinished')}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
||||||
|
<div class="md-option-segment">
|
||||||
|
Cider Atmosphere Realizer™️
|
||||||
|
<br>
|
||||||
|
<small>Realizes an entirely different musical atmosphere only to be found on state of the art audio setups.</small>
|
||||||
|
</div>
|
||||||
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
|
<button class="md-btn">
|
||||||
|
Signature
|
||||||
|
</button>
|
||||||
|
<button class="md-btn">
|
||||||
|
Signature+
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
||||||
|
<div class="md-option-segment">
|
||||||
|
Cider Origami Vocal Enhance/Remaster™️
|
||||||
|
<br>
|
||||||
|
<small>Re-textures the vocals by carving out the frequencies and adjusts them to the selected profile.<br>
|
||||||
|
<b>Modern:</b>
|
||||||
|
Embracing 21st Century Equipment, this revives old recordings while preserving the Master's original intent.<br>
|
||||||
|
<b>Intimate:</b>
|
||||||
|
Bringing the vocals closer to your heart, communicating only the most personal connection between you and the artist.<br>
|
||||||
|
<b>Breathy:</b>
|
||||||
|
Giving the perfectionists a new voice, this adds naturality to the vocals by making them more breathy and more natural. <br>
|
||||||
|
<b>Articulate:</b>
|
||||||
|
Wrapping every detail of the vocal to your ear, resulting in a more expressive voice.
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
|
<select class="md-select">
|
||||||
|
<option value="none">{{$root.getLz('settings.header.visual.windowBackgroundStyle.none')}}
|
||||||
|
</option>
|
||||||
|
<option value="modern">
|
||||||
|
Modern
|
||||||
|
</option>
|
||||||
|
<option value="intimate">
|
||||||
|
Intimate
|
||||||
|
</option>
|
||||||
|
<option value="breathy">
|
||||||
|
Breathy
|
||||||
|
</option>
|
||||||
|
<option value="articulate">
|
||||||
|
Articulate
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
|
@ -125,5 +178,33 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
ciderPPEStandard: function () {
|
||||||
|
app.cfg.audio.maikiwiAudio.ciderPPE_value = 0.5;
|
||||||
|
let LLPW_GAIN = [0.38, -1.81, -0.23, -0.51, 0.4, 0.84, 0.36, -0.34, 0.27, -1.2, -0.42, -0.67, 0.81, 1.31, -0.71, 0.68, -1.04, 0.79, -0.73, -1.33, 1.17, 0.57, 0.35, 6.33];
|
||||||
|
for (let i = 0; i < 24; i++) {
|
||||||
|
CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ciderPPEClarity: function () {
|
||||||
|
app.cfg.audio.maikiwiAudio.ciderPPE_value = 0.55;
|
||||||
|
let c_LLPW_GAIN = [-0.11, 0.27, -0.8, 0.57, 1.84, -0.38, 0.47, -1.56, 0.83, 1.58, -1.79, -0.45, 0.48, 1.22, -1.58, -1.59, -2.03, 2.56, -2.2, -2.48, 4.75, 10.5, 1.43, 3.76];
|
||||||
|
for (let i = 0; i < 24; i++) {
|
||||||
|
CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
analogWarmthSmooth: function () {
|
||||||
|
app.cfg.audio.maikiwiAudio.analogWarmth_value = 1.25
|
||||||
|
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];
|
||||||
|
for (let i = 0; i < 23; i++) {
|
||||||
|
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
analogWarmthWarm: function () {
|
||||||
|
app.cfg.audio.maikiwiAudio.analogWarmth_value = 1.75
|
||||||
|
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];
|
||||||
|
for (let i = 0; i < 23; i++) {
|
||||||
|
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.75;
|
||||||
|
}
|
||||||
|
}
|
||||||
}})
|
}})
|
||||||
</script>
|
</script>
|
22
src/renderer/views/pages/plugin-renderer.ejs
Normal file
22
src/renderer/views/pages/plugin-renderer.ejs
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<script>
|
||||||
|
Vue.component('plugin-renderer', {
|
||||||
|
/*html*/
|
||||||
|
template: `
|
||||||
|
<component :is="getPage()"></component>
|
||||||
|
`,
|
||||||
|
data: function () {
|
||||||
|
return {
|
||||||
|
app: this.$root,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {},
|
||||||
|
mounted() {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getPage() {
|
||||||
|
return this.$root.pluginPages.page
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
</script>
|
Loading…
Add table
Add a link
Reference in a new issue