Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

Perda do foco no retorno lua

23 de Abril de 2012, 21:25 , por Desconhecido - | 1 Pessoa seguindo este artigo.
Visualizado 10 vezes

Olá amigos, estou implementando um menu onde cada item de menu faz acesso a um arquivo lua, quando inicio a app através do botão de interatividade consigo colocar o foco no menu e posso escolher um dos itens, após selecionado o item vou para um arquivo lua onde consigo passar o foco e tudo funciona perfeitamente, quando finalizo o lua selecionado e volto para meus itens de menu, todo o menu é carregado perfeitamente inclusive a imagem do menu selecionado que deveria pegar o foco vem certinho, no entanto o foco não funciona.

 Obs: tente voltar para o botão de interatividade vermelho por exemplo, quando clico com no botão vermelho para abrir o menu ele também fica se o foco.

 Segue o fonte do código retornando do arquivo lua para o menu que deveria estar com o foco:

Como exemplo de execução do arquivo lua utilizei o seguinte projeto caso alguém queira executar http://www.telemidia.puc-rio.br/~francisco/nclua/tutorial/exemplo_03.html

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<ncl id="main" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
<head>

<regionBase>
   <region id="rgTV" width="100%" height="100%">

      <region id="rgTelaPesquisa" width="100%" height="100%">
              <region id="rgLuaPesquisa" width="70%"  height="76%" right="10%" top="9%" />
      </region>
     
      <region id="rgBtnEntrada" width="50" height="50" />
           
     


66 comentários

  • 8439a28584b70befddd5b658eb98c3b0?only path=false&size=50&d=404watson odilon(usuário não autenticado)
    23 de Abril de 2012, 21:35

     

    Corrigindo o link do menu 1 que mandei estou utilizando assim:

    <!-- @doc Volta Lua Menu 1 para Menu Principal -->
    <link id="lVoltaSubMenuLuaTribuna" xconnector="onBeginSetNStopNStartN">
        <bind component="luaDepFalando" interface="fim" role="onBegin" />
        <bind component="luaDepFalando" role="stop" />
        
        <bind component="cMenuPrincipal" role="start"/>
       
       <bind component="programSettings" interface="service.currentFocus" role="set" >
          <bindParam name="value" value="1" />
       </bind>
    </link>

     

    No console me retorno o seguinte:

    pplicationPlayerAdapter::updateStatus with code = '0' param = 'fim' and type = '10'
    ApplicationPlayerAdapter::updateStatus call startEvent 'fim' type '10'
    'luaDepFalando_1'; anchor name = 'luaDepFalando' ExecutionObject::getEventFromAnchorId searching 'fim' for '-1/main/luaDepFalando/dLuaPesquisa' with following events = 'fim_1'; anchor name = 'fim' ApplicationPlayerAdapter::startEvent 'fim_1' considering anchor 'fim'
    LinkTransitionTriggerCondition::eventStateChanged from object '-1/main/luaDepFalando/dLuaPesquisa' transition = '0'

    FormatterCausalLink::conditionSatisfied(lVoltaSubMenuLuaTribuna) starting action(s)

    LinkCompoundAction::run '3' actions
    FormatterScheduler::runAction acquiring player for '-1/main/luaDepFalando/dLuaPesquisa' TimeStamp: 19.908
    LuaPlayer::setCurrentScope ''
    ApplicationPlayerAdapter::stop() '-1/main/luaDepFalando/dLuaPesquisa'
    ApplicationExecutionObject::stop(-1/main/luaDepFalando/dLuaPesquisa)
    FormatterScheduler::eventStateChanged 'luaDepFalando_1' transition '1'
    DFBWindow::~DFBWindow(0xa24eac8) all done
    LinkTransitionTriggerCondition::eventStateChanged from object '-1/main/luaDepFalando/dLuaPesquisa' transition = '1'
    ExecutionObject::removeEvent 'luaDepFalando_1'from '-1/main/luaDepFalando/dLuaPesquisa'
    ApplicationPlayerAdapter::unprepare set object '-1/main/luaDepFalando/dLuaPesquisa' as NULL
    FormatterScheduler::runAction event 'cMenuPrincipal_1' for '-1/main/cMenuPrincipal/' OVER COMPOSITION
    FormatterScheduler::runActionOverComposition perspective = '-1/main/cMenuPrincipal/mMenuPrincipal'
    CascadingDescriptor::~CascadingDescriptor(dMenuPrincipal)
    FormatterScheduler::runActionOverComposition perspective = '-1/main/cMenuPrincipal/mMenu1'
    CascadingDescriptor::~CascadingDescriptor(dMenu1)
    FormatterScheduler::runActionOverComposition perspective = '-1/main/cMenuPrincipal/mMenu2'
    CascadingDescriptor::~CascadingDescriptor(dMenu2)
    FormatterScheduler::runAction acquiring player for '-1/main/cMenuPrincipal/mMenuPrincipal/dMenuPrincipal' TimeStamp: 19.911
    FormatterPlayerAdapter::hasPrepared return false because object = '0' and player = '0'
    RuleAdapter::adaptDescriptor for '-1/main/cMenuPrincipal/mMenuPrincipal/dMenuPrincipal'
    RuleAdapter::adaptDescriptor first unsolved descriptor address '0'
    FormatterPlayerAdapter::hasPrepared return false because object = '0' and player = '0'
    ImagePlayerAdapter::createPlayer '/misc/ncl30/PerguntaForum//img/aba_menu.png'
    ImagePlayerAdapter::createPlayer '/misc/ncl30/PerguntaForum//img/aba_menu.png' ALL DONE
    FormatterPlayerAdapter::createPlayer for '/misc/ncl30/PerguntaForum//img/aba_menu.png' object = '-1/main/cMenuPrincipal/mMenuPrincipal/dMenuPrincipal' objectDevice = '0'
    ExecutionObject::prepare(-1/main/cMenuPrincipal/mMenuPrincipal/dMenuPrincipal) 2nd call addEventListener '0xa050548' or '0xa050600'
    Player::setScope 'mMenuPrincipal'
    FormatterLayout::prepareFormatterRegion deviceRegion class is '0'
    FormatterScheduler::eventStateChanged 'mMenuPrincipal_1' transition '0'
    FormatterPlayerAdapter::checkAnchorMonitor can't create TIME NominalEventMonitor for '-1/main/cMenuPrincipal/mMenuPrincipal/dMenuPrincipal' because next transition = 'inf'
    FormatterScheduler::runAction takes '12' ms to start '-1/main/cMenuPrincipal/mMenuPrincipal/dMenuPrincipal'
    FormatterScheduler::runAction acquiring player for '-1/main/cMenuPrincipal/mMenu1/dMenu1' TimeStamp: 19.923
    FormatterPlayerAdapter::hasPrepared return false because object = '0' and player = '0'
    RuleAdapter::adaptDescriptor for '-1/main/cMenuPrincipal/mMenu1/dMenu1'
    RuleAdapter::adaptDescriptor first unsolved descriptor address '0'
    FormatterPlayerAdapter::hasPrepared return false because object = '0' and player = '0'
    ImagePlayerAdapter::createPlayer '/misc/ncl30/PerguntaForum//img/btn_menu1.png'
    ImagePlayerAdapter::createPlayer '/misc/ncl30/PerguntaForum//img/btn_menu1.png' ALL DONE
    FormatterPlayerAdapter::createPlayer for '/misc/ncl30/PerguntaForum//img/btn_menu1.png' object = '-1/main/cMenuPrincipal/mMenu1/dMenu1' objectDevice = '0'
    ExecutionObject::prepare(-1/main/cMenuPrincipal/mMenu1/dMenu1) 2nd call addEventListener '0xa050548' or '0xa050600'
    Player::setScope 'mMenu1'
    FormatterLayout::prepareFormatterRegion deviceRegion class is '0'
    FormatterScheduler::eventStateChanged 'mMenu1_1' transition '0'
    FormatterFocusManager::setFocus index '1' is not in focus Table.
    PresentationContext::setPropertyValue propName = 'service.currentFocus' propValue = '1'
    ComponentManager::releaseComponentFromObject 'ImageProvider'
    FormatterPlayerAdapter::checkAnchorMonitor can't create TIME NominalEventMonitor for '-1/main/cMenuPrincipal/mMenu1/dMenu1' because next transition = 'inf'
    FormatterScheduler::runAction takes '4' ms to start '-1/main/cMenuPrincipal/mMenu1/dMenu1'
    FormatterScheduler::runAction acquiring player for '-1/main/cMenuPrincipal/mMenu2/dMenu2' TimeStamp: 19.927
    FormatterPlayerAdapter::hasPrepared return false because object = '0' and player = '0'
    RuleAdapter::adaptDescriptor for '-1/main/cMenuPrincipal/mMenu2/dMenu2'
    RuleAdapter::adaptDescriptor first unsolved descriptor address '0'
    FormatterPlayerAdapter::hasPrepared return false because object = '0' and player = '0'
    ImagePlayerAdapter::createPlayer '/misc/ncl30/PerguntaForum//img/btn_menu2.png'
    ImagePlayerAdapter::createPlayer '/misc/ncl30/PerguntaForum//img/btn_menu2.png' ALL DONE
    FormatterPlayerAdapter::createPlayer for '/misc/ncl30/PerguntaForum//img/btn_menu2.png' object = '-1/main/cMenuPrincipal/mMenu2/dMenu2' objectDevice = '0'
    ExecutionObject::prepare(-1/main/cMenuPrincipal/mMenu2/dMenu2) 2nd call addEventListener '0xa050548' or '0xa050600'
    Player::setScope 'mMenu2'
    FormatterLayout::prepareFormatterRegion deviceRegion class is '0'
    FormatterScheduler::eventStateChanged 'mMenu2_1' transition '0'
    FormatterPlayerAdapter::checkAnchorMonitor can't create TIME NominalEventMonitor for '-1/main/cMenuPrincipal/mMenu2/dMenu2' because next transition = 'inf'
    FormatterScheduler::runAction takes '4' ms to start '-1/main/cMenuPrincipal/mMenu2/dMenu2'
    FormatterScheduler::runAction event 'service.currentFocus_2' for '-1/main/programSettings/' OVER PROPERTY
    ApplicationPlayerAdapter::ApplicationPlayerAdapter(0xa04c4b8)
    TimeStamp: 20.911
    FormatterPlayerAdapter::~FormatterPlayerAdapter release player component 'LuaPlayer'
    ComponentManager::releaseComponentFromObject 'LuaPlayer'
    TimeStamp: 20.911
    ComponentManager::releaseComponentFromObject 'LuaPlayerAdapter'

     

    A linha em vermelho com OVER PROPERTY tem alguma coisa a ver com meu problema?

     

    Obrigado.

  • 8439a28584b70befddd5b658eb98c3b0?only path=false&size=50&d=404watson odilon(usuário não autenticado)
    24 de Abril de 2012, 19:50

     

    Seguem arquivos do projeto em anexo para execução e teste para que vocês me ajudem no meu problema!!!!

    Valeu.

    Watson Odilon.

  • 8439a28584b70befddd5b658eb98c3b0?only path=false&size=50&d=404watson odilon(usuário não autenticado)
    25 de Abril de 2012, 1:04

     

    Me desculpem o erro, mas agora vai o link da app completa!!!

    ging​adf.​com.​br/b​logG​inga​/app​/app​Menu​Foru​m.ra​r

    Obrigado

    • 5df5d8eeb3770422cc9c42a466faee62?only path=false&size=50&d=404Roberto Azevedo(usuário não autenticado)
      28 de Abril de 2012, 13:07

       

      Oi Watson,

      parece que o currentKeyMaster não está voltando para o formatador NCL (e ainda está setado para o player Lua). Tente foçar com que ele volte, i.e., atribua  o valor do currentKeyMaster para "" (vazio) quando o Lua acabar.

    • 1e29d0095154ec9fed26313e9afb8f36?only path=false&size=50&d=404Manoel Campos da Silva Filho(usuário não autenticado)
      28 de Agosto de 2012, 21:03

       

      Ressuscitando este tópico, tive o mesmo problema e estou compartilhando a solução, uma vez que outros usuários podem ter a mesma dúvida. Usei a versão 0.12.3 da GingaVM (cujo controle de foco está aderente à norma).

      Segue link:  https://gist.github.com/3505478#comments

      É preciso incluir as mídias referenciadas pela aplicação. 

      • 8439a28584b70befddd5b658eb98c3b0?only path=false&size=50&d=404watson odilon(usuário não autenticado)
        2 de Outubro de 2012, 2:40

         

        Postando minha solução, desculpem a demora para postar.....

        Já resolvi esse problema a algum tempo, mas de outra forma da apresentada pelo Roberto e pelo Manoel, tentei fazer como vocês informaram, mas no meu caso não funcionou.

        Segue como resolvi:

        1 - No  <descriptor id="dLuaPesquisa" region="rgLuaPesquisa" focusIndex="3"/> acrescentei o focusIndex com um valor.

        2 - No elo que eu seto o foco no lua, coloquei o valor do focusIndex ao invés do nome da media como estava anteriormente

        <link id="lPesquisaMenu1Start" xconnector="onKeySelectionStartNStopNSet">
           <bind component="cMenuPrincipal" interface="pMenu1" role="onSelection"/>
           <bind component="cMenuPrincipal" role="stop"/>
           <bind component="luaMenu1" role="start" />
            
           <bind component="programSettings" interface="service.currentKeyMaster" role="set" >
              <bindParam name="value" value="3" />

              <!--bindParam name="value" value="luaMenu1" /-->
           </bind>
        </link>

        3 - No elo de retorno do lua setei o focusIndex do item de menu que eu queria com o foco neste caso o menu1, e tudo funcionou.

        <link id="lVoltaSubMenu1" xconnector="onBeginSetNStopNStartN">
            <bind component="luaMenu1" interface="fim" role="onBegin" />
            <bind component="luaMenu1" role="stop" />
            
            <bind component="cMenuPrincipal" role="start"/>
           
           <bind component="programSettings" interface="service.currentFocus" role="set" >
              <bindParam name="value" value="1" />
           </bind>
        </link>

        Segue link para download do problema corrigido, ging​adf.​com.​br/b​logG​inga​/app​/Men​uRes​olvi​do_v​0.12​.3.r​ar

        Vale lembrar que a minha solução só funciona na versão 0.12.3 da GingaVM.

        Faço uma pergunta:

        O controle de foco da versão 0.12.4 está aderente a norma? Se sim o que estou fazendo de errado que não consigo mais  executar o codigo lua?

        Grato.

         

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