Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: dennis1307 am Dienstag, 3. Februar 2015, 18:21

Titel: Doppelchörigkeit – Chor 2 in der ersten Zeile ausblenden
Beitrag von: dennis1307 am Dienstag, 3. Februar 2015, 18:21
Hallo ihr Lilyponder,

ich habe ein Problem. Für meine Chorleitungsübung würde ich gerne das »Miserere« von Gregorio Allegri neu setzen (siehe hier (klick mich)) (http://javanese.imslp.info/files/imglnks/usimg/3/3e/IMSLP08855-_SCORE__Allegri_-_Miserere_Mei_-ssatb_t_ssab-.pdf), weil die Sätze mir vom Layout nicht zusagen, schlecht zu kopieren sind und ich einige Anmerkungen einfügen würde wollen. Jetzt habe ich aber ein kleines Problem: Das ganze ist ja Doppelchörig, wobei immer ein Chor nach dem anderen auftaucht, unterbrochen von Tenor-Soloversen, am Schluss dann beide Chöre gemeinsam. Ich würde jetzt gerne in der ersten Zeile bereits den Chor 2 ausblenden. Das funktioniert mit

\Score \RemoveEmptyStaves
\override VerticalAxisGroup.remove-first = ##t

aber leider nicht. :( Hat jemand eine Idee, wie ich das realisieren kann? Ich wäre euch mehr als dankbar.

LG

PS: Hier noch der Code für den Score. Wenn gewünscht, dann schicke ich auch noch fix was Kompilierbares.

choirIPart = \new ChoirStaff \with {
  \consists "Instrument_name_engraver"
  instrumentName = "Chor I"
  shortInstrumentName = "I"
} <<
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \sopranoOneChoirI }
  \addlyrics { \sopranoOneVerse }
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \sopranoTwoChoirI }
  \addlyrics { \sopranoTwoVerse }
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \altoChoirI }
  \addlyrics { \altoVerse }
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \clef "treble_8" \tenor }
  \addlyrics { \tenorVerse }
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \clef bass \bassChoirI }
  \addlyrics { \bassVerse }
>>

choirIIPart = \new ChoirStaff \with {
  \consists "Instrument_name_engraver"
  instrumentName = "Chor II"
  shortInstrumentName = "II"
} <<
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } \new Voice = "soprano1" \sopranoOneChoirII
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #CENTER
  } \lyricsto "soprano1" \verse
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } \new Voice = "soprano2" \sopranoTwoChoirII
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #CENTER
  } \lyricsto "soprano2" \verse
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } \new Voice = "alto" \altoChoirII
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #CENTER
  } \lyricsto "alto" \verse
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } {
    \clef bass
    \new Voice = "bass" \bassChoirII
  }
>>

\score {
  <<
    \choirIPart
    \choirIIPart
  >>
  \layout {
    \context {
      \Score \RemoveEmptyStaves
      \override VerticalAxisGroup.remove-first = ##t
    }
  }
  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 72 2)
    }
  }
}
Titel: Re: Doppelchörigkeit – Chor 2 in der ersten Zeile ausblenden
Beitrag von: harm6 am Mittwoch, 4. Februar 2015, 00:08
Hi Dennis,

Zitat
Wenn gewünscht, dann schicke ich auch noch fix was Kompilierbares.

Das wäre sinnvoll...

Gruß,
  Harm
Titel: Re: Doppelchörigkeit – Chor 2 in der ersten Zeile ausblenden
Beitrag von: dennis1307 am Mittwoch, 4. Februar 2015, 00:27
Kompilierbar mit dem angehängten Ergebnis.

\version "2.18.2"

#(set-global-staff-size 16)

\paper {
  #(set-paper-size "a4")
  myStaffSize = #16
    #(define fonts
    (make-pango-font-tree   "URW Palladio L"
                            "Nimbus Sans"
                            "Luxi Mono"
                            (/ myStaffSize 20)))
  indent = 1.5 \cm
  short-indent = 1 \cm
  bookTitleMarkup = \markup {
       \column {
                         \fill-line { \fontsize #5 \bold \fromproperty #'header:title }
   \vspace #.2
         \fill-line { \fontsize #1.7 \bold \fromproperty #'header:subtitle }
           \vspace #0
         \fill-line { \fontsize #1 \bold \fromproperty #'header:subsubtitle }
   \vspace #.1
\fill-line { \fromproperty #'header:composer \fromproperty #'header:arranger }
\fill-line { \fromproperty #'header:opus \fromproperty #'header:poet }
           \vspace #1
       }
                     }
  scoreTitleMarkup = \markup { \null }
  oddFooterMarkup = \markup {
                      \column {
                        \vspace #2
                        \fill-line {
                          %% Copyright header field only on book first page.
                          \on-the-fly #part-first-page \fromproperty #'header:copyright
                        }
                        \fill-line {
                          %% Part tagline header field only on each part last page.
                          \on-the-fly #part-last-page \fromproperty #'header:tagline
                        }
                      }
            }
  ragged-last-bottom = ##f
  line-width = 16 \cm
}

hyphen = {
  \override LyricHyphen #'dash-period = #10.0
  \override LyricHyphen #'height = #0.42
  \override LyricHyphen #'length = #1.0
  \override LyricHyphen #'minimum-distance = #3.0
  \override LyricHyphen #'minimum-length = #0.3
  \override LyricHyphen #'padding = #0.2
  \override LyricHyphen #'springs-and-rods = #ly:lyric-hyphen::set-spacing-rods
  \override LyricHyphen #'thickness = #1.3
  \override LyricHyphen #'Y-extent = #'(0 . 0)
}

global = {
  \key bes \major
  \numericTimeSignature
  \time 4/2
  \dynamicUp
  \autoBeamOff
  \override Slur #'transparent = ##t
}

sopranoOneChoirI = \relative c'' {
  \global
  % Die Noten folgen hier.
  c \breve c \breve \break
  c \breve c \breve
}

sopranoTwoChoirI = \relative c'' {
  \global
  % Die Noten folgen hier.
  c \breve c \breve \break
  c \breve c \breve
}

altoChoirI = \relative c'' {
  \global
  % Die Noten folgen hier.
  c \breve c \breve \break
  c \breve c \breve
}

tenor = \relative c' {
  \global
  % Die Noten folgen hier.
  c \breve c \breve \break
  c \breve c \breve
}

bassChoirI = \relative c {
  \global
  % Die Noten folgen hier.
  c \breve c \breve \break
  c \breve c \breve
}

sopranoOneVerse = \lyricmode {
  \hyphen
  % Liedtext folgt hier.
  Mi -- se -- re -- re
}

sopranoTwoVerse = \lyricmode {
  \hyphen
  % Liedtext folgt hier.
  Mi -- se -- re -- re
}

altoVerse = \lyricmode {
  \hyphen
  % Liedtext folgt hier.
  Mi -- se -- re -- re
}

tenorVerse = \lyricmode {
  \hyphen
  % Liedtext folgt hier.
  Mi -- se -- re -- re
}

bassVerse = \lyricmode {
  \hyphen
  % Liedtext folgt hier.
  Mi -- se -- re -- re
}

sopranoOneChoirII = \relative c'' {
  \global
  % Die Noten folgen hier.
  R1*2*4
}

sopranoTwoChoirII = \relative c'' {
  \global
  % Die Noten folgen hier.
  R1*2*4
}

altoChoirII = \relative c' {
  \global
  % Die Noten folgen hier.
  R1*2*4
}

bassChoirII = \relative c {
  \global
  % Die Noten folgen hier.
  R1*2*4
}

verse = \lyricmode {
  \hyphen
  % Liedtext folgt hier.
}

choirIPart = \new ChoirStaff \with {
  \consists "Instrument_name_engraver"
  instrumentName = "Chor I"
  shortInstrumentName = "I"
} <<
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \sopranoOneChoirI }
  \addlyrics { \sopranoOneVerse }
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \sopranoTwoChoirI }
  \addlyrics { \sopranoTwoVerse }
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \altoChoirI }
  \addlyrics { \altoVerse }
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \clef "treble_8" \tenor }
  \addlyrics { \tenorVerse }
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } { \clef bass \bassChoirI }
  \addlyrics { \bassVerse }
>>

choirIIPart = \new ChoirStaff \with {
  \consists "Instrument_name_engraver"
  instrumentName = "Chor II"
  shortInstrumentName = "II"
} <<
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } \new Voice = "soprano1" \sopranoOneChoirII
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #CENTER
  } \lyricsto "soprano1" \verse
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } \new Voice = "soprano2" \sopranoTwoChoirII
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #CENTER
  } \lyricsto "soprano2" \verse
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } \new Voice = "alto" \altoChoirII
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #CENTER
  } \lyricsto "alto" \verse
  \new Staff \with {
    midiInstrument = "choir aahs"
    instrumentName = ""
    shortInstrumentName = ""
    \consists "Ambitus_engraver"
  } {
    \clef bass
    \new Voice = "bass" \bassChoirII
  }
>>

\score {
  <<
    \choirIPart
    \choirIIPart
  >>
  \layout {
    \context {
      \Score \RemoveEmptyStaves
      \override VerticalAxisGroup.remove-first = ##t
    }
  }
  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 72 2)
    }
  }
}
Titel: Re: Doppelchörigkeit – Chor 2 in der ersten Zeile ausblenden
Beitrag von: RobUr am Mittwoch, 4. Februar 2015, 18:24
Hallo Dennis,

es liegt am Ambitus_engraver. Ohne diesen funktioniert es wie gewünscht.

Gruß, Robert
Titel: Re: Doppelchörigkeit – Chor 2 in der ersten Zeile ausblenden
Beitrag von: dennis1307 am Mittwoch, 4. Februar 2015, 18:46
Tausend Dank, Robert. :) Jetzt klappt es.