[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tab_note_heads_engraver assigns strings per-Voice
From: |
David Kastrup |
Subject: |
Tab_note_heads_engraver assigns strings per-Voice |
Date: |
Sat, 26 Sep 2015 19:36:16 +0200 |
After some experiments with issue 4615 resulted in strange output (not
reliably reproducible even with identical input and executable) where
the strangeness was not related to the experiments which were only about
offsets: check out the "41" string designation in the lower right corner
of the following image:
I suddenly realized that in all other occurences of the final chord, the
final f' was missing in the tablature versions, apparently overprinted
by a 4 with whiteout.
The final f' is apparently assigned the e' string, just like the final
as' since either, when taken alone, is most simply assigned to that
string.
The string assignment routine is called by the Tab_note_heads_engraver
which sits in Voice context. So each Voice only gets to see all notes
in its own Voice and the string assignment, which would work fine were
all notes appearing in the same Voice and thus were all visible to
`determine-frets' in scm/translation-functions.scm at the same time.
Now string number events and note events obviously need to be collected
per-Voice in order to establish their relation reliably, but the string
assignment still needs to happen, once, at Staff level.
--
David Kastrup
- Tab_note_heads_engraver assigns strings per-Voice,
David Kastrup <=