bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: v2.23.8: \fine seems to break \midi


From: Jean Abou Samra
Subject: Re: v2.23.8: \fine seems to break \midi
Date: Wed, 29 Jun 2022 22:14:38 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]