Utilizzo dell'interfaccia JSON per ricevere notifiche e inviare comandi a Dragonframe tramite UDP.
Uso de la interfaz JSON para recibir notificaciones y enviar comandos a Dragonframe a través de UDP.
L'interfaccia JSON è un protocollo basato su UDP in Dragonframe, che utilizza il formato JSON per i messaggi.
È possibile inviare comandi a Dragonframe e ricevere notifiche da esso. Può essere un utile punto di integrazione per utilizzare Dragonframe con altri dispositivi o applicazioni. Dopo aver creato un dispositivo che invia/riceve questi messaggi, usa il file del programma Scena | Connessioni e aggiungi una connessione di tipo JSON. Nota: la funzione facoltativa "Visualizza aggiornamenti frame" può essere attivata con command = "viewFrameUpdates". Questo indica a Dragonframe di inviare un messaggio 'viewFrame' ogni volta che l'utente passa a un frame diverso. Forniamo un'applicazione Qt di esempio che implementa questa interfaccia. Potete trovare il progetto JSON di esempio qui. Devi compilarlo con Qt 5.3 o successivo.
Messaggi per controllare Dragonframe
Sparare{ "command" : "shoot", "frames" : 1 } Elimina{ "comando" : "cancella" } Riproduci/Interrompi{ "comando" : "riproduci" } Vai a Vivere{ "comando" : "live" } Muto{ "comando" : "muto" } Passa a Riproduci in nero{ "comando" : "nero" } Attiva / disattiva loop{ "comando" : "loop" } Opacità giù{ "comando" : "opacitàGiù" } Opacità su{ "comando" : "opacityUp" } Passo in avanti{ "comando" : "passoAvanti" } Passo indietro{ "command" : "stepBackward" } Gioco breve{ "comando" : "shortPlay" } Attiva/disattiva live (premere){ "comando" : "liveToggle", "stato" : "premuto" } Attiva/disattiva live (rilascio){ "command" : "liveToggle", "state" : "released" } Commutazione automatica{ "comando" : "commutazione automatica" } Attiva/disattiva alta risoluzione/assistenza video{ "command" : "highResToggle" } Imposta gli aggiornamenti della cornice della vista{ "comando" : "viewFrameUpdates", "attivo" : vero|falso }
Messaggi da Dragonframe
Cornice di tiro{ "event" : "shoot", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposure" : [ESPOSIZIONE], "esposizione" : "[NOME ESPOSIZIONE]", "indice stereo" : [INDICE] } Cancellazione cornice{ "event" : "delete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]" } Posizione cornice (Sposta su cornice){ "event" : "position", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "mocoFrame" : [MOCO FRAME], "esposizione" : [ESPOSIZIONE], "esposizione" : "[NOME ESPOSIZIONE]", "stereoIndex" : [INDICE] } Cattura completata{ "event" : "captureComplete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposure" : [ESPOSIZIONE], "esposizione" : "[NOME ESPOSIZIONE]", "stereoIndex" : [INDICE], "imageFileName" : "[NOME FILE IMMAGINE]" } Cornice completa{ "event" : "frameComplete", "production" : "[PRODUCTION]", "scene" : "[SCENE]", "take" : "[TAKE]", "frame" : [FRAME], "exposure" : [ESPOSIZIONE], "esposizione" : "[NOME ESPOSIZIONE]", "stereoIndex" : [INDICE], "imageFileName" : "[NOME FILE IMMAGINE]" } Visualizza cornice{ "event" : "viewFrame", "frame" : [FRAME], "exposure" : [EXPOSURE] }
La interfaz JSON es un protocolo basado en UDP en Dragonframe, que utiliza el formato JSON para los mensajes.
Puede enviar comandos a Dragonframe y recibir notificaciones de él. Puede ser un punto de integración útil para usar Dragonframe con otros dispositivos o aplicaciones. Después de crear un dispositivo que envíe/reciba estos mensajes, use el programa Escena | Conexiones y agregue una conexión de tipo JSON. Nota: La característica opcional 'ver actualizaciones de marcos' se puede activar con command = 'viewFrameUpdates'. Esto le indica a Dragonframe que envíe un mensaje 'viewFrame' cada vez que el usuario cambia a un marco diferente. Proporcionamos una aplicación Qt de muestra que implementa esta interfaz. Puedes encontrar el proyecto JSON de muestra aquí. Debe compilarlo con Qt 5.3 o posterior.
Mensajes al Control Dragonframe
Disparo{ "comando": "disparar", "fotogramas": 1} Borrar{ "comando" : "eliminar" } Reproducir/Detener{ "comando" : "reproducir" } Ir a vivir{ "comando": "en vivo"} Silenciar{ "comando" : "silencio" } Cambiar Reproducir a negro{ "comando" : "negro" } Alternar bucle{ "comando" : "bucle" } Opacidad hacia abajo{ "comando" : "opacityDown" } Opacidad arriba{ "comando" : "opacityUp" } Un paso adelante{ "comando" : "paso Adelante" } Paso atrás{ "comando": "paso atrás"} Juego corto{ "comando" : "reproducción corta" } Alternar en vivo (Presionar){ "comando": "liveToggle", "estado": "presionado"} Alternar en vivo (liberar){ "comando": "liveToggle", "estado": "liberado"} Cambio automático{ "comando" : "cambio automático" } Alternar alta resolución/asistencia de video{ "comando" : "altoResAlternar" } Establecer actualizaciones de marcos de vista{ "comando": "viewFrameUpdates", "activo": verdadero|falso}
Mensajes de Dragonframe
Marco de disparo{ "evento": "rodaje", "producción": "[PRODUCCIÓN]", "escena": "[ESCENA]", "toma": "[TOMA]", "fotograma": [FOTO], "exposición" : [EXPOSICIÓN], "exposición" : "[NOMBRE DE LA EXPOSICIÓN]", "stereoIndex" : [ÍNDICE] } Eliminación de marco{ "evento" : "eliminar", "producción" : "[PRODUCCIÓN]", "escena" : "[ESCENA]", "tomar" : "[TOMAR]" } Cuadro de posición (Mover a cuadro){ "evento": "posición", "producción": "[PRODUCCIÓN]", "escena": "[ESCENA]", "toma": "[TOMA]", "fotograma": [FOTO], "mocoFrame" : [FOTO MOCO], "exposición" : [EXPOSICIÓN], "exposición" : "[NOMBRE DE LA EXPOSICIÓN]", "stereoIndex" : [ÍNDICE] } Captura completa{ "evento": "captura completa", "producción": "[PRODUCCIÓN]", "escena": "[ESCENA]", "toma": "[TOMA]", "fotograma": [FOTO], "exposición" : [EXPOSICIÓN], "exposición" : "[NOMBRE DE LA EXPOSICIÓN]", "stereoIndex" : [ÍNDICE], "imageFileName" : "[NOMBRE DEL ARCHIVO DE IMAGEN]" } Marco completo{ "evento": "fotograma completo", "producción": "[PRODUCCIÓN]", "escena": "[ESCENA]", "toma": "[TOMA]", "fotograma": [FOTO], "exposición" : [EXPOSICIÓN], "exposición" : "[NOMBRE DE LA EXPOSICIÓN]", "stereoIndex" : [ÍNDICE], "imageFileName" : "[NOMBRE DEL ARCHIVO DE IMAGEN]" } Ver marco{ "evento" : "viewFrame", "fotograma" : [FOTOGRAMA], "exposición" : [EXPOSICIÓN] }