Improved discordrpc

This commit is contained in:
Core 2022-01-28 16:28:56 +00:00
parent aa11c208d8
commit 09db8af283
No known key found for this signature in database
GPG key ID: FE9BF1B547F8F3C6
2 changed files with 11 additions and 11 deletions

View file

@ -101,9 +101,7 @@ export default class DiscordRichPresence {
this._client.clearActivity().catch((e: any) => console.error(`[DiscordRichPresence][clearActivity] ${e}`));
return;
}
const listenURL = `https://cider.sh/p?s&id=${attributes.playParams.id}` // cider://play/s/[id] (for song)
const amURL = `https://music.apple.com/${attributes.storefrontId}/song/${attributes.playParams.catalogId || attributes.playParams.id}`;
console.log("DiscordRPC URL: ", amURL);
this._activity = {
details: attributes.name,
state: `${attributes.artistName ? `by ${attributes.artistName}` : ''}`,
@ -114,8 +112,8 @@ export default class DiscordRichPresence {
instance: false, // Whether the activity is in a game session
buttons: [
{label: "Listen on Cider", url: listenURL},
{label: "View on Apple Music", url: amURL},
{label: "Listen on Cider", url: attributes.url.cider},
{label: "View on Apple Music", url: attributes.url.appleMusic},
]
};

View file

@ -8,7 +8,6 @@ const MusicKitInterop = {
init: function () {
MusicKit.getInstance().addEventListener(MusicKit.Events.playbackStateDidChange, () => {
if (MusicKitInterop.filterTrack(MusicKitInterop.getAttributes(), true, false)) {
console.log("ayy");
global.ipcRenderer.send('playbackStateDidChange', MusicKitInterop.getAttributes())
ipcRenderer.send('wsapi-updatePlaybackState', MusicKitInterop.getAttributes());
// if (typeof _plugins != "undefined") {
@ -39,11 +38,12 @@ const MusicKitInterop = {
},
getAttributes: function () {
const nowPlayingItem = MusicKit.getInstance().nowPlayingItem;
const isPlayingExport = MusicKit.getInstance().isPlaying;
const remainingTimeExport = MusicKit.getInstance().currentPlaybackTimeRemaining;
const mk = MusicKit.getInstance()
const nowPlayingItem = mk.nowPlayingItem;
const isPlayingExport = mk.isPlaying;
const remainingTimeExport = mk.currentPlaybackTimeRemaining;
const attributes = (nowPlayingItem != null ? nowPlayingItem.attributes : {});
const storefrontId = MusicKit.getInstance().storefrontId;
attributes.storefrontId = storefrontId;
attributes.status = isPlayingExport ?? false;
attributes.name = attributes?.name ?? 'No Title Found';
@ -51,6 +51,8 @@ const MusicKitInterop = {
attributes.artwork.url = (attributes?.artwork?.url ?? '').replace(`{f}`,"png");
attributes.playParams = attributes?.playParams ?? { id: 'no-id-found' };
attributes.playParams.id = attributes?.playParams?.id ?? 'no-id-found';
attributes.playParams.songid = nowPlayingItem.songId ?? 'no-id-found'
attribtues.url = { cider: "https://cider.sh/p?id=" + attributes.playParams.id, appleMusic: "https://music.apple.com/song/" + nowPlayingItem.songId }
if (attributes.playParams.id === 'no-id-found') { attributes.playParams.id = nowPlayingItem?.id ?? 'no-id-found'; }
attributes.albumName = attributes?.albumName ?? '';
attributes.artistName = attributes?.artistName ?? '';