6. Os dados: o que sai do compilador
▶ Abrir no Aratu para ouvir e mudar os exemplos
A IDE conversa com o compilador por poucas funções exportadas pelo
WebAssembly (aratu_compile, aratu_render, aratu_check, aratu_grid,
aratu_voices), trocando texto em JSON. Compilar devolve as mensagens,
as partes, os knobs, as listas, as séries e as linhas escritas ao vivo.
Pedir compassos devolve os eventos. Um evento de nota se parece com isto:
{"bar": 3, "beat": 1.5, "time": 4.75, "dur": 0.24, "part": "bass",
"line": "bass", "vel": 80, "note": 45, "from": 120, "to": 123}
| Campo | O que é |
|---|---|
bar, beat |
o compasso e o tempo dentro dele, como escrito |
time, dur |
quando soa e quanto dura, em segundos desde o começo |
part, line |
a parte e a linha que o tocam |
vel |
a força, de 0 a 127, como no MIDI |
note |
a nota, como número MIDI (60 é o dó central) |
drum |
no lugar de note, a peça da bateria: kick, snare, closed-hat… |
acc |
1 quando a nota foi escrita em maiúscula |
param, value, glide |
no lugar da nota, uma mudança de parâmetro; glide são os segundos em que o som desliza até o valor |
from, to |
onde o símbolo está escrito no texto, para acendê-lo quando soa |
As mensagens também são dados: cada uma tem a gravidade (erro ou aviso), o trecho do texto e o texto na língua escolhida. Um erro não para a música: enquanto o texto tiver erro, continua tocando a última versão certa, como um hot reload que recusa uma versão quebrada.