rettinghaus / MEILER

MEI Lilypond Engraving Refinement
MIT License
20 stars 7 forks source link

Tempo robustness #3

Closed th-we closed 8 years ago

th-we commented 8 years ago

If we don't have both @mm and @mm.unit present, we get a syntax error.

This situation occurs in the following files of the sample library:

MEI3/Music/Complete examples/Handel_Arie.mei
MEI3/Music/Complete examples/Handel_Messias.mei
MEI3/Music/Complete examples/Aguado_Walzer_G-major.mei
MEI3/Music/Complete examples/Parker-Gillespie_ShawNuff.mei
MEI3/Music/Complete examples/Beethoven_Hymn_to_joy.mei
MEI3/Music/Complete examples/Schubert_Erlkönig.mei
MEI3/Music/Complete examples/Webern_VariationsforPiano.mei

Test file is included.

th-we commented 8 years ago

I also thought about that. But that would fail e.g. for 6/8, where @mm will most certainly be intended for half a measure - but who knows? I think not rendering a tempo is better because

th-we commented 8 years ago

One idea: If @mm.unit is missing, one could instead just print "M.M. = 123".

rettinghaus commented 8 years ago

clever guesses will fail almost all the times, as tuplets without @numbase has shown. The idea with "M.M. = 123" would complicate the code. As I see it these attributes allow the editor to add tempo information that wasn't written in the source, and lilypond now just puts it the way a modern edition would present that. If you have the M.M. written out in the source you would encode this in the frist place (see guidelines) and eventually add the midi.bpm.