paulrosen / abcjs

javascript for rendering abc music notation
Other
1.95k stars 286 forks source link

%%propagate-accidentals not #941

Open francoisschwarzentruber opened 1 year ago

francoisschwarzentruber commented 1 year ago

The directive %%propagate-accidentals not is not working (see https://abcnotation.com/wiki/abc:standard:v2.1). Is it normal?

paulrosen commented 1 year ago

That is a volatile section of the standard. That particular command is odd, though. It doesn't affect what is displayed at all. It's effect is to make the synth incorrect. That is, if you have:

^G G

in the music, then both of those notes are G sharp. To create music where you intend for the second note to be G natural you put =G for the second note. It would be really confusing for someone to read music that didn't work like that.

francoisschwarzentruber commented 1 year ago

Thank you for your reply. %%propagate-accidentals not makes that the code corresponds to the content and not how it is displayed. ^G G is Gsharp then Gnormal with %%propagate-accidentals not. In Lilypond, this way of writing music is by default and I find it convenient because G is always Gnormal whatever the context is. Then not showing the # is just a matter of visualisation.