From 489340f23791324d1ac7749f885a58c206b46716 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Fri, 24 Dec 2021 23:46:39 -0800 Subject: [PATCH] Added some settings --- index.js | 30 ++++++-- src/main/cider-base.js | 76 ------------------- src/renderer/index.js | 15 ++++ .../views/components/animatedartwork-view.ejs | 22 +++++- .../views/components/mediaitem-artwork.ejs | 26 +++++-- src/renderer/views/pages/artist.ejs | 1 + src/renderer/views/pages/cider-playlist.ejs | 1 + src/renderer/views/pages/settings.ejs | 46 ++++++++--- 8 files changed, 114 insertions(+), 103 deletions(-) diff --git a/index.js b/index.js index a641e2a9..6453b055 100644 --- a/index.js +++ b/index.js @@ -1,12 +1,11 @@ require('v8-compile-cache'); -const {app} = require('electron'); +const { app } = require('electron'); // Analytics for debugging. const ElectronSentry = require("@sentry/electron"); -ElectronSentry.init({dsn: "https://68c422bfaaf44dea880b86aad5a820d2@o954055.ingest.sentry.io/6112214"}); +ElectronSentry.init({ dsn: "https://68c422bfaaf44dea880b86aad5a820d2@o954055.ingest.sentry.io/6112214" }); // Enable WebGPU and list adapters (EXPERIMENTAL.) -app.commandLine.appendSwitch('enable-unsafe-webgpu'); const configSchema = { "general": { @@ -15,9 +14,6 @@ const configSchema = { "discord_rpc": 1, // 0 = disabled, 1 = enabled as Cider, 2 = enabled as Apple Music "volume": 1 }, - "behavior": { - "hw_acceleration": 0 // 0 = default, 1 = webgpu, 2 = gpu disabled - }, "audio": { "quality": "extreme", "seamless_audio": true @@ -26,7 +22,9 @@ const configSchema = { "theme": "", "scrollbars": 0, // 0 = show on hover, 2 = always hide, 3 = always show "refresh_rate": 0, - "animated_artwork": 0 // 0 = always, 1 = limited, 2 = never + "animated_artwork": "always", // 0 = always, 1 = limited, 2 = never + "hw_acceleration": "default", // default, webgpu, disabled + "window_transparency": "default" }, "lyrics": { "enable_mxm": false, @@ -50,6 +48,22 @@ function CreateWindow() { defaults: configSchema, }); + switch (app.cfg.get("visual.hw_acceleration")) { + default: + case "default": + + break; + case "webgpu": + console.info("WebGPU is enabled."); + app.commandLine.appendSwitch('enable-unsafe-webgpu'); + break; + case "disabled": + console.info("Hardware acceleration is disabled."); + app.commandLine.appendSwitch('disable-gpu') + break; + } + + /** CIDER **/ const ciderwin = require("./src/main/cider-base") app.win = ciderwin @@ -67,7 +81,7 @@ app.commandLine.appendSwitch('js-flags', '--max-old-space-size=1024') app.on('ready', () => { if (app.isQuiting) { app.quit(); return; } console.log('[Cider] Application is Ready. Creating Window.') - if(!app.isPackaged) { + if (!app.isPackaged) { console.info('[Cider] Running in development mode.') } CreateWindow() diff --git a/src/main/cider-base.js b/src/main/cider-base.js index d530c6d3..3576d90c 100644 --- a/src/main/cider-base.js +++ b/src/main/cider-base.js @@ -9,81 +9,6 @@ const Store = require("electron-store"); const store = new Store(); const yt = require('youtube-search-without-api-key'); -const schema = { - "general": { - "close_behavior": { - type: "number", - default: 0 - }, - "startup_behavior": { - type: "number", - default: 0 - }, - "discord_rpc": { - type: "number", - default: 1 - }, - }, - "behavior": { - "hw_acceleration": { - type: "number", - default: 0 // 0 = default, 1 = webgpu, 2 = gpu disabled - } - }, - "audio": { - "quality": { - type: "string", - default: "extreme", - }, - "seamless_audio": { - type: "boolean", - default: true, - } - }, - "visual": { - "theme": { - type: "string", - default: "" - }, - "scrollbars": { - type: "number", - default: 0 - }, - "refresh_rate": { - type: "number", - default: 0 - }, - "animated_artwork": { - type: "number", - default: 0 // 0 = always, 1 = limited, 2 = never - } - }, - "lyrics": { - "enable_mxm": { - type: "boolean", - default: false - }, - "mxm_language": { - type: "string", - default: "en" - } - }, - "lastfm": { - "enabled": { - type: "boolean", - default: false - }, - "scrobble_after": { - type: "number", - default: 30 - }, - "auth_token": { - type: "string", - default: "" - } - } -} - // Analytics for debugging. const ElectronSentry = require("@sentry/electron"); ElectronSentry.init({dsn: "https://68c422bfaaf44dea880b86aad5a820d2@o954055.ingest.sentry.io/6112214"}); @@ -127,7 +52,6 @@ const CiderBase = { contextIsolation: false, preload: join(__dirname, '../preload/cider-preload.js') } - } CiderBase.InitWebServer() diff --git a/src/renderer/index.js b/src/renderer/index.js index a3d61196..fc17bb9b 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -269,6 +269,19 @@ const app = new Vue({ }, }, methods: { + getHTMLStyle() { + switch(this.cfg.visual.window_transparency) { + case "acrylic": + default: + document.querySelector("html").style.background = ""; + document.querySelector("body").style.background = ""; + break; + case "disabled": + document.querySelector("html").style.background = "#222"; + document.querySelector("body").style.background = "#222"; + break; + } + }, resetState() { app.selectedMediaItems = []; for (let key in app.modals) { @@ -2306,6 +2319,8 @@ function refreshFocus() { setTimeout(refreshFocus, 200); } +app.getHTMLStyle() + refreshFocus(); function xmlToJson(xml) { diff --git a/src/renderer/views/components/animatedartwork-view.ejs b/src/renderer/views/components/animatedartwork-view.ejs index f7c81d97..91eebe7c 100644 --- a/src/renderer/views/components/animatedartwork-view.ejs +++ b/src/renderer/views/components/animatedartwork-view.ejs @@ -9,10 +9,27 @@