Applescript et Adobe Premiere

paroliver

Membre junior
15 Octobre 2009
24
0
52
Bonjour à tous,
Gros utilisateur d'Adobe Premiere, pas toujours sur les machines les plus puissantes... je voudrais disposer d'un Applescript qui lance la commande "Option R" (Adobe Premiere/Séquence/Rendu de l'entrée à la sortie) dès que je n'utilise plus Premiere pendant 1, 2 ou 3 minutes.
J'ai essayé ce script dans Applescript, mais il ne semble pas marché :

on idle
tell application "Adobe Premiere Pro 2020"

keystroke {"r", {using:["option down"]}}
end tell
end
idle


J'ai cru comprendre que la commande "idle" se déclenchait toutes les 30 sec... donc, cela implique-t-il que le Mac soit inactif pendant 30 sec. pour que le script se déclenche ??? Ce qui, à l'évidence n'est pas tout à fait ce que je cherchais... mais ce serait un bon départ !

Quelqu'un peut-il m'éclairer ?
Merci,
Bien à vous toutes et tous,

Paroliver
 

paroliver

Membre junior
15 Octobre 2009
24
0
52
Cette version ne fait pas mieux :

on idle
tell application "Adobe Premiere Pro 2020" to activate


tell application "System Events"
tell application process "Adobe Premiere Pro 2020"
keystroke {"r", {|using|:["option down"]}}
end tell
end tell
end
idle


...
 

zeltron54

Membre d’élite
29 Mars 2008
2 137
335
Lorraine
Bonjour,

Pour envoyer une combinaison de touche à une application il faut: utiliser key code voir script ci-dessous.
Je n'ai pas pu tester avec "adobe première" je ne possède pas ce logiciel.

Tu peux trouver les codes des touches là: https://eastmanreference.com/complete-list-of-applescript-key-codes

Bloc de code:
tell application "Adobe Premiere Pro 2020" to activate

tell application "System Events"
    tell application process "Adobe Premiere Pro 2020"
        key code 15 using {option down} --touche r+option
    end tell
end tell

Pour l'utilisation de "idle", il faut enregistrer ton script en tant qu'application et cocher les 2 options : "afficher l'écran de démarrage" et "Ne pas quitter après l'exécution"

Ci-dessous un exemple qui fait un bip toute les 5 secondes.

Bloc de code:
idle

on idle
    beep
    return 5
end idle

Fait déjà des tests de ces 2 exemples, avant de les combiner pour pour ton utilité.
 
Dernière édition:

paroliver

Membre junior
15 Octobre 2009
24
0
52
Bonjour,

Pour envoyer une combinaison de touche à une application il faut: utiliser key code voir script ci-dessous.
Je n'ai pas pu tester avec "adobe première" je ne possède pas ce logiciel.

Tu peux trouver les codes des touches là: https://eastmanreference.com/complete-list-of-applescript-key-codes

Bloc de code:
tell application "Adobe Premiere Pro 2020" to activate

tell application "System Events"
    tell application process "Adobe Premiere Pro 2020"
        key code 15 using {option down} --touche r+option
    end tell
end tell

Pour l'utilisation de "idle", il faut enregistrer ton script en tant qu'application et cocher les 2 options : "afficher l'écran de démarrage" et "Ne pas quitter après l'exécution"

Ci-dessous un exemple qui fait un bip toute les 5 secondes.

Bloc de code:
idle

on idle
    beep
    return 5
end idle

Fait déjà des tests de ces 2 exemples, avant de les combiner pour pour ton utilité.
Bonjour,
Merci de ta réponse, Zeltron54.

Puis-je tester le fait que Premiere n'ai pas été utilisé depuis un certain temps ?

if le temps d'inactivité de Premiere est supérieur à 5 minutes --par exemple
then le script
end if

Merci bien,
Paroliver
 

zeltron54

Membre d’élite
29 Mars 2008
2 137
335
Lorraine
Je ne connaît pas d'instruction permettant d'obtenir le temps d'inactivité d'une application !
Je regarde si je trouve quelque chose sur la toile... sans grand espoir ...
 

paroliver

Membre junior
15 Octobre 2009
24
0
52
Je ne connaît pas d'instruction permettant d'obtenir le temps d'inactivité d'une application !
Je regarde si je trouve quelque chose sur la toile... sans grand espoir ...
Encore une question :
Dans l'application Editeur de script :
- comment enregistre-t-on un script comme application et
-où coche-t-on les 2 options : "afficher l'écran de démarrage" et "Ne pas quitter après l'exécution" ?
Merci à toi,
P.
 

zeltron54

Membre d’élite
29 Mars 2008
2 137
335
Lorraine
Dans la fenêtre d'enregistrement tu as:
Enregistrer sous: --> tu choisis le nom
Juste en dessous une case --> choix du dossier ou enregistrer
En bas de la fenêtre : Format de fichier --Menu déroulant -->Application
Avec le choix "application" les options juste dessous (cases à cocher) seront activées...
 

paroliver

Membre junior
15 Octobre 2009
24
0
52
Bonjour,

Pour envoyer une combinaison de touche à une application il faut: utiliser key code voir script ci-dessous.
Je n'ai pas pu tester avec "adobe première" je ne possède pas ce logiciel.

Tu peux trouver les codes des touches là: https://eastmanreference.com/complete-list-of-applescript-key-codes

Bloc de code:
tell application "Adobe Premiere Pro 2020" to activate

tell application "System Events"
    tell application process "Adobe Premiere Pro 2020"
        key code 15 using {option down} --touche r+option
    end tell
end tell

Pour l'utilisation de "idle", il faut enregistrer ton script en tant qu'application et cocher les 2 options : "afficher l'écran de démarrage" et "Ne pas quitter après l'exécution"

Ci-dessous un exemple qui fait un bip toute les 5 secondes.

Bloc de code:
idle

on idle
    beep
    return 5
end idle

Fait déjà des tests de ces 2 exemples, avant de les combiner pour pour ton utilité.
C'est super !
Merci de toutes ces infos qui me permettent d'avancer dans le monde merveilleux des scripts...
Mais, il doit y avoir encore qq chose que je fais mal :
J'ai crée "
on idle
beep
return 5
end idle"
en application comme tu me l'as indiqué.
J'appuie sur le bouton Play en haut de la fenêtre de script... Mais ça ne biper pas toutes les 5 secondes... Pourquoi ?
Merci d'avance,
P.
 

zeltron54

Membre d’élite
29 Mars 2008
2 137
335
Lorraine
Enregistres ce script comme application. Puis tu lances cette application avec un double clic classique, il va te demander si tu veux exécuter ou quitter, tu exécutes, cela fera un bip toute les 5 secondes, pour quitter, tu clic sur l’appli dans le dock...
 

zeltron54

Membre d’élite
29 Mars 2008
2 137
335
Lorraine
Pas sur d'avoir compris ta demande !

Mais pour savoir quelle application est actuellement active (celle au premier plan)

Bloc de code:
tell application "System Events" to set {Appli} to (get processes whose frontmost is true)
set nom to name of Appli -- Nom de l'application en premier plan

tell application "Finder"
    display dialog nom
end tell
 

paroliver

Membre junior
15 Octobre 2009
24
0
52
Pas sur d'avoir compris ta demande !

Mais pour savoir quelle application est actuellement active (celle au premier plan)

Bloc de code:
tell application "System Events" to set {Appli} to (get processes whose frontmost is true)
set nom to name of Appli -- Nom de l'application en premier plan

tell application "Finder"
    display dialog nom
end tell
Et pour savoir si une application N'EST PAS en premier plan ?
 

zeltron54

Membre d’élite
29 Mars 2008
2 137
335
Lorraine
Tu testes celle qui est en premier plan ... si ce n'est pas ...?
 

paroliver

Membre junior
15 Octobre 2009
24
0
52
Re-re-re-rebonjour,
J'ai écrit ça :

idle

on idle


tell application "Finder"
set liste_app to the name of every application process whose file type is "APPL"
end tell

if "Adobe Premiere Pro 2020" is in liste_app then

tell application "Adobe Premiere Pro 2020"
if frontmost is false then

tell application "System Events"

tell application process "Adobe Premiere Pro 2020"
key code 15 using {option down} --touche r+option
end tell
end tell

end if
end tell
end if

return 15

end idle



Ça marche par petits bouts :
Amener en front une application en arrière plan, test toute les 15 sec.

idle

on idle

tell application "Finder"

set liste_app to the name of every application process whose file type is "APPL"
end tell

if "Adobe Premiere Pro 2020" is in liste_app then

tell application "Adobe Premiere Pro 2020"
if frontmost is false then
tell application "Adobe Premiere Pro 2020" to activate

end if
end tell
end if

return 15

end idle



Ou lancer le rendu dans Premiere :

tell application "Adobe Premiere Pro 2020" to activate

tell application "System Events"

tell application process "Adobe Premiere Pro 2020"
keystroke "r" using {option down}
end tell
end
tell


Mais quand j'essaye de les rassembler : ça marche plus...

Un e idée ?
Un coupe de main ?

1000 mercis !
P.
 

paroliver

Membre junior
15 Octobre 2009
24
0
52
Re-re-re-rebonjour,
J'ai écrit ça :

idle

on idle

tell application "Finder"

set liste_app to the name of every application process whose file type is "APPL"
end tell

if "Adobe Premiere Pro 2020" is in liste_app then

tell application "Adobe Premiere Pro 2020"
if frontmost is false then

tell application "System Events"
tell application process "Adobe Premiere Pro 2020"
key code 15 using {option down} --touche r+option
end tell
end tell

end if
end tell
end if

return 15

end idle


MAIS ÇA NE MARCHE PAS !
Alors que ça marche par petits bouts :
1-Amener en front une application en arrière plan, test toute les 15 sec.

idle

on idle


tell application "Finder"
set liste_app to the name of every application process whose file type is "APPL"
end tell

if "Adobe Premiere Pro 2020" is in liste_app then

tell application "Adobe Premiere Pro 2020"
if frontmost is false then
tell application "Adobe Premiere Pro 2020" to activate

end if
end tell
end if

return 15

end idle



2- Ou lancer le rendu dans Premiere :

tell application "Adobe Premiere Pro 2020" to activate

tell application "System Events"
tell application process "Adobe Premiere Pro 2020"
keystroke "r" using {option down}
end tell
end
tell


Mais quand j'essaye de les rassembler : ça marche plus...

Un e idée ?
Un coupe de main ?

1000 mercis !
P
 

paroliver

Membre junior
15 Octobre 2009
24
0
52
Tu testes celle qui est en premier plan ... si ce n'est pas ...?
Bon... Je suis arrivé à ça ET ça marche :

idle

on idle


tell application "Finder"
set liste_app to the name of every application process whose file type is "APPL"
end tell

if "Adobe Premiere Pro 2020" is in liste_app then

tell application "Adobe Premiere Pro 2020"

if frontmost is false then
tell application "Adobe Premiere Pro 2020" to activate
tell application "System Events"
tell application process "Adobe Premiere Pro 2020"
key code 15 using {option down} --touche r+option
end tell
end tell
end if

end tell
end if

return 60

end idle


Ne me reste plus qu'à trouver comment lancer le key code 15 using {option down}
sans passer par tell application "Adobe Premiere Pro 2020" to activate

C'est à dire que le rendu se lance en tâche de fond...
 

zeltron54

Membre d’élite
29 Mars 2008
2 137
335
Lorraine
Je n'ai pas testé (pas de mac actuellement à disposition), mais en enlevant le "to activate" ne laissant que : "tell application "Adobe Premiere Pro 2020""
A tester !