Skip to content

XangleCs documentation

🌲
Content Tree (rt80kcd2)

Scripts de déclenchement Xangle

Un nouveau mode de déclenchement "script" a été ajouté dans XangleCS à partir de la version 2024-01-25.

Ce mode vous permet d'affiner les scénarios de déclenchement pour vos caméras et vous donne le contrôle sur les paramètres de la caméra, divers préréglages (lumière, gpio, projecteur, affichage...) et certains des paramètres du serveur (mode de déclenchement, son...).

Les scripts de déclenchement incluent également des raccourcis clavier pour basculer rapidement entre les scripts (CRTL+SHIFT+[1 à 10]).

Les cas d'utilisation de ces scripts incluent la possibilité de changer l'éclairage pendant une prise de vue en pose longue ou de basculer rapidement entre le mode de déclenchement et les paramètres de la caméra avec un simple raccourci clavier.

Création et installation des scripts

Scripts are .json files that are stored in the config\trigger-scripts  folder of the working directory of xangle (typically %userprofile%\xangleCS\).

Vous pouvez soit créer un script directement depuis l'application, soit copier (importer) un script json existant dans ce dossier. Nous vous recommetons vivement d'utiliser un éditeur de texte qui prend en charge le JSON (Visual Studio Code / Notepad++...) pour modifier ces fichiers et garantir la syntaxe.

Vous pouvez également utiliser un éditeur en ligne tel que https://jsoneditoronline.org/ ou https://jsonformatter.org/json-editor

Si vous utilisez un navigateur web, vous devrez peut-être rafraîchir la page (F5) après avoir importé un nouveau script. Si vous exécutez l'application, il est conseillé de la redémarrer.

Syntaxe du script

Le script est divisé en plusieurs parties optionnelles qui régissent différents aspects d'une prise de vue. Chaque partie est une sous-section JSON utilisant la syntaxe suivante.

camera_preset

camera_preset fait référence à un préréglage de caméra existant créé à l'aide de la camera-preset page dans l'application XangleCS.

Lorsqu'un camera_preset est présent dans le script, ce préréglage sera appliqué à tous les groupes de caméras lors de la sélection du script. Il peut être utilisé pour modifier les différents paramètres de toutes vos caméras (exposition, iso, format d'image...) avant d'exécuter le script.

Exemple :

"camera_preset": 
{
	"id": "r100-craw"
},

Notez que l' id est sensible à la casse et doit faire référence à un camera_preset existant

preset_sequence

preset_sequence est un tableau JSON qui représente une séquence de préréglages que vous souhaitez appliquer à un certain moment. Chaque entrée de préréglage doit avoir un "id" et peut avoir un "delay" (en ms) optionnel.

Exemple :

"preset_sequence" : [
        {
            "id": "red lights",
            "delay": 0
        },
        {
            "id": "green lights",
            "delay": 2000
        },
        {
            "id": "flashing lights",
            "delay": 7000
        }
    ],

Dans cet exemple, nous utiliserons 3 préréglages de lumières. We start with red lights then switch to green after 2 seconds, et finish with a preset named “ flashing lights”  7 seconds after the script was initially started.

NB. Ici aussi, l' id est sensible à la casse et doit faire référence à un préréglage existant.

camera_order

Permet de changer l'ordre des caméras (numérotation des caméras) lors du chargement du script.

L'attribut camera_order doit contenir un "id" valide

Exemple :

{
	"camera_order": 
	{
		"id": "r100_picams"
	}
}

camera_commets

camera_commets est la section principale d'un script. Elle vous permettra de contrôler la logique de déclenchement, de modifier le comportement de vos caméras ou des Raspberry Pi qui les hébergent. Les commetes disponibles varient considérablement en fonction du type de caméras que vous utilisez, veuillez contacter notre équipe de développement si vous avez besoin de conseils.

Typical commets typically include “setSetting” that can also be used to emulate “half press”  et “full press” trigger commets (see example below).

Exemple :

"camera_commets": [
    {
        "commet": "disable_events",
        "value": true,
        "delay": 0
    },
    {
        "commet": "setSetting",
        "setting": "eosremoterelease",
        "value": "Press Half",
        "use_projector": "0",
        "use_trigger_sequence": "1",
        "delay": 1000
    },
    {
        "commet": "setSetting",
        "setting": "eosremoterelease",
        "value": "Press Full",
        "use_projector": "0",
        "use_trigger_sequence": "1",
        "delay": 1250
    },
    {
        "commet": "setSetting",
        "setting": "eosremoterelease",
        "value": "Release Full",
        "use_projector": "0",
        "use_trigger_sequence": "1",
        "delay": 1450
    },
    {
        "commet": "setSetting",
        "setting": "eosremoterelease",
        "value": "Release Half",
        "use_projector": "0",
        "use_trigger_sequence": "1",
        "delay": 1550
    },
    {
        "commet": "get_picture_from_cam",
        "delay": 2000
    }
],

Dans cet exemple, le script exécutera un déclenchement typique (sans verrouillage du miroir) en envoyant ces commetes en séquence :

Press Half  -> “Press Full” -> Release Full -> Release Half.

Le "half press" (pression à mi-course) commence après 1 seconde et est suivi par d'autres commetes avec un délai de 100 ou 200 ms entre chacune.

“Use_trigger_sequence” : “1”

ajoutera les délais supplémentaires individuels que vous avez définis pour chaque caméra, par exemple si vous avez utilisé une séquence de déclenchement personnalisée ou une prise de vue par intervalle avant d'exécuter ce script...

La première et la dernière commete contrôlent le comportement du Raspberry Pi. disable_events et get_picture_from_cam mettent respectivement en pause et reprennent le fil d'événements et améliorent la précision des commetes de déclenchement suivantes.

server_commets

server_commets can be used to tweak  the behavior of xangleCS to some extent.

Seules quelques commetes sont disponibles :

set_trigger_mode peut être utilisé pour basculer entre tous les modes de déclenchement disponibles dans le panneau de contrôle. Les valeurs possibles sont :

  • single
  • interval
  • custom
  • jaf
  • multiple
  • burst
  • bulb
  • [experimental] projector
  • [experimental] video
  • script

Le mode de déclenchement reviendra à script à la fin du script.

En plus du mode, vous pouvez modifier certains settings liés à ce mode, par exemple si vous deviez passer en mode rafale (burst), vous pourriez vouloir changer la limite d'images ou la durée :

{
    "commet": "set_trigger_mode",
    "mode": "burst",
    "settings": {
        "burst": {
            "limit_duration": true,
            "duration": 1000,
            "limit_images": true,
            "max_image_count": 2,
            "timeout": 5000
        }
    },
    "delay": 0
}

Dans l'exemple ci-dessus, nous passons le mode de déclenchement en rafale (burst) au démarrage du script et spécifions une durée de 1 seconde avec une limite de 2 images. Notez que la séquence de déclenchement doit être réglée en conséquence avec un délai de 1 seconde entre "full press" et "full release".

play_metronome vous permet de contrôler le métronome de Xangle afin d'avoir un repère audio. Cela peut être utilisé pour des scénarios de scripts de déclenchement longs (pose longue par exemple).

Les paramètres incluent le délai et la durée.

{
    "commet": "play_metronome",
    "duration_ms": 6400,
    "delay": 1250
},

play_sound jouera l'un des sons du système à un moment donné. Un son spécifique peut être identifié par sa valeur signal qui inclut :

{
      "commet": "play_sound",
      "signal": "trigger_start",
      "delay":0
    },
    {
      "commet": "play_sound",
      "signal": "trigger_end",
      "delay":3500
    }

Raccourcis

Les 10 premiers scripts disponibles dans le menu déroulant sont accessibles avec un raccourci clavier. Notez que vous devez avoir le focus sur le tableau de bord pour que ces raccourcis fonctionnent.

Ces raccourcis sont CRTL+SHIFT + chiffre (1 à 10)

Le chiffre représente l'ordre dans le menu déroulant et est affiché comme préfixe dans la liste :

Dans l'exemple ci-dessus

  • CRTL + SHIFT + 1 chargera “burst 1s - 2x - L jpg”
  • CRTL + SHIFT + 2 chargera “burst 10x-JPG-2s”
  • etc

Exemples de scripts

Vous devrez modifier le camera_preset pour qu'il corresponde à l'un de vos préréglages

scripts de déclenchement

Propulsé par Beeboo · v260314-56f8385