[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-user
Subject:    Repeatmark replacement in petrucci style broken?
From:       "Tjeerd J. Pinkert" <tjeerd () tjeerd ! org>
Date:       2024-01-21 14:44:06
Message-ID: 574c81b3-b2ac-451b-8a9e-5a343b83a517 () tjeerd ! org
[Download RAW message or body]

[Attachment #2 (multipart/mixed)]

[Attachment #4 (multipart/mixed)]

[Attachment #6 (text/plain)]

Dear all,

following code used to work fine with LilyPond 2.22.x (Debian 11) after 
upgrade to LilyPond 2.24.1 (Debian 12) somehow the repeatmark 
replacement fails. As far as I read it in the documentation the \bar 
command should still work to do that?

I tried adding the \bar also to the \superius part, but that does not 
help (also not worsen though).

I tried to make a minimal example, the many variables are due to the 
fact that I have the work split over multiple files to be able to 
replace parts and print in various styles. (I could have left out the 
midi printing part and the lyrics, but there is also a question about 
those parts below.)

\version "2.24.1"

%% our style repeat mark
\defineBarLine "|;|" #'("|;|" "" "")

%% Music
superius = \relative g'{
     \repeat volta 2 {
         a1 a a a
     }
     b1 b b b
}

%% Markup separate from music to allow replacement
generic_markup = \relative g{
     \repeat volta 2 {
         s1 s s s \breathe } \bar "|;|" %% somehow the bar replacement
                                        %% does not work. Double bar
                                        %% printed.
     s1 s s s \breathe \bar ""
}

%% Lyrics for repeats are horrible and don't work on MIDI output.
stanzaOne = \lyricmode {
	\set stanza = "1. "
	<<
         {
             A A A A
         }
         \new Lyrics = "repeatedLine"
         \with { alignBelowContext = "stanzaOne" } {
             \set associatedVoice = "superius"
             a a a a
         }
     >>
     B B B B
}

%% Staff with music, markup and voice.
superiusStaff = \new PetrucciStaff <<
     \clef "petrucci-g"
     \new PetrucciVoice = "superius" { \voiceOne \superius }
     \new PetrucciVoice = "generic_markup" { \voiceOne \generic_markup }
     \new Lyrics = "stanzaOne" \lyricsto superius {\stanzaOne}
 >>

%% The actual page, staff with overrides and lyrics
\bookpart{
\score{
     \superiusStaff
     \layout{
         indent = 0\cm
         \context {
             \PetrucciStaff
             %% Set cleffs at beginning of lines
             \override Clef.break-visibility = ##(#f #f #t)
             \override TimeSignature.style = #'mensural
         }
         \context {
             \Lyrics
         }
     }
} %score

%% Midi output with unfolded repeats.
\score{
     %% Unfold the repeats for MIDI output...
     \unfoldRepeats {
         \superiusStaff
     }
     \midi {
         \tempo 2 = 120
         \context {
             \Score
             midiMinimumVolume = #0.5
             midiMaximumVolume = #1.0
         }
     }
} %score
} %bookpart


The other part that somehow is strange is the text output while playing 
the midi file. The First and Second line of the repeat are printed at 
the same time, but not repeated. (timidity output: AaAaAaAaBBBB in 2 
measures, I would have expected: AAAAaaaaBBBB in three measures.) Hints 
how to handle that properly are welcome as well...

I hope for some hints to solve the repeat bar issue at least ;)

Best regards,


Tjeerd

["OpenPGP_0x1BE0B8B9C864C73A.asc" (application/pgp-keys)]
["OpenPGP_signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic