Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

NCL chamando outro NCL

10 de Fevereiro de 2009, 16:02 , por Desconhecido - | 1 Pessoa seguindo este artigo.
Visualizado 8 vezes

Caros,

estou usando um documento NCL (menu) chamando dois outros documentos NCL para execução dependendo do botão selecionado pelo usuário. O fato é que o documento NCL chamado começa a executar mas aborta.

Esse mesmo sendo executado sozinho não apresenta problemas.

Olhei aqui no fórum e vi que outras pessoas já tiveram problemas parecidos porém não achei respostas.

 Estou executando o NCL no set-top box virtual (mais recente).

Alguém conhece alguma solução?

Segue abaixo o as partes do código relativas a execução de outros documentos NCL.

Desde já grato.

Joel

 <ncl>

<head>

<importedDocumentBase>
<importNCL documentURI="a/a.ncl" alias="doca"/>
<importNCL documentURI="b/b.ncl" alias="docb"/>
</importedDocumentBase>

...

</head>

<body>

...

<context id="ca" refer="doca#a"/>

<context id="cb" refer="docb#b"/>

...

</body>

</ncl>

Autor: Joel André Ferreira dos Santos


77 comentários

  • 820d3515c25dc6c1319875ee4fed9224?only path=false&size=50&d=404Carlos de Salles Soares Neto(usuário não autenticado)
    10 de Fevereiro de 2009, 16:11

     

    Note o seguinte:

    Na linha "   <context id="ca" refer="doca#a"/>   ", isso só vai funcionar se o id do <body> do documento "doca" (o arquivo a/a.ncl) for realmente "a". Verifique isso, por favor. O mesmo vale para docb#b. O "docb" é o alias do documento b.ncl (conforme já postou) e o b de "#b" é o id do contexto que está importando do alias docb (nesse caso, presumo que esteja importando todo o <body>).

    No mais, é importante checar se o documento a.ncl e o documento b.ncl estão efetivamente corretos. Passo-a-passo, eu depuraria seu programa assim:

    1) Testaria a.ncl separadamente para ver se está funcionando corretamente (tocando ele no Ginga);

    2) Faria o mesmo testando o b.ncl;

    3) Agora, sim, testaria o arquivo que importa a.ncl e b.ncl.

    Isso deve funcionar sim. Já testei e fiz isso várias vezes e sempre funciona.

    Carlos

    • 1d1ad87a8b4565927d0c7094f933e254?only path=false&size=50&d=404Joel André Ferreira dos Santos(usuário não autenticado)
      10 de Fevereiro de 2009, 16:40

       

      Carlos,

      Na linha "   <context id="ca" refer="doca#a"/>   "  #a é a id do documento ncl, realmente estou importando todo o documento e tocando ele.

      Acabei de testar colocando uma id no body (bodya) e trocando de "#a" para "#bodya". O resultado foi o mesmo.

      Eu já testei separadamente os arquivos e eles não apresentam problemas.

      No momento em que o documento principal chama a.ncl, as imagens chegam a aparecer sem audio e logo o documento é abortado

      reparei em duas linhas do set-top box. As linhas seguem abaixo.

       (*) Direct/Interface: Loaded 'Mad' implementation of 'IFusionSoundMusicProvider'.
      (*) Direct/Thread: Running 'Mad' (DEFAULT, 2928)...

      • 5df5d8eeb3770422cc9c42a466faee62?only path=false&size=50&d=404Roberto Azevedo(usuário não autenticado)
        10 de Fevereiro de 2009, 17:20

         

        Joel,

        estas  linhas só informam que o player de áudio foi carregado corretamente. Nâo serão muito úteis para gente! Tem como postar o código para analisarmos?

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

         

        Acho que me expressei de forma confusa. Não precisa colocar um atributo id no <body>. É que corriqueiramente chamo o id do documento de "id do body".

        Em suma, verifique o valor do id do <ncl> raiz para ver se é "a" ou "b" (em cada caso) mesmo. Não precisa colocar um id no <body>.

        O documento tocando isoladamente funciona?

        Carlos

        • 201656b83337aa76f8a1de40ce226268?only path=false&size=50&d=404Günter Herweg(usuário não autenticado)
          28 de Abril de 2009, 13:36

           

          Fiz uns testes aqui e notei o seguinte:

          Quando o doc importado nao tem o id no body, o refer do documento importador deve referenciar o id do ncl, como o Carlos escreveu.

          Mas quando o id do body estiver presente no doc importado, o refer do importador deve conter o ID DO BODY e nao o id do ncl.

          Pelo menos é assim que funciona na versao 1.0 do Ginga (CD), acho que na norma só fala sobre o id do doc inteiro.

           

        • 1d1ad87a8b4565927d0c7094f933e254?only path=false&size=50&d=404Joel André Ferreira dos Santos(usuário não autenticado)
          11 de Fevereiro de 2009, 14:51

           

          Demorei um pouco a responder mas aqui vai...

          Hoje voltei a debugar um pouco mais o código e cheguei a um resultado um tanto estranho.

          O problema não está nem no documento principal, nem nos documentos "a.ncl" e "b.ncl" separadamente.

          Ambos "a.ncl" e "b.ncl" possuem um audio, botões (play, pause, avançar o audio, voltar o audio e sair), um numero de tela (imagem .gif) e uma sequencia de telas.

          O problema foi que o descritor do botão play (tanto em "a.ncl" quanto em "b.ncl") possuia o mesmo focusIndex de um dos botões do documento principal, dai quando ia carregar um dos dois documentos a aplicação abortava. Troquei os valores de focusIndex e passou a funcionar corretamente.

          Não sabia que existia essa restrição. Vocês sabem se isso é algum bug do player?

          • 53863feab09b0cb8f67aa44bc1c2f392?only path=false&size=50&d=404Carlos Batista(usuário não autenticado)
            12 de Fevereiro de 2009, 21:48

             

            Quando há duplicação de valores de focusIndex, só um dos nós terá o valor definido - na implementação de referência é aquele que for processado primeiro, mas isso pode variar de uma implementação para outra. O correto é evitar que isso aconteça.

            []s

             bidu

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