0 votos

¿Activar la actualización de listas de reproducción inteligentes en iTunes mediante Applescript?

Mantengo desactivada la actualización en directo en la mayoría de mis listas de reproducción inteligentes porque el cambio de cualquier cosa, como las calificaciones, de una canción que se está reproduciendo podría hacer que la canción desapareciera de la lista de reproducción si ya no cumple los criterios de la lista de reproducción inteligente. La canción deja de reproducirse y la lista de reproducción se detiene. Hasta ahora, la solución más sencilla ha sido hacer que un Applescript se ejecute automáticamente en mitad de la noche para salir de iTunes y volver a iniciarlo, forzando así la actualización de todas mis listas de reproducción inteligentes. Esto funciona. También es bastante fácil hacer clic con el botón derecho en una lista de reproducción inteligente y seleccionar "Actualizar lista de reproducción inteligente". Pero lo que prefiero hacer es usar un Applescript para actualizar todas mis listas de reproducción inteligentes y asignarle una tecla de acceso rápido (usando BetterTouchTool).

¿Es posible utilizar Applescript para hacer que las listas de reproducción inteligentes de iTunes se actualicen?

2voto

Tim Brigham Puntos 8727

Update Smart Playlist sólo reside en el menú contextual; applescript no puede acceder a él. Hay dos soluciones que se me ocurren: 1. BTT: pasar por encima de la lista de reproducción e invocar un combo clic derecho -> u -> retorno. O bien:

tell application "System Events" to tell application process "iTunes"
    set frontmost to true
    repeat 2 times
        tell menu item "Edit Smart Playlist" of menu "File" of menu bar 1 to perform action "AXPress"
        tell checkbox "Live updating" of window 1 to perform action "AXPress"
        tell button "OK" of window 1 to perform action "AXPress"
    end repeat
end tell

0voto

2oh1 Puntos 174

El crédito aquí va a la respuesta anterior, por fartheraway. Sólo pensé que podría ser útil para publicar la respuesta completa en caso de que alguien hace una búsqueda de algo como esto y encuentra mi pregunta. Esta es la solución que terminé con. Guarda esto como un applescript y luego asigna una tecla de acceso rápido usando BetterTouchTool. Este script actualizará la lista de reproducción inteligente que se esté reproduciendo. Y si iTunes no es la aplicación principal, este script cambiará a iTunes, actualizará la lista de reproducción y luego te llevará de vuelta a la aplicación que estabas usando (comando+tab). A mí me funciona. Gracias de nuevo a fartheraway por su ayuda, arriba.

tell application "System Events"
    set frontmostApp to name of application processes whose frontmost is true
end tell

tell application "System Events" to tell application process "iTunes"
    set frontmost to true
    tell application "iTunes"
        try
            reveal current track
        end try
    end tell
    tell menu item "Edit Smart Playlist" of menu "File" of menu bar 1 to perform action "AXPress"
    tell button "OK" of window 1 to perform action "AXPress"
    end tell

if frontmostApp is not {"iTunes"} then
    tell application "System Events"
        key down command
        keystroke tab
        key code 123
        repeat while (exists list 2 of process "Dock")
            delay 0.1
        end repeat
        key up command
    end tell
end if

0voto

Muizuddin Puntos 1

¡Gracias chicos por iniciar este hilo!

Tengo cientos de listas de reproducción inteligentes en mi iTunes, por lo que alternar manualmente la actualización en vivo es un verdadero dolor.

Tuve que jugar con tus respuestas anteriores durante un tiempo para que funcionara en mis sistemas El Capitán y Sierra, pero esto es lo que finalmente me funcionó:

tell application "iTunes"
activate
set frontmost to true
repeat with aPlaylist in (get user playlists)
  set n to name of aPlaylist
  set s to smart of aPlaylist as string
  if s is "true" then
    try
      set view of front browser window to playlist n
      set frontmost to true
      delay 1
      tell application "System Events" to tell application process "iTunes"
        click menu item "Edit Smart Playlist" of menu "File" of menu bar 1
        delay 1

        # To toggle the selection use the following line
        click checkbox "Live updating" of window 1

        # To enable use the below code. To disable, use the below code but change 'false' to 'true'
        #set theCheckbox to checkbox "Live updating" of window 1
        #tell theCheckbox
        #set checkboxStatus to value of theCheckbox as boolean
        #set c to checkboxStatus as string
        #if checkboxStatus is false then click theCheckbox
        #end tell

        delay 1
        click button "OK" of window 1
      end tell
    end try
  end if
end repeat
end tell

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