¿Desea actualizar / actualizar listas de reproducción inteligentes en iTunes usando Applescript?

0

Mantengo la actualización en vivo desactivada en la mayoría de mis listas de reproducción inteligentes porque cambiar cualquier cosa, como las calificaciones, de una canción que se está reproduciendo actualmente podría hacer que la canción desaparezca de la lista de reproducción si ya no cumple con 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 ejecutar un Applescript automáticamente en mitad de la noche para salir de iTunes y luego volver a iniciarlo, lo que obligó a todas mis listas de reproducción inteligentes a actualizarse. Esto funciona. También es bastante fácil hacer clic derecho en una lista de reproducción inteligente y seleccionar "Actualizar lista de reproducción inteligente". Pero lo que preferiría es usar un Applescript para actualizar todas mis listas de reproducción inteligentes y asignarle una tecla de acceso rápido (utilizando BetterTouchTool).

¿Es posible usar Applescript para actualizar las listas de reproducción inteligentes de iTunes?

    
pregunta 2oh1 05.06.2015 - 21:26

3 respuestas

0

El crédito aquí va a la respuesta anterior, de lejos. Pensé que podría ser útil publicar la respuesta completa en caso de que alguien haga una búsqueda de algo como esto y encuentre mi pregunta. Aquí está la solución con la que terminé yendo. Guárdelo como un script de manzana y luego asígnele una tecla de acceso rápido utilizando BetterTouchTool. Este script actualizará la lista de reproducción inteligente que se está reproduciendo actualmente. Y si iTunes no es la aplicación más avanzada, esta secuencia de comandos cambiará a iTunes, actualizará la lista de reproducción y luego lo llevará de vuelta a la aplicación que estaba usando (comando + pestaña). Esto funciona para mí! 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
    
respondido por el 2oh1 17.06.2015 - 20:55
2

Update Smart Playlist entry solo reside en el menú contextual; Applecript no puede acceder a eso. Se me ocurren dos soluciones alternativas: 1. BTT: desplácese sobre la lista de reproducción e invoque un combo haciendo clic con el botón derecho - > u - > regreso. O:

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
    
respondido por el fartheraway 06.06.2015 - 12:26
0

Gracias chicos por comenzar este hilo!

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

Tuve que jugar con tus respuestas anteriores por 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
    
respondido por el Claudio 29.06.2017 - 17:57

Lea otras preguntas en las etiquetas