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 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.

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

Saved successfully!

Ooh no, something went wrong!