iTunes 12: ¿Cómo pasar por las opciones de visualización con script / atajo?

0

Estoy intentando escribir un applecript que recorre cíclicamente canciones, álbumes, artistas, compositores, géneros y de vuelta a las canciones.

NohaynadaenelDiccionariodeApplecriptconrespectoaesto,asíquetengoquerecurriraUIscripting/Accessibility.Estoesloquetengohastaahora:

tellapplication"System Events" to tell process "iTunes"

    set frontmost to true -- necessary
    delay 1 -- for last line to take effect, delete if you bind this to keyboard shortcut

    tell window 1 -- tell window "iTunes" only works when in fullscreen

        tell pop up button 2 to perform action "AXPress" -- equivalent of
        --keystroke "j" using {command down}

        tell UI element 1 of row 5 of table 1 of pop over 1 of pop up button 2 to perform action "AXPress"
        -- pressing Genres button, assuming Vies is not in Genres already, of course

    end tell
end tell

Puede ejecutar esto con el Editor de secuencias de comandos, o preferiblemente para el resto de esta pregunta, vincularlo a un método abreviado de teclado e invocarlo mientras esté en iTunes. Cuando ejecutas esto, ves el menú emergente parpadeando en tu pantalla, ¿verdad?

Ahora, aquí está la parte interesante: use el cursor para hacer clic en el botón emergente, mover hacia abajo y colocar el cursor en Artistas .

ElcursorensíesomitidoporlafuncióndecapturadepantallaOSX,perosepuedeverqueArtistasestáenfocado.AhorapresioneEscparaocultarelmenúeinvoqueelscriptmientraselcursorestáenestaposición.

Bam!AhorahascambiadoalavistaArtistas.Resultaqueel2%performaction"AXPress" se realiza bajo el cursor porque el menú emergente no está enfocado después de hacer clic en el botón de opción de vista.

Hay una forma más sencilla de verificar este problema / error. 1) Haga clic en la opción de vista. 2) Presione la tecla Abajo un par de veces. Es de esperar que el enfoque se mueva a Canciones y luego a Álbumes , ¿verdad? No, solo se está moviendo a través de los elementos de la biblioteca en segundo plano, mientras que el menú aún se muestra en primer plano.

Entonces, mi pregunta se reduce a, ¿cómo puedo mover el cursor hacia este menú emergente?

ACTUALIZACIÓN: Gracias @ jackjr300 por la respuesta. Así se ve mi script terminado:

tell application "System Events"
    tell process "iTunes"
        set frontmost to true
        delay 1
        tell pop up button 2 of window 1
            click

            if value of attribute "AXDescription" is "Genres" then
                tell (select row 1 of table 1 of pop over 1) to click UI element 1
            end if
            if value of attribute "AXDescription" is "Songs" then
                tell (select row 2 of table 1 of pop over 1) to click UI element 1
            end if
            if value of attribute "AXDescription" is "Albums" then
                tell (select row 3 of table 1 of pop over 1) to click UI element 1
            end if
            if value of attribute "AXDescription" is "Artists" then
                tell (select row 4 of table 1 of pop over 1) to click UI element 1
            end if
            if value of attribute "AXDescription" is "Composers" then
                tell (select row 5 of table 1 of pop over 1) to click UI element 1
            end if

        end tell
    end tell
end tell
    
pregunta fartheraway 22.10.2014 - 04:30

1 respuesta

1

Use el comando select para seleccionar la fila.

tell application "System Events"
    tell process "iTunes"
        set frontmost to true 
        delay 1
        tell pop up button 2 of window 1
            click
            tell (select row 5 of table 1 of pop over 1) to click UI element 1
        end tell
    end tell
end tell
    
respondido por el jackjr300 22.10.2014 - 15:34

Lea otras preguntas en las etiquetas