From 99627fdeb6997d120b7fb59743286e0a5841ef1f Mon Sep 17 00:00:00 2001
From: booploops <49113086+booploops@users.noreply.github.com>
Date: Fri, 7 Jan 2022 12:03:25 -0800
Subject: [PATCH 1/2] made an unlove graphic
---
src/renderer/assets/feather/unheart.svg | 6 ++++++
src/renderer/index.js | 2 +-
src/renderer/views/components/mediaitem-list-item.ejs | 2 +-
src/renderer/views/components/mediaitem-square.ejs | 2 +-
4 files changed, 9 insertions(+), 3 deletions(-)
create mode 100644 src/renderer/assets/feather/unheart.svg
diff --git a/src/renderer/assets/feather/unheart.svg b/src/renderer/assets/feather/unheart.svg
new file mode 100644
index 00000000..7e00cd39
--- /dev/null
+++ b/src/renderer/assets/feather/unheart.svg
@@ -0,0 +1,6 @@
+
+
+
diff --git a/src/renderer/index.js b/src/renderer/index.js
index 7a3f817e..2bc33215 100644
--- a/src/renderer/index.js
+++ b/src/renderer/index.js
@@ -2856,7 +2856,7 @@ const app = new Vue({
}
},
{
- "icon": "./assets/feather/x-circle.svg",
+ "icon": "./assets/feather/unheart.svg",
"id": "unlove",
"name": "Unlove",
"disabled": true,
diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs
index 37c83284..8b720469 100644
--- a/src/renderer/views/components/mediaitem-list-item.ejs
+++ b/src/renderer/views/components/mediaitem-list-item.ejs
@@ -289,7 +289,7 @@
}
},
{
- "icon": "./assets/feather/x-circle.svg",
+ "icon": "./assets/feather/unheart.svg",
"id": "unlove",
"name": "Unlove",
"disabled": true,
diff --git a/src/renderer/views/components/mediaitem-square.ejs b/src/renderer/views/components/mediaitem-square.ejs
index b3fbf55a..f5e320d7 100644
--- a/src/renderer/views/components/mediaitem-square.ejs
+++ b/src/renderer/views/components/mediaitem-square.ejs
@@ -356,7 +356,7 @@
}
},
{
- "icon": "./assets/feather/x-circle.svg",
+ "icon": "./assets/feather/unheart.svg",
"id": "unlove",
"name": "Unlove",
"disabled": true,
From c85b8d22ff689cf93fa5e3b35e8bebbf3d5f1471 Mon Sep 17 00:00:00 2001
From: Core
Date: Fri, 7 Jan 2022 20:11:30 +0000
Subject: [PATCH 2/2] small cleanup to how discordrpc does things, fixed the
icon for linux
---
src/main/cider-base.js | 2 +-
src/main/discordrpc.js | 50 +++++++++++++++++++++++-------------------
2 files changed, 28 insertions(+), 24 deletions(-)
diff --git a/src/main/cider-base.js b/src/main/cider-base.js
index ed176448..13c96d6b 100644
--- a/src/main/cider-base.js
+++ b/src/main/cider-base.js
@@ -38,7 +38,7 @@ const CiderBase = {
let win = null
const options = {
- icon: join(__dirname, `../../resources/icons/icon.ico`),
+ icon: join(__dirname, `../../resources/icons/icon.` + (process.platform === "win32" ? "ico" : "png")),
width: mainWindowState.width,
height: mainWindowState.height,
x: mainWindowState.x,
diff --git a/src/main/discordrpc.js b/src/main/discordrpc.js
index 645039ca..ea1f4467 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') == 0) return;
+ if (app.cfg.get('general.discord_rpc') == 0 || app.discord.isConnected) return;
DiscordRPC.register(clientId) // Apparently needed for ask to join, join, spectate etc.
const client = new DiscordRPC.Client({transport: "ipc"});
@@ -24,11 +24,6 @@ module.exports = {
app.discord.on('ready', () => {
console.log(`[DiscordRPC][connect] Successfully Connected to Discord. Authed for user: ${client.user.username} (${client.user.id})`);
-
- if (app.discord.activityCache) {
- client.setActivity(app.discord.activityCache).catch((e) => console.error(e));
- app.discord.activityCache = null;
- }
})
// Handles Errors
@@ -63,11 +58,10 @@ module.exports = {
if (app.cfg.get('general.discord_rpc') == 0) return;
if (!app.discord.isConnected) {
- this.connect()
+ app.discord.clearActivity().catch((e) => console.error(`[DiscordRPC][updateActivity] ${e}`));
+ return;
}
- if (!app.discord.isConnected) return;
-
// console.log('[DiscordRPC][updateActivity] Updating Discord Activity.')
const listenURL = `https://applemusicelectron.com/p?id=${attributes.playParams.id}`
@@ -87,48 +81,58 @@ module.exports = {
]
};
if (ActivityObject.largeImageKey == "" || ActivityObject.largeImageKey == null) {
- ActivityObject.largeImageKey = (app.cfg.get("general.discord_rpc") == 1) ? "cider" : "logo"
+ ActivityObject.largeImageKey = (app.cfg.get("general.discord_rpc") == 1) ? "cider" : "logo"
}
- // console.log(`[LinkHandler] Listening URL has been set to: ${listenURL}`);
- if (app.cfg.get('general.discordClearActivityOnPause') == 1) {
+ // Remove the pause/play icon and test for clear activity on pause
+ if (app.cfg.get('general.discordClearActivityOnPause') == 1) {
delete ActivityObject.smallImageKey
delete ActivityObject.smallImageText
}
- // Check all the values work
+ // Deletes the timestamp if its not greater than 0
if (!((new Date(attributes.endTime)).getTime() > 0)) {
delete ActivityObject.startTimestamp
delete ActivityObject.endTimestamp
}
+
+ // Artist check
if (!attributes.artistName) {
delete ActivityObject.state
}
+
+ // Album text check
if (!ActivityObject.largeImageText || ActivityObject.largeImageText.length < 2) {
delete ActivityObject.largeImageText
}
+
+ // Checks if the name is greater than 128 because some songs can be that long
if (ActivityObject.details.length > 128) {
- AcitivityObject.details = ActivityObject.details.substring(0, 125) + '...'
+ ActivityObject.details = ActivityObject.details.substring(0, 125) + '...'
}
- // Clear if if needed
+
+
+
+ // Check if its pausing (false) or playing (true)
if (!attributes.status) {
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'
+ } else {
+ delete ActivityObject.startTimestamp
+ delete ActivityObject.endTimestamp
+ ActivityObject.smallImageKey = 'pause'
+ ActivityObject.smallImageText = 'Paused'
}
}
- if (ActivityObject) {
+
+ if (ActivityObject && ActivityObject !== app.discord.activityCache && ActivityObject.details && ActivityObject.state) {
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)
+ app.discord.activityCache = ActivityObject
} catch (err) {
console.error(`[DiscordRPC][setActivity] ${err}`)
}