Referência da linguagem A linguagem completa numa página: ordem, declarações, valores, cada modificador, cada limite, a gramática e cada erro com mensagem e correção. Os números das tabelas vêm do analisador deste build. O guia explica o mesmo com exemplos.
Ordem de um texto Globais, depois faixas, depois seções, depois a música. Cada global (title, tempo, key, swing, loop) no máximo uma vez, e no máximo um song. Texto fora desta ordem é o erro OUT_OF_ORDER.
Nomes Nomes de faixa e de seção seguem [a-z][a-z0-9_-]*, com no máximo 24 caracteres, únicos entre as faixas e únicos entre as seções. Uma faixa sem nome recebe o nome do instrumento, ou <instrumento><n> com o próximo número livre a partir de 2: primeiro se reservam os nomes escritos, depois as faixas sem nome são numeradas na ordem do texto. Só nomes escritos repetidos dão o erro DUPLICATE_TRACK_NAME.
Elementos do padrão Bateria toca batidas, instrumentos com nota tocam notas, instrumentos de acorde tocam acordes; o resto é PATTERN_KIND_MISMATCH.
Modificadores gerais Toda faixa aceita estes, qualquer que seja o instrumento. Os parâmetros de cada instrumento estão na página Instrumentos .
Modificadores de seção Valores e sinais Um valor é um número, um nome (sea), uma divisão (3/16) ou um sinal com faixa: sine(8) 300..2400. As formas de sinal são sine, tri, saw, square e rand. A faixa é obrigatória e precisa caber no parâmetro; o período é maior que 0 e de no máximo 256 compassos. O sinal recomeça no início de cada seção de uma música.
Quando as mudanças tocam A mudança de um número constante toca na hora. Toda outra mudança, estrutural, espera o próximo compasso ainda não agendado. No modo Song, uma parte na fila e a troca de modo esperam a próxima frase de 4 compassos.
Limites Gramática A gramática normativa é a gramática Lezer da qual o analisador do app é gerado. As palavras-chave estendem nomes, então sine: e loop: continuam sendo nomes de faixa válidos, e uma faixa sem padrão é aceita pela gramática e depois falha com EMPTY_PATTERN.
Erros A análise nunca lança exceção: devolve o programa ou uma lista de diagnósticos, cada um com posição, código estável e mensagem, que o app mostra no idioma dele (o texto inglês é a fonte). Erros de sintaxe dão um diagnóstico por linha. Os códigos são um contrato estável; as mensagens podem mudar. As mensagens abaixo são as que o app mostra hoje em português; na página em inglês, as inglesas.
Conteúdo da documentação do Untzel, sob a licença CPAL-1.0. Ler a licença