Caio neves leila soriano
Download
1 / 29

Caio Neves Leila Soriano - PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on

Caio Neves Leila Soriano. Agenda. O que é Ginga? SBTVD News NCL API NCLua Exemplos. O que é Ginga?. Middleware Aberto do Sistema Brasileiro de TV Digital (SBTVD) Dois Módulos Ginga-J (Java) Ginga-NCL (Lua - suporte) Grande Inovação (Ponte Java-NCL NCL-Java). SBTVD News. Ginga-J

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Caio Neves Leila Soriano' - kacy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Caio neves leila soriano

Caio Neves

Leila Soriano


Agenda
Agenda

  • O que é Ginga?

  • SBTVD News

  • NCL

  • API NCLua

  • Exemplos


O que ginga
O que é Ginga?

  • Middleware Aberto do Sistema Brasileiro de TV Digital (SBTVD)

  • Dois Módulos

    • Ginga-J (Java)

    • Ginga-NCL (Lua - suporte)

  • Grande Inovação (Ponte Java-NCL NCL-Java)


Sbtvd news
SBTVD News

  • Ginga-J

    • Primeiro draft final de setembro

    • Royalties free

    • Implementação aqui! (cesar)

  • Seminário de Televisão Digital: Modelo, Cenários, Linguagem

  • Ginga 1.0



Ncl o que tocar1
NCL – O que tocar?

  • Suporta todos os tipos definidos na norma.

  • A definição do que tocar define-se no body.



Ncl onde tocar1
NCL – Onde tocar?

  • As dimensões podem ser definidas por unidades de pixel ou por porcentagem.



Ncl como tocar1
NCL – Como tocar?

  • Definido no head.

  • Parâmetros:

    • transparency

    • freeze

    • ...



Ncl quando tocar1
NCL – Quando tocar?

  • Descreve-se o comportamento do elo no head.

  • Pode-se ter ações compostas.


Ncl quando tocar2
NCL – Quando tocar?

  • Com o port pode-se tornar uma mídia auto initialize.

  • <port id="portVideo" component="video"/>

  • Definido no body.


Ncl quando tocar3
NCL – Quando tocar?

  • Conectar a mídia ao comportamento do elo.


Ncl estrutura
NCL - Estrutura

  • Todo documento NCL é escrito em XML

  • Cabeçalho do documento NCL

  • Uma seção de Cabeçalho do programa (head)

  • Corpo do programa (body)

  • Pelo menos uma porta

  • Conclusão do documento



Api nclua events
API – NCLua (Events)

  • event.register (f: function)

  • event.timer (time: number, f: function)

  • event.post (dst: string; evt: event)

  • event.uptime ()

  • event.post(evt)


Classes de eventos
Classes de Eventos

  • Eventos Key:

    • evt = { class='key', type: string, key: string}

    • type pode ser 'press' ou 'release'.

    • key é o valor da tecla em questão.

    • evt = { class='key', type='press', key=’0’ }

  • Tipo ‘presentation’:

    • evt = { class='ncl', type='presentation', area='?', action='start'/'stop'/'abort'/'pause'/'resume' }


Classes de eventos1
Classes de Eventos

  • Tipo ‘selection’:

    • evt = { class='ncl', type='selection', area='?', transition='stops' }

  • Tipo ‘attribution’:

    • evt = { class='ncl', type='attribution', area='?', transition='stops' }

  • Classes TCP:

    • evt = { class=’tcp’, from=’addr:port’, value=string }


Settings
Settings

  • Dados do próprio set-top-box

    • lang = settings.system.language

    • age = settings.user.age

    • location = settings.user.location


Persistent
Persistent

  • Variáveis persistentes entre execuções

  • Divididas entre tres grupos:

    • “service”

    • “channel”

    • “shared”

  • persistent.service.total = 10

  • color = persistent.shared.color


Api nclua canvas
API – NCLua (Canvas)

  • canvas:new()

    • Construtor vazio, imagem, (width, height)

  • canvas:attrSize()

    • retorno x, y = canvas:attrSize()

  • canvas:attrColor()

    • 'white', 'aqua', 'lime', 'yellow', 'red', 'fuchsia', 'purple', 'maroon','blue', 'navy', 'teal', 'green', 'olive', 'silver', 'gray', 'black'


Api nclua canvas1
API – NCLua (Canvas)

  • canvas:attrFont (face: string; size: number; style: string)

  • canvas:drawLine (x1, y1, x2, y2: number)

  • canvas:drawRect (mode: string; x, y, width, height: number)

  • canvas:drawPolygon (mode: string)

    • canvas:drawPolygon('fill')(1,1)(10,1)(10,10)(1,10)()


Api nclua canvas2
API – NCLua (Canvas)

  • canvas:drawEllipse (mode: string; xc, yc, width, height, ang_start, ang_end: number)

  • canvas:drawText (text: string; x, y: number)

  • canvas:flush ()


Api nclua canvas3
API – NCLua (Canvas)

  • canvas:measureText (x, y: number; text: string)

  • canvas:compose (x, y: number; src: canvas; [ src_x, src_y, src_width, src_height: number ])


Exemplo 1
Exemplo 1

  • Aplicacao que conta o números de cliques e mostra na tela.


Desafio
Desafio

  • Faça o macaco comer a banana!

  • Através de captura de eventos da classe “key”

  • Criação de canvas com imagens

  • Composição de canvas


Refer ncias
Referências

  • http://www.abnt.org.br/imagens/Normalizacao_TV_Digital/ABNTNBR15606-5_2008Ed1.pdf

  • www.ncl.org.br/documentos/TutorialNCL3.0-2ed.pdf


D vidas

Dúvidas?

Obrigado pela atenção!


ad