IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> total débutant applescript... besoin d'aide.
Options
tojar
posté 31 Dec 2013, 18:51
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 960
Inscrit : 6 May 2004
Lieu : under ze couette
Membre no 18 500



Bonjour,

j'aurais besoin, sur une série de fichiers vidéos, de mettre en "inutilisé" le canal droit audio.

Manuellement, cela revient à ouvrir le fichier avec QT7 Player, à aller dans les propriétés de la séquence, à cliquer sur la piste son, puis à affecter le canal de droite à "inutilisé" au lieu de "droit".

Si je dois le faire sur chaque fichier (genre plusieurs centaines) je ne vais jamais y arriver... alors je cherche à automatiser... mais je suis vraiment trop largué en applescript.

Si quelqu'un a la bonté de vouloir me dépanner...?

Toj'


--------------------
<= attention, cet individu est énervant, exécrable, hautain, prétentieux, professoral, d'un humour douteux et, de surcroit, disciple de courants de pensées qui sont dangeureuses pour notre bonne société francaise. hop.
Go to the top of the page
 
+Quote Post
PBell
posté 1 Jan 2014, 11:44
Message #2


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonjour,

il y a 2 possibilités pour résoudre ton problème :
1) utiliser Applescript avec des fonctions prévues: Celles-ci sont limités car Apple a restreint les propriétés modifiables dans les pistes (tracks). La grande majorité peut être lue, mais pas écrite. Par exemple le canal droit n'est pas accessible, mais la balance audio l'est.
Voici donc un petit script qui, une fois le dossier sélectionné, va prendre chaque fichier ".mov" qui s'y trouve et mettre la balance audio à gauche.

Le gros avantage est que ce script ne dépend pas de l'interface graphique de QuickTime.
Si l'interface change, le script fonctionnera encore.
Tu dois adapter les lignes 1 et 2 selon que ton application QuickTime Player 7 est dans ton dossier Applications ou Utilitaires.
Dans mon cas, c'est dans Utilitaires, donc la première ligne est en commentaire avec des "--" devant. A toi d'adapter à ton cas.

Code
-- set QuickTime7 to (path to applications folder as text) & "QuickTime Player 7.app"
set QuickTime7 to (path to applications folder as text) & "Utilities:QuickTime Player 7.app"

set Mon_Dossier to choose folder with prompt "Sélectionner le dossier avec les fichiers à traiter"
tell application "Finder" to set Mes_Fichiers to every file of folder Mon_Dossier whose name extension is in {"mov"}

repeat with Ma_Video in Mes_Fichiers
    set FVid to Ma_Video as string
    tell application "QuickTime Player 7"
        tell application "Finder" to open file FVid using QuickTime7
        try
            set Ma_Piste to (first track of front document whose kind is "Son")
            set sound balance of Ma_Piste to -128 -- met tout le son à gauche
            save front document
        end try
        close front document
    end tell
end repeat



2) Si tu veux uniquement corriger le canal droit, qui n'est pas accessible en écriture directement en script, alors il faut simuler l'interface utilisateur en passant par System Events.
Je précise que cette technique doit habituellement être utilisée en dernier recours, ...mais ici, pas le choix !
Tu dois, comme dans le premier script, adapter les 2 premières lignes à ton cas.

Code
-- set QuickTime7 to (path to applications folder as text) & "QuickTime Player 7.app"
set QuickTime7 to (path to applications folder as text) & "Utilities:QuickTime Player 7.app"

set Mon_Dossier to choose folder with prompt "Sélectionner le dossier avec les fichiers à traiter"
tell application "Finder" to set Mes_Fichiers to every file of folder Mon_Dossier whose name extension is in {"mov"}

repeat with Ma_Video in Mes_Fichiers
    set FVid to Ma_Video as string
    tell application "QuickTime Player 7"
        tell application "Finder" to open file FVid using QuickTime7
        tell front document
            set show detailed movie info window to true
            tell application "System Events"
                tell process "QuickTime Player 7"
                    -- balaye les pistes pour trouver celle du son "Piste Son"    
                    set Ma_Piste to -1
                    repeat with i from 1 to count of rows of table 1 of scroll area 1 of window 1
                        if value of text field 1 of row i of table 1 of scroll area 1 of window 1 is "Piste Son" then
                            set Ma_Piste to i
                        end if
                    end repeat
                    if Ma_Piste > 0 then
                        select row Ma_Piste of table 1 of scroll area 1 of window 1 -- selectionne la piste audio
                        click radio button 3 of tab group 1 of window 1 -- sélectionne l'onglet "Réglages audio"
                        -- balaye les canaux pour trouver le "Droit"
                        set Canal to -1
                        repeat with i from 1 to count of rows of table 1 of scroll area 1 of tab group 1 of window 1
                            get properties of row i of table 1 of scroll area 1 of tab group 1 of window 1
                            if value of pop up button 1 of row i of table 1 of scroll area 1 of tab group 1 of window 1 is "Droit" then
                                -- click sur le pop up menu et sélectionne "Inutilisé"
                                tell pop up button 1 of row i of table 1 of scroll area 1 of tab group 1 of window 1
                                    click
                                    click menu item "Inutilisé" of menu 1
                                end tell
                            end if
                        end repeat
                    end if -- si piste audio trouvée
                end tell -- process quicktime
            end tell -- system events
        end tell -- front document
        -- save front document
        close front document saving yes
    end tell
end repeat


J'ai mis plein de commentaires pour que tu puisses éventuellement modifier ce script.
En principe, la fenêtre des propriétés QuickTime Player 7 n'a pas évoluée depuis des lustres et donc nous devrions avoir la même (donc les mêmes scroll area, tab, et autres menus ...)
Attention, comme tu simules l'interface utilisateur, tu ne dois pas interagir avec ton mac pendant l'exécution de ce script !!!

Je précise enfin que, dans les 2 cas, les fichiers sont supposés être des ".mov" (voir la restriction). Je force l'ouverture avec QuickTime Player 7 avec la ligne Tell Application "Finder" to open file..., mais si les fichiers ne sont pas des quickTime (par exemple des .dv ou autres), il faut corriger ajouter ses extensions et il faut gérer des "Enregistrer sous...".


Bonne année à tous !


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post
tojar
posté 1 Jan 2014, 16:08
Message #3


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 960
Inscrit : 6 May 2004
Lieu : under ze couette
Membre no 18 500



Hello

d'abord mille mercis pour le temps que tu accordes à mon souci !!!!

J'ai essayé les deux scripts....

Le premier fonctionne (j'ai eu une erreur au début mais j'ai vite compris que c'était parce que mon QT Player 7 est dans le dossier application et pas utilitaires...)... mais ca ne fait pas la sauce: ca modifie bien la balance, mais uniquement pour QT 7... si j'ouvre la video dans autre chose (y compris QT X) il s'en tamponne les alibofis. Néanmoins c'est déjà une piste !

Le second script, j'ai comme erreur:
error "Erreur dans System Events : Il est impossible d’obtenir scroll area 1 of window 1 of process \"QuickTime Player 7\". Index non valable." number -1719 from scroll area 1 of window 1 of process "QuickTime Player 7"

Il ouvre quicktime player, la première video et les propriétés de celle ci mais ca se bloque donc à ce niveau la. Et là, je suis trop nul sur les scripts pour y comprendre qq chose.............

pour info, je suis sur OS 10.8.5, avec donc Applescript 2.2.4 et l'éditeur 2.5.1....




--------------------
<= attention, cet individu est énervant, exécrable, hautain, prétentieux, professoral, d'un humour douteux et, de surcroit, disciple de courants de pensées qui sont dangeureuses pour notre bonne société francaise. hop.
Go to the top of the page
 
+Quote Post
PBell
posté 1 Jan 2014, 16:42
Message #4


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



L'erreur dans le second script est exactement la même que sur le premier.

Comme je l'avais indiqué, il faut que tu changes les lignes 1 et 2 pour adapter chez toi en fonction de là où est ton quickTime Player 7.

La correction que tu as fait pour le 1 doit être aussi faite dans le script 2.


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post
tojar
posté 1 Jan 2014, 16:53
Message #5


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 960
Inscrit : 6 May 2004
Lieu : under ze couette
Membre no 18 500



Citation (PBell @ 1 Jan 2014, 16:42) *
L'erreur dans le second script est exactement la même que sur le premier.

Comme je l'avais indiqué, il faut que tu changes les lignes 1 et 2 pour adapter chez toi en fonction de là où est ton quickTime Player 7.

La correction que tu as fait pour le 1 doit être aussi faite dans le script 2.


en fait, je n'ai rien corrigé: j'ai juste déplacé mon QT7 Player dans utilitaire.... et cela a fonctionné pour le 1er.

je dirais que le problème est ailleurs, puisqu'il trouve bien QT7 player et qu'il me le lance avec le premier fichier video ? non ?


--------------------
<= attention, cet individu est énervant, exécrable, hautain, prétentieux, professoral, d'un humour douteux et, de surcroit, disciple de courants de pensées qui sont dangeureuses pour notre bonne société francaise. hop.
Go to the top of the page
 
+Quote Post
tojar
posté 1 Jan 2014, 18:06
Message #6


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 960
Inscrit : 6 May 2004
Lieu : under ze couette
Membre no 18 500



Citation (tojar @ 1 Jan 2014, 16:53) *
Citation (PBell @ 1 Jan 2014, 16:42) *
L'erreur dans le second script est exactement la même que sur le premier.

Comme je l'avais indiqué, il faut que tu changes les lignes 1 et 2 pour adapter chez toi en fonction de là où est ton quickTime Player 7.

La correction que tu as fait pour le 1 doit être aussi faite dans le script 2.


en fait, je n'ai rien corrigé: j'ai juste déplacé mon QT7 Player dans utilitaire.... et cela a fonctionné pour le 1er.

je dirais que le problème est ailleurs, puisqu'il trouve bien QT7 player et qu'il me le lance avec le premier fichier video ? non ?


alors en testant .... je me rends compte que le script fonctionne.... parfois. alors que je n'ai rien changé. il faut que QT 7 Player soit lancé, déjà.

mais il semblerait qu'en insistant un peu, ca passe, donc je vais déjà tenter de lancer la chose sur des blocs de fichiers et je vais gagner un temps de malade !!!! donc, derechef MILLE MERCIS !


l'erreur reste: error "Erreur dans System Events : Il est impossible d’obtenir scroll area 1 of window 1 of process \"QuickTime Player 7\". Index non valable." number -1719 from scroll area 1 of window 1 of process "QuickTime Player 7"

et je n'arrive pas bien à comprendre ce que je fais (ou pas) qui fait que ca marche .... (ou pas !)

Ce message a été modifié par tojar - 1 Jan 2014, 18:23.


--------------------
<= attention, cet individu est énervant, exécrable, hautain, prétentieux, professoral, d'un humour douteux et, de surcroit, disciple de courants de pensées qui sont dangeureuses pour notre bonne société francaise. hop.
Go to the top of the page
 
+Quote Post
PBell
posté 1 Jan 2014, 21:02
Message #7


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Le script fonctionne chez moi. alors on va essayer de comprendre pas à pas.

On utilise donc le script N°2. Tu me dis que les documents s'ouvrent bien dans QT player 7. Donc je pense que tout va bien jusqu'à la ligne "Set Ma_Piste to -1"

L'erreur que tu rencontres signifie que Applescript cherche, sans la trouver, la scroll area 1 de la fenêtre qui devrait être la fenêtre de propriété de la séquence.
Je ne vois que 2 alternatives : la fenêtre ne s'ouvre pas ou alors elle ne contient pas cette scroll area 1 :

Donc soit tu as un fichier vidéo d'un type spécial, soit tu n'a pas la même version QT7 (j'ai une version 7.6.6). Je penche plutôt pour un fichier spécial car tu indiques que cela fonctionne pour certains fichiers et pas pour d'autres.

Lorsque tu lances et que tu as cette erreur sur un fichier, peux tu faire une copie écran de la fenêtre QT7 de propriété de ce fichier ? Cela m'aidera car j'ai fait tous les tests avec différents mov, mais cela fonctionne toujours.

Ensuite ajoute dans le script, après la ligne "Set Ma_Piste to -1" l'instruction suivante :

Code
Get UI elements of window 1


Cette instruction nous donnera le contenu de la fenêtre (si la scroll area 1 n'existe pas, il doit bien y a voir autre chose !)
Le résultat de cette commande sera affiché dans ton Editeur Applescript, dans l'onglet en bas "Evénements". quelque chose du genre :
Code
    get every UI element of window 1 of process "QuickTime Player 7"
        --> {button 1 of window.........


Tu m'envoies l'image de la fenêtre QT7 propriété de la séquence et le résultat du script. Cela va aider à comprendre ce qui ne fonctionne pas sur ton fichier en particulier.

A+



--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post
tojar
posté 1 Jan 2014, 21:52
Message #8


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 960
Inscrit : 6 May 2004
Lieu : under ze couette
Membre no 18 500



Citation (PBell @ 1 Jan 2014, 21:02) *
Le script fonctionne chez moi. alors on va essayer de comprendre pas à pas.

On utilise donc le script N°2. Tu me dis que les documents s'ouvrent bien dans QT player 7. Donc je pense que tout va bien jusqu'à la ligne "Set Ma_Piste to -1"

L'erreur que tu rencontres signifie que Applescript cherche, sans la trouver, la scroll area 1 de la fenêtre qui devrait être la fenêtre de propriété de la séquence.
Je ne vois que 2 alternatives : la fenêtre ne s'ouvre pas ou alors elle ne contient pas cette scroll area 1 :

Donc soit tu as un fichier vidéo d'un type spécial, soit tu n'a pas la même version QT7 (j'ai une version 7.6.6). Je penche plutôt pour un fichier spécial car tu indiques que cela fonctionne pour certains fichiers et pas pour d'autres.

Lorsque tu lances et que tu as cette erreur sur un fichier, peux tu faire une copie écran de la fenêtre QT7 de propriété de ce fichier ? Cela m'aidera car j'ai fait tous les tests avec différents mov, mais cela fonctionne toujours.

Ensuite ajoute dans le script, après la ligne "Set Ma_Piste to -1" l'instruction suivante :

Code
Get UI elements of window 1


Cette instruction nous donnera le contenu de la fenêtre (si la scroll area 1 n'existe pas, il doit bien y a voir autre chose !)
Le résultat de cette commande sera affiché dans ton Editeur Applescript, dans l'onglet en bas "Evénements". quelque chose du genre :
Code
    get every UI element of window 1 of process "QuickTime Player 7"
        --> {button 1 of window.........


Tu m'envoies l'image de la fenêtre QT7 propriété de la séquence et le résultat du script. Cela va aider à comprendre ce qui ne fonctionne pas sur ton fichier en particulier.

A+


alors je ne suis pas chez moi mais un élément de réponse: avant de bouger, j'ai fait plusieurs tests.... si je lance le script avec QT7 Player non lancé ou bien avec le QT7 player lancé par le script (genre si je relance le script), ca ne marche pas.

Si je lance moi meme QT7 Player (par exemple via le menu "éléments récents"), ca marche....

néanmoins, je verrais de relancer la chose et de faire une copie d'écran dès que je reviens. merci à nouveau de ton temps.


--------------------
<= attention, cet individu est énervant, exécrable, hautain, prétentieux, professoral, d'un humour douteux et, de surcroit, disciple de courants de pensées qui sont dangeureuses pour notre bonne société francaise. hop.
Go to the top of the page
 
+Quote Post
tojar
posté 5 Jan 2014, 19:43
Message #9


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 960
Inscrit : 6 May 2004
Lieu : under ze couette
Membre no 18 500



hello

le boulot m'a un peu bouffé ces derniers jours.....

mais voila le message d'erreur...

Fichier joint  Sans_titre.png ( 1.54 Mo ) Nombre de téléchargements : 12


message que je n'ai pas lorsque je lance le script avec QT ouvert.


--------------------
<= attention, cet individu est énervant, exécrable, hautain, prétentieux, professoral, d'un humour douteux et, de surcroit, disciple de courants de pensées qui sont dangeureuses pour notre bonne société francaise. hop.
Go to the top of the page
 
+Quote Post
PBell
posté 10 Jan 2014, 22:27
Message #10


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonsoir,
désolé pour le retard de la réponse...déplacement toute la semaine !

Merci pour l'écran d'erreur. Cette erreur provient du fait que le script s'attend, pour cette instruction, à avoir la fenêtre QT7 des propriétés en fenêtre de premier plan.
Mais cela ne semble pas être le cas, bien que la fenêtre soit effectivement ouverte et visible.

1) lors de l'exécution du script, tu ne doit pas toucher ton clavier ou souris, car, comme je suis obligé d'utiliser la simulation clavier/souris, le script considère que c'est lui le seul utilisateur. Par exemple, lorsqu'il ouvre la fenêtre propriété, il va supposer ensuite qu'elle est au premier plan.

Si tu clique ailleurs, il va exécuter ce qu'i devrait faire sur cette fenêtre,...sur une autre fenêtre.
C'est visiblement le cas ici.

2) il se peut aussi que ce soient d'autres applications lancées simultanément qui cherchent à passer au premier plan.
un façon de limiter cela est d'ajouter une ligne dans la boucle pour forcer QT à passer au premier plan (ce qui va limiter le risque, entre 2 itérations, d'une autres applications au 1er plan)

Il faut ajouter une instruction "Activate" juste avant le "Set show detailed movie info window to true"

Cordialement


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post
tojar
posté 10 Jan 2014, 22:35
Message #11


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 960
Inscrit : 6 May 2004
Lieu : under ze couette
Membre no 18 500



Citation (PBell @ 10 Jan 2014, 22:27) *
Bonsoir,
désolé pour le retard de la réponse...déplacement toute la semaine !

Merci pour l'écran d'erreur. Cette erreur provient du fait que le script s'attend, pour cette instruction, à avoir la fenêtre QT7 des propriétés en fenêtre de premier plan.
Mais cela ne semble pas être le cas, bien que la fenêtre soit effectivement ouverte et visible.

1) lors de l'exécution du script, tu ne doit pas toucher ton clavier ou souris, car, comme je suis obligé d'utiliser la simulation clavier/souris, le script considère que c'est lui le seul utilisateur. Par exemple, lorsqu'il ouvre la fenêtre propriété, il va supposer ensuite qu'elle est au premier plan.

Si tu clique ailleurs, il va exécuter ce qu'i devrait faire sur cette fenêtre,...sur une autre fenêtre.
C'est visiblement le cas ici.

2) il se peut aussi que ce soient d'autres applications lancées simultanément qui cherchent à passer au premier plan.
un façon de limiter cela est d'ajouter une ligne dans la boucle pour forcer QT à passer au premier plan (ce qui va limiter le risque, entre 2 itérations, d'une autres applications au 1er plan)

Il faut ajouter une instruction "Activate" juste avant le "Set show detailed movie info window to true"

Cordialement


en fait, quand on lance QT7 player, il lance une fenetre qui annonce les sorties de film, des trucs comme ca et qui a une fnetre de propriétés qui n'a rien à voir... je pense que c'est ca qui le fait bugger.

mais comme il me suffit de lancer QT7 avant... de fermer cette fenetre pour que ca marche, et bien j'ai pu contourner le souci. en tous les cas, mille mille mille mercis !!!! j'ai gagné un temps assez phénoménal !!!

(et bonne année aussi !)


--------------------
<= attention, cet individu est énervant, exécrable, hautain, prétentieux, professoral, d'un humour douteux et, de surcroit, disciple de courants de pensées qui sont dangeureuses pour notre bonne société francaise. hop.
Go to the top of the page
 
+Quote Post
PBell
posté 11 Jan 2014, 07:59
Message #12


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonjour,
Pour ne plus voir apparaître la fenêtre QT7 des annonces de films, il sufit d'aller dans QT7 / Préférences et dans le panneau Général, de décocher la case Autre : Afficher automatiquement le Guide du contenu.

Si tu as gagné du temps (et sans doute appris un peu d'Applescript) , c'est un excellent début d'année !

Cordialement


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 29th March 2024 - 11:32