API PLAYDECK

L'API di PLAYDECK è uno strumento che consente a chiunque di interagire con PLAYDECK. Questo articolo illustra come iniziare a sviluppare con l'API:

In questo articolo:
Introduzione
Esempi
Implementare l'API


Introduzione

L'API di PLAYDECK è bidirezionale: ricevi lo stato di riproduzione, ma puoi anche inviare comandi a PLAYDECK.

L'API si basa sui WebSocket: essendo parte integrante di JavaScript, è possibile sviluppare in JavaScript, NodeJS o TypeScript. La porta WebSocket è fissata al numero 11411 ed è sempre attiva su PLAYDECK.

Abbiamo deciso di optare per i WebSocket perché:

  • Supporta entrambe le direzioni: da e verso PLAYDECK
  • Non è richiesta alcuna installazione: basta un qualsiasi editor di testo
  • Non è richiesta alcuna misura specifica di sicurezza di rete
  • È facile creare la propria interfaccia utente o animazione con l'HTML


Cosa si può inviare a PLAYDECK?

  • Riproduci o avvia blocchi, clip, sovrapposizioni o azioni
  • Avvia/interrompi i contenuti video come gli streaming


Cosa offre PLAYDECK?

  • Eventi (ad esempio, l'avvio di un blocco o di una clip)
  • Stato della trasmissione (ad es. cosa è in onda e il tempo rimanente del blocco)
  • Contenuto (ad es. playlist completa con blocchi e clip)


Esempi

1) Compagno

L'API PLAYDECK viene utilizzata da bitfocus Companion nel modulo PLAYDECK. Questo ti offre una rapida panoramica delle potenzialità dell'API:
https://playdeck.tv/howto/companion/


2) Vista del regista

L'API viene utilizzata anche dalla Director View, che fa parte di PLAYDECK. I modelli HTML sono disponibili qui:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\Modelli-HTML\Director-View


3) Sovrapposizioni HTML

L'API viene utilizzata anche in alcuni esempi di panoramica sull'HTML, che potete trovare qui:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\Modelli-HTML\Modelli-Overlay


Implementare l'API

Abbiamo preparato alcuni esempi per consentirti di esaminare rapidamente uno script funzionante. Ti invitiamo a seguirli in ordine, poiché si basano l'uno sull'altro.

Suggerimento n. 1: È possibile fare doppio clic su qualsiasi file HTML per aprirlo nel browser e avviare lo script/l'API

Suggerimento 2: È possibile modificare il file “WebSocketSDK\Version.js” per cambiare l'indirizzo IP


1) Connessione nativa (senza API)

Cominciamo con qualcosa di molto essenziale:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\Modelli-HTML\Automazione-e-Interfaccia-Utente\SampleMinimalistic.html

Questo aprirà il WebSocket verso PLAYDECK utilizzando codice JavaScript nativo e invierà un comando per riprodurre il primo clip nel primo blocco.

Ecco un altro esempio: in questo caso è possibile cliccare sui pulsanti in HTML per avviare la riproduzione in PLAYDECK:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\Modelli-HTML\Automazione-e-Interfaccia-Utente\SampleUserInterface.html


2) Connessione minimalista (CON API)

Questo esempio illustra l'API:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\Modelli-HTML\Automazione-e-Interfaccia-Utente\SampleMinimalisticSDK.html

Utilizza la sottocartella “WebSocketAPI” e include il suo SCRIPT PRINCIPALE “AppInterface.js”, che funge in qualche modo da “caricatore” per l'intera API.

L'API gestirà ora la connessione WebSocket a PLAYDECK, quindi non è necessario implementarla manualmente. L'API mette inoltre a disposizione di JavaScript un framework di modelli. Il nome del modello deriva dal nome del file, quindi deve corrispondere. Sono disponibili diverse funzioni predefinite. Per questo esempio utilizzeremo solo “Start”: questa funzione verrà chiamata dall'API una volta che la connessione WebSocket a PLAYDECK sarà stata stabilita con successo. In questo esempio riprodurrà il primo clip del canale 1.


3) Altre funzioni del framework

Oltre a “Start”, sono disponibili molte altre funzioni del framework:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\Modelli-HTML\Automazione-e-Interfaccia-Utente\SamplePlayRandomClip.html

Per conoscere tutte le funzioni disponibili, consultare i commenti nel file JS.

Se apri la console del browser (di solito con il tasto F12), puoi vedere i risultati delle istruzioni “console.log”.


4) Analizzare i dati del progetto

Per accedere a tutti i clip è disponibile la funzione “DataProject”; questo esempio mostra come enumerare i dati del progetto:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\Modelli-HTML\Automazione-e-Interfaccia-Utente\SampleShowPlaylist.html


5) Esempio di orario personalizzato

L'ultimo esempio mostra uno script completo e funzionante per una pianificazione personalizzata al di fuori di PLAYDECK:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\Modelli-HTML\Automazione-e-Interfaccia-Utente\Programma-Settimanale-Esempio.html


Traduzione

Questo articolo spiega come lavorare alle traduzioni per PLAYDECK.


Introduzione

Le lingue disponibili sono state tradotte in precedenza tramite strumenti online. Utilizziamo DeepL per questo. Funziona molto bene con frasi più lunghe (ad es. “Impostazioni”), ma funziona molto male con le singole parole (ad es. "Input").

Inoltre, alcune traduzioni occupano più o meno spazio (in termini di numero di caratteri). Ciò potrebbe comportare che alcune parole non “entrino” in un determinato pulsante. Se non è possibile accorciare la traduzione, possiamo anche allargare il pulsante.

Per questi motivi, ogni lingua necessita di una messa a punto.


Flusso di lavoro

Le traduzioni vengono modificate tramite uno strumento esterno chiamato “SIL Editor”, dove è possibile caricare e modificare la nostra lingua. È quindi possibile visualizzare l'anteprima delle modifiche direttamente in PLAYDECK.

Una volta completata la revisione, inviaci il file di lingua e provvederemo a importare le tue modifiche nell'app.


Download e installazione

Ti serve PLAYDECK nella versione 4.2b6, che puoi scaricare qui:
https://downloads.playdeck.tv/4.2b6/PlaydeckSetup.exe

Ti serve il SIL Editor, che puoi trovare qui (scarica solo “SIL Editor”):
https://www.sicomponents.com/download/

E ti serve il file di lingua con le traduzioni:
https://downloads.playdeck.tv/4.2b6/PLAYDECK.sib

—————-

Installa PLAYDECK e SIL Editor, quindi salva il file SIB qui:
c:\Utenti\Pubblico\Documenti\JoyEventMedia\Playdeck\PLAYDECK.sib

Se PLAYDECK rileva un file SIB in questa posizione, PREFERIRÀ utilizzarlo anziché la traduzione interna.


Prova

Proviamo a modificare qualcosa e verifichiamo se PLAYDECK aggiorna la traduzione. Fai doppio clic sul file SIB: si aprirà l'editor SIL. Apri il primo ramo “Tf_about”, che corrisponde al popup “ABOUT” in PLAYDECK. Fai clic su “Captions”, che rappresenta tutti i campi di testo statici nel popup. Puoi minimizzare tutte le colonne di lingua che non ti interessano: in questo esempio mi concentro sul TEDESCO (ma può essere qualsiasi altra lingua). Ora, per “l_header”, cambia la traduzione in qualcosa di evidente: in questo caso aggiungo semplicemente "XXX" davanti al testo per fare una prova.

Salva il file SIB (oppure premi CTRL+S). In PLAYDECK, seleziona TEDESCO nelle impostazioni dell'app:

Dopo aver riavviato PLAYDECK, apri la finestra a comparsa “Informazioni su” selezionando "Licenza > PLAYDECK". Ora dovresti vedere le modifiche apportate al testo. Non dimenticare di ripristinare le impostazioni originali dopo aver effettuato i test. Se ciò non dovesse funzionare, ti preghiamo di contattarci.



Da dove cominciare

Si consiglia di modificare innanzitutto tutti i testi dinamici, poiché vengono utilizzati più volte in PLAYDECK e costituiscono quindi la “traduzione di base”. Li trovi alla voce “Tf_lang > Strings”:

Una volta fatto questo, puoi decidere tu stesso: puoi cercare le modifiche necessarie in PLAYDECK scorrendo tutte le impostazioni e i popup, oppure puoi scorrere tutti i popup direttamente nell'editor SIL.



Orientamento e revisione

Il pannello di sinistra nell'Editor mostra tutti i popup disponibili in PLAYDECK.

Si notano le voci “principale” (interfaccia utente principale) e “impostazioni” (tutte le impostazioni). Queste sono a loro volta suddivise in gruppi:

I gruppi hanno il seguente significato (si indicano solo quelli necessari):

Didascalie: Tutti i testi statici visibili nel popup, principalmente etichette, pulsanti e menu
Collezioni: Usato raramente. Solo alcune opzioni di dialogo.
Esteso: Anche testi statici, ma soprattutto titoli
Suggerimenti: Testi che compaiono al passaggio del mouse, ad esempio il pulsante “?” o le icone della barra degli strumenti
Righe multiple: Intestazioni delle tabelle e campi a tendina con selezione multipla. Modificabili con un doppio clic.
Altro: Usato raramente. Solo alcune opzioni di dialogo.
Stringhe: Blocchi di testo dinamici. Utilizzati solo in “Tf_lang”

Nella grande tabella centrale, dove si modificano i testi, è presente anche una colonna denominata “String ID”, che indica il nome interno dell'elemento corrispondente in PLAYDECK. Questo “può” rivelarsi utile in alcuni casi in cui si sta cercando qualcosa.

Ecco alcune informazioni sulla scelta del nome:
l_: Etichette di testo statiche
b_ o mb_: Pulsanti
cb_: Casella di selezione con testo
rb_: Pulsante di opzione con testo
pm_: Menu a comparsa o menu contestuale
os_ o op_: Menu a tendina



Consigli per la revisione

1) Si prega di notare che sono presenti diverse ripetizioni (lo stesso testo che ricorre più volte), che non possono essere evitate se, ad esempio, lo stesso testo compare più volte in PLAYDECK (ad es. nelle Impostazioni).

2) Alcuni testi non possono essere tradotti affatto, poiché sono profondamente integrati nel sistema o nel motore video, che sono anch'essi tipicamente delle impostazioni (modifiche tramite menu a tendina).

3) Puoi cercare qualsiasi testo nell'editor oppure cliccare sull'intestazione della colonna per ordinare i dati. Questo può aiutarti a individuare l'originale in inglese e a trovare i campi di testo da modificare.

4) Se non viene fornita alcuna traduzione (campo vuoto), verrà automaticamente utilizzato il testo originale in inglese. È quindi possibile CANCELLARE la traduzione per costringere PLAYDECK a utilizzare il testo originale in inglese

5) Tutte le traduzioni su più righe devono avere lo stesso numero di righe; in caso contrario, PLAYDECK potrebbe non avviarsi o non funzionare correttamente. Per modificare le traduzioni su più righe, è sufficiente fare doppio clic sulla traduzione.

6) Alcuni campi di testo contengono caratteri molto specifici, che migliorano la formattazione e la leggibilità in PLAYDECK. Si tratta di “<br>” (interruzione di riga), oppure ” ” (spazio vuoto) o “:” o alcune icone UTF-8. Basta tenerne conto e sapere che la loro rimozione può compromettere la leggibilità.

7) Most Languages have “lower” and “UPPER” case and some Translations (“Strings” in “Tf_lang”) provide both cases, if needed. For languages that don’t have “case”, use the same translation in both fields.


Link esterni

È possibile modificare la maggior parte dei link presenti in PLAYDECK indicando un percorso diverso, ad esempio l'indirizzo e-mail dell'assistenza, i link alla documentazione online e ad altri siti web.

Hai il permesso di farlo. Ti chiediamo solo di assicurarti che le e-mail ricevano una risposta e che i link al sito web funzionino e vengano aggiornati regolarmente.


Contenuti esterni

Sono state tradotte anche tutte le immagini nella sezione “GET STARTED” e tutti i file della documentazione. Li puoi trovare qui:
c:\Programmi (x86)\JoyEventMedia\Playdeck\lang

Sebbene non vi sia alcuna urgenza di sostituire o aggiornare quei file, puoi farlo se lo desideri.

La cartella “GetStarted” contiene tutte le immagini PNG visualizzate nella finestra di dialogo "Get-Started":


La cartella “Documentazione” contiene tutti i file TXT che vengono aperti in diverse occasioni in PLAYDECK come guida per gli esperti:

Se decidessi di aggiornare questi file, ti preghiamo di non rinominarli e di inviarceli nello stesso formato dell'originale (PNG con le stesse dimensioni e TXT con una struttura simile).