diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json index 9163dd1b..d17e39db 100644 --- a/src/i18n/en_US.json +++ b/src/i18n/en_US.json @@ -229,6 +229,7 @@ "home.followedArtists": "Followed Artists", "error.appleMusicSubRequired": "Apple Music requires a subscription.", "error.connectionError": "There was a problem connecting to Apple Music.", + "error.musickitError": "MusicKit Encountered an Error: ", "error.noResults": "No Results.", "error.noResults.description": "Try a new search.", "podcast.followOnCider": "Follow On Cider", diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js index 49b3606c..f11d4470 100644 --- a/src/renderer/main/vueapp.js +++ b/src/renderer/main/vueapp.js @@ -305,6 +305,20 @@ const app = new Vue({ app.cfg.musickit["stored-attributes"][attr] = val; }); } + const ERROR_CODES = ["drmUnsupported", "mediaPlaybackError"]; + /* MusicKit.Events */ + ERROR_CODES.forEach((code) => { + MusicKit.getInstance().addEventListener(MusicKit.Events[code], (e) => { + console.error(`[MusicKit] MusicKit Error ${code}`); + console.error({ e: e }); + app.notyf.open({ + duration: 20000, + type: "error", + className: "notyf-info", + message: `${app.getLz("error.musickitError")} \n${code.toUpperCase()}`, + }); + }); + }); }, async oobeInit() { this.appMode = "oobe";