Sto cercando di capire il modo migliore tramite la libreria Applescript di Spotify per rilevare un cambio di traccia. Finora, ho provato a controllare la posizione del giocatore - se è uguale a 0 è una nuova traccia e la notifica Growl appare di nuovo. (Questo non ha funzionato principalmente se qualcuno ha iniziato un brano, ecc.)Monitorare il cambio di traccia di Spotify in Applescript?
Mi chiedo se il metodo più plausibile è avere uno script di iTunes inattivo in esecuzione e il controllo del nome della traccia corrente per la modifica ogni due secondi. Sono preoccupato che questo potrebbe essere un po 'di memoria del maiale. Nemmeno io riesco a far funzionare questo codice.
tell application "System Events"
-- checks for instance of Growl and Spotify, does not run if both programs are not active
set isRunning to ¬
(count of (every process whose name is "Growl")) > 0
(count of (every process whose name is "Spotify")) > 0
end tell
--establish empty variable to be filled by song title later
global latest_song
set latest_song to ""
on idle
tell application "Spotify"
if player state is playing then
copy name of current track to current_tracks_name
-- runs match between last and current song titles
if current_tracks_name is not latest_song then
copy current_tracks_name to latest_song
set who to artist of current track
set onwhat to album of current track
tell application "Growl"
-- Make a list of all the notification types
-- that this script will ever send:
set the allNotificationsList to ¬
{"SpotifyNewTrack"}
-- Make a list of the notifications
-- that will be enabled by default.
-- Those not enabled by default can be enabled later
-- in the 'Applications' tab of the growl prefpane.
set the enabledNotificationsList to ¬
{"SpotifyNewTrack"}
-- Register our script with growl.
-- You can optionally (as here) set a default icon
-- for this script's notifications.
register as application ¬
"Spotify" all notifications allNotificationsList ¬
default notifications enabledNotificationsList ¬
icon of application "Spotify"
-- Send a Notification...
notify with name ¬
"SpotifyNewTrack" title ¬
current_tracks_name description ¬
who application name "Spotify"
end tell
end if
return 5
end if
end tell
end idle
Questo potrebbe essere un po 'complicato ma qualsiasi aiuto è apprezzato.
Quale versione di Growl fa supporto Spotify? – ryryan