From b57fe0f3ac172b212b6932a743f05abc72761562 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Tue, 28 Dec 2021 10:55:44 +0700 Subject: [PATCH] Fix settings toggles for discord --- index.js | 1 + src/main/cider-base.js | 2 +- src/main/discordrpc.js | 32 +++++++++++++-------------- src/renderer/views/pages/settings.ejs | 16 +++++++++++++- 4 files changed, 33 insertions(+), 18 deletions(-) diff --git a/index.js b/index.js index 8ba6b299..6944f2fe 100644 --- a/index.js +++ b/index.js @@ -10,6 +10,7 @@ const configSchema = { "close_behavior": 0, // 0 = close, 1 = minimize, 2 = minimize to tray "startup_behavior": 0, // 0 = nothing, 1 = open on startup "discord_rpc": 1, // 0 = disabled, 1 = enabled as Cider, 2 = enabled as Apple Music + "discordClearActivityOnPause" : 0, // 0 = disabled, 1 = enabled "volume": 1 }, "audio": { diff --git a/src/main/cider-base.js b/src/main/cider-base.js index f8613d86..18cdd1c4 100644 --- a/src/main/cider-base.js +++ b/src/main/cider-base.js @@ -205,7 +205,7 @@ const CiderBase = { mpris.connect(win) // Discord - discord.connect('911790844204437504'); + discord.connect((app.cfg.get("general.discord_rpc") == 1) ? '911790844204437504' : '886578863147192350'); ipcMain.on('playbackStateDidChange', (_event, a) => { discord.updateActivity(a) mpris.updateState(a) diff --git a/src/main/discordrpc.js b/src/main/discordrpc.js index bb084b12..e9bf6871 100644 --- a/src/main/discordrpc.js +++ b/src/main/discordrpc.js @@ -9,7 +9,7 @@ module.exports = { */ connect: function (clientId) { app.discord = {isConnected: false}; - if (!app.cfg.get('general.discord_rpc')) return; + if (app.cfg.get('general.discord_rpc') == 0) return; DiscordRPC.register(clientId) // Apparently needed for ask to join, join, spectate etc. const client = new DiscordRPC.Client({transport: "ipc"}); @@ -43,7 +43,7 @@ module.exports = { * Disconnects from Discord RPC */ disconnect: function () { - if (!app.cfg.get('general.discord_rpc') || !app.discord.isConnected) return; + if (app.cfg.get('general.discord_rpc') == 0 || !app.discord.isConnected) return; try { app.discord.destroy().then(() => { @@ -60,7 +60,7 @@ module.exports = { * @param {object} attributes */ updateActivity: function (attributes) { - if (!app.cfg.get('general.discord_rpc')) return; + if (app.cfg.get('general.discord_rpc') == 0) return; if (!app.discord.isConnected) { this.connect() @@ -87,14 +87,14 @@ module.exports = { ] }; if (ActivityObject.largeImageKey == "" || ActivityObject.largeImageKey == null) { - ActivityObject.largeImageKey = "cider" + ActivityObject.largeImageKey = (app.cfg.get("general.discord_rpc") == 1) ? "cider" : "logo" } - //console.log(`[LinkHandler] Listening URL has been set to: ${listenURL}`); + // console.log(`[LinkHandler] Listening URL has been set to: ${listenURL}`); - // if (app.cfg.get('general.discordClearActivityOnPause')) { - // delete ActivityObject.smallImageKey - // delete ActivityObject.smallImageText - // } + if (app.cfg.get('general.discordClearActivityOnPause') == 1) { + delete ActivityObject.smallImageKey + delete ActivityObject.smallImageText + } // Check all the values work if (!((new Date(attributes.endTime)).getTime() > 0)) { @@ -113,21 +113,21 @@ module.exports = { // Clear if if needed if (!attributes.status) { - //if (app.cfg.get('general.discordClearActivityOnPause')) { - // app.discord.clearActivity().catch((e) => console.error(`[DiscordRPC][clearActivity] ${e}`)); - // ActivityObject = null - // } else - // { + if (app.cfg.get('general.discordClearActivityOnPause') == 1) { + app.discord.clearActivity().catch((e) => console.error(`[DiscordRPC][clearActivity] ${e}`)); + ActivityObject = null + } else + { delete ActivityObject.startTimestamp delete ActivityObject.endTimestamp ActivityObject.smallImageKey = 'pause' ActivityObject.smallImageText = 'Paused' - //} + } } if (ActivityObject) { try { - // console.log(`[DiscordRPC][setActivity] Setting activity to ${JSON.stringify(ActivityObject)}`); + // console.log(`[DiscordRPC][setActivity] Setting activity to ${JSON.stringify(ActivityObject)}`); app.discord.setActivity(ActivityObject) } catch (err) { console.error(`[DiscordRPC][setActivity] ${err}`) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 99370471..5dbac871 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -382,7 +382,7 @@
- Unfinished / Non Functional + Conectivity
@@ -396,6 +396,20 @@
+
+
+ Clear Discord RPC on Pause +
+
+ +
+
+
+ Unfinished / Non Functional +
Enable AudioContext Functionality