05.04.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!