Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

Mídias Globais

16 de Janeiro de 2008, 13:18 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 20 vezes

Olá pessoal, 

gostaria de saber se NCL dá suporte a declaração de mídias globais.
Por exemplo, seria possível declarar uma mídia "application/x-ginga-settings"  e poder acessar/alterar o seu valor em outro documento e tal operação ser transparente para todos os demais documentos que a importam?

Na verdade, eu tentei fazer isso importando o documento onde está definida a mídia e utilizando o atributo "newInstance = false" na sua referência.

Um possivel exemplo está abaixo:

-- declaração da mídia
<ruleBase>
          <rule id="portugues" var="idioma" comparator="eq" value="pt_BR"/>
          <rule id="ingles" var="idioma" comparator="eq" value="en_US"/>
</ruleBase>

<media type="application/x-ginga-settings" id="legenda">
        <property name="idioma"/>
</media>
 

--importando e referenciando a mídia
<importedDocumentBase>
        <importNCL documentURI="idioma.ncl" alias="media" />
</importedDocumentBase>

<media id="idiomaAtual" refer="media#legenda" newInstance="false" />

Entretanto, não consegui alterar o valor da regra da mídia de forma global.
Alguém poderia me ajudar??

Abraços,
Fernando

Autor: Fernando Kakimoto


55 comentários

  • 820d3515c25dc6c1319875ee4fed9224?only path=false&size=50&d=404Carlos de Salles Soares Neto(usuário não autenticado)
    16 de Janeiro de 2008, 15:48

     

    Oi Fernando,

    De acordo com o padrão, só pode haver um nó de mídia do tipo "application/x-ginga-settings" em um documento. Isso inclui o fato que você não pode importar um nó de mídias settings de outro documento.

    Isso evita ambiguidades na atribuição de valores diferentes em diferentes documentos a uma mesma propriedade.

    Carlos

  • B84c5aed621335947af2d6faa786d885?only path=false&size=50&d=404Francisco Sant'Anna(usuário não autenticado)
    16 de Janeiro de 2008, 18:06

     

    Olá,

    Nomes de propriedades do nó x-ginga-settings com o prefixo "shared." são compartilhadas entre os documentos.

    Mas acredito que isso ainda não esteja implementado.

    Abs,

    Francisco

    • 77992aff3f9080a5ab1cc3edeef039da?only path=false&size=50&d=404Fernando Kakimoto(usuário não autenticado)
      17 de Janeiro de 2008, 16:18

       

      Olá,
      Fico grato pelas respostas.

      Me apareceu outra dúvida na busca de resolver o mesmo problema.
      Seguinte:

      Para iniciar um nó de contexto, eu declaro o seguinte bind dentro de um link:

      <bind role="start" component="meuContexto" interface="minhaPorta"/>

      Existe a possibilidade de eu fazer um link ao término desse contexto?? Como fazer um contexto chegar ao seu fim? Eu tentei realizar um stop em todas as mídias do contexto, afim de determinar o seu término, e criar um link da seguinte forma: 

         <link id="endContexto" xconnector="onEndStartN">
               <bind role="onEnd" component="meuContexto" />
               <bind role="start" component="midia01" />
               <bind role="start" component="midia02"/>
         </link>

      Porém, esse teste não funcionou comigo.
      Isso é possivel de ser feito??

      Abraços,
      Fernando
       

      • 820d3515c25dc6c1319875ee4fed9224?only path=false&size=50&d=404Carlos de Salles Soares Neto(usuário não autenticado)
        17 de Janeiro de 2008, 17:06

         

        Oi Fernando,

        Uma correção importante: o bind que citou não inicia um contexto (como mencionou), ele inicia o nó ou âncora mapeada na porta de id "minhaPorta" do contexto "meuContexto". Ou se preferir, a frase mais simples: ele inicia a porta "minhaPorta" do contexto "meuContexto".

        Você pode também dar "start" em um contexto (digamos, de id "meuContexto"), caso em que o bind do elo fica assim:

        <bind role="start" component="meuContexto"/>

        Nesse caso, o start é o equivalente a dar start em todas as portas do contexto "meuContexto". Note que você NÃO está necessariamente dando "start" em todos os nós contidos naquele contexto, já que um nó interno que não tem uma porta mapeada para ele não é iniciado.

        E se houver uma porta mapeada para uma propriedade e não para um nó ou âncora de nó? Nesse caso - conforme esperado - nada acontece com aquela propriedade.

        Enfim, você pode capturar normalmente numa condição o "onEnd", "onStart", "onPause", etc, de um nó de contexto como se fosse um nó de mídia.

        Um contexto chega ao seu fim quando todos os nós internos do contexto sofreram stop (seja pelo seu término natural ou por uma ação de stop). Provavelmente não está funcionando no seu caso porque aquele contexto possui algum nó em estado "ocurring".

        Um uso corriqueiro que faço de contextos é quando defino menus de botões. É sempre mais fácil trabalhar (leia-se: você tem um código menor) com o "start", "stop" e "abort" em contextos ao invés de ter que se preocupar com essa ação em cada um dos botões.

        Carlos

        • 77992aff3f9080a5ab1cc3edeef039da?only path=false&size=50&d=404Fernando Kakimoto(usuário não autenticado)
          17 de Janeiro de 2008, 17:28

           

          Oi Carlos,

          muito obrigado pelo seu esclarecimento.
          Eu alterei o bind para <bind role="start" component="meuContexto"/> e meu exemplo funcionou corretamente.

          Abraços,
          Fernando

Concurso ITU-T de Aplicações para IPTV 2012

13 de Agosto de 2012, 19:38, por Desconhecido

Gostaríamos de lembrar aos possíveis interessados que o prazo de registro para participação no Concurso ITU-T de Aplicações para IPTV 2012 (IPTV Application Challenge) se encerra nesta semana, dia 15 de agosto de 2012. Já o prazo para a submissão de aplicações se encerra no dia 07 de setembro de 2012.



NCL Eclipse 1.6 disponível

10 de Janeiro de 2012, 21:19, por Desconhecido

Caros membros da Comunidade Ginga,



Concursos de Aplicações Ginga-NCL

22 de Setembro de 2011, 3:22, por Desconhecido

    Gostaríamos de relembra-los de que há dois concursos de aplicações Ginga-NCL com inscrições ainda abertas. O convite é aberto a toda a comunidade de desenvolvedores de aplicações para o Middleware Ginga-NCL, em nível internacional. São os seguintes concursos:



Novas versões: Ginga e Ginga-NCL Virtual Set-top Box (v.0.12.3)

1 de Agosto de 2011, 20:58, por Desconhecido



Algumas Boas Notícias da Comunidade Ginga

28 de Julho de 2011, 21:31, por Desconhecido

Autor: Roberto Azevedo