Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: Mario am Sonntag, 22. November 2009, 12:57

Titel: Wiederholungszeichen über mehrere Abschnitte hinweg
Beitrag von: Mario am Sonntag, 22. November 2009, 12:57
Hallo,

es ist ja bald Weihnachten und da möchte mir einige sauber notierte Notenblätter zu Weihnachtsliedern erstellen, weil's auf dem Klavier einfach hübsch aussieht :). Im angefügten Code befindet sich eine erste Version von "In der Weihnachtsbäckerei" (linke Hand ist noch nicht ordentlich).

Mein Problem dabei: Ich habe unterschiedliche Abschnitte für Strophe und Refrain erstellt, so dass ich den Text bequem mit \lyricsto zuordnen kann. Nun benötige ich aber über beide Abschnitte hinweg ein Wiederholungszeichen (mit Alternative). Konkret soll dass vom 2. Takt bis zum Ende gehen. Dazu müsste ich aber das öffnende Wiederholungszeichen im Refrain setzen und das schließende Zeichen in der Strophe und das mag lilypond gar nicht.

Wer hat eine Idee?

\version "2.12.2"

\layout {
  indent = #0
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
}

\paper {
  #(define dump-extents #t)
  ragged-right = ##f
}

\header {
title = "In der Weihnachtsbäckerei"
composer = "Musik & Text: Rolf Zuckowski"
}

notesRefrain = \relative c'' {
\partial 4
g8.-5^\markup { \italic \bold "Refrain"} f16 e4 e d d c r r d8. e16 f4 f e e d r r
d8. e16 f4 f g d8. e16 f4 f g g8. f16 e4 e g g d d g
g8. f16 e4 e d d c r a'4.-5 f8-4 e4 e d d c r r2
}

AkkordNamenRefrain = \chordmode {
r4 c2 g c1 f2 c g1
d2:m g d:m g
c g d:m g
c g a:m f c g c
}

leftHandRefrain = \relative c { \clef bass
r4 <g c e>2 <g b d> <g c e>1 <a c f>2 <g c e> <g b d>1
<a d f>2 <g b d> <a d f> <g b d>
<g c e> <g b d> <a d f> <g b d>
<g c e> <g b d> <a c e> <a c f> <g c e> <g b d> <g c e>4
g_. a_. b_.
}

notesStrophe = \relative c' {
e4^\markup { \italic \bold "Strophe"} e e e e f g e
f f f f f g a f
g g a g b8 r r4 r g c, r r2 r1
e4 e e e e f g e
f f f f f g a f
g g a g b8 r r4 r g c, r r g'8. f16
}

AkkordNamenStrophe = \chordmode {
c1 r d:m r g r c r
c1 r d:m r g r c
}

leftHandStrophe = \relative c { \clef bass
<g c e>1 r <a d f> r <g b d> r <g c e>
r4 g_. a_. b_.
<g c e>1 r <a d f> r <g b d> r <g c e>
}

lyricsRefrain = \lyricmode {
In der Weih -- nachts -- bäk -- ke -- rei gibt es man -- che Lek -- ke -- rei.
Zwi -- schen Mehl und Milch macht so man -- cher Knilch ei -- ne rie -- sen -- gro -- ße Klek -- ke -- rei,
in der Weih -- nachts -- bäk -- ke -- rei, in der Weih -- nachts -- bäk -- ke -- rei.
}

lyricsStropheEins = \lyricmode {

\set stanza ="1. " Wo ist das Re -- zept ge -- blie -- ben von den Plätz -- chen die wir lie -- ben? Wer hat das Re -- zept ver -- schleppt?
Na, dann müs -- sen wir es pak -- ken, ein -- fach frei nach Schnau -- ze bak -- ken. Schmeißt den O -- fen an und ran!
}

lyricsStropheZwei = \lyricmode {
\set stanza ="2. " Brau -- chen wir nicht Scho -- ko -- la -- de, Ho -- nig, Nüs -- se und Suc -- ca -- de und ein biss -- chen Zimt? Das stimmt!
But -- ter, Mehl und Milch ver -- rüh --ren, zwi -- schen -- durch ein -- mal pro -- bie -- ren, und dann kommt das Ei: Vor -- bei!
}

lyricsStropheDrei = \lyricmode {
\set stanza ="3. " Bit -- te mal zur Sei -- te tre --ten, denn wir brau -- chen Platz zum Kne -- ten. Sind die Fin -- ger rein? Du Schwein!
Sind die Plätz -- chen die wir ste -- chen, erst -- mal auf den O -- fen -- ble -- chen, war -- ten wir ge -- spannt: Ver -- brannt!
}

\score {
<<
\new ChordNames \AkkordNamenRefrain
\new Voice ="mainvoice" \notesRefrain
\new Voice \leftHandRefrain
\new Lyrics = "ref" \lyricsto "mainvoice" \lyricsRefrain
>>
}
\score {
<<
\new ChordNames { \AkkordNamenStrophe }
\new Voice ="mainvoice" { \notesStrophe }
\new Voice ="akkorde" { \leftHandStrophe }
\new Lyrics = "eins" \lyricsto "mainvoice" \lyricsStropheEins
\new Lyrics = "zwei" \lyricsto "mainvoice" \lyricsStropheZwei
\new Lyrics = "drei" \lyricsto "mainvoice" \lyricsStropheDrei
>>
}
Titel: Re: Wiederholungszeichen über mehrere Abschnitte hinweg
Beitrag von: derHindemith am Sonntag, 22. November 2009, 18:22
Die Wiederholungen müssen in jedem Voice eingegeben, sonst tauchen Probleme auf. Leider. Ich hab's versucht in einem anderen Voice Kontext, und dann hat Mats (in der englische-Liste) mich ermahnt sowas nicht zu tun. D.h.,
zusammen = {
 \repeat volta 2 { \notesRefrain }
 \alternative {
  { \notesStropheEins }
  { \notesStropheZweibisFünf }
 }
}
Wie du sehen kannst, die beiden Strophen wären vielleicht besser getrennt. Auch, ich glaube du willst R1 anstatt r1.