Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

DescriptorSwitch

21 de Janeiro de 2008, 14:42 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 9 vezes

Mais uma duvida pessoal.

 

Alguem poderia me dar uma exemplo do funcionamento do DescriptorSwitch?

 

 

Abrax 

Autor: andrey silva souza


1515 comentários

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

     

    Olá Andrey,

    O <descriptorSwitch> é uma ferramenta poderosa de NCL para dar suporte à adaptação de conteúdo. A adaptação de conteúdo é a capacidade que NCL oferece de exibir um conteúdo de várias formas diferentes dependendo do perfil do usuário.

    Como exemplo, um documento que é feito para ser exibido numa TV de 42" é pensado bem diferente daquele feito para a tela de um celular. No entanto, não é interessante que o autor tenha que criar um documento diferente para cada dispositivo em que ele vai ser exibido. NCL permite que um mesmo documento seja exibido de forma diferente dependendo do dispositivo de exibição, das preferências do usuário etc.

    O <descriptorSwitch> funciona de forma bem similar ao <switch>, com a diferença que faz uso das regras não para selecionar um nó interno mas para selecionar com qual descritor o referido nó vai ser exibido.

    Particularmente, tenho como plano futuro elaborar um exemplo que faz uso desse recurso para, provavelmente, incorporar ao tutorial da linguagem.

    Quem sabe nos próximos dias já possa publicar aqui no fórum um pequeno exemplo mais ilustrativo. É isso que procuras ou a informação é suficiente?

    Outros membros possuem algum exemplo que possam publicar?

    Carlos

    • 754d4402e67aee0305d1a29003710c1c?only path=false&size=50&d=404andrey silva souza(usuário não autenticado)
      21 de Janeiro de 2008, 16:18

       

      Voce poderia postar um pequeno exemplo? eh isso mesmo que procuro

       

      Abrax 

    • 5bbc55694e95ebcec67d6695abcf49bb?only path=false&size=50&d=404Amanda Remes(usuário não autenticado)
      1 de Fevereiro de 2008, 16:16

       

      O <descriptorSwitch> é suportado pelo Composer Java e/ou Virtual STB?

      Tentei com os dois e nada acontece, não sei se não estou sabendo usar ou se não há suporte ou as duas coisas.... realmente um exemplo ia cair muito bem! 

      • 754d4402e67aee0305d1a29003710c1c?only path=false&size=50&d=404andrey silva souza(usuário não autenticado)
        11 de Fevereiro de 2008, 16:48

         

        Fiz um código mas não funcionou, mas tambem não sei  se esta correto, segue abaixo o NCL

         

        <?xml version="1.0" encoding="UTF-8"?>
        <ncl xsi:schemaLocation="http://www.ncl.org.br/NCL3.0/EDTVProfile www.​ncl.​org.​br/N​CL3.​0/pr​ofil​es/N​CL30​EDTV​.xsd​" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
         
         
         
            <head>
               

                   <connectorBase>      
                       <causalConnector id="onSelectionSetStart">
                          <connectorParam name="keyCode" />
                          <connectorParam name="valueSet" />
                          <simpleCondition role="onSelection" key="$keyCode" />
                          <compoundAction operator="seq">
                            <simpleAction role="set" value="$valueSet" max="unbounded" />
                                            <simpleAction role="start" max="unbounded"/> 
                          </compoundAction>
                        </causalConnector>

                   
                    </connectorBase>

                 
                    <regionBase>
                              <region  left="0%" top="0%" width="100%" height="100%" id="regionTela" >
                            <region id="rgVideo1" left="10%" top="10%" width="50%" height="50%"/>
                            <region id="rgVideo2" left="10%" top="10%" width="10%" height="10%" />
                                  <region id="rgVideo3" left="40%" top="40%" width="10%" height="10%" />         
                                 
                    </region>
                    </regionBase>

          

                       
                         <descriptorBase>
                    <descriptorSwitch id="ds">
                        <bindRule rule="descriptor1" constituent="d1" />
                        <bindRule rule="descriptor2" constituent="d2" />
                        <defaultDescriptor descriptor="d3" />
                        <descriptor id="d1" region="rgVideo1" />
                        <descriptor id="d2" region="rgVideo2" />
                                        <descriptor id="d3" region="rgVideo3" />
                    </descriptorSwitch>
                              
                     
         
                   
                        </descriptorBase>

                <ruleBase>
                    <rule id="descriptor1" var="A" comparator="eq" value="1" />
                                <rule id="descriptor2" var="A" comparator="eq" value="2" />
                     
                   </ruleBase>
          
         

            </head>
         
         
               <body>
           
             

                <port id="p1" component="video1" />
           
           
                          <media id="video1" type="video/mpeg"  src="media/video1.mpg" descriptor="ds" />
         
                   <media type="application/x-ginga-settings" id="settings">
                     <property name="A" />
         
                      </media>
         
                  <link id="l1" xconnector="onSelectionSetStart">
                     <bind component="video1" role="onSelection">
                        <bindParam name="keyCode" value="1" />
                     </bind>
                     <bind component="settings" interface="A" role="set">
                        <bindParam name="valueSet" value="1" />
                     </bind>
                   
                
                 <bind component="descriptorSwitch" role="start" />
                  </link>

                      <link id="l2" xconnector="onSelectionSet">
                     <bind component="video1" role="onSelection">
                        <bindParam name="keyCode" value="2" />
                     </bind>
                 
                     <bind component="settings" interface="A" role="set">
                        <bindParam name="valueSet" value="2" />
                     </bind>
                   
              
                 <bind component="descriptorSwitch" role="start" />
                  </link>

            </body>
        </ncl>

         

        Help!

        • 5bbc55694e95ebcec67d6695abcf49bb?only path=false&size=50&d=404Amanda Remes(usuário não autenticado)
          11 de Fevereiro de 2008, 17:20

           

          Vc rodou no Composer? Ou no STB Virtual???

           Eu fiz um código na mesma lógica que a sua e nada acontece também..... ou estamos fazendo errado ou os players/simuladores não dão suporte a  essa tag...

           

          Alguém sabe a resposta???

          • 2133593267bb9e231f3ef646fd94a27d?only path=false&size=50&d=404Romualdo Monteiro R. Costa(usuário não autenticado)
            11 de Fevereiro de 2008, 19:15

             

            O exemplo que foi postado não permite explorar o descriptorSwitch porque as regras desse elemento são verificadas antes do início da apresentação da mídia que utiliza o descritor. Pelo que eu vi, o exemplo muda o valor de uma variável qdo o evento de seleção sobre um objeto de vídeo é disparado. Nesse caso, o descriptorSwitch já foi avaliado porque o objeto de vídeo já está sendo apresentado. Acho que existem mais alguns problemas no exemplo, mas, o principal é esse.

            Romualdo.
             

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