Aratu música escrita para tocar y cambiar mientras suena

6. Los datos: lo que sale del compilador

▶ Abrir en Aratu para escuchar y cambiar los ejemplos

El IDE habla con el compilador por unas pocas funciones exportadas por el WebAssembly (aratu_compile, aratu_render, aratu_check, aratu_grid, aratu_voices), intercambiando texto en JSON. Compilar devuelve los mensajes, las partes, las perillas, las listas, las series y las líneas escritas en vivo. Pedir compases devuelve los eventos. Un evento de nota se parece a esto:

{"bar": 3, "beat": 1.5, "time": 4.75, "dur": 0.24, "part": "bajo",
 "line": "bajo", "vel": 80, "note": 45, "from": 120, "to": 123}
Campo Qué es
bar, beat el compás y el tiempo dentro de él, como está escrito
time, dur cuándo suena y cuánto dura, en segundos desde el principio
part, line la parte y la línea que lo tocan
vel la fuerza, de 0 a 127, como en MIDI
note la nota, como número MIDI (60 es el do central)
drum en lugar de note, la pieza de la batería: kick, snare, closed-hat…
acc 1 cuando la nota se escribió en mayúscula
param, value, glide en lugar de la nota, un cambio de parámetro; glide son los segundos en que el sonido se desliza hasta el valor
from, to dónde está escrito el símbolo en el texto, para encenderlo cuando suena

Los mensajes también son datos: cada uno tiene la gravedad (error o aviso), el trozo del texto y el texto en el idioma elegido. Un error no detiene la música: mientras el texto tenga un error, sigue sonando la última versión correcta, como un hot reload que rechaza una versión rota.