ComposiçËao e Performance Musical Utilizando Agentes Móveis
ComposiçËao e Performance Musical Utilizando Agentes Móveis
ComposiçËao e Performance Musical Utilizando Agentes Móveis
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CAPÍTULO 4. O SISTEMA ANDANTE 41<br />
Figura 4.6: Diagrama de classes com a camada CORBA<br />
5. Controle do agente: é possível implementar uma interface gráfica que envia comandos para<br />
rmAgent.<br />
Nesse caso, isso poderia ser útil para chamar o método stop desse agente ou<br />
transferi-lo para outro palco.<br />
Camada CORBA.<br />
Como já mencionamos, queremos permitir que certos elementos, mais precisamente<br />
AudioDevices e GUIs, sejam implementados em outras linguagens e, eventualmente,<br />
utilizem sistemas legados como CSound ou jMax. Para tornar isso possível, existe uma camada<br />
CORBA para a comunicação entre os elementos da arquitetura. Essa camada, que foi omitida<br />
da descrição até agora, é ilustrada na Figura 4.6 (por simplicidade, os métodos e metrônomo não<br />
estão na figura). As classes com o sufixo Impl no nome representam o envólucro CORBA.<br />
Não implementamos de fato um dispositivo de áudio em outra linguagem, mas a infra-estrutura<br />
Andante oferece mais de um dispositivo.<br />
• JavaMidiDevice: é o dispositivo padrão, utiliza o sintetizador MIDI por software da implementação<br />
oficial da Java Sound API.<br />
• AlsaMidiDevice: uma opção apenas para Linux, utiliza uma implementação independente<br />
da Java Sound API chamada Tritonus [Tritonus, URL], que acessa o sintetizador MIDI da<br />
placa de som (se disponível). O acesso é feito por drivers e bibliotecas ALSA (Advanced