1 votos

Mostrar el diálogo con la portada actual del álbum de iTunes

Me gustaría mostrar con AppleScript un diálogo que muestre mi título, artista y álbum actuales. Además, el icono del diálogo debería ser la portada del álbum actual.

¿Es eso posible?

1voto

SPRBRN Puntos 1008

Sí, lo es. Esto es lo que se me ocurrió. Es tarde, así que me temo que es un poco duro...

  1. descargar Pashua - una herramienta gratuita para crear cuadros de diálogo personalizados
  2. copiar la aplicación y Pashua.scpt a la carpeta de aplicaciones
  3. Pegue el siguiente código y ajústelo a su gusto.

EDITAR : Código de la obra de arte tomada de esta respuesta .


# 
# 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
#

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X