Visualizza la finestra di dialogo con la copertina attuale dell'album di iTunes

1

Vorrei visualizzare con AppleScript una finestra di dialogo che mostra il titolo, l'artista e l'album attuali. Inoltre, l'icona della finestra di dialogo dovrebbe essere la copertina dell'album attuale.

È possibile?

    
posta user121028 15.06.2015 - 19:57
fonte

1 risposta

1

Sì, lo è. Ecco cosa mi è venuto in mente. È tardi, è un po 'difficile, ho paura ...

  1. scarica Pashua - uno strumento gratuito per le finestre di dialogo personalizzate
  2. copia app e Pashua.scpt nella cartella Applicazioni
  3. Incolla il codice seguente e aggiusta a tuo piacimento.

EDIT : codice artistico tratto da questa risposta .

# 
# Start of code
#
global f, a


tell application "iTunes"

    tell artwork 1 of current track
        set d to raw data
        if format is «class PNG » then
            set x to "png"
        else
            set x to "jpg"
        end if
    end tell

    set a to album of current track
end tell

set f to (((path to temporary items) as text) & "cover." & x)
set b to open for access file result with write permission
set eof b to 0
write d to b
close access b


-- Get the path to the folder containing this script
tell application "Finder"
    set appPath to (path to applications folder)
    #set thisFolder to (container of (path to me)) as string
    set thisFolder to appPath as string
    if "Pashua:Pashua.app:" exists then
        -- Looks like the Pashua disk image is mounted. Run from there.
        set customLocation to "Pashua:"
    else
        -- Search for Pashua in the standard locations
        set customLocation to ""
    end if
end tell

set customLocation to ""

log "customLocation: " & customLocation
log "f: " & f
try
    set thePath to alias (thisFolder & "Pashua.scpt")
    set pashuaBinding to load script thePath

    tell pashuaBinding
        -- Display the dialog

        try
            set pashuaLocation to getPashuaPath(customLocation)
            set dialogConfiguration to my getDialogConfiguration(f)
            set theResult to showDialog(dialogConfiguration, customLocation)

        on error errorMessage
            display alert "PashuaBinding: An error occurred" message errorMessage as warning
        end try
    end tell
on error errStr number errorNumber
    display dialog errStr
end try


-- Returns the configuration string for an example dialog
on getDialogConfiguration(pashuaLocation)

    if pashuaLocation is not "" then
        set img to "img.type = image
              img.x = 0
              img.y = 50
              img.maxwidth = 128
              img.tooltip = Album Art
              img.path = " & (POSIX path of pashuaLocation) & return
    else
        set img to ""
    end if

    return "
# Set window title
*.title = Currently playing...

# Introductory text
txt.type = text
txt.label = Track/Album Info
txt.default = Album: " & a & return & "
txt.height = 10
txt.width = 300
txt.x = 150
txt.y = 130
#txt.tooltip = This is an element of type “text”

db.type = defaultbutton
#db.tooltip = This is an element of type “defaultbutton” (which is automatically added to each window, if not included in the configuration)
" & img
end getDialogConfiguration

#
# END of CODE
#
    
risposta data 22.06.2015 - 00:04
fonte

Leggi altre domande sui tag