desenvolvi uma aplicação via composer simples: tenho um texto que após 5 seg chama um vídeo e qdo este termina um novo texto.
qdo rodo a aplicação no play do composer funciona direitinho, mas qdo transfiro a aplicação para o STB virtual e rodo a aplicação somente o primeiro texto é exibido. tentei tanto na maquina virtual fedora qto na ubuntu e nada. até troquei de vídeo e nada.
o ssh apresenta a seguinte mensagem:
[root@gingavm ~]# /misc/launcher.sh /misc/ncl30/apresenta/newDocument1.ncl
argv = '/misc/ncl30/apresenta/newDocument1.ncl' nclFile = '/misc/ncl30/apresenta/newDocument1.ncl'
ginga main() NCLFILE = /misc/ncl30/apresenta/newDocument1.ncl
commandline read: ginga
~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.1 |~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2001-2009 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2009-12-23 07:32)
(*) Direct/Thread: Started 'VT Switcher' (1602) [CRITICAL OTHER/OTHER 0/0] <8388608>...
(*) Direct/Thread: Started 'VT Flusher' (1603) [DEFAULT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/FBDev: Found 'VESA VGA' (ID 0) with frame buffer at 0xf0000000, 1200k (MMIO 0x00000000, 0k)
(*) Direct/Thread: Started 'Keyboard Input' (1604) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: Keyboard 0.9 (directfb.org)
(*) Direct/Thread: Started 'PS/2 Input' (1605) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: IMPS/2 Mouse 1.0 (directfb.org)
(*) DirectFB/Genefx: MMX detected and enabled
(*) DirectFB/Graphics: MMX Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(#) DirectFBError [gingacc-systemio DFBDeviceScreen TestConfig error: ]: Not supported!
InputManager::initializeInputIntervalTime imperative = '0' declarative = '200'
ginga main() NCLFILE = /misc/ncl30/apresenta/newDocument1.ncl
PresentationEngineManager::openNclFile document process time: 0
FormatterMediator::printData(0x807a3b0) baseId: -1 playerId: /misc/ncl30/apresenta/newDocument1.ncl devClass: 0 x: 0 y: 0 w: 640 h: 480 enableGfx: 1 parentDocId: docId:
(!) Direct/Interface: Unable to dlopen `/usr/local/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_pnm.so'!
--> /usr/local/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_pnm.so: undefined symbol: direct_config
(!) Direct/Interface: Unable to dlopen `/usr/local/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_bmp.so'!
--> /usr/local/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_bmp.so: undefined symbol: direct_config
(*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'.
ComponentManager::releaseComponentFromObject 'ImageProvider'
BroadcastSocketService::discoverBroadcastAddress interfaceName: 'eth0
PresentationContext::initializeSystemValues
PresentationContext::getPropertyValue prop 'default.focusBorderColor' == 'blue'
PresentationContext::getPropertyValue prop 'default.focusBorderWidth' == '3'
PresentationContext::getPropertyValue prop 'default.selBorderColor' == 'green'
FormatterFocusManager::setKeyHandler(0x831b6e0) isHandler '1' this->isHandler '0' parentManager '0'
FormatterMediator::FormatterMediator(0x807a3b0) isEmbedded = '0'
Fatal Error at file "", line 0, column 0
Message: An exception occurred! Type:RuntimeException, Message:The primary document entity could not be opened. Id=/misc/ncl30/connectors/composerConnectorBase.conn
Parsing /misc/ncl30/connectors/composerConnectorBase.conn
error count: 1
TimeStamp: 0.545
ComponentManager::releaseComponentFromObject 'NclDocumentConverter'
PrivateBaseContext::addDocument id='newDocument1' url='/misc/ncl30/apresenta/newDocument1.ncl' all done
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
ComponentManager::releaseComponentFromObject 'ImageProvider'
FormatterMediator::getDepUriFromNode checking descriptor 'dPergunta1'
FormatterMediator::getDepUriFromNode checking descriptor 'dPergunta2'
FormatterMediator::getDepUriFromNode checking descriptor 'dVideo1'
FormatterMediator::getDepUriFromNode checking descriptor 'dBotao1'
FormatterMediator::getDepUriFromNode checking descriptor 'dBotao2'
FormatterMediator::getDepUriFromNode checking descriptor 'dBotao3'
FormatterMediator::getDepUriFromNode checking descriptor 'dBotao4'
FormatterMultiDevice::addActiveUris activeBaseUri=/misc/ncl30/apresenta/
PresentationContext::getPropertyValue prop 'default.focusBorderTransparency' == '0'
PresentationContext::getPropertyValue prop 'default.focusBorderColor' == 'blue'
PresentationContext::getPropertyValue prop 'default.focusBorderWidth' == '3'
PresentationContext::getPropertyValue prop 'default.selBorderColor' == 'green'
FormatterScheduler::runAction acquiring player for '-1/newDocument1/pergunta1/dPergunta1' TimeStamp: 1.163
FormatterPlayerAdapter::createPlayer for '/misc/ncl30/apresenta/media/Pergunta.txt'
PresentationContext::getPropertyValue prop 'service.currentKeyMaster' has a NULL value
FormatterPlayerAdapter::start creating TIME NominalEventMonitor for '-1/newDocument1/pergunta1/dPergunta1'
FormatterScheduler::runAction takes '151' ms to start '-1/newDocument1/pergunta1/dPergunta1'
FormatterMediator::presentationCompleted for '/misc/ncl30/apresenta/newDocument1.ncl'
PresentationEngineManager::presentationCompleted for '/misc/ncl30/apresenta/newDocument1.ncl'
ShowButton::run STOP
ComponentManager::releaseComponentFromObject 'ImageProvider'
LinksPlayer::~LinksPlayer
TimeStamp: 7.322
FormatterPlayerAdapter::~FormatterPlayerAdapter release 'LinksPlayer'
ComponentManager::releaseComponentFromObject 'LinksPlayer'
InputManager::release
DFBEventBuffer::~DFBEventBuffer()
FormatterMediator::~FormatterMediator '/misc/ncl30/apresenta/newDocument1.ncl'
TimeStamp: 7.327
ComponentManager::releaseComponentFromObject 'LinksPlayerAdapter'
TimeStamp: 7.328
ComponentManager::releaseComponentFromObject 'PresentationEngineManager'
MAIN ALL DONE!
(!!!) *** WARNING [Application exited without deinitialization of DirectFB!] *** [core.c:859 in dfb_core_deinit_check()]
(!) [ 1621: 0.000] --> Caught signal 11 (at 0xb7cce2c3, invalid address) <--
/misc/launcher.sh: line 15: 1593 Aborted /usr/local/sbin/ginga --ncl $1
[root@gingavm ~]#
[root@gingavm ~]#
Autor: Marcelo Andreas Janetzky
77 comentários
<ncl xsi:schemaLocation="http://www.ncl.org.br/NCL3.0/EDTVProfile www.ncl.org.br/NCL3.0/profiles/NCL30EDTV.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile" id="newDocument1"> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CABEÇALHO DO PROGRAMA
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <head> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BASE DE REGIÕES:
define as regiões da tela onde as mídias são apresentadas
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <regionBase>
<region width="1024" height="576" id="rgTela">
<region left="192" top="48" width="640" height="480" id="rgVideo"/>
<region left="192" top="48" width="640" height="56" id="rgPergunta2"/>
<region left="192" top="140" width="95" height="35" id="rgBotao1"/>
<region left="302" top="140" width="95" height="35" id="rgBotao2"/>
<region left="412" top="140" width="95" height="35" id="rgBotao3"/>
<region left="522" top="140" width="95" height="35" id="rgBotao4"/>
</region>
</regionBase> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BASE DE DESCRITORES:
define como as mídias são apresentadas
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <descriptorBase>
<descriptor explicitDur="5.0" region="rgPergunta2" id="dPergunta1"/>
<descriptor region="rgPergunta2" id="dPergunta2"/>
<descriptor region="rgBotao1" id="dBotao1"/>
<descriptor region="rgBotao2" id="dBotao2"/>
<descriptor region="rgBotao3" id="dBotao3"/>
<descriptor region="rgBotao4" id="dBotao4"/>
<descriptor region="rgVideo" id="dVideo1"/>
</descriptorBase> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BASE DE CONECTORES:
definem o comportamento dos elos
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <connectorBase>
<importBase documentURI="../connectors/composerConnectorBase.conn" alias="connBase"/>
</connectorBase> </head> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CORPO DO PROGRAMA:
define as mídias e estrutura do programa
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <body> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PONTO DE ENTRADA:
indica o componente onde o programa inicia
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <port component="pergunta1" id="port_newDocument1_pergunta1"/> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MÍDIAS:
define o local dos arquivos de mídia e as associa com seus descritores
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <media descriptor="dPergunta1" src="media/Pergunta.txt" type="text/html" id="pergunta1"/>
<media descriptor="dPergunta2" src="media/pergunta2.gif" type="image/gif" id="pergunta2"/>
<media descriptor="dVideo1" src="media/video2.mpeg" type="video/mpeg" id="video1"/>
<media descriptor="dBotao1" src="media/botao_vermelho.gif" type="image/gif" id="botaovermelho"/>
<media descriptor="dBotao2" src="media/botao_verde.gif" type="image/gif" id="botaoverde"/>
<media descriptor="dBotao3" src="media/botao_amarelo.gif" type="image/gif" id="botaoamarelo"/>
<media descriptor="dBotao4" src="media/botao_azul.gif" type="image/gif" id="botaoazul"/> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ELOS:
define os elos que regem o sincronismo entre as mídias
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <!-- inicia video 5s após a pergunta1 -->
<link xconnector="connBase#onEndStart" id="lEndPergunta1StartVideo1"> <bind role="onEnd" component="pergunta1"/>
<bind role="start" component="video1"/>
</link> <!-- inicia pergunta2 após término do video -->
<link xconnector="connBase#onEndStart" id="lEndVideo1StartPergunta2">
<bind role="onEnd" component="video1"/>
<bind role="start" component="pergunta2"/>
</link> <!-- habilita botões simultaneamente a pergunta2 -->
<link xconnector="connBase#onBeginStart" id="lBeginPergunta2BeginBotao1">
<bind role="onBegin" component="pergunta2"/>
<bind role="start" component="botaovermelho"/>
</link> <link xconnector="connBase#onBeginStart" id="lBeginPergunta2BeginBotao1">
<bind role="onBegin" component="pergunta2"/>
<bind role="start" component="botaoverde"/>
</link> <link xconnector="connBase#onEndStop" id="lEndPergunta2EndBotao1">
<bind role="onEnd" component="pergunta2"/>
<bind role="stop" component="botaoamarelo"/>
</link> <link xconnector="connBase#onEndStop" id="lEndPergunta2EndBotao1">
<bind role="onEnd" component="pergunta2"/>
<bind role="stop" component="botaoazul"/>
</link> <!-- encerra botões simultaneamente a pergunta2 --> <link xconnector="connBase#onEndStop" id="lEndPergunta2EndBotao1">
<bind role="onEnd" component="pergunta2"/>
<bind role="stop" component="botaovermelho"/>
</link> <link xconnector="connBase#onEndStop" id="lEndPergunta2EndBotao1">
<bind role="onEnd" component="pergunta2"/>
<bind role="stop" component="botaoverde"/>
</link> <link xconnector="connBase#onBeginStart" id="lBeginPergunta2BeginBotao1">
<bind role="onBegin" component="pergunta2"/>
<bind role="start" component="botaoamarelo"/>
</link> <link xconnector="connBase#onBeginStart" id="lBeginPergunta2BeginBotao1">
<bind role="onBegin" component="pergunta2"/>
<bind role="start" component="botaoazul"/>
</link> </body> </ncl>
<ncl xsi:schemaLocation="http://www.ncl.org.br/NCL3.0/EDTVProfile www.ncl.org.br/NCL3.0/profiles/NCL30EDTV.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile" id="newDocument1"> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CABEÇALHO DO PROGRAMA
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <head> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BASE DE REGIÕES:
define as regiões da tela onde as mídias são apresentadas
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <regionBase>
<region width="1024" height="576" id="rgTela">
<region left="192" top="48" width="640" height="480" id="rgVideo"/>
<region left="192" top="48" width="640" height="56" id="rgPergunta2"/>
<region left="192" top="140" width="95" height="35" id="rgBotao1"/>
<region left="302" top="140" width="95" height="35" id="rgBotao2"/>
<region left="412" top="140" width="95" height="35" id="rgBotao3"/>
<region left="522" top="140" width="95" height="35" id="rgBotao4"/>
</region>
</regionBase> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BASE DE DESCRITORES:
define como as mídias são apresentadas
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <descriptorBase>
<descriptor explicitDur="5.0" region="rgPergunta2" id="dPergunta1"/>
<descriptor region="rgPergunta2" id="dPergunta2"/>
<descriptor region="rgBotao1" id="dBotao1"/>
<descriptor region="rgBotao2" id="dBotao2"/>
<descriptor region="rgBotao3" id="dBotao3"/>
<descriptor region="rgBotao4" id="dBotao4"/>
<descriptor region="rgVideo" id="dVideo1"/>
</descriptorBase> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BASE DE CONECTORES:
definem o comportamento dos elos
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <connectorBase>
<importBase documentURI="../connectors/composerConnectorBase.conn" alias="connBase"/>
</connectorBase> </head> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CORPO DO PROGRAMA:
define as mídias e estrutura do programa
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <body> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PONTO DE ENTRADA:
indica o componente onde o programa inicia
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <port component="pergunta1" id="port_newDocument1_pergunta1"/> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MÍDIAS:
define o local dos arquivos de mídia e as associa com seus descritores
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <media descriptor="dPergunta1" src="media/Pergunta.txt" type="text/html" id="pergunta1"/>
<media descriptor="dPergunta2" src="media/pergunta2.gif" type="image/gif" id="pergunta2"/>
<media descriptor="dVideo1" src="media/video2.mpeg" type="video/mpeg" id="video1"/>
<media descriptor="dBotao1" src="media/botao_vermelho.gif" type="image/gif" id="botaovermelho"/>
<media descriptor="dBotao2" src="media/botao_verde.gif" type="image/gif" id="botaoverde"/>
<media descriptor="dBotao3" src="media/botao_amarelo.gif" type="image/gif" id="botaoamarelo"/>
<media descriptor="dBotao4" src="media/botao_azul.gif" type="image/gif" id="botaoazul"/> <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ELOS:
define os elos que regem o sincronismo entre as mídias
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--> <!-- inicia video 5s após a pergunta1 -->
<link xconnector="connBase#onEndStart" id="lEndPergunta1StartVideo1"> <bind role="onEnd" component="pergunta1"/>
<bind role="start" component="video1"/>
</link> <!-- inicia pergunta2 após término do video -->
<link xconnector="connBase#onEndStart" id="lEndVideo1StartPergunta2">
<bind role="onEnd" component="video1"/>
<bind role="start" component="pergunta2"/>
</link> <!-- habilita botões simultaneamente a pergunta2 -->
<link xconnector="connBase#onBeginStart" id="lBeginPergunta2BeginBotao1">
<bind role="onBegin" component="pergunta2"/>
<bind role="start" component="botaovermelho"/>
</link> <link xconnector="connBase#onBeginStart" id="lBeginPergunta2BeginBotao1">
<bind role="onBegin" component="pergunta2"/>
<bind role="start" component="botaoverde"/>
</link> <link xconnector="connBase#onEndStop" id="lEndPergunta2EndBotao1">
<bind role="onEnd" component="pergunta2"/>
<bind role="stop" component="botaoamarelo"/>
</link> <link xconnector="connBase#onEndStop" id="lEndPergunta2EndBotao1">
<bind role="onEnd" component="pergunta2"/>
<bind role="stop" component="botaoazul"/>
</link> <!-- encerra botões simultaneamente a pergunta2 --> <link xconnector="connBase#onEndStop" id="lEndPergunta2EndBotao1">
<bind role="onEnd" component="pergunta2"/>
<bind role="stop" component="botaovermelho"/>
</link> <link xconnector="connBase#onEndStop" id="lEndPergunta2EndBotao1">
<bind role="onEnd" component="pergunta2"/>
<bind role="stop" component="botaoverde"/>
</link> <link xconnector="connBase#onBeginStart" id="lBeginPergunta2BeginBotao1">
<bind role="onBegin" component="pergunta2"/>
<bind role="start" component="botaoamarelo"/>
</link> <link xconnector="connBase#onBeginStart" id="lBeginPergunta2BeginBotao1">
<bind role="onBegin" component="pergunta2"/>
<bind role="start" component="botaoazul"/>
</link> </body> </ncl>