Autor Thema: Grandstaff modifizieren - Keine Takte?  (Gelesen 2030 mal)

Inxman

  • Member
Grandstaff modifizieren - Keine Takte?
« am: Montag, 16. März 2009, 07:49 »
Hallo,

ich möchte gern eine Tonleiter erzeugen und habe dazu den Grandstaff verwendet.
Diesen möchte ich so modifizieren, dass:
1. die Einteilung in Takte unterdrückt wird und
2. die Anzeige der Taktstriche innerhalb der beiden Melodien und zwischen ihnen unterdrückt wird.

Mein Code ist dies:
\version "2.12.2"

\include "deutsch.ly"

melodycm = \relative c'' {
\clef treble
\override Score.BarLine #'stencil = ##f
\override Staff.TimeSignature #'transparent = ##t
c,2 d e f g a
\revert Score.BarLine #'stencil
\bar "|."
}
basscm = \relative c {
\clef bass
  \override Staff.TimeSignature #'transparent = ##t 
c,2 d e f g a
}

\score {
   <<
      \new GrandStaff <<
        \set GrandStaff.instrumentName = #""
        \context Staff = melody <<
        \key c \major
        \context Voice = "singer1" \melodycm
      >>
      \context Staff = bass <<
        \key c \major
        \override SpanBar #'allow-span-bar = ##f
        \basscm
       >>
    >>
  >>
  \layout {
   #(layout-set-staff-size 20)
   \context {
     \GrandStaff
     \remove "Bar_engraver"
     \consists "Horizontal_bracket_engraver"
     \consists "Instrument_name_engraver"
   }
 }
}

In der Dku habe ich dies bereits gefunden:

Mit \override Staff.TimeSignature #'transparent = ##t mache ich scheinbar nur die Zeitangabe unsichtbar, aber nicht die generelle Einteilung in Takte. Ich möchte aber,
das die Noten zwischen den "Takten" sozusagen fließend sind und keinen eigenen Abstand haben.

Und \override SpanBar #'allow-span-bar = ##f sowie \remove "Bar_engraver" helfen mir auch nicht sonderlich weiter, wenn ich komplett keine Taktstriche möchte. Was muss ich hier noch ausschalten?

Vielleicht kennst sich jemand aus und kann mir einen Tipp geben?

Danke und Gruß,
Inxman

comper

  • Member
Re: Grandstaff modifizieren - Keine Takte?
« Antwort #1 am: Montag, 16. März 2009, 10:10 »
Wäre ChoirStaff nicht geeigneter?

Ich schlage vor (die bestehende BarLine/TimeSignature/SpanBar overrides entfernen und)

 - im \layout
   \context {
     \GrandStaff
     \remove   "Span_bar_engraver" % (eigentlich doppel genäht)
     \consists "Horizontal_bracket_engraver"
     \consists "Instrument_name_engraver"
   }
   \context {
     \Voice
     \remove "Forbid_line_break_engraver" % falls Synkopen
   }


 - im \score
   \new GrandStaff \with { \override TimeSignature #'stencil = ##f }
     <<
       \cadenzaOn % somit erster Takt nie fertig
       \set GrandStaff.instrumentName = #""

 - und Zeilenbruch mit \bar "" freigeben

Gruss

derHindemith

  • Member
Re: Grandstaff modifizieren - Keine Takte?
« Antwort #2 am: Montag, 16. März 2009, 11:22 »
Es gibt auch zwei andere Möglichkeiten, erstmals, alle Taktstriche zu entfernen:
\include "deutsch.ly"
\version "2.12.2"

RH = { s1*5 }
tonleiter = \relative c {
   a4 h c d
   e f g a
   h c \change Staff = RH d e
   f g a h
   c d e f
}
\score {
   \new GrandStaff <<
      \new Staff = RH << \RH >>
      \new Staff = LH << \clef bass \tonleiter >>
   >>
   \layout {
      \context { \Staff \remove "Time_signature_engraver" }
      \context { \Staff \remove "Bar_engraver" }
   }
}
Oder die Taktstriche beliebig zu entfernen:
\include "deutsch.ly"
RHAlt = {
   \override Staff.BarLine #'stencil = ##f
   \override GrandStaff.SpanBar #'stencil = ##f
   s1*5
   \revert Staff.BarLine #'stencil
   \revert GrandStaff.SpanBar #'stencil
   \bar "||"
}
tonleiterAlt = \relative c {
   \override Staff.BarLine #'stencil = ##f
   \override GrandStaff.SpanBar #'stencil = ##f
   a4 h c d
   e f g a
   h c \change Staff = RH d e
   f g a h
   c d e f
   \change Staff = LH
   \revert Staff.BarLine #'stencil
   \bar "||"
}
\score {
   \new GrandStaff <<
      \new Staff = RH << \RHAlt >>
      \new Staff = LH << \clef bass \tonleiterAlt >>
   >>
   \layout {}
}