33 */
44
55
6-
6+ const fs = require ( 'fs' )
77const log = require ( '../helpers/lager.js' ) ;
88const config = require ( '../../config/config.js' ) ;
9+ const axios = require ( 'axios' )
910const albumArt = require ( 'album-art' ) ;
1011
1112
@@ -23,21 +24,60 @@ module.exports = async (status) => {
2324 const { meta } = status . information . category ;
2425
2526
27+ const fetchArtworkApple = async ( searchQuery ) => {
28+ const params = {
29+ media : "music" ,
30+ term : searchQuery ,
31+ } ;
32+ return axios . get ( "https://itunes.apple.com/search" , {
33+ params,
34+ } ) ;
35+ } ;
2636
2737 const artist = String ( meta . artist ) ;
2838 const options = {
2939 album : String ( encodeURIComponent ( meta . album ) )
3040 }
3141
32- const art = await albumArt ( artist , options ) . then ( ( data ) => data ) ;
3342
34- console . log ( art ) ;
35- console . log ( status . state )
43+ if ( config . rpc . whereToFetchOnline === 'apple' ) {
44+ var appleresponse = await fetchArtworkApple ( `${ meta . title } ${ meta . artist } ` ) ;
45+ var artwork = appleresponse . data . results [ 0 ] . artworkUrl100 ;
46+ var fetched = "Apple" ;
47+ if ( artwork === undefined ) {
48+ var artwork = await albumArt ( artist , options ) . then ( ( data ) => data ) ;
49+ var fetched = "Spotify" ;
50+ }
51+ } else {
52+ var artwork = await albumArt ( artist , options ) . then ( ( data ) => data ) ;
53+ var fetched = "Spotify" ;
54+ }
55+
56+ if ( config . debug === 'true' ) {
57+ console . log ( artwork ) ,
58+ console . log ( status . state ) ,
59+ console . log ( fetched )
60+ }
61+
62+ if ( config . rpc . largeImageText === "artist" ) {
63+ var largeImageTextIs = meta . artist
64+ } else if ( config . rpc . largeImageText === "album" ) {
65+ var largeImageTextIs = meta . album
66+ } else if ( config . rpc . largeImageText === "volume" ) {
67+ var largeImageTextIs = `Volume: ${ Math . round ( status . volume / 2.56 ) } %`
68+ } else if ( config . rpc . largeImageText === "title" ) {
69+ var largeImageTextIs = meta . title
70+ } else if ( config . rpc . largeImageText === "fetched" ) {
71+ var largeImageTextIs = `Artwork fetched from ${ fetched } `
72+ }
73+
74+
3675
3776
3877 const output = {
3978 details : meta . title || meta . filename || "Playing something.." ,
40- largeImageKey : `${ await albumArt ( artist , options ) . then ( ( data ) => data ) } ` || "https://i.pinimg.com/originals/67/f6/cb/67f6cb14f862297e3c145014cdd6b635.jpg" ,
79+ largeImageText : largeImageTextIs ,
80+ largeImageKey : artwork || "https://i.pinimg.com/originals/67/f6/cb/67f6cb14f862297e3c145014cdd6b635.jpg" ,
4181 smallImageKey : status . state ,
4282 smallImageText : `Volume: ${ Math . round ( status . volume / 2.56 ) } %` ,
4383 instance : true ,
0 commit comments