{"id":32482,"date":"2023-03-08T15:12:49","date_gmt":"2023-03-08T14:12:49","guid":{"rendered":"https:\/\/mimolive.com\/?post_type=user-manual&#038;p=32482"},"modified":"2025-06-16T19:00:05","modified_gmt":"2025-06-16T17:00:05","slug":"camadas-personalizadas","status":"publish","type":"user-manual","link":"https:\/\/mimolive.com\/pt\/user-manual\/custom-layers\/","title":{"rendered":"Camadas personalizadas"},"content":{"rendered":"<p>O mimoLive pode ser personalizado atrav\u00e9s da adi\u00e7\u00e3o de novas camadas. O verdadeiro poder das camadas reside no facto de serem realmente feitas com uma tecnologia MacOS X chamada Quartz Composer. Quase tudo \u00e9 poss\u00edvel com as Composi\u00e7\u00f5es Quartz. \u00c9 poss\u00edvel criar programas de TV interactivos em que o p\u00fablico pode enviar <span class=\"caps\">SMS<\/span> ou mensagens do Twitter que s\u00e3o apresentadas no ecr\u00e3. Criar gr\u00e1ficos de ac\u00e7\u00f5es a partir de dados online. Acompanhar os resultados de um jogo desportivo. Jogar jogos no ecr\u00e3. Pode encontrar inspira\u00e7\u00e3o em algumas das camadas inclu\u00eddas no mimoLive. Para trabalhar com o mimoLive, as Composi\u00e7\u00f5es de Quartzo devem conter certos elementos para que o mimoLive e a camada possam falar entre si e para que a camada possa apresentar os ficheiros multim\u00e9dia que o mimoLive lhe envia. Em teoria, qualquer pessoa pode criar as suas pr\u00f3prias camadas. Esta p\u00e1gina descreve a um n\u00edvel t\u00e9cnico como criar camadas usando o Quartz Composer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"purchasing-a-custom-layer\">Comprar uma camada personalizada<\/h3>\n\n\n\n<p>Se n\u00e3o quiser entrar no Quartz Composer por si pr\u00f3prio, deixe-nos faz\u00ea-lo por si. Temos uma vasta experi\u00eancia na cria\u00e7\u00e3o de camadas para o mimoLive, incluindo a visualiza\u00e7\u00e3o de dados, como gr\u00e1ficos de ac\u00e7\u00f5es, que pode aproveitar para criar a camada certa para si. Por favor <a href=\"https:\/\/boinx.com\/contact\/\" target=\"_blank\" rel=\"noreferrer noopener\">contactar o departamento comercial<\/a> para mais pormenores.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"creating-a-custom-layer---getting-started\">Criar uma camada personalizada - Primeiros passos<\/h3>\n\n\n\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=JudWtmnDTbE\" target=\"_blank\" rel=\"noreferrer noopener\">Masterclass Camadas de codifica\u00e7\u00e3o para mimoLive<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"pre-requisitions\">Pr\u00e9-Requisi\u00e7\u00f5es<\/h4>\n\n\n\n<p>Existem alguns pr\u00e9-requisitos antes de poder come\u00e7ar a desenvolver camadas para o mimoLive:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c9 necess\u00e1rio ter uma licen\u00e7a mimoLive v\u00e1lida para testar e executar as suas camadas no mimoLive.<\/li>\n\n\n\n<li>\u00c9 necess\u00e1rio ter instalada a aplica\u00e7\u00e3o Quartz Composer da Apple. Trata-se de uma ferramenta de desenvolvimento gratuita que pode ser descarregada no s\u00edtio Web para programadores da Apple. No entanto, ter\u00e1 de se registar primeiro como Mac Developer (http:\/\/developer.apple.com). Aqui pode encontrar <a href=\"https:\/\/developer.apple.com\/library\/mac\/#documentation\/graphicsimaging\/conceptual\/QuartzComposerUserGuide\/qc_intro\/qc_intro.html\" target=\"_blank\" rel=\"noreferrer noopener\">O Guia do Utilizador do Quartz Composer<\/a> da Apple.<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/boinx\/QCLua\" target=\"_blank\" rel=\"noreferrer noopener\">Patch Lua<\/a> - Voc\u00ea precisar\u00e1 do patch Lua para abrir as camadas do mimoLive no Quartz Composer a partir do mimoLive 1.9. Ele \u00e9 de c\u00f3digo aberto e est\u00e1 dispon\u00edvel no GitHub. N\u00f3s usamos esse patch como um substituto para o patch JavaScript do QuartzComposer porque ele n\u00e3o funciona de forma est\u00e1vel no mimoLive. (Fa\u00e7a o download do patch aqui:<a href=\"https:\/\/github.com\/boinx\/QCLua\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">[https:\/\/github.com\/boinx\/QCLua\/releases<\/a> )<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/boinx\/QCJSON\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"caps\">JSON<\/span> Remendo<\/a> e <a href=\"https:\/\/github.com\/boinx\/QCOAuth\" target=\"_blank\" rel=\"noreferrer noopener\">Patch OAuth<\/a> - Existem mais dois patches personalizados que actualmente s\u00f3 s\u00e3o utilizados na camada Twitter. Quando personalizar a camada Twitter, ter\u00e1 de descarregar e instalar os patches antes de come\u00e7ar a editar.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"blank-layer-template\">Modelo de camada em branco<br>Pode utilizar o nosso ficheiro gratuito Quartz Composition como ponto de partida para as suas camadas personalizadas. Cont\u00e9m um conjunto b\u00e1sico de entradas e sa\u00eddas e as propriedades necess\u00e1rias que tem de alterar na caixa de di\u00e1logo \"Editar informa\u00e7\u00f5es\" do Quartz Composer.<\/h4>\n\n\n\n<p><a href=\"http:\/\/boinx.com\/software\/mimolive\/layers\/layer_template.zip\" target=\"_blank\" rel=\"noreferrer noopener\">Descarregar o modelo Layer v1.0<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"the-hello-world-example\">O exemplo Hello-World<\/h4>\n\n\n\n<p>Como primeiro e f\u00e1cil exemplo, vamos criar uma Composi\u00e7\u00e3o de Quartzo b\u00e1sica e utiliz\u00e1-la como uma camada no mimoLive.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Iniciar a aplica\u00e7\u00e3o Quartz Composer<\/li>\n\n\n\n<li>Escolher <b>Ficheiro \u21e2 Novo espa\u00e7o em branco<\/b> na barra de menu. Ir\u00e1 obter um novo documento vazio do Quartz Composer.<\/li>\n\n\n\n<li>Abra a Patch Library com o bot\u00e3o no canto superior esquerdo. Aparecer\u00e1 uma pequena janela com uma lista de todos os patches do Quartz Composer.<\/li>\n\n\n\n<li>Na Biblioteca de Patches, encontre o Patch chamado Billboard. Pode faz\u00ea-lo rapidamente, digitando algumas letras iniciais do nome do patch no campo de pesquisa na parte inferior da janela da Biblioteca de Patches. Este \u00e9 um Patch de Renderiza\u00e7\u00e3o. Ele desenha uma imagem plana no ecr\u00e3 de sa\u00edda.<\/li>\n\n\n\n<li>Arraste o patch da biblioteca para a janela em branco do seu editor. O patch ficar\u00e1 colado no local onde o largar. Pode desloc\u00e1-lo clicando e arrastando-o. Aten\u00e7\u00e3o: O patch tem v\u00e1rias entradas que est\u00e3o marcadas com um ponto de liga\u00e7\u00e3o no lado esquerdo de cada valor.<\/li>\n\n\n\n<li>Agora, encontre o patch Imagem com String na Biblioteca de Patches e arraste-o para a janela do editor. Posicione-o no lado direito do patch Billboard. O patch Image with String \u00e9 um patch Generator que gera uma imagem contendo um texto que pode especificar com o valor de entrada String.<\/li>\n\n\n\n<li>Ligue a sa\u00edda Image do patch Image with String \u00e0 entrada Image do patch Billboard.<\/li>\n\n\n\n<li>Se o Visualizador do Quartz Composer n\u00e3o estiver vis\u00edvel neste momento, clique no bot\u00e3o Visualizador no canto superior direito. Dever\u00e1 ver uma janela com um tabuleiro de xadrez no fundo e \"Hello World!\" em letras brancas por cima.<\/li>\n\n\n\n<li>Regresse \u00e0 janela do Editor e clique com o bot\u00e3o direito do rato no patch Imagem com cadeia de caracteres para revelar um menu de contexto para o mesmo.<\/li>\n\n\n\n<li>Seleccionar <b>Inserir divisor de entrada \u21e2 Cadeia de caracteres<\/b> desse menu de contexto. Um novo patch do tipo Input Splitter aparecer\u00e1 no documento, que \u00e9 conectado por sua sa\u00edda \u00e0 String de entrada do patch Image With String.<\/li>\n\n\n\n<li>Mais uma vez, clique com o bot\u00e3o direito do rato neste divisor de entrada rec\u00e9m-criado e seleccione <b>Publicar entradas \u21e2 Entrada<\/b>. Aparece uma caixa de texto que pede um nome para esta entrada publicada. Altere-o para My Text (O meu texto). Tenha em aten\u00e7\u00e3o que esta entrada publicada \u00e9 vis\u00edvel no mimoLive e ser\u00e1 apresentada na vista de par\u00e2metros \u00e0 esquerda quando a camada for seleccionada no mimoLive.<\/li>\n\n\n\n<li>Abrir a Folha de Informa\u00e7\u00e3o de Composi\u00e7\u00e3o seleccionando <b>Editor \u21e2 Editar informa\u00e7\u00f5es...<\/b>. Obter\u00e1 uma folha com uma lista de pares de valores chave.<\/li>\n\n\n\n<li>Adicione uma nova chave clicando no bot\u00e3o + no canto inferior esquerdo. Aparecer\u00e1 uma nova linha na lista a pedir um nome para a chave.<\/li>\n\n\n\n<li>Introduzir tv_LayerProtocolVersion como o <b>Im\u00f3veis<\/b>, mudar o <b>Classe<\/b> de ''String'' para ''Number'' e colocar um ''1'' na op\u00e7\u00e3o <b>Valor<\/b> coluna.<\/li>\n\n\n\n<li>Clique no bot\u00e3o <b>Feito<\/b> no canto inferior esquerdo para fechar a folha.<\/li>\n\n\n\n<li>Guarde esta composi\u00e7\u00e3o no seu ambiente de trabalho com o nome Hello World.qtz<\/li>\n\n\n\n<li>Inicie o mimoLive, n\u00e3o crie ainda um documento.<\/li>\n\n\n\n<li>Seleccionar <b>Ficheiro \u21e2 Importar composi\u00e7\u00f5es de camadas...<\/b> na barra de menus. Ser-lhe-\u00e1 apresentada uma caixa de di\u00e1logo de escolha de ficheiros. Seleccione o ficheiro Hello World.qtz previamente guardado no Ambiente de Trabalho.<\/li>\n\n\n\n<li>Agora crie um novo documento mimoLive com <b>Ficheiro \u21e2 Novo...<\/b>. Aparecer\u00e1 o selector de modelos mimoLive.<\/li>\n\n\n\n<li>Seleccione o modelo Em branco e prima o bot\u00e3o Escolher no canto inferior direito. Aparecer\u00e1 uma nova janela do mimoLive Document que cont\u00e9m uma \u00fanica camada do Placer que o representa sentado em frente ao seu computador.<\/li>\n\n\n\n<li>Abra o Reposit\u00f3rio de camadas clicando no bot\u00e3o \"+\" no canto superior direito da coluna Camadas.<\/li>\n\n\n\n<li>Localize a camada Hello World que acabou de importar e arraste uma inst\u00e2ncia para o topo da pilha de camadas no meio do documento.<\/li>\n\n\n\n<li>Localize a entrada definida pelo utilizador chamada O meu texto e altere o texto do campo de entrada.<\/li>\n\n\n\n<li>Depois de clicar no bot\u00e3o Em directo dessa camada, o seu texto aparecer\u00e1 sobre o v\u00eddeo.<\/li>\n<\/ol>\n\n\n\n<p>Parab\u00e9ns! Acabaste de criar uma nova camada mimoLive! Nas sec\u00e7\u00f5es seguintes, queremos entrar em detalhes sobre o que \u00e9 necess\u00e1rio para ser um bom cidad\u00e3o mimoLive.<\/p>\n\n\n\n<p>Tenha em aten\u00e7\u00e3o que n\u00e3o \u00e9 poss\u00edvel explicar como utilizar o Quartz Composer Editor em todos os pormenores nesta documenta\u00e7\u00e3o. Se pretender saber mais sobre o Quartz Composer, leia o Guia do utilizador do Quartz Composer no site Apple Developer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Manuseamento de camadas no mimoLive<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"exporting-a-layer-from-mimolive\">Exportar uma camada do mimoLive<\/h4>\n\n\n\n<p>Se pretender alterar uma camada incorporada no mimoLive, pode exportar essa camada no mimoLive atrav\u00e9s dos seguintes passos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Abra o reposit\u00f3rio de camadas com o bot\u00e3o \"+\" no canto superior direito da coluna Camadas.<\/li>\n\n\n\n<li>Localize e seleccione a camada que pretende utilizar como base para a sua nova camada.<\/li>\n\n\n\n<li>Abra o menu de contexto clicando com o bot\u00e3o direito do rato nessa camada.<\/li>\n\n\n\n<li>Seleccionar <b>Exportar composi\u00e7\u00e3o de camadas...<\/b> nesse menu de contexto.<\/li>\n\n\n\n<li>Ser-lhe-\u00e1 pedido que introduza um nome de ficheiro e que defina um local para guardar a camada.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"importing-a-layer-in-mimolive\">Importar uma camada no mimoLive<\/h4>\n\n\n\n<p>Quando terminar de editar ou criar a sua camada personalizada, tem de a importar para o mimoLive. Existem v\u00e1rias formas de importar uma camada para o mimoLive:<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Importar uma camada utilizando o menu Ficheiro<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seleccione Ficheiro \u21e2 Importar composi\u00e7\u00f5es de camadas....<\/li>\n\n\n\n<li>Ser-lhe-\u00e1 apresentada uma caixa de di\u00e1logo de selec\u00e7\u00e3o de ficheiros.<\/li>\n\n\n\n<li>Seleccione o seu ficheiro QuartzComposition e prima \"Import\" (Importar)<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Importar uma camada com a extens\u00e3o de nome de ficheiro \".tvlayer\"<\/h5>\n\n\n\n<p>Esta t\u00e9cnica \u00e9 \u00fatil quando envia camadas personalizadas para outros utilizadores do mimoLive (por exemplo, os seus clientes) que n\u00e3o est\u00e3o familiarizados com a importa\u00e7\u00e3o manual de camadas personalizadas. No entanto, n\u00e3o \u00e9 muito \u00fatil durante o desenvolvimento, porque o QuartzComposer n\u00e3o abre o ficheiro quando se altera a extens\u00e3o do mesmo.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Localize a sua composi\u00e7\u00e3o no Finder.<\/li>\n\n\n\n<li>Clique no nome do ficheiro uma vez para alterar o nome do ficheiro. Uma caixa \u00e0 volta do nome do ficheiro indica que est\u00e1 prestes a alter\u00e1-lo.<\/li>\n\n\n\n<li>Adicione a extens\u00e3o .tvlayer no final e prima Return. O Finder perguntar-lhe-\u00e1 se pretende mesmo alterar a extens\u00e3o. Por favor, aceite.<\/li>\n\n\n\n<li>Fa\u00e7a duplo clique no ficheiro de composi\u00e7\u00e3o. Agora o mimoLive abrir\u00e1 e importar\u00e1 o ficheiro como uma nova camada automaticamente. Notific\u00e1-lo-\u00e1 com um alerta ap\u00f3s o sucesso.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"custom-layer-api\">Camada personalizada <span class=\"caps\">API<\/span><\/h3>\n\n\n\n<p>mimoLive espera que as composi\u00e7\u00f5es Quartz adoptem a <a href=\"https:\/\/mimolive.com\/pt\/manual-do-utilizador\/camada-api-personalizada\/\">Camada personalizada <span class=\"caps\">API<\/span><\/a>. Nesta sec\u00e7\u00e3o, aprender\u00e1 a implementa\u00e7\u00e3o m\u00ednima.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"minimal-implementation\">Implementa\u00e7\u00e3o m\u00ednima<\/h4>\n\n\n\n<p>A implementa\u00e7\u00e3o m\u00ednima do protocolo de camadas envolve apenas as propriedades de composi\u00e7\u00e3o do Quartz, que podem ser editadas no editor do Quartz Composer seleccionando <b>Editor \u21e2 Editar informa\u00e7\u00f5es (\u2325\u2318I)<\/b>.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>Nome<\/th><th>Tipo<\/th><th>Valor da amostra<\/th><\/tr><tr><td>tv_LayerProtocolVersion<\/td><td>N\u00famero (real)<\/td><td>1.2<\/td><\/tr><tr><td>tv_LayerIdentifier<\/td><td>Cordas<\/td><td>com.example.layer.mylayer<\/td><\/tr><tr><td>tv_LayerVersion<\/td><td>N\u00famero (real)<\/td><td>1.01<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u00c9 importante saber como esses valores s\u00e3o usados pelo mimoLive para que o mimoLive possa lidar com conflitos de vers\u00f5es de camadas.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tv_LayerProtocolVersion: Quando alteramos o protocolo da camada, vamos aumentar a vers\u00e3o do protocolo da camada. Com isto, as vers\u00f5es mais antigas do mimoLive s\u00e3o capazes de informar o utilizador se uma camada \u00e9 utilizada (por exemplo, armazenada num documento mimoLive) que tem uma vers\u00e3o de protocolo mais recente e, portanto, pode n\u00e3o ser tratada correctamente pelo mimoLive.<\/li>\n\n\n\n<li>tv_LayerIdentifier: Este valor deve ser um valor \u00fanico para cada uma de suas camadas. As nossas camadas t\u00eam o prefixo com.boinx.layer.*. Por favor, use o seu pr\u00f3prio esquema de modo a ter identificadores \u00fanicos em todo o mundo. Tenha em aten\u00e7\u00e3o que o mimoLive n\u00e3o utiliza o nome do ficheiro para comparar camadas!<\/li>\n\n\n\n<li>tv_LayerVersion: Se o mimoLive estiver a encontrar a vers\u00e3o da camada de forma diferente para uma camada que est\u00e1 armazenada num documento para a camada que est\u00e1 instalada no reposit\u00f3rio de camadas, utiliza as seguintes regras para decidir o que fazer:<br>- Se a vers\u00e3o da camada de documento for superior \u00e0 do reposit\u00f3rio: manter a vers\u00e3o do documento<br>- Se a vers\u00e3o da camada de documento for inferior \u00e0 do reposit\u00f3rio, mas tiver o mesmo n\u00famero principal (por exemplo, 2.4 vs. 2.6), substitua a camada de documento pela nova.<br>Se o n\u00famero principal da vers\u00e3o da camada for diferente, o mimoLive tratar\u00e1 a camada como uma substitui\u00e7\u00e3o incompat\u00edvel e n\u00e3o actualizar\u00e1 a camada do documento!<\/li>\n<\/ul>\n\n\n\n<p>Adi\u00e7\u00f5es ao patrim\u00f3nio comum<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>direitos de autor:<\/li>\n\n\n\n<li>descri\u00e7\u00e3o:<\/li>\n\n\n\n<li>nome:<\/li>\n\n\n\n<li>tv_Tagline:<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>mimoLive can be customized by adding new layers. The real power of layers lies in the fact that they are actually made with a MacOS X technology called Quartz Composer. Almost anything is possible with Quartz Compositions. You can create interactive TV shows where your audience can send in SMS or twitter messages which are [&hellip;]<\/p>","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":8,"template":"","meta":{"_acf_changed":false,"_angie_page":false,"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[258],"tags":[],"class_list":["post-32482","user-manual","type-user-manual","status-publish","hentry","category-manual"],"acf":[],"_links":{"self":[{"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/user-manual\/32482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/user-manual"}],"about":[{"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/types\/user-manual"}],"author":[{"embeddable":true,"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":1,"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/user-manual\/32482\/revisions"}],"predecessor-version":[{"id":40923,"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/user-manual\/32482\/revisions\/40923"}],"wp:attachment":[{"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/media?parent=32482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/categories?post=32482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mimolive.com\/pt\/wp-json\/wp\/v2\/tags?post=32482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}