Desenvolvendo Aplicações Interativas para TVD com NCL

40
Desenvolvendo aplicações interativas para TVD com NCL Profª Ms. Elaine Cecília Gatto 02/09/2011 - 14:00 as 18:00 1ª JEAUSC – Jornada de Engenharias, Arquitetura e Urbanismo

Transcript of Desenvolvendo Aplicações Interativas para TVD com NCL

Page 1: Desenvolvendo Aplicações Interativas para TVD com NCL

Desenvolvendo aplicações interativas para TVD com NCL Profª Ms. Elaine Cecília Gatto

02/09/2011 - 14:00 as 18:00

1ª JEAUSC – Jornada de Engenharias, Arquitetura e Urbanismo

Page 2: Desenvolvendo Aplicações Interativas para TVD com NCL

Ferramentas necessárias

• Eclipse IDE (http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers-includes-incubating-components/indigor)

• NCL Eclipse – plugin NCL para o Eclipse (http://laws.deinf.ufma.br/ncleclipse/installation.html)

• VMWare Player (http://www.vmware.com/br/products/desktop_virtualization/player/overview.html)

• Ginga-NCL Virtual Set-top Box (http://www.softwarepublico.gov.br/dotlrn/clubs/ginga/gingancl/xowiki/gingancl_vm -http://www.softwarepublico.gov.br/dotlrn/clubs/ginga/gingancl/one-community?page_num=0 )

• SSH – Secure Shell Client (http://www.baixaki.com.br/download/ssh-secure-shell.htm)

• Scite – Compilador Lua (http://www.scintilla.org/SciTE.html)

• NCL Validator (http://laws.deinf.ufma.br/nclvalidator/)

Page 3: Desenvolvendo Aplicações Interativas para TVD com NCL

Introdução ao NCL

• NCL – Nested Context Language: linguagem de contexto aninhados.

• Linguagem de marcação tipo XHTML

• Nasceu do NCM – Nested Context Model: Modelo de contextos aninhados. Utiliza conceitos de nós e elos aplicados em documentos hipermídia.

• Desenvolvido na PUC-RIO pelo laboratório TELEMIDIA

Page 4: Desenvolvendo Aplicações Interativas para TVD com NCL

Estrutura básica de um documento NCL

Page 5: Desenvolvendo Aplicações Interativas para TVD com NCL

Estrutura básica de um documento NCL

Page 6: Desenvolvendo Aplicações Interativas para TVD com NCL

Regiões - region

• É o local que você define para exibição das suas mídias.

• Primeiro você deve definir a região da tela de TV.

• Em seguida, você deve definir as regiões de cada objeto de mídia (vídeo, figura, legenda, etc)

• Layout (IHC – Interface Humano Computador)

• É importante, antes de programar, fazer a prototipação das telas que sua aplicação terá.

• O trecho de código a seguir, mostra como definir duas regiões, uma para dispositivos móveis e outra para TV.

Page 7: Desenvolvendo Aplicações Interativas para TVD com NCL

Regiões - region

Page 8: Desenvolvendo Aplicações Interativas para TVD com NCL

Região – region

rgTV

rgTVCentro

Page 9: Desenvolvendo Aplicações Interativas para TVD com NCL

Region – região

• Atributos:

• id: identificador da região

• device: classe de dispositivo (tv fixa, portátil ou móvel)

• left: coordenada x do lado esquerdo

• right: coordenada x do lado direito

• top: coordenada y do lado superior

• bottom: coordenada y do lado inferior

• height: altura

• width: largura

• zindex: número entre 0 e 25 que define a camada da região no eixo z

• title: título da região

Page 10: Desenvolvendo Aplicações Interativas para TVD com NCL

Region – região

left width right

top

height

bottom Região pai : zindex=1

Região filha: zindex=2

Page 11: Desenvolvendo Aplicações Interativas para TVD com NCL

Region – região

Page 12: Desenvolvendo Aplicações Interativas para TVD com NCL

Region – região

rgTV zindex=1

rgMenu

rgMenu1

rgMenu2

rgMenu3

rgMenu4

Page 13: Desenvolvendo Aplicações Interativas para TVD com NCL

Region – região

Page 14: Desenvolvendo Aplicações Interativas para TVD com NCL

Region – região

rgTV zindex=1

rgMenu

rgMenu1

rgMenu2

rgMenu3

rgMenu4

Page 15: Desenvolvendo Aplicações Interativas para TVD com NCL

Tocando um vídeo

Page 16: Desenvolvendo Aplicações Interativas para TVD com NCL

Descritores • São responsáveis pela configuração de como os objetos de mídia

deverão ser apresentados.

• Atributos:

• id (identificação): identificador do descritor

• region (região): identificador da região a ser utilizada por esta mídia

• explicitDur (duração explícita): define a duração do objeto de mídia em segundos

• freeze (congelado): identifica o que acontece ao final da apresentação do objeto de mídia associado ao descritor (true/false)

• player (tocador): identifica a ferramenta de apresentação a ser utilizada para exibir o objeto de mídia.

• EXEMPLO: <descriptor id=“dTeste” region=“rTeste” explicitDur=“3s” freeze=“true”/>

Page 17: Desenvolvendo Aplicações Interativas para TVD com NCL

Reproduzindo uma Imagem sobre um vídeo

Page 18: Desenvolvendo Aplicações Interativas para TVD com NCL

Parâmetros de Descritores

• Existe um outro elemento opcional que está contido em descritor:

• <descriptor Param>: define um parâmetro do descritor como um par de propriedade e valor.

• Cada descritor pode conter diversos elementos <descriptor Param>:

• <descriptor Param name=“nomeParam” value=“valorParam”>

Page 19: Desenvolvendo Aplicações Interativas para TVD com NCL

Parâmetros de Descritores

• Parâmetros reservados para áudio:

• soundLevel: “0” = mute; “0,5” ou “50%” = metade; “1” ou “100%”= máximo.

• balanceLevel: valores entre 0 e 1 ou entre 0% e 100%

• trebleLevel: valores entre 0 e 1 ou entre 0% e 100%

• bassLevel: valores entre 0 e 1 ou entre 0% e 100%

• Parâmetros reservados para mídia visual:

• top

• left

• bottom

• right

• width

• height

Page 20: Desenvolvendo Aplicações Interativas para TVD com NCL

Parâmetros de Descritores

• Parâmetros reservados para mídia visual:

• location: posição do objeto de mídia em left, top. Valores: % ou pixels.

• size: dimensões do objeto de mídia em width e height. Valores: % ou pixels.

• bounds: posição e dimensões do objeto de mídia em left, top, width e height. Valores: % ou pixels.

• zIndex: posição da região no eixo z (sobreposições de regiões).

• background: cor de fundo (white, black, silver, gray, red, maroon, fuchsia, purple, lime, green, yellow, olive, blue, navy, aqua, teal ou transparent)

• visible: true ou false (visivel ou invisivel)

• transparency: grau de tranparência. Valores entre 0 e 1 ou %.

Page 21: Desenvolvendo Aplicações Interativas para TVD com NCL

Parâmetros de Descritores

• Parâmetros reservados para mídia visual:

• fit: efeitos conforme abaixo

• fill: redimensiona o conteúdo do objeto de mídia para que toque todas as bordas da região. Distorce se necessário.

• hidden: se a mídia for maior ou menor que a região, a área restante é preenchida com a cor de fundo.

• meet: redimensiona o conteúdo do objeto de mídia mantendo suas proporções até atingir uma das bordas da região. Espaços vazios são preenchidos com a cor de fundo.

• meetBest: o objeto é redimensionado até o dobro do seu tamanho original.

• slice: redimensiona o conteúdo do objeto de mídia mantendo suas proporções até que toda a região seja preenchida. Corta partes do objeto se necessário.

Page 22: Desenvolvendo Aplicações Interativas para TVD com NCL

Parâmetros de Descritores

• Parâmetros reservados para mídia textual:

• scroll: barras de rolagem. Valores: none, horizontal, vertical, both, automatic.

• style: folh de estilo;

• fontColor: cor da fonte

• fontFamily: família da fonte

• fontSize: tamanho da fonte em pontos.

• fontVariant: variação de fonte. Valores: normal ou small-caps (letras maiúsculas pequenas)

• fontWeight: valores normal ou bold (negrito)

Page 23: Desenvolvendo Aplicações Interativas para TVD com NCL

Exemplo 1: parâmetros de descritor – áudio

Page 24: Desenvolvendo Aplicações Interativas para TVD com NCL

Exemplo 2: parâmetros de descritor - áudio

Page 25: Desenvolvendo Aplicações Interativas para TVD com NCL

Exemplo 1: parâmetros de descritor – imagem

Page 26: Desenvolvendo Aplicações Interativas para TVD com NCL

Exemplo 2: parâmetros de descritor – imagem

Page 27: Desenvolvendo Aplicações Interativas para TVD com NCL

Exemplo 3: parâmetros de descritor – imagem

Page 28: Desenvolvendo Aplicações Interativas para TVD com NCL

Exemplo 4: parâmetros de descritor – imagem

Page 29: Desenvolvendo Aplicações Interativas para TVD com NCL

Exemplo 5: parâmetros de descritor – imagem

Page 30: Desenvolvendo Aplicações Interativas para TVD com NCL

Media – mídia

• Uma mídia é sempre uma imagem, um vídeo, um html, etc. Um objeto de mídia também pode ser chamado de nó de mídia.

• Atributos:

• id: identificador único.

• src: endereço do local onde a mídia está armazenada (arquivos locais, remotos ou streaming)

• type: tipo MIME da mídia

• descriptor: identificador do descritor (descriptor)

• refer: referência a um outro nó de mídia (reúso)

• instance: usado apenas quando refer é utilizado. Valores: new, instSame, gradSame.

Page 31: Desenvolvendo Aplicações Interativas para TVD com NCL

Media – mídia

• MIMETYPES: cadeia de caracteres que define a classe da mídia e o tipo de codificação. Exemplos:

• Áudio:

• audio/mpeg: .mp1, .mp2, .mp3

• Vídeo:

• video/mpeg: .mp2, .mpeg, .mpg, .mpe

• Imagem:

• image/png: .png

• Texto:

• text/html: .htm, .html, .xhtml

Page 32: Desenvolvendo Aplicações Interativas para TVD com NCL

Context – contextos

• Um contexto agrupa objetos. O objeto <body> de toda aplicação NCL é um contexto especial. Um contexto pode aninhar outros contextos. Estrutura básica:

<context id=“contextoNome”>

<!-- portas -- >

<!-- mídias, contextos, etc -->

<!-- elos -->

......

</context>

• Atributos:

• id: identificador do contexto

• refer: referencia a outro contexto

Page 33: Desenvolvendo Aplicações Interativas para TVD com NCL

Port – portas

• Uma porta é um ponto de interface de um contexto que oferece acesso externo ao conteúdo – objetos internos – do contexto.

Page 34: Desenvolvendo Aplicações Interativas para TVD com NCL

Port – portas

• Em todo documento NCL costuma haver ao menos uma porta. Mais portas podem ser criadas, caso queira iniciar mais do que uma mídia no início da exibição de um contexto.

Page 35: Desenvolvendo Aplicações Interativas para TVD com NCL

Iniciando e terminando dois objetos de mídia simultaneamente

Page 36: Desenvolvendo Aplicações Interativas para TVD com NCL

Links – elos e Connectors – conectores

• Os elos, ou links, associam nós através de conectores, que definem a semântica da associação entre os nós. Define o relacionamento de sincronismo propriamento dito entre interfaces de objetos de uma aplicação NCL. Seu comportamento é definido pelo conector que o elo utiliza.

• No exemplo do slide anterior, o link elo 1 inicia duas mídias – onBegin – e o link elo2 termina – onEnd – duas mídias, por meio do uso de conectores.

• Um elo associa objetos através de um conector. O conector é aquele que define a ação: iniciar, parar, repetir, ir para outro ponto do vídeo, setar variáveis, etc.

• Uma condição sempre deve ser satisfeita para que ações possam ser disparadas.

Page 37: Desenvolvendo Aplicações Interativas para TVD com NCL

Links – elos e Connectors – conectores

• Podemos ler os elos, links, do exemplo, da seguinte forma: “Quando iniciar a apresentação do vídeo principal, inicie também a apresentação da imagem principal. Quando terminar a apresentação do vídeo principal, termine a apresentação também da imagem principal”.

• Atributos de link:

• id: identificação

• xconnector: conector, da base de conectores já existente, que será utilizado

• linkParam: parâmetros do ele como pares atributo, valor

• bind: componentes envolvidos no elo e as regras de cada um, conforme o connector

Page 38: Desenvolvendo Aplicações Interativas para TVD com NCL

Iniciando uma mídia quando outra termina

Page 39: Desenvolvendo Aplicações Interativas para TVD com NCL

Exibindo um vídeo em loop até a intervenção do usuário

Page 40: Desenvolvendo Aplicações Interativas para TVD com NCL

Redimensionando uma região