IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Applescript, Où trouver les commandes qu'une application "comprend"
Options
Murayama
posté 1 Oct 2023, 01:28
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 208
Inscrit : 14 Feb 2004
Lieu : Kyoto
Membre no 14 810



Bonjour!

Je suis en train d'essayer de créer une animation avec Applescript / Keynote. J'ai trouvé quelques exemples sur le net
pour démarrer, mais il faudrait que je trouve une liste de toutes les commandes acceptées par Keynote.
Voici un début de programme qui fonctionne, fait avec des éléments trouvés dans d'autres programmes. Par contre,
dès que je veux essayer d'ajouter quoi que ce soit, rien à faire.
Exemple:
set myshape to make new shape with properties {position:{100, 100}, width:100, height:100, color:{0, 0, 255}, opacity:100}
définit un carré noir, sa taille, son opacité. Si je veux changer la couleur, en gros rien ne fonctionne. J'ajouté dans la liste
de propriétés color:{0, 0, 255} pour avoir un carré bleu, Apple Script (ou Keynote) ne comprend pas.
J'ai essayé aussi color:0x0000FF, color:0000FF, color:#0000FF, color:{0, 0, 255}, etc...

Questions:
- Y a-t-il un document qui énumère toutes les commandes que Keynote peut recevoir?
- Sinon, y a-t-il une commande applescript qui permet d'énumérer toutes les commandes d'un certain objet, par exemple l'objet
"MyDocument" dans le programme ci-dessous? Ou myshape?

Merci!

Code
tell application "Keynote"
    activate
    set MyDocument to make new document with properties {document theme:theme "PlainWhite", width:1920, height:1200}
    tell MyDocument
        tell the current slide
            set myshape to make new shape with properties {position:{100, 100}, width:100, height:100, opacity:100}
            set transition properties to {automatic transition:true, transition effect:magic move, transition delay:0, transition duration:5}
        end tell
        set the newslide to make new slide
        tell the current slide
            set myshape to make new shape with properties {position:{500, 500}, width:100, height:100, opacity:100}
        end tell
    end tell
end tell


--------------------
Go to the top of the page
 
+Quote Post
Zeltron54
posté 1 Oct 2023, 06:52
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 171
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



Bonjour,

Quand tu es dans applescript le menu fichier --> ouvrir le dictionnaire --> choisir l'application désirée ...


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3
Go to the top of the page
 
+Quote Post
Murayama
posté 1 Oct 2023, 08:25
Message #3


Adepte de Macbidouille
*

Groupe : Membres
Messages : 208
Inscrit : 14 Feb 2004
Lieu : Kyoto
Membre no 14 810



Bonjour!

Merci, je vois le dictionnaire, c'est un bon début. Par contre, il manque des explications.
Exemple (même script que plus haut). J'arrive à créer 2 slides avec le même carré et quand je joue le fichier,
le carré se déplace. Maintenant, j'aimerais ajouter des paramètres.
J'ai trouvé (par recherche) shape. Qui hérite de iwork item. iWork item définit les paramètres de géometrie
que j'ai déjà utilisés.
J'ai pu vérifier que si j'ajoute du texte, ça fonctionne:

set myshape to make new shape with properties {position:{100, 100}, width:100, height:100, opacity:100, object text:"Test"}

Le carré de ma première slide a bien le mot Test écrit en blanc sur noir.

Maintenant, j'aimerais changer le fond, par exemple en bleu. Comme le object text a fonctionné, je prends maintenant
le premier paramètre: background fill type, avec les diverses solutions, comme dans le manuel.

set myshape to make new shape with properties {position:{100, 100}, width:100, height:100, opacity:100, background fill type: color fill}
-> error

Bon, "color fill" est peut-être l'équivalent de "type your name here", ce qui voudrait dire qu'il faut une valeur. J'ai essayé 0000FF, "0000FF", 0x0000FF,
"0x0000FF", j'ai aussi essayé "color fill", puis {0, 0, 255}, etc. Rien n'y fait.

J'ai aussi essayé d'ajouter ceci, sans plus de succès.
tell myshape
set background fill type of myshape to {0, 0, 255}
end tell

Y a-t-il quelque part de la documentation qui explique comment faire? J'ai aussi essayé keynote scripting tutorial, bref, rien.
Un livre sur Applescript est probablement inadéquat puisqu'il faudrait que cela s'adresse spécifiquement à Keinote...

Merci pour tout renseignement utile.


--------------------
Go to the top of the page
 
+Quote Post
baron
posté 1 Oct 2023, 23:05
Message #4


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 363
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Un site ancien mais je ne pense pas qu'il y ait eu tant de choses de changées depuis…
http://iworkautomation.com/keynote/

+++++++++++++

Citation (Murayama @ 1 Oct 2023, 09:25) *
J'ai aussi essayé d'ajouter ceci, sans plus de succès.
tell myshape
set background fill type of myshape to {0, 0, 255}
end tell

Y a-t-il quelque part de la documentation qui explique comment faire?

Il semble que tu aies justement tenté un mauvais exemple…
Citation
IMPORTANT: The current scripting implementation of Keynote does not support the setting of the background fill type by a script. The value of this property can be accessed by a script, but not changed.

Source : https://iworkautomation.com/keynote/shape-line-shape.html


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post
Murayama
posté 2 Oct 2023, 00:00
Message #5


Adepte de Macbidouille
*

Groupe : Membres
Messages : 208
Inscrit : 14 Feb 2004
Lieu : Kyoto
Membre no 14 810



Bonjour!

Merci! J'avais vu ces exaemples, et c'est d'ailleurs de là que vient en partie ce que j'ai écrit.
Par contre, je pensais que cela signifiait qu'il est possible de créer un objet d'une certaine couleur,
mais pas de changer cette couleur.

Bon, pour être clair, il n'existe pas de moyen pour dire à Keynote de me tracer par exemple un
carré bleu à bord noir?

-> Si la solution existe, j'aimerais bien la connaître. Est-il possible de dire à Keynote clique-moi ce
bouton, choisis-moi cette couleur dans la palette?...
-> Si la solution n'existe pas, on perd beaucoup en possibilités pour l'utilisation d'AppleScript

Merci


--------------------
Go to the top of the page
 
+Quote Post
frankie00
posté 2 Oct 2023, 08:06
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 950
Inscrit : 22 Dec 2011
Lieu : Paris
Membre no 173 181



Un logiciel comme ScriptDebugger te serait utile


--------------------
¶ Mon blog informatique est la Vague en Creux
¶ MacBook Pro de 2021 avec OS 14.4 Sonoma, 13 pouces, 16 Go de mémoire RAM, processeur M1, SSD de 500Go
¶ Autre MacBook Pro de 2015 avec OS 10.14.5 Mojave 15 pouces Retina, 16 Go de mémoire RAM, processeur quadri-core 2.5 GHz Intel Core , double carte graphique et SSD 512 Go
Nous sommes 2 sur ce site: Jean Pass & Dem Eilleur qui vous saluons bien !“
Go to the top of the page
 
+Quote Post
Murayama
posté 2 Oct 2023, 08:28
Message #7


Adepte de Macbidouille
*

Groupe : Membres
Messages : 208
Inscrit : 14 Feb 2004
Lieu : Kyoto
Membre no 14 810



Bonjour!

Citation (frankie00 @ 2 Oct 2023, 08:06) *
Un logiciel comme ScriptDebugger te serait utile


À ce que j'ai compris, pas tellement vu que la couleur n'est pas supportée...
Et puis c'est payant, alors je ne vais pas acheter un software pour faire UNE
application. Je vais ezplorer la voie quiconsiste à importer d'autres scripts.
Ou bien faire mon animation directement avec Keynote.

En tout cas merci pour l'info.



--------------------
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 : 28th April 2024 - 03:50