
Cette fenêtre est principalement un outil destiné à aider les développeurs, mais elle peut également être utilisée par les utilisateurs finaux pour exécuter de simples scripts. Des exemples de fragments de code peuvent être utilisés ici.
Pour les développeurs, la console système fournit des informations d'erreur plus détaillées et vous permet d'essayer et de jouer avec des scripts que vous pourrez ensuite utiliser dans vos skins jAlbum. Notez que l'enregistrement des erreurs dans la console système peut être contrôlé en définissant le niveau de journalisation dans Préférences/Général ou par les développeurs de skin envoyant leurs propres messages de diagnostic directement à la console.

Vous pouvez sélectionner Évaluer pour exécuter un script dans la langue sélectionnée, Dump threads (Exporter les threads) pour fournir un fichier de threads afin d'aider à localiser les éventuels 'blocages' qui peuvent se produire ou Imprimer les données de profilage pour montrer quels processus ont été appelés et le temps pris. Un exemple de sortie de profil est présenté ci-dessous :
CustomScaler.scale: 158 calls 22.695s
Process compiled expression: 21 calls 13.512s
predir processing: 18 calls 13.225s
Writing: AVIF Image Writer: 132 calls 11.684s
Scale to fit 1600x1200: 24 calls 7.029s
Scale to fit 824x824: 25 calls 5.819s
Scale to fit 800x600: 26 calls 5.053s
AlbumImage Scale to fit 1200x900: 10 calls 3.248s
Scale to fit 412x412: 27 calls 2.492s
AlbumImage Scale to fit 620x465: 13 calls 2.164s
AlbumImage Scale to fit 800x360: 13 calls 1.931s
AlbumImage Scale to fit 100000x465: 9 calls 1.466s
AlbumImage Scale to fit 1600x720: 3 calls 1.158s
AlbumImage Scale to fit 620x100000: 5 calls 1.147s
Writing: GeoSolutions TurboJPEG Writer: 178 calls 0.617s
init: 1 calls 0.588s
AlbumImage Scale to fit 1880x360: 3 calls 0.545s
Executing compiled scriptlet: 163 calls 0.397s
Reading: GeoSolutions TurboJPEG Reader: 69 calls 0.299s
Compiling script: 4 calls 0.292s
Writing: Standard PNG image writer: 3 calls 0.213s
Make views: 1 calls 0.198s
AlbumObjectImpl.getProperties: 313 calls 0.191s
AlbumBean.makeIndexPages: 18 calls 0.185s
AlbumObjectProperties.load: 315 calls 0.178s
AlbumBean.registerVariables: 134 calls 0.13s
Clone image: 107 calls 0.076s
AlbumBean.popVars: 320 calls 0.067s
Reading: jAlbum Mac Native Reader: 15 calls 0.058s
Compiling scriptlets: 61 calls 0.056s
JSONMaker.makeDataPages: 18 calls 0.043s
Create MediaRSS: 5 calls 0.041s
AlbumBean.processFilters: 388 calls 0.031s
Executing interpreted scriptlet: 231 calls 0.029s
AlbumObjectImpl.getXmpManager: 75 calls 0.026s
AlbumBean.pushVars: 321 calls 0.025s
RecoveryTool.createLifeboat: 1 calls 0.024s
JAlbumUtilities.countCategories: 165 calls 0.021s
AlbumObjectImpl.getMetadata: 47 calls 0.021s
JAlbumUtilities.getDeepCameraDates: 18 calls 0.02s
FileFilters.getBasicImageInfo: 47 calls 0.018s
Writing pages: 44 calls 0.018s
Copy res files: 1 calls 0.016s
Reading file attributes: 97 calls 0.015s
JAlbumUtilities.countWebLocationCategories: 25 calls 0.015s
Making deep-data.json: 1 calls 0.01s
Process expression: 1 calls 0.006s
JSONMaker.makeTree: 1 calls 0.003s
AlbumBean.countTotalFiles: 1 calls 0.002s
Icon loading: 2 calls 0.001s
AlbumBean.getFolderProperties: 57 calls 0.001s
RotationSupport.adjustOrientation: 84 calls 0s
Total: 3819 calls 1m 37.099s

La console du système a son propre menu 'Édition' comprenant deux sections 'couper, copier, coller' et 'chercher, chercher suivant, remplacer'. Couper, copier et coller ont les raccourcis clavier universels CMD/CNTRL + 'X, C et V' tandis que chercher et remplacer ont CMD/CNTRL + 'F, R' et chercher suivant utilise la touche F3.

L'outil de remplacement est uniquement disponible pour la section supérieure de la fenêtre de la console système. La fenêtre de remplacement est illustrée à droite, ce qui vous donne des choix sur ce qu'il faut trouver et ce avec quoi remplacer, trouver la prochaine occurrence, remplacer toutes les instances du texte trouvé. Vous pouvez faire correspondre en utilisant la casse ou des mots entiers, rechercher en haut ou en bas du code et utiliser des expressions régulières dans les champs de recherche/remplacement.


jAlbum a trois moteurs de script sous le capot qui permettent aux développeurs d'étendre les fonctionnalités de jAlbum de différentes manières. Vous pouvez créer un script dans un langage de script de type Java appelé Groovy et BeanShell, ou utiliser JavaScript. Vous pouvez ajouter d'autres langues en ajoutant le fichier .jar correspondant à la langue concernée dans le dossier "lib" ou "ext" de jAlbum.
Les scripts sont exécutés lorsque les skins sont chargés (scripts de chargement), lors du démarrage de la création d'albums (scripts init) et pendant la création d'albums (les scripts de commande figurant dans les pages de modèles des skins). Les scripts sont également exécutés chaque fois que l'utilisateur sélectionne un outil externe (voir Outils-> Outils externes).
Vous avez accès aux objets implicites jAlbum de base tels que le moteur et la fenêtre
Exemples d'expressions (Java/BeanShell) :
4*(3+2); // Basic calculations
engine.getSkin(); // Use of implicit object
for (AlbumObject ao : selectedObjects) System.out.println(ao); // Iterate over selected objects
window.messageBox("You can interact with any Java object");
En savoir plus sur l'extension de jAlbum dans notre Developer center.

L'option de sélection de threads facilite le test des interfaces utilisateur basées sur Java Swing et JavaFX. JavaFX requiert que toutes les interactions avec les composants d'interface utilisateur JavaFX aient lieu sur le thread JavaFX.
Si jAlbum semble se bloquer dans un état consommateur de CPU, ouvrez la console système et cliquez sur le bouton "Dump threads". bouton. Ensuite, appuyez sur CMD / Cntrl + C pour ouvrir le dossier 'config' de jAlbum et rechercher un fichier appelé 'thread-dump.txt'. Publiez un bogue sur le forum des bogues et attachez le fichier thread-dump.txt, ainsi que toute autre information pertinente - comme les versions de jAlbum et OS, l'apparence utilisée et ce que vous avez fait en dernier.