API do PLAYDECK

A API do PLAYDECK é uma estrutura que permite que qualquer pessoa interaja com o PLAYDECK. Este artigo mostrará como começar a desenvolver com a API:

Neste artigo:
Introdução
Exemplos
Implementar a API


Introdução

A API do PLAYDECK é bidirecional: você recebe o status da reprodução, mas também pode enviar comandos ao PLAYDECK.

A API é baseada em WebSockets: eles fazem parte do JavaScript, portanto, você pode desenvolver em JavaScript, Node.js ou TypeScript. A porta do WebSocket é fixa em 11411 e está sempre ativada no PLAYDECK.

Decidimos optar pelo WebSockets porque:

  • Suporta ambas as direções: de e para o PLAYDECK
  • Não é necessária instalação: use qualquer editor de texto
  • Não é necessária nenhuma segurança de rede específica
  • É fácil criar sua própria interface de usuário ou animação com HTML


O que pode ser enviado para o PLAYDECK?

  • Reproduzir ou iniciar blocos, clipes, sobreposições ou ações
  • Iniciar/parar recursos de vídeo, como transmissões


O que se pode obter com o PLAYDECK?

  • Eventos (por exemplo, o início de um bloco ou clipe)
  • Status da programação (por exemplo: o que está passando e o tempo restante do bloco)
  • Conteúdo (por exemplo, lista de reprodução completa com blocos e clipes)


Exemplos

1) Companheiro

A API do PLAYDECK está sendo utilizada pelo bitfocus Companion no módulo PLAYDECK. Isso permite que você tenha uma ideia rápida do que a API é capaz de fazer:
https://playdeck.tv/howto/companion/


2) Visão do diretor

A API também é utilizada pela Director View, que faz parte do PLAYDECK. Você pode encontrar os modelos HTML aqui:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\Modelos-HTML\Diretor-View


3) Sobreposições em HTML

A API também é utilizada em alguns exemplos de visão geral de HTML, que você pode encontrar aqui:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\Modelos-HTML\Modelos-de-sobreposição


Implementar a API

Preparamos alguns exemplos para que você possa dar uma olhada rápida em um script funcional. Por favor, analise-os na ordem, pois eles se complementam.

Dica 1: Você pode clicar duas vezes em qualquer arquivo HTML para abri-lo no navegador e executar o script/API

Dica 2: Você pode editar o arquivo “WebSocketSDK\Version.js” para alterar o endereço IP


1) Conexão nativa (sem a API)

Vamos começar com algo bem minimalista:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\Modelos-HTML\Automação-e-IU\ExemploMinimalista.html

Isso abrirá o WebSocket para o PLAYDECK com código JavaScript nativo e enviará um comando para reproduzir o primeiro clipe no primeiro bloco.

Outro exemplo é este, em que você pode clicar nos botões em HTML para iniciar a reprodução no PLAYDECK:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\Modelos-HTML\Automação-e-IU\Interface-de-usuário-de-exemplo.html


2) Conexão minimalista (COM API)

Este exemplo apresentará a API:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\Modelos-HTML\Automação-e-IU\SampleMinimalisticSDK.html

Ele utiliza a subpasta “WebSocketAPI” e inclui seu SCRIPT PRINCIPAL “AppInterface.js”, que funciona como uma espécie de “carregador” para toda a API.

A API agora cuidará da sua conexão WebSocket com o PLAYDECK, de modo que você não precisa programar isso manualmente. A API também disponibiliza uma estrutura de modelos para JavaScript. O nome do modelo é derivado do nome do arquivo, portanto, eles precisam corresponder. Existem várias funções predefinidas disponíveis. Para este exemplo, usaremos apenas “Start”: essa função será chamada pela API assim que a conexão WebSocket com o PLAYDECK for estabelecida com sucesso. Neste exemplo, ela reproduzirá o primeiro clipe do Canal 1.


3) Mais funções do framework

Além de “Iniciar”, há muitas outras funções do Framework disponíveis:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\Modelos-HTML\Automação-e-IU\Exemplo-Reproduzir-Clipe-Aleatório.html

Consulte os comentários no arquivo JS para ver todas as funções disponíveis.

Se você abrir o Console do navegador (normalmente com a tecla F12), poderá ver o resultado das instruções “console.log”.


4) Analisar os dados do projeto

Para acessar todos os Clips, está disponível a função “DataProject”, e este exemplo mostra como listar os dados do projeto:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\Modelos-HTML\Automação-e-IU\Exemplo-de-Lista-de-Reprodução-do-Espetáculo.html


5) Exemplo de horário personalizado

O último exemplo mostra um script completo e funcional para uma programação personalizada fora do PLAYDECK:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\Modelos-HTML\Automação-e-IU\Exemplo-de-Programação-Semanal.html


Tradução

Este artigo vai mostrar como trabalhar nas traduções do PLAYDECK.


Introdução

Os idiomas disponíveis já foram pré-traduzidos por meio de ferramentas online. Utilizamos DeepL para isso. Isso funciona muito bem com frases mais longas (por exemplo, “Configurações”), mas funciona muito mal com palavras isoladas (por exemplo, “Entrada”).

Além disso, algumas traduções ocupam mais ou menos espaço (em termos de número de caracteres). Isso pode fazer com que certas palavras não “cabam” em um determinado botão. Se não for possível encurtar a tradução, também podemos aumentar a largura do botão.

Por esses motivos, toda língua precisa de ajustes.


Fluxo de trabalho

As traduções estão sendo editadas por meio de uma ferramenta externa chamada “SIL Editor”, na qual é possível carregar e editar nosso idioma. Em seguida, você pode visualizar suas edições diretamente no PLAYDECK.

Assim que terminar a edição, envie-nos o arquivo de idioma e nós importaremos suas alterações para o aplicativo.


Downloads e instalação

Você precisa do PLAYDECK na versão 4.2b6, que pode ser baixado aqui:
https://downloads.playdeck.tv/4.2b6/PlaydeckSetup.exe

Você precisa do SIL Editor, que pode ser encontrado aqui (baixe apenas o “SIL Editor”):
https://www.sicomponents.com/download/

E você precisa do arquivo de idioma com as traduções:
https://downloads.playdeck.tv/4.2b6/PLAYDECK.sib

—————-

Instale o PLAYDECK e o SIL Editor e, em seguida, salve o arquivo SIB aqui:
c:\Usuários\Público\Documentos\JoyEventMedia\Playdeck\PLAYDECK.sib

Se o PLAYDECK detectar um arquivo SIB neste local, ele dará PREFERÊNCIA a esse arquivo em vez da tradução interna.


Teste

Vamos tentar editar algo e verificar se o PLAYDECK atualiza a tradução. Dê um duplo clique no arquivo SIB, o que abrirá o Editor SIL. Abra o primeiro ramo “Tf_about”, que representa a janela pop-up “SOBRE” no PLAYDECK. Clique em “Captions”, que representa todos os campos de texto estáticos no pop-up. Você pode minimizar todas as colunas de idioma que não sejam relevantes para você – neste exemplo, vou me concentrar no ALEMÃO (pode ser qualquer outro idioma). Agora, para “l_header”, altere a tradução para algo perceptível – neste caso, simplesmente adiciono “XXX” na frente do texto para teste.

Salve o arquivo SIB (ou pressione CTRL+S). No PLAYDECK, selecione ALEMÃO nas configurações do aplicativo:

Após reiniciar o PLAYDECK, abra a janela pop-up “Sobre” em “Licença > PLAYDECK”. Agora, ela deve refletir a alteração que você fez na edição de texto. Não se esqueça de reverter a alteração após o teste. Caso isso não funcione, entre em contato conosco.



Por onde começar

Recomendamos editar primeiro todos os textos dinâmicos, pois eles são usados repetidamente no PLAYDECK e, portanto, constituem a “tradução base”. Você pode encontrá-los em “Tf_lang > Strings”:

Depois de fazer isso, você pode decidir por conta própria: pode procurar no PLAYDECK as edições necessárias navegando por todas as configurações e janelas pop-up. Ou pode navegar por todas as janelas pop-up diretamente no SIL Editor.



Orientação e edição

O lado esquerdo do Editor mostra todas as janelas pop-up disponíveis no PLAYDECK.

Destacam-se as seções “principal” (Interface do usuário principal) e “configurações” (todas as configurações). Estas, por sua vez, são divididas em grupos:

Os grupos têm o seguinte significado (mencionando apenas aqueles de que você precisa):

Legendas: Todos os textos estáticos visíveis no pop-up, principalmente rótulos, botões e menus
Coleções: Raramente usado. Apenas em algumas opções de diálogo.
Ampliado: Também textos estáticos, mas principalmente títulos
Dicas: Textos que aparecem ao passar o mouse, por exemplo, o botão “?” ou os ícones da barra de ferramentas
Várias linhas: Cabeçalhos de tabela e campos suspensos com seleção múltipla. Edição por meio de duplo clique.
Outros: Raramente usado. Apenas em algumas opções de diálogo.
Cordas: Blocos de texto dinâmicos. Utilizados apenas em “Tf_lang”

Na enorme tabela central, onde você edita seus textos, há também uma coluna chamada “String ID”, que representa o nome interno do elemento correspondente no PLAYDECK. Isso “pode” ser útil em alguns casos em que você estiver procurando por algo.

Aqui estão algumas informações sobre a escolha do nome:
l_: Rótulos de texto estáticos
b_ ou mb_: Botões
cb_: Caixa de seleção com texto
rb_: Botão de opção com texto
pm_: Menu pop-up ou menu do botão direito do mouse
os_ ou op_: Caixas suspensas



Dicas para edição

1) Observe que há várias repetições (o mesmo texto várias vezes), o que não pode ser evitado se, por exemplo, o mesmo texto aparecer várias vezes no PLAYDECK (por exemplo, em “Configurações”).

2) Alguns textos também não podem ser traduzidos, pois estão profundamente integrados ao sistema ou ao mecanismo de vídeo, que geralmente são opções de configuração (menus suspensos).

3) Você pode pesquisar qualquer texto no Editor ou clicar no cabeçalho da coluna para ordenar os dados. Isso pode ajudar a localizar o original em inglês para encontrar os campos de texto a serem editados.

4) Qualquer tradução que não tenha sido fornecida (campo vazio) utilizará automaticamente o original em inglês. Portanto, você pode APAGAR a tradução para forçar o PLAYDECK a usar o original em inglês

5) Todas as traduções com várias linhas devem ter o mesmo número de linhas; caso contrário, o PLAYDECK pode não iniciar ou não funcionar corretamente. As edições em várias linhas são feitas clicando duas vezes na tradução.

6) Alguns campos de texto contêm caracteres muito específicos, que facilitam a formatação e a legibilidade no PLAYDECK. São eles: “<br>” (Quebra de linha), ou ” ” (Espaço em branco) ou “:” ou alguns ícones UTF-8. Basta estar atento a eles e saber que removê-los pode prejudicar a legibilidade.

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.


Links externos

Você pode alterar a maioria dos links no PLAYDECK para um endereço diferente, por exemplo, o endereço de e-mail do suporte, bem como os links para a documentação online e outros sites.

Você tem permissão para fazer isso. Só pedimos que se certifique de que os e-mails sejam respondidos e que os links do site estejam funcionando e sejam atualizados regularmente.


Conteúdos externos

Todas as imagens da seção “COMEÇAR” e todos os arquivos de documentação também foram traduzidos. Você pode encontrá-los aqui:
c:\Arquivos de Programas (x86)\JoyEventMedia\Playdeck\lang

Embora não haja urgência em substituir ou atualizar esses arquivos, você pode fazê-lo se quiser.

A pasta “GetStarted” contém todas as imagens PNG exibidas na caixa de diálogo “Get-Started”:


A pasta “Documentação” contém todos os arquivos TXT, que são abertos como ajuda especializada em diversas ocasiões no PLAYDECK:

Caso decida atualizar esses arquivos, por favor, não os renomeie e envie-os para nós no mesmo formato do original (PNG com as mesmas dimensões e TXT com estrutura semelhante).