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 38<br />
representam comandos que o agente oferece para uma aplicação Andante e outras são mensagens<br />
enviadas pela infra-estrutura para gerenciar os agentes. As mais importantes são as seguintes.<br />
• init: ao chegar a um palco, o agente pode precisar inicializar algumas variáveis para restaurar<br />
o seu estado de execução. O palco envia a mensagem init ao agente logo após a sua<br />
chegada, dando, portanto, a chance para o agente fazer isso.<br />
• pulse(int beat, int amount, int type): caso o agente se registre no serviço de metrônomo<br />
do palco, ele recebe a mensagem pulse em tempos regulares, de acordo com a fórmula<br />
de compasso do metrônomo. O agente pode executar uma ação quando isso ocorre. O<br />
parâmetro beat indica o tempo do compasso a que corresponde a mensagem pulse, os<br />
parâmetros amount, type indicam a fórmula do compasso.<br />
• play: ordena o agente a iniciar ou continuar a sua performance.<br />
• stop: ordena o agente a interromper a sua performance.<br />
• processNote(Note n): faz com que o agente execute alguma ação usando a nota n. Cabe ao<br />
agente decidir o que fazer, ele pode simplesmente reproduzir a nota, por exemplo.<br />
• setProperty(String propName, String propVal):<br />
determina que a propriedade de nome<br />
propName do agente deve assumir o valor propVal.<br />
Cada tipo de agente possui um conjunto<br />
de propriedades, o significado de cada propriedade é livre, depende apenas do autor<br />
do agente.<br />
• message(String msg): envia um texto qualquer para o agente. Assim como em setProperty,<br />
o significado do texto depende da implementação do agente.<br />
• dispatch(String address): ordena o agente a migrar para o palco cujo endereço é address.<br />
O Dispositivo de Áudio, representado por AudioDevice, fornece seus serviços através de canais,<br />
representados por objetos da classe Channel. A interface das duas classes é semelhante, um canal<br />
recebe as mensagens de um agente e as repassa para o dispositivo associado a ele. As mensagens<br />
que um agente pode enviar a um canal são as seguintes.