Utilizzo dell'interfaccia JSON per ricevere notifiche e inviare comandi a Dragonframe tramite UDP.

L'interfaccia JSON è un protocollo basato su UDP in Dragonframe, che utilizza il formato JSON per i messaggi.

Puoi inviare comandi a Dragonframe e ricevere notifiche da esso. Può essere un utile punto di integrazione per l'utilizzo di 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" }
Attiva la riproduzione del controllo del movimento in tempo reale{ "comando": "eseguiMocoMove"}
Imposta gli aggiornamenti della cornice della vista{ "comando" : "viewFrameUpdates", "attivo" : vero|falso }

Messaggi da Dragonframe

Cornice di tiro{ "evento" : "sparare",
"produzione" : "[PRODUZIONE]",
"scena" : "[SCENA]",
"prendere" : "[PRENDERE]",
"cornice": [FRAME],
"esposizione": [ESPOSIZIONE],
"esposizione" : "[NOME ESPOSIZIONE]",
"Indice stereo": [INDICE] }
Cancellazione cornice{ "evento" : "cancella",
"produzione" : "[PRODUZIONE]",
"scena" : "[SCENA]",
"prendere" : "[PRENDERE]" }
Posizione cornice (Sposta su cornice){ "evento" : "posizione",
"produzione" : "[PRODUZIONE]",
"scena" : "[SCENA]",
"prendere" : "[PRENDERE]",
"cornice": [FRAME],
"mocoFrame": [MOCO FRAME],
"esposizione": [ESPOSIZIONE],
"esposizione" : "[NOME ESPOSIZIONE]",
"Indice stereo": [INDICE] }
Cattura completata{ "event" : "captureComplete",
"produzione" : "[PRODUZIONE]",
"scena" : "[SCENA]",
"prendere" : "[PRENDERE]",
"cornice": [FRAME],
"esposizione": [ESPOSIZIONE],
"esposizione" : "[NOME ESPOSIZIONE]",
"Indice stereo": [INDICE],
"imageFileName": "[NOME FILE IMMAGINE]" }
Cornice completa{ "evento" : "frameComplete",
"produzione" : "[PRODUZIONE]",
"scena" : "[SCENA]",
"prendere" : "[PRENDERE]",
"cornice": [FRAME],
"esposizione": [ESPOSIZIONE],
"esposizione" : "[NOME ESPOSIZIONE]",
"Indice stereo": [INDICE],
"imageFileName": "[NOME FILE IMMAGINE]" }
Visualizza cornice{ "evento" : "viewFrame",
"cornice": [FRAME],
"esposizione": [ESPOSIZIONE] }