Le 28/06/2022 à 01:33, Nikolai Hedler a écrit :
Copied from my comment on GitLab:
It seems that the programming error re: dynamics actually obscured
some other problems I encountered in my project. I had assumed that
there was only one fault at play here, but there's more to it than I
thought.
MIDI ends late if |\fine| followed by a pitch.
|\version "2.23.10" \score { \unfoldRepeats \repeat segno 2 { c'1
\volta 2 \fine 2 2 } \layout { } \midi { } }|
This produces correct sheet music but the MIDI file contains 4 notes
(ending one note /after/ the |\fine|). No errors are logged. Changing
the second bar from 2 2 to r1 causes the MIDI output to behave as
expected, ending after the 2nd C without an extraneous rest.
Beaming and |\fine|
There's something funky going on with beaming: changing the 2nd bar
from 2 2 to 8[ 8] 4 2 returns a couple of errors, but claims to
compile successfully and returns expected sheet music. Again, the MIDI
output erroneously includes the first note after the |\fine| on the
2nd repeat.
Log here:
|Processing `[redacted]/document.ly <http://document.ly>' Parsing...
Interpreting music... [redacted]/document.ly:5:6: warning:
unterminated beam c'8 [ 8] 4 2 Preprocessing graphical objects...
[redacted]/document.ly:5:3: programming error: cyclic dependency:
calculation-in-progress encountered for Stem.direction c'8[ 8] 4 2
[redacted]/document.ly:5:3: continuing, cross fingers
[redacted]/document.ly:5:3: warning: direction of grob Stem must be UP
or DOWN; using UP c'8[ 8] 4 2 Interpreting music... MIDI output to
`document.mid'... Finding the ideal number of pages... Fitting music
on 1 page... Drawing systems... Converting to `document.pdf'...
Success: compilation successfully completed|
Multi-measure rests
This one is very strange.
|\version "2.23.10" \score { \unfoldRepeats \repeat segno 2 { c'1
\volta 2 \fine R1 } \layout { } \midi { } }|
Errors in the log during MIDI processing, but the output seems correct
(MIDI file ends after |\fine| instead of including extraneous rest).
Log here:
|Parsing... Interpreting music... Preprocessing graphical objects...
programming error: Multi measure rest seems misplaced. continuing,
cross fingers programming error: Object is not a markup. continuing,
cross fingers programming error: Multi measure rest seems misplaced.
continuing, cross fingers Interpreting music... MIDI output to
`document.mid'... Finding the ideal number of pages... Fitting music
on 1 page... Drawing systems... Converting to `document.pdf'... This
object should be a markup: () Success: compilation successfully completed|
- Nikolai
Dan, would you mind triaging this one? I don't know if it should be one
or several issues given that all the problems appear to relate to the
same root cause. My guess is that the final timestep where finalize is
called, which normally happens at the final moment and sees no events,
is happening at the final moments and sees the events that would have
happened at that moment if \fine hadn't been there. We probably need to
stop events from being listened at the final timestep triggered by \fine.
Jean
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond