Utilisation de l'interface JSON pour recevoir des notifications et envoyer des commandes à Dragonframe via UDP.
L'interface JSON est un protocole basé sur UDP dans Dragonframe, qui utilise le format JSON pour les messages.
Vous pouvez envoyer des commandes au Dragonframe et recevoir des notifications de celui-ci. Cela peut être un point d'intégration utile pour utiliser Dragonframe avec d'autres appareils ou applications. Après avoir créé un appareil qui envoie/reçoit ces messages, utilisez les Scène | Connexions et ajouter une connexion de type JSON. Remarque : La fonctionnalité facultative "mises à jour du cadre de vue" peut être activée avec la commande = "viewFrameUpdates". Ceci indique au Dragonframe d'envoyer un message 'viewFrame' à chaque fois que l'utilisateur bascule vers une trame différente. Nous fournissons un exemple d'application Qt qui implémente cette interface. Tu peux trouver l'exemple de projet JSON ici. Vous devez le compiler avec Qt 5.3 ou plus récent.
Messages au contrôle Dragonframe
Tirer{ "commande" : "tirer", "images" : 1 } Effacer{ "commande" : "supprimer" } Jouer/Arrêter{ "commande" : "jouer" } Aller en direct{ "commande" : "en direct" } Muet{ "commande" : "muet" } Basculer la lecture en noir{ "commande" : "noir" } Basculer le bouclage{ "commande" : "boucle" } Opacité vers le bas{ "commande" : "opacityDown" } Opacité vers le haut{ "commande" : "opacitéHaut" } Avancer{ "commande" : "stepForward" } Reculer{ "commande" : "stepBackward" } Jeu court{ "commande" : "shortPlay" } Bascule en direct (Appuyez){ "commande" : "liveToggle", "état" : "pressé" } Bascule en direct (version){ "commande" : "liveToggle", "état" : "publié" } Basculement automatique{ "commande" : "basculeautomatique" } Basculer l'assistance haute résolution/vidéo{ "commande" : "highResToggle" } Définir les mises à jour du cadre de vue{ "commande" : "viewFrameUpdates", "active" : vrai|faux }
Messages de Dragonframe
Cadre de prise de vue{ "event" : "shoot", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposition" : [EXPOSITION], "exposition" : "[NOM DE L'EXPOSITION]", "stereoIndex" : [INDEX] } Suppression d'un cadre{ "event" : "delete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]" } Positionner le cadre (déplacer vers le cadre){ "event" : "position", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "mocoFrame" : [MOCO FRAME], "exposition" : [EXPOSITION], "exposition" : "[NOM DE L'EXPOSITION]", "stereoIndex" : [INDEX] } Capture terminée{ "event" : "captureComplete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposition" : [EXPOSITION], "exposition" : "[NOM DE L'EXPOSITION]", "stereoIndex" : [INDEX], "imageFileName" : "[NOM DU FICHIER IMAGE]" } Cadre complet{ "event" : "frameComplete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposition" : [EXPOSITION], "exposition" : "[NOM DE L'EXPOSITION]", "stereoIndex" : [INDEX], "imageFileName" : "[NOM DU FICHIER IMAGE]" } Voir le cadre{ "événement" : "viewFrame", "frame" : [FRAME], "exposition" : [EXPOSITION] }