Ir para o conteúdo

 Voltar a NCL Eclipse
Tela cheia

Causal Connector

28 de Outubro de 2008, 15:57 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 82 vezes
Olá, criei uma aplicação que faz uso do seguinte conector (semelhante aos que vêem no composerConnectorBase):

             <causalConnector id="onKeySelectionAttNodeTestStopSetStart">
                  <connectorParam name="keyCode"/>
                  <connectorParam name="value"/>
                  <connectorParam name="setValue"/>
                  <compoundCondition operator="and">
                    <simpleCondition role="onSelection" key="$keyCode"/>
                    <assessmentStatement comparator="eq">
                          <attributeAssessment role="attNodeTest" eventType="attribution" attributeType="nodeProperty"/>
                        <valueAssessment value="$value"/>
                    </assessmentStatement>
                  </compoundCondition>
                  <compoundAction operator="seq">
                      <simpleAction role="stop"/>
                      <simpleAction role="set" value="$setValue"/>
                      <simpleAction role="start"/>
                </compoundAction>                  
            </causalConnector>


Até aqui tudo bem, mas quando uso o conector em um link, como este:

        <link id="page1-2" xconnector="onKeySelectionAttNodeTestStopSetStart">
            <bind component="leftButton" role="onSelection">
                <bindParam name="keyCode" value="CURSOR_RIGHT"/>               
            </bind>
            <bind role="attNodeTest" component="program" interface="page">
                  <bindParam name="value" value="1"/>
            </bind>
            <bind component="foodName" role="stop"/>
            <bind component="program" interface="page" role="set">
                <bindParam name="setValue" value="2"/>
            </bind>
            <bind component="foodName" role="start"/>
        </link>

O NCL Eclipse informa o seguinte erro:

Papel <attNodeTest> não definido no elemento xconnector ('onKeySelectionAttNodeTestStopSetStart').

e marca (sublinha) de vermelho a primeira linha do link.

No entanto, o código roda normalmente no Ginga-NCL Virtual Set-top Box.
Há algo de errado na sintaxe do código ou o problema está no NCL Eclipse?

Atenciosamente,
José Ricardo

Autor: José Ricardo Júnior


55 comentários

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

     

    Oi José Ricardo,

    Trata-se de um bug no validador do NCL Eclipse mesmo. Obrigado pelo retorno!

    Estamos trabalhando em uma nova versão que devemos subir em breve onde este problema está resolvido.

    Na verdade o problema é que ao implementar o validador, não lembramos que poderia haver um papel de teste definido em um <attributeAssessment> no concetor. O resultado é que o validador não localiza esse papel no conector quando valida os papéis (role) no elo.

    Há outro bug já conhecido e corrigido que envolve âncoras de uma <media> com o atributo "refer". Exemplo:

    <media id="teste" ... >
       <area id="ancora" .../>
    </media>
    <media id="referenciando" refer="teste"/>

    Note que, por referenciar a mídia "teste", a mídia "referenciando" herda a âncora "ancora". MAS, ao criar um elo com o seguinte bind:

    <bind component="referenciando" interface="ancora" ... />

    O NCL Eclipse vai erroneamente indicar um erro informando que o elemento "referenciando" não possui a interface "ancora" quando na verdade possui. O mesmo erro se repete caso se trate de uma propriedade.

    Em encontrando outros problemas de validação, favor informar nesta trilha para pronta correção.

    Carlos

    • 3114c6434e99be13409646e73c5e9c84?only path=false&size=50&d=404Guilherme Daher(usuário não autenticado)
      19 de Maio de 2009, 12:10

       

      segue arquivo NCL que roda normalmente no player do live cd e o ncl eclipse apesenta erro.

       

      <?xml version="1.0" encoding="ISO-8859-1"?>
      <!-- $Id: main.ncl,v 1.3 2009/01/16 15:49:25 root Exp $ -->
      <!--
          main.ncl
          14jan2009, gflima@telemidia.puc-rio.br

          Jogo da velha (tic-tac-toe) em NCL
        -->
      <ncl id="velha" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
        <head>
          <regionBase>
            <region id="rgScreen" width="62.5%" height="92.7%"
                    top="2.5%" left="18.75%" zIndex="0">

              <!-- messages and options -->
              <region id="rgTitle" width="100%" height="18.24%"
                      top="0" left="0" zIndex="2"/>
              <region id="rgPlayAgain" width="50%" height="15.82%"
                      top="84.17%" left="0" zIndex="2"/>
              <region id="rgExit" width="50%" height="15.82%"
                      top="84.17%" left="50%" zIndex="2"/>
              <region id="rgMessages" width="75%" height="65.93%"
                      top="18.24%" left="12.5%" zIndex="4"/>

              <!-- board -->
              <region id="rgGrid" width="75%" height="65.93%"
                      top="18.24%" left="12.5%" zIndex="2">
                <!-- 1st line -->
                <region id="rgPos0" width="31.66%" height="31.66%"
                        top="0" left="0" zIndex="4"/>
                <region id="rgPos1" width="31.66%" height="31.66%"
                        top="0" left="34%" zIndex="4"/>
                <region id="rgPos2" width="31.66%" height="31.66%"
                        top="0" left="68%" zIndex="4"/>
                <!-- 2nd line -->
                <region id="rgPos3" width="31.66%" height="31.66%"
                        top="34%" left="0" zIndex="4"/>
                <region id="rgPos4" width="31.66%" height="31.66%"
                        top="34%" left="34%" zIndex="4"/>
                <region id="rgPos5" width="31.66%" height="31.66%"
                        top="34%" left="68%" zIndex="4"/>
                <!-- 3rd line -->
                <region id="rgPos6" width="31.66%" height="31.66%"
                        top="68%" left="0" zIndex="4"/>
                <region id="rgPos7" width="31.66%" height="31.66%"
                        top="68%" left="34%" zIndex="4"/>
                <region id="rgPos8" width="31.66%" height="31.66%"
                        top="68%" left="68%" zIndex="4"/>
              </region>
            </region>
          </regionBase>

          <descriptorBase>
            <descriptor id="dTitle" region="rgTitle"/>
            <descriptor id="dMessages" region="rgMessages"/>

            <descriptor id="dPlayAgain" region="rgPlayAgain"
                        focusIndex="ixPlayAgain"
                        moveUp="ixExit" moveDown="ixExit"
                        moveRight="ixExit" moveLeft="ixExit"
                        focusSrc="media/play_again_on.png"
                        focusBorderWidth="0"/>

            <descriptor id="dExit" region="rgExit"
                        focusIndex="ixExit"
                        moveUp="ixPlayAgain" moveDown="ixPlayAgain"
                        moveRight="ixPlayAgain" moveLeft="ixPlayAgain"
                        focusSrc="media/exit_on.png"
                        focusBorderWidth="0"/>

            <descriptor id="dGrid" region="rgGrid"/>
            <!-- 1st line -->
            <descriptor id="dPos0" region="rgPos0" focusIndex="0"
                        moveUp="6" moveDown="3" moveRight="1" moveLeft="2"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red" />
            <descriptor id="dPos1" region="rgPos1" focusIndex="1"
                        moveUp="7" moveDown="4" moveRight="2" moveLeft="0"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red" />
            <descriptor id="dPos2" region="rgPos2" focusIndex="2"
                        moveUp="8" moveDown="5" moveRight="0" moveLeft="1"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red" />
            <!-- 2nd line -->
            <descriptor id="dPos3" region="rgPos3" focusIndex="3"
                        moveUp="0" moveDown="6" moveRight="4" moveLeft="5"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red"/>
            <descriptor id="dPos4" region="rgPos4" focusIndex="4"
                        moveUp="1" moveDown="7" moveRight="5" moveLeft="3"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red"/>
            <descriptor id="dPos5" region="rgPos5" focusIndex="5"
                        moveUp="2" moveDown="8" moveRight="3" moveLeft="4"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red"/>
            <!-- 3rd line -->
            <descriptor id="dPos6" region="rgPos6" focusIndex="6"
                        moveUp="3" moveDown="0" moveRight="7" moveLeft="8"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red"/>
            <descriptor id="dPos7" region="rgPos7" focusIndex="7"
                        moveUp="4" moveDown="1" moveRight="8" moveLeft="6"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red"/>
            <descriptor id="dPos8" region="rgPos8" focusIndex="8"
                        moveUp="5" moveDown="2" moveRight="6" moveLeft="7"
                        focusBorderWidth="3" focusBorderColor="yellow"
                        selBorderColor="red"/>
          </descriptorBase>

          <ruleBase>

            <!-- x wins -->
            <compositeRule id="rXWin" operator="or">
              <!-- x wins line -->
              <compositeRule id="rXWinLine" operator="or">
                <compositeRule id="rXWinLine0" operator="and">
                  <rule id="rXWinLine0_pos0" var="_pos0" comparator="eq"
                        value="x"/>
                  <rule id="rXWinLine0_pos1" var="_pos1" comparator="eq"
                        value="x"/>
                  <rule id="rXWinLine0_pos2" var="_pos2" comparator="eq"
                        value="x"/>
                </compositeRule>
                <compositeRule id="rXWinLine1" operator="and">
                  <rule id="rXWinLine1_pos3" var="_pos3" comparator="eq"
                        value="x"/>
                  <rule id="rXWinLine1_pos4" var="_pos4" comparator="eq"
                        value="x"/>
                  <rule id="rXWinLine1_pos5" var="_pos5" comparator="eq"
                        value="x"/>
                </compositeRule>
                <compositeRule id="rXWinLine2" operator="and">
                  <rule id="rXWinLine2_pos6" var="_pos6" comparator="eq"
                        value="x"/>
                  <rule id="rXWinLine2_pos7" var="_pos7" comparator="eq"
                        value="x"/>
                  <rule id="rXWinLine2_pos8" var="_pos8" comparator="eq"
                        value="x"/>
                </compositeRule>
              </compositeRule>
              <!-- x wins column -->
              <compositeRule id="rXWinCol" operator="or">
                <compositeRule id="rXWinCol0" operator="and">
                  <rule id="rXWinCol0_pos0" var="_pos0" comparator="eq"
                        value="x"/>
                  <rule id="rXWinCol0_pos3" var="_pos3" comparator="eq"
                        value="x"/>
                  <rule id="rXWinCol0_pos6" var="_pos6" comparator="eq"
                        value="x"/>
                </compositeRule>
                <compositeRule id="rXWinCol1" operator="and">
                  <rule id="rXWinCol1_pos1" var="_pos1" comparator="eq"
                        value="x"/>
                  <rule id="rXWinCol1_pos4" var="_pos4" comparator="eq"
                        value="x"/>
                  <rule id="rXWinCol1_pos7" var="_pos7" comparator="eq"
                        value="x"/>
                </compositeRule>
                <compositeRule id="rXWinCol2" operator="and">
                  <rule id="rXWinCol2_pos2" var="_pos2" comparator="eq"
                        value="x"/>
                  <rule id="rXWinCol2_pos5" var="_pos5" comparator="eq"
                        value="x"/>
                  <rule id="rXWinCol2_pos8" var="_pos8" comparator="eq"
                        value="x"/>
                </compositeRule>
              </compositeRule>
              <!-- x wins diagonal -->
              <compositeRule id="rXWinDia" operator="or">
                <compositeRule id="rXWinDia0" operator="and">
                  <rule id="rXWinDia0_pos0" var="_pos0" comparator="eq"
                        value="x"/>
                  <rule id="rXWinDia0_pos4" var="_pos4" comparator="eq"
                        value="x"/>
                  <rule id="rXWinDia0_pos8" var="_pos8" comparator="eq"
                        value="x"/>
                </compositeRule>
                <compositeRule id="rXWinDia1" operator="and">
                  <rule id="rXWinDia1_pos2" var="_pos2" comparator="eq"
                        value="x"/>
                  <rule id="rXWinDia1_pos4" var="_pos4" comparator="eq"
                        value="x"/>
                  <rule id="rXWinDia1_pos6" var="_pos6" comparator="eq"
                        value="x"/>
                </compositeRule>
              </compositeRule>
            </compositeRule>

            <!-- o wins -->
            <compositeRule id="rOWin" operator="or">
              <!-- o wins line -->
              <compositeRule id="rOWinLine" operator="or">
                <compositeRule id="rOWinLine0" operator="and">
                  <rule id="rOWinLine0_pos0" var="_pos0" comparator="eq"
                        value="o"/>
                  <rule id="rOWinLine0_pos1" var="_pos1" comparator="eq"
                        value="o"/>
                  <rule id="rOWinLine0_pos2" var="_pos2" comparator="eq"
                        value="o"/>
                </compositeRule>
                <compositeRule id="rOWinLine1" operator="and">
                  <rule id="rOWinLine1_pos3" var="_pos3" comparator="eq"
                        value="o"/>
                  <rule id="rOWinLine1_pos4" var="_pos4" comparator="eq"
                        value="o"/>
                  <rule id="rOWinLine1_pos5" var="_pos5" comparator="eq"
                        value="o"/>
                </compositeRule>
                <compositeRule id="rOWinLine2" operator="and">
                  <rule id="rOWinLine2_pos6" var="_pos6" comparator="eq"
                        value="o"/>
                  <rule id="rOWinLine2_pos7" var="_pos7" comparator="eq"
                        value="o"/>
                  <rule id="rOWinLine2_pos8" var="_pos8" comparator="eq"
                        value="o"/>
                </compositeRule>
              </compositeRule>
              <!-- o wins column -->
              <compositeRule id="rOWinCol" operator="or">
                <compositeRule id="rOWinCol0" operator="and">
                  <rule id="rOWinCol0_pos0" var="_pos0" comparator="eq"
                        value="o"/>
                  <rule id="rOWinCol0_pos3" var="_pos3" comparator="eq"
                        value="o"/>
                  <rule id="rOWinCol0_pos6" var="_pos6" comparator="eq"
                        value="o"/>
                </compositeRule>
                <compositeRule id="rOWinCol1" operator="and">
                  <rule id="rOWinCol1_pos1" var="_pos1" comparator="eq"
                        value="o"/>
                  <rule id="rOWinCol1_pos4" var="_pos4" comparator="eq"
                        value="o"/>
                  <rule id="rOWinCol1_pos7" var="_pos7" comparator="eq"
                        value="o"/>
                </compositeRule>
                <compositeRule id="rOWinCol2" operator="and">
                  <rule id="rOWinCol2_pos2" var="_pos2" comparator="eq"
                        value="o"/>
                  <rule id="rOWinCol2_pos5" var="_pos5" comparator="eq"
                        value="o"/>
                  <rule id="rOWinCol2_pos8" var="_pos8" comparator="eq"
                        value="o"/>
                </compositeRule>
              </compositeRule>
              <!-- o wins diagonal -->
              <compositeRule id="rOWinDia" operator="or">
                <compositeRule id="rOWinDia0" operator="and">
                  <rule id="rOWinDia0_pos0" var="_pos0" comparator="eq"
                        value="o"/>
                  <rule id="rOWinDia0_pos4" var="_pos4" comparator="eq"
                        value="o"/>
                  <rule id="rOWinDia0_pos8" var="_pos8" comparator="eq"
                        value="o"/>
                </compositeRule>
                <compositeRule id="rOWinDia1" operator="and">
                  <rule id="rOWinDia1_pos2" var="_pos2" comparator="eq"
                        value="o"/>
                  <rule id="rOWinDia1_pos4" var="_pos4" comparator="eq"
                        value="o"/>
                  <rule id="rOWinDia1_pos6" var="_pos6" comparator="eq"
                        value="o"/>
                </compositeRule>
              </compositeRule>
            </compositeRule>

            <!-- tie, no more moves and
                 x (always makes the last move) loses -->
            <compositeRule id="rTie" operator="and">
              <compositeRule id="rTieNoMoves" operator="and">
                <rule id="rTie0" var="_pos0" comparator="ne" value="empty"/>
                <rule id="rTie1" var="_pos1" comparator="ne" value="empty"/>
                <rule id="rTie2" var="_pos2" comparator="ne" value="empty"/>
                <rule id="rTie3" var="_pos3" comparator="ne" value="empty"/>
                <rule id="rTie4" var="_pos4" comparator="ne" value="empty"/>
                <rule id="rTie5" var="_pos5" comparator="ne" value="empty"/>
                <rule id="rTie6" var="_pos6" comparator="ne" value="empty"/>
                <rule id="rTie7" var="_pos7" comparator="ne" value="empty"/>
                <rule id="rTie8" var="_pos8" comparator="ne" value="empty"/>
              </compositeRule>

              <!-- TODO: there must be a better way to do this... -->
              <!-- x lose -->
              <compositeRule id="rXLose" operator="and">
                <!-- x lose line -->
                <compositeRule id="rXLoseLine" operator="and">
                  <compositeRule id="rXLoseLine0" operator="or">
                    <rule id="rXLoseLine0_pos0" var="_pos0" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseLine0_pos1" var="_pos1" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseLine0_pos2" var="_pos2" comparator="ne"
                          value="x"/>
                  </compositeRule>
                  <compositeRule id="rXLoseLine1" operator="or">
                    <rule id="rXLoseLine1_pos3" var="_pos3" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseLine1_pos4" var="_pos4" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseLine1_pos5" var="_pos5" comparator="ne"
                          value="x"/>
                  </compositeRule>
                  <compositeRule id="rXLoseLine2" operator="or">
                    <rule id="rXLoseLine2_pos6" var="_pos6" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseLine2_pos7" var="_pos7" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseLine2_pos8" var="_pos8" comparator="ne"
                          value="x"/>
                  </compositeRule>
                </compositeRule>
                <!-- x lose col -->
                <compositeRule id="rXLoseCol" operator="and">
                  <compositeRule id="rXLoseCol0" operator="or">
                    <rule id="rXLoseCol0_pos0" var="_pos0" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseCol0_pos3" var="_pos3" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseCol0_pos6" var="_pos6" comparator="ne"
                          value="x"/>
                  </compositeRule>
                  <compositeRule id="rXLoseCol1" operator="or">
                    <rule id="rXLoseCol1_pos1" var="_pos1" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseCol1_pos4" var="_pos4" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseCol1_pos7" var="_pos7" comparator="ne"
                          value="x"/>
                  </compositeRule>
                  <compositeRule id="rXLoseCol2" operator="or">
                    <rule id="rXLoseCol2_pos2" var="_pos2" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseCol2_pos5" var="_pos5" comparator="ne"
                          value="x"/>
                    <rule id="rXLoseCol2_pos8" var="_pos8" comparator="ne"
                          value="x"/>
                  </compositeRule>
                </compositeRule>
                <!-- x lose diagonal -->
                <compositeRule id="RXLoseDia" operator="and">
                  <compositeRule id="RXLoseDia1" operator="or">
                    <rule id="rXLoseDia1_pos0" var="_pos0" comparator="ne"
                          value="x" />
                    <rule id="rXLoseDia1_pos4" var="_pos4" comparator="ne"
                          value="x" />
                    <rule id="rXLoseDia1_pos8" var="_pos8" comparator="ne"
                          value="x" />
                  </compositeRule>
                  <compositeRule id="RXLoseDia2" operator="or">
                    <rule id="rXLoseDia1_pos2" var="_pos2" comparator="ne"
                          value="x" />
                    <rule id="rXLoseDia1_pos41" var="_pos4" comparator="ne"
                          value="x" />
                    <rule id="rXLoseDia1_pos6" var="_pos6" comparator="ne"
                          value="x" />
                  </compositeRule>
                </compositeRule>
              </compositeRule>
            </compositeRule>
          </ruleBase>

          <connectorBase>
            <importBase alias="conn" documentURI="base.conn"/>
          </connectorBase>
        </head>

        <body>
          <port id="pStart" component="board"/>

          <!-- red: quit -->
          <link xconnector="conn#onKeySelectionAbort">
            <bind component="board" interface="pExit" role="onSelection"/>
            <bind component="board" interface="pExit" role="onKeySelection">
              <bindParam name="key" value="RED"/>
            </bind>
            <bind component="board" role="abort"/>
          </link>

          <!-- green: restart game -->
          <link xconnector="conn#onKeySelectionStopStart">
            <bind component="board" interface="pPlayAgain"
                  role="onSelection"/>
            <bind component="board" interface="pPlayAgain"
                  role="onKeySelection">
              <bindParam name="key" value="GREEN"/>
            </bind>
            <bind component="board" role="stop"/>
            <bind component="board" role="start"/>
          </link>

          <!-- board -->
          <context id="board">
            <port id="pTitle" component="title"/>
            <port id="pExit" component="exit"/>
            <port id="pPlayAgain" component="play_again"/>
            <port id="pGrid" component="grid"/>
            <port id="pPos0" component="empty0"/>
            <port id="pPos1" component="empty1"/>
            <port id="pPos2" component="empty2"/>
            <port id="pPos3" component="empty3"/>
            <port id="pPos4" component="empty4"/>
            <port id="pPos5" component="empty5"/>
            <port id="pPos6" component="empty6"/>
            <port id="pPos7" component="empty7"/>
            <port id="pPos8" component="empty8"/>

            <media id="exit" src="media/exit.png" descriptor="dExit"/>
            <media id="play_again" src="media/play_again.png"
                   descriptor="dPlayAgain"/>
            <media id="title" src="media/title.png" descriptor="dTitle"/>

            <!-- empty board -->
            <media id="grid" src="media/grid.png" descriptor="dGrid"/>
            <media id="empty0" src="media/empty.png" descriptor="dPos0"/>
            <media id="empty1" src="media/empty.png" descriptor="dPos1"/>
            <media id="empty2" src="media/empty.png" descriptor="dPos2"/>
            <media id="empty3" src="media/empty.png" descriptor="dPos3"/>
            <media id="empty4" src="media/empty.png" descriptor="dPos4"/>
            <media id="empty5" src="media/empty.png" descriptor="dPos5"/>
            <media id="empty6" src="media/empty.png" descriptor="dPos6"/>
            <media id="empty7" src="media/empty.png" descriptor="dPos7"/>
            <media id="empty8" src="media/empty.png" descriptor="dPos8"/>

            <!-- symbols -->
            <media id="x" src="media/x.png"/>
            <media id="o" src="media/o.png"/>

            <!-- settings -->
            <media id="noSettings" type="application/x-ginga-settings">
              <property name="service.currentFocus" value="0"/>
              <property name="_pos0" value="empty"/>
              <property name="_pos1" value="empty"/>
              <property name="_pos2" value="empty"/>
              <property name="_pos3" value="empty"/>
              <property name="_pos4" value="empty"/>
              <property name="_pos5" value="empty"/>
              <property name="_pos6" value="empty"/>
              <property name="_pos7" value="empty"/>
              <property name="_pos8" value="empty"/>

              <!-- x plays first -->
              <property name="turn" value="x"/>
            </media>

            <!-- search for a winner after each move -->
            <switch id="search_winner">

              <!-- x wins -->
              <bindRule rule="rXWin" constituent="xwin"/>
              <media id="xwin" src="media/xwin.png" descriptor="dMessages"/>

              <!-- o wins -->
              <bindRule rule="rOWin" constituent="owin"/>
              <media id="owin" src="media/owin.png" descriptor="dMessages"/>

              <!-- tie -->
              <bindRule rule="rTie" constituent="tie"/>
              <media id="tie"  src="media/tie.png" descriptor="dMessages"/>
            </switch>

            <!-- LINKS -->
            <!-- context initialization -->
            <link xconnector="conn#onBeginSet">
              <bind component="empty0" role="onBegin"/>
              <bind component="noSettings" interface="service.currentFocus"
                    role="set">
                <bindParam name="val" value="0"/>
              </bind>
              <bind component="noSettings" interface="_pos0" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="_pos1" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="_pos2" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="_pos3" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="_pos4" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="_pos5" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="_pos6" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="_pos7" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="_pos8" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
            </link>

            <!-- game over, change focus to play_again -->
            <link xconnector="conn#onBeginSet">
              <bind component="search_winner" role="onBegin"/>
              <bind component="noSettings" interface="service.currentFocus"
                    role="set">
                <bindParam name="val" value="ixPlayAgain"/>
              </bind>
            </link>

            <!-- pos0 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty0" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos0" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos0" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty0" descriptor="dPos0" role="stop"/>
            </link>

            <!-- pos0 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty0" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos0" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos0" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty0" descriptor="dPos0" role="stop"/>
            </link>

            <!-- pos1 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty1" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos1" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos1" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty1" descriptor="dPos1" role="stop"/>
            </link>

            <!-- pos1 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty1" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos1" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos1" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty1" descriptor="dPos1" role="stop"/>
            </link>

            <!-- pos2 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty2" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos2" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos2" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty2" descriptor="dPos2" role="stop"/>
            </link>

            <!-- pos2 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty2" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos2" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos2" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty2" descriptor="dPos2" role="stop"/>
            </link>

            <!-- pos3 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty3" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos3" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos3" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty3" descriptor="dPos3" role="stop"/>
            </link>

            <!-- pos3 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty3" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos3" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos3" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty3" descriptor="dPos3" role="stop"/>
            </link>

            <!-- pos4 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty4" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos4" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos4" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty4" descriptor="dPos4" role="stop"/>
            </link>

            <!-- pos4 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty4" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos4" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos4" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty4" descriptor="dPos4" role="stop"/>
            </link>

            <!-- pos5 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty5" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos5" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos5" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty5" descriptor="dPos5" role="stop"/>
            </link>

            <!-- pos5 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty5" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos5" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos5" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty5" descriptor="dPos5" role="stop"/>
            </link>

            <!-- pos6 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty6" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos6" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos6" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty6" descriptor="dPos6" role="stop"/>
            </link>

            <!-- pos6 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty6" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos6" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos6" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty6" descriptor="dPos6" role="stop"/>
            </link>

            <!-- pos7 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty7" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos7" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos7" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty7" descriptor="dPos7" role="stop"/>
            </link>

            <!-- pos7 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty7" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos7" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos7" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty7" descriptor="dPos7" role="stop"/>
            </link>

            <!-- pos8 > x -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty8" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="x"/>
              </bind>

              <bind component="noSettings" interface="_pos8" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="x" descriptor="dPos8" role="start"/>
              <bind component="search_winner" role="start"/>
              <bind component="empty8" descriptor="dPos8" role="stop"/>
            </link>

            <!-- pos8 > o -->
            <link xconnector="conn#onKeySelectionPropertyTestStopSetStart">
              <bind component="empty8" role="onSelection"/>
              <bind component="noSettings" interface="turn" role="propertyTest">
                <bindParam name="val" value="o"/>
              </bind>

              <bind component="noSettings" interface="_pos8" role="set">
                <bindParam name="val" value="o"/>
              </bind>
              <bind component="noSettings" interface="turn" role="set">
                <bindParam name="val" value="x"/>
              </bind>
              <bind component="o" descriptor="dPos8" role="start"/>
             <bind component="search_winner" role="start"/>
              <bind component="empty8" descriptor="dPos8" role="stop"/>
            </link>

          </context>
        </body>
      </ncl>
       

      • 3114c6434e99be13409646e73c5e9c84?only path=false&size=50&d=404Guilherme Daher(usuário não autenticado)
        19 de Maio de 2009, 12:13

         

        esse arquivo aqui, também foi baixado no ncl club e apresenta erro no ncl eclipse e roda normalmente no live cd

         

        <?xml version="1.0" encoding="ISO-8859-1"?>
        <!-- $Id: main.ncl,v 1.3 2009/02/14 23:32:46 root Exp $ -->
        <!--
            main.ncl
            06feb2009, gflima@telemidia.puc-rio.br

            Corrida de cavalos.
          -->

        <ncl id="hrace" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
          <head>
            <regionBase>
              <region id="rgScreen" width="640" height="480" zIndex="0" top="0" left="0">
            <region id="rgHeader" width="640" height="100"
                    top="0" left="0" zIndex="1" />

                <!-- Race -->
                <region id="rgTrack" width="640" height="250"
                    top="100" left="0" zIndex="1">

                  <!-- Stripes (on track winner notification) -->
                  <region id="rgStripeRed" width="496" height="23"
                          top="56" left="72" zIndex="2" />

                  <region id="rgStripeGreen" width="529" height="32"
                          top="76" left="55" zIndex="2" />

                  <region id="rgStripeYellow" width="570" height="40"
                          top="104" left="35" zIndex="2" />

                  <region id="rgStripeBlue" width="631" height="58"
                      top="139" left="4" zIndex="2" />

                  <!-- Horses initial image -->
                  <region id="rgStanding" width="97" height="139"
                      top="32" left="59" zIndex="3" />

                  <!-- Lua -->
                  <region id="rgLuaHorses" width="640" height="250"
                      top="0" left="0" zIndex="5" />
                </region>

                <!-- Menus and notifications -->
                <region id="rgFooter" width="640" height="130"
                    top="350" left="0" zIndex="1">

                  <!-- Bet menu -->
                  <region id="rgBetMenuTitle" width="215" height="130"
                          top="0" left="0" zIndex="2" />

                  <region id="rgBetMenuRed" width="101" height="130"
                          top="0" left="215" zIndex="2" />

                  <region id="rgBetMenuGreen" width="96" height="130"
                          top="0" left="316" zIndex="2" />

                  <region id="rgBetMenuYellow" width="99" height="130"
                          top="0" left="412" zIndex="2" />

                  <region id="rgBetMenuBlue" width="129" height="130"
                          top="0" left="511" zIndex="2" />

                  <!-- Result -->
                  <region id="rgResult" width="490" height="130"
                          top="0" left="0" zIndex="2" />

                  <region id="rgPlayAgain" width="150" height="65"
                          top="0" left="490" zIndex="2" />

                  <region id="rgExit" width="150" height="65"
                          top="65" left="490" zIndex="2" />
                </region>
              </region>
            </regionBase>

            <descriptorBase>
              <descriptor id="dHeader" region="rgHeader" />
              <descriptor id="dTrack" region="rgTrack" />

              <!-- Race -->
              <descriptor id="dStripeRed" region="rgStripeRed" />
              <descriptor id="dStripeGreen" region="rgStripeGreen" />
              <descriptor id="dStripeYellow" region="rgStripeYellow" />
              <descriptor id="dStripeBlue" region="rgStripeBlue" />
              <descriptor id="dStanding" region="rgStanding" />
              <descriptor id="dLuaHorses" region="rgLuaHorses"  />

              <!-- Bet menu -->
              <descriptor id="dBetMenuTitle" region="rgBetMenuTitle" />
              <descriptor id="dBetMenuRed" region="rgBetMenuRed" focusIndex="ixBetRed"
                          moveUp="ixBetBlue" moveDown="ixBetGreen"
                          moveLeft="ixBetBlue" moveRight="ixBetGreen"
                          focusSrc="media/bet_red_on.png"
                          focusSelSrc="media/bet_red_on.png"
                          focusBorderWidth="0" />

              <descriptor id="dBetMenuGreen" region="rgBetMenuGreen" focusIndex="ixBetGreen"
                          moveUp="ixBetRed" moveDown="ixBetYellow"
                          moveLeft="ixBetRed" moveRight="ixBetYellow"
                          focusSrc="media/bet_green_on.png"
                          focusSelSrc="media/bet_green_on.png"
                          focusBorderWidth="0" />

              <descriptor id="dBetMenuYellow" region="rgBetMenuYellow" focusIndex="ixBetYellow"
                          moveUp="ixBetGreen" moveDown="ixBetBlue"
                          moveLeft="ixBetGreen" moveRight="ixBetBlue"
                          focusSrc="media/bet_yellow_on.png"
                          focusSelSrc="media/bet_yellow_on.png"
                          focusBorderWidth="0" />

              <descriptor id="dBetMenuBlue" region="rgBetMenuBlue" focusIndex="ixBetBlue"
                          moveUp="ixBetYellow" moveDown="ixBetRed"
                          moveLeft="ixBetYellow" moveRight="ixBetRed"
                          focusSrc="media/bet_blue_on.png"
                          focusSelSrc="media/bet_blue_on.png"
                          focusBorderWidth="0" />

              <!-- Result -->
              <descriptor id="dResult" region="rgResult" />
              <descriptor id="dPlayAgain" region="rgPlayAgain"
                          focusIndex="ixPlayAgain"
                  moveUp="ixExit" moveDown="ixExit"
                  moveLeft="ixExit" moveRight="ixExit"
                  focusSrc="media/play_again_on.png"
                  focusSelSrc="media/play_again_on.png"
                  focusBorderWidth="0" />
              <descriptor id="dExit" region="rgExit"
                          focusIndex="ixExit"
                  moveUp="ixPlayAgain" moveDown="ixPlayAgain"
                  moveLeft="ixPlayAgain" moveRight="ixPlayAgain"
                  focusSrc="media/exit_on.png"
                  focusSelSrc="media/exit_on.png"
                  focusBorderWidth="0" />
            </descriptorBase>

            <connectorBase>
              <causalConnector id="onBeginSet">
                <connectorParam name="val"/>
                <simpleCondition role="onBegin" />
                <simpleAction role="set"  />
                       
              </causalConnector>

              <causalConnector id="onBeginSetStart">
                <connectorParam name="val"/>
                <simpleCondition role="onBegin" />
            <compoundAction operator="seq">
                  <simpleAction role="set" />
                  <simpleAction role="start" />
            </compoundAction>
              </causalConnector>

              <causalConnector id="onBeginStopStart">
                <simpleCondition role="onBegin" />
                <compoundAction operator="seq">
                  <simpleAction role="stop"  />
                  <simpleAction role="start"  />
                </compoundAction>
              </causalConnector>

              <causalConnector id="onKeySelectionStop">
                <connectorParam name="key" />
            <compoundCondition operator="or">
              <simpleCondition role="onKeySelection" eventType="selection"
                               transition="starts" key="$key" />
                  <simpleCondition role="onSelection" key="$key" />
            </compoundCondition>
            <simpleAction role="stop" />
              </causalConnector>

              <causalConnector id="onKeySelectionStopStart">
                <connectorParam name="key" />
            <compoundCondition operator="or">
              <simpleCondition role="onKeySelection" eventType="selection"
                               transition="starts" key="$key" />
                  <simpleCondition role="onSelection" key="$key" />
            </compoundCondition>
                <compoundAction operator="seq">
                  <simpleAction role="stop" />
                  <simpleAction role="start" />
                </compoundAction>
              </causalConnector>

              <causalConnector id="onKeySelectionSetStopStart">
                <connectorParam name="key" />
                <connectorParam name="val" />
            <compoundCondition operator="or">
              <simpleCondition role="onKeySelection" eventType="selection"
                               transition="starts" key="$key" />
                  <simpleCondition role="onSelection" key="$key" />
            </compoundCondition>
                <compoundAction operator="seq">
                  <simpleAction role="set"  />
                  <simpleAction role="stop" />
                  <simpleAction role="start" />
                </compoundAction>
              </causalConnector>
            </connectorBase>

            <ruleBase>
              <!-- Red results -->
              <compositeRule id="rBetRedWin" operator="and">
                <rule id="rBetRed" var="player_bet" comparator="eq" value="red" />
                <rule id="rRedWin" var="winner" comparator="eq" value="red" />
              </compositeRule>

              <compositeRule id="rBetRedLose" operator="and">
                <rule id="rBetRed1" var="player_bet" value="red" comparator="eq"/>
            <rule id="rRedLose" var="winner" comparator="ne" value="red" />
              </compositeRule>

              <!-- Green results -->
              <compositeRule id="rBetGreenWin" operator="and">
                <rule id="rBetGreen" var="player_bet" comparator="eq" value="green" />
                <rule id="rGreenWin" var="winner" comparator="eq" value="green" />
              </compositeRule>

              <compositeRule id="rBetGreenLose" operator="and">
                <rule id="rBetGreen1" var="player_bet" comparator="eq" value="green" />
            <rule id="rGreenLose" var="winner" comparator="ne" value="green" />
              </compositeRule>

              <!-- Yellow results -->
              <compositeRule id="rBetYellowWin" operator="and">
                <rule id="rBetYellow" var="player_bet" comparator="eq" value="yellow" />
                <rule id="rYellowWin" var="winner" comparator="eq" value="yellow" />
              </compositeRule>

              <compositeRule id="rBetYellowLose" operator="and">
                <rule id="rBetYellow1" var="player_bet" comparator="eq" value="yellow" />
            <rule id="rYellowLose" var="winner" comparator="ne" value="yellow" />
              </compositeRule>

              <!-- Blue results -->
              <compositeRule id="rBetBlueWin" operator="and">
                <rule id="rBetBlue" var="player_bet" comparator="eq" value="blue" />
                <rule id="rBlueWin" var="winner" comparator="eq" value="blue" />
              </compositeRule>

              <compositeRule id="rBetBlueLose" operator="and">
                <rule id="rBetBlue1" var="player_bet" comparator="eq" value="blue" />
            <rule id="rBlueLose" var="winner" comparator="ne" value="blue" />
              </compositeRule>
            </ruleBase>
          </head>

          <body>
            <port id="pHeader" component="header" />
            <port id="pTrack" component="track" />
            <port id="pBetMenu" component="bet_menu" />

            <media id="header" src="media/header.png" descriptor="dHeader" />
            <media id="track" src="media/bg.png" descriptor="dTrack" />
            <media id="standing" src="media/standing.png" descriptor="dStanding" />

            <media id="settings" type="application/x-ginga-settings">
              <property name="service.currentFocus" value="ixBetRed" />
              <property name="player_bet" value="empty" />
              <property name="winner" value="empty" />
            </media>

            <context id="bet_menu">
              <port id="pTitle" component="bm_title" />
              <port id="pRed" component="bm_red" />
              <port id="pGreen" component="bm_green" />
              <port id="pYellow" component="bm_yellow" />
              <port id="pBlue" component="bm_blue" />

              <media id="bm_title" src="media/bet_title.png"
                     descriptor="dBetMenuTitle" />
              <media id="bm_red" src="media/bet_red_off.png"
                     descriptor="dBetMenuRed" />
              <media id="bm_green" src="media/bet_green_off.png"
                     descriptor="dBetMenuGreen" />
              <media id="bm_yellow" src="media/bet_yellow_off.png"
                     descriptor="dBetMenuYellow" />
              <media id="bm_blue" src="media/bet_blue_off.png"
                     descriptor="dBetMenuBlue" />
            </context>

            <context id="stripes">
              <port id="pRed1" component="stripe_red" />
              <port id="pGreen1" component="stripe_green" />
              <port id="pYellow1" component="stripe_yellow" />
              <port id="pBlue1" component="stripe_blue" />

              <media id="stripe_red" src="media/stripe_red.png"
                     descriptor="dStripeRed" />
              <media id="stripe_green" src="media/stripe_green.png"
                     descriptor="dStripeGreen" />
              <media id="stripe_yellow" src="media/stripe_yellow.png"
                     descriptor="dStripeYellow" />
              <media id="stripe_blue" src="media/stripe_blue.png"
                     descriptor="dStripeBlue" />
            </context>

            <!-- Sounds -->
            <media id="start_sound" src="media/start.mp3">
              <area id="go" begin="5.8s" />
            </media>
            <media id="galloping_sound" src="media/galloping.mp3" />

            <!-- Result evaluation -->
            <switch id="result">
              <!-- Player wins -->
              <bindRule rule="rBetRedWin" constituent="win_red" />
              <context id="win_red">
                <port id="pWinRedImg" component="win_red_img" />
                <port id="pApplause" component="applause_sound" />
                <media id="win_red_img" src="media/win_red.png" descriptor="dResult" />
                <media id="applause_sound" src="media/applause.mp3" />
              </context>

              <bindRule rule="rBetGreenWin" constituent="win_green" />
              <context id="win_green">
                <port id="pWinGreenImg" component="win_green_img" />
                <port id="pApplauseSound" component="applause_sound" />
                <media id="win_green_img" src="media/win_green.png"
                       descriptor="dResult" />
                <media id="applause_sound2" src="media/applause.mp3" />
              </context>

              <bindRule rule="rBetYellowWin" constituent="win_yellow" />
              <context id="win_yellow">
                <port id="pWinYellowImg" component="win_yellow_img" />
                <port id="pApplauseSound2" component="applause_sound" />
                <media id="win_yellow_img" src="media/win_yellow.png"
                       descriptor="dResult" />
                <media id="applause_sound1" src="media/applause.mp3" />
              </context>

              <bindRule rule="rBetBlueWin" constituent="win_blue" />
              <context id="win_blue">
                <port id="pWinBlueImg" component="win_blue_img" />
                <port id="pApplauseSound1" component="applause_sound" />
                <media id="win_blue_img" src="media/win_blue.png"
                       descriptor="dResult" />
                <media id="applause_sound3" src="media/applause.mp3" />
              </context>

              <!-- Player loses -->
              <bindRule rule="rBetRedLose" constituent="lose_red" />
              <context id="lose_red">
                <port id="pLoseRedImg" component="lose_red_img" />
                <port id="pLoseSound" component="lose_sound" />
                <media id="lose_red_img" src="media/lose_red.png"
                       descriptor="dResult" />
                <media id="lose_sound" src="media/lose.mp3" />
              </context>

              <bindRule rule="rBetGreenLose"  constituent="lose_green" />
              <context id="lose_green">
                <port id="pLoseGreenImg" component="lose_green_img" />
                <port id="pLoseSound3" component="lose_sound" />
                <media id="lose_green_img" src="media/lose_green.png"
                       descriptor="dResult" />
                <media id="lose_sound1" src="media/lose.mp3" />
              </context>

              <bindRule rule="rBetYellowLose" constituent="lose_yellow" />
              <context id="lose_yellow">
                <port id="pLoseYellowImg" component="lose_yellow_img" />
                <port id="pLoseSound1" component="lose_sound" />
                <media id="lose_yellow_img" src="media/lose_yellow.png"
                       descriptor="dResult" />
                <media id="lose_sound2" src="media/lose.mp3" />
              </context>

              <bindRule rule="rBetBlueLose" constituent="lose_blue" />
              <context id="lose_blue">
                <port id="pLoseBlueImg" component="lose_blue_img" />
                <port id="pLoseSound2" component="lose_sound" />
                <media id="lose_blue_img" src="media/lose_blue.png"
                       descriptor="dResult" />
                <media id="lose_sound3" src="media/lose.mp3" />
              </context>
            </switch>

            <!-- Play again or exit -->
            <context id="end_menu">
              <port id="pExit" component="em_exit" />
              <port id="pPlayAgain" component="em_play_again" />
              <media id="em_exit" src="media/exit_off.png" descriptor="dExit" />
              <media id="em_play_again" src="media/play_again_off.png"
                     descriptor="dPlayAgain" />
            </context>

            <media id="lua_horses" src="hrace.lua" descriptor="dLuaHorses">
              <area id="red" />
              <area id="green" />
              <area id="yellow" />
              <area id="blue" />
            </media>

            <!-- Links -->

            <!-- Initialize settings -->
            <link xconnector="onBeginSet">
              <bind component="bet_menu" interface="pRed" role="onBegin" />
              <bind component="settings" interface="player_bet" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="settings" interface="winner" role="set">
                <bindParam name="val" value="empty"/>
              </bind>
              <bind component="settings" interface="service.currentFocus" role="set">
                <bindParam name="val" value="ixBetRed"/>
              </bind>
            </link>

            <!-- Bet red -->
            <link xconnector="onKeySelectionSetStopStart">
              <bind component="bet_menu" interface="pRed" role="onSelection" />
              <bind component="bet_menu" interface="pRed" role="onKeySelection">
                <bindParam name="key" value="RED" />
              </bind>
              <bind component="settings" interface="player_bet" role="set">
                <bindParam name="val" value="red"/>
              </bind>
              <bind component="bet_menu" role="stop" />
              <bind component="standing" role="start" />
              <bind component="start_sound" role="start" />
            </link>

            <!-- Bet green -->
            <link xconnector="onKeySelectionSetStopStart">
              <bind component="bet_menu" interface="pGreen" role="onSelection" />
              <bind component="bet_menu" interface="pGreen" role="onKeySelection">
                <bindParam name="key" value="GREEN" />
              </bind>
              <bind component="settings" interface="player_bet" role="set">
                <bindParam name="val" value="green"/>
              </bind>
              <bind component="bet_menu" role="stop" />
              <bind component="standing" role="start" />
              <bind component="start_sound" role="start" />
            </link>

            <!-- Bet yellow -->
            <link xconnector="onKeySelectionSetStopStart">
              <bind component="bet_menu" interface="pYellow" role="onSelection" />
              <bind component="bet_menu" interface="pYellow" role="onKeySelection">
                <bindParam name="key" value="YELLOW" />
              </bind>
              <bind component="settings" interface="player_bet" role="set">
                <bindParam name="val" value="yellow"/>
              </bind>
              <bind component="bet_menu" role="stop" />
              <bind component="standing" role="start" />
              <bind component="start_sound" role="start" />
            </link>

            <!-- Bet blue -->
            <link xconnector="onKeySelectionSetStopStart">
              <bind component="bet_menu" interface="pBlue" role="onSelection" />
              <bind component="bet_menu" interface="pBlue" role="onKeySelection">
                <bindParam name="key" value="BLUE" />
              </bind>
              <bind component="settings" interface="player_bet" role="set">
                <bindParam name="val" value="blue"/>
              </bind>
              <bind component="bet_menu" role="stop" />
              <bind component="standing" role="start" />
              <bind component="start_sound" role="start" />
            </link>

            <!-- Start race -->
            <link xconnector="onBeginStopStart">
              <bind component="start_sound" interface="go" role="onBegin"/>
              <bind component="standing" role="stop" />
              <bind component="galloping_sound" role="start" />
              <bind component="lua_horses" role="start" />
            </link>

            <!-- Red won -->
            <link xconnector="onBeginSetStart">
              <bind component="lua_horses" interface="red" role="onBegin"/>
              <bind component="settings" interface="winner" role="set">
                <bindParam name="val" value="red" />
              </bind>
              <bind component="stripes" interface="pRed1" role="start" />
              <bind component="result" role="start" />
            </link>

            <!-- Green won -->
            <link xconnector="onBeginSetStart">
              <bind component="lua_horses" interface="green" role="onBegin"/>
              <bind component="settings" interface="winner" role="set">
                <bindParam name="val" value="green" />
              </bind>
              <bind component="stripes" interface="pGreen1" role="start" />
              <bind component="result" role="start" />
            </link>

            <!-- Yellow won -->
            <link xconnector="onBeginSetStart">
              <bind component="lua_horses" interface="yellow" role="onBegin"/>
              <bind component="settings" interface="winner" role="set">
                <bindParam name="val" value="yellow" />
              </bind>
              <bind component="stripes" interface="pYellow1" role="start" />
              <bind component="result" role="start" />
            </link>

            <!-- Blue won -->
            <link xconnector="onBeginSetStart">
              <bind component="lua_horses" interface="blue" role="onBegin"/>
              <bind component="settings" interface="winner" role="set">
                <bindParam name="val" value="blue" />
              </bind>
              <bind component="stripes" interface="pBlue1" role="start" />
              <bind component="result" role="start" />
            </link>

            <!-- Show end menu -->
            <link xconnector="onBeginStopStart">
              <bind component="result" role="onBegin" />
              <bind component="galloping_sound" role="stop" />
              <bind component="end_menu" role="start" />
            </link>
            <link xconnector="onBeginSet">
              <bind component="end_menu" interface="pPlayAgain" role="onBegin" />
              <bind component="settings" interface="service.currentFocus" role="set">
                <bindParam name="val" value="ixPlayAgain"/>
              </bind>
            </link>

            <!-- Play again -->
            <link xconnector="onKeySelectionStopStart">
              <bind component="end_menu" interface="pPlayAgain" role="onSelection" />
              <bind component="end_menu" interface="pPlayAgain" role="onKeySelection">
                <bindParam name="key" value="GREEN" />
              </bind>
              <bind component="result" role="stop" />
              <bind component="end_menu" role="stop" />
              <bind component="lua_horses" role="stop" />
              <bind component="stripes" role="stop" />
        <!--       <bind component="start_sound" role="stop" /> -->
              <bind component="bet_menu" role="start" />
            </link>

            <!-- Exit -->
            <link xconnector="onKeySelectionStop">
              <bind component="end_menu" interface="pExit" role="onSelection" />
              <bind component="end_menu" interface="pExit" role="onKeySelection">
                <bindParam name="key" value="RED" />
              </bind>
              <bind component="result" role="stop" />
              <bind component="end_menu" role="stop" />
              <bind component="lua_horses" role="stop" />
              <bind component="stripes" role="stop" />
              <bind component="track" role="stop" />
              <bind component="header" role="stop" />
        <!--       <bind component="start_sound" role="stop" /> -->
            </link>
          </body>
        </ncl>
         

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