Autor Thema: Tabulatur und \RemoveEmptyStaffContext  (Gelesen 2401 mal)

schlagsaite

  • Member
Tabulatur und \RemoveEmptyStaffContext
« am: Mittwoch, 30. September 2009, 11:23 »
Hallo

Ich möchte zu einer längeren ersten Gitarrenstimme ein zweite Gitarre hinzufügen. Diese spielt aber nur ein paar Takte in der Mitte des Stückes. Damit ich nicht ein langes leeres (Doppel) System mitschleppe würde ich leer Zeilen gerne entfernen. Dies funtioniert auch gut mit "\RemoveEmptyStaffContext" und "\override Staff.VerticalAxisGroup #'remove-first = ##t" (für die erste Zeile)
Leider verschwinden dabei nur die Noten und nicht die Tabulatur.

In der englischen Mailingliste gibts eine Frage dazu von 2004

http://lists.gnu.org/archive/html/lilypond-user/2005-11/msg00237.html

und auch eine Antwort die ich überhaupt nicht verstehe

hier meine Testdatei

\version "2.13.3"
\pointAndClickOff
% Beseitigt leere Systeme außer dem ersten

\layout {
\context { \RemoveEmptyStaffContext }
}

Musikone = \relative c' {
\repeat unfold 20 { d8 d d d d d d d }
}

Musiktwo = \relative c {
\repeat unfold 11 { R1 }
c8 c c c c c c c
c8 c c c c c c c
\repeat unfold 7 { R1 }
}

\score {
\new StaffGroup
<<
\new Staff { \clef "treble_8" \Musikone }
\new TabStaff { \set TabStaff.stringTunings = #'(4 -1 -5 -10 -15 -20) \clef "tab" \Musikone }
% Beseitigt das erste leere System
\new Staff { \override Staff.VerticalAxisGroup #'remove-first = ##t \clef "treble_8" \Musiktwo }
\new TabStaff { \set TabStaff.stringTunings = #'(4 -1 -5 -10 -15 -20) \clef "tab" \Musiktwo }
>>
}

Wie immer freue ich mich auf Eure Hilfe

Martin


RobUr

  • Member
Re: Tabulatur und \RemoveEmptyStaffContext
« Antwort #1 am: Mittwoch, 30. September 2009, 18:53 »
Hallo Martin,

die Antwort auf deine Frage steht in einem jüngeren Thread: http://lists.gnu.org/archive/html/lilypond-user/2007-04/msg00275.html

Verwende folgenden Layout-Block:
\layout {
\context {
\RemoveEmptyStaffContext
\override VerticalAxisGroup #'remove-first = ##t
}
\context {
\TabStaff
\remove "Axis_group_engraver"
\consists "Hara_kiri_engraver"
\override Beam #'auto-knee-gap = #'()
\override VerticalAxisGroup #'remove-empty = ##t
\override VerticalAxisGroup #'remove-first = ##t
}
}

Somit kannst du auch \override Staff.VerticalAxisGroup #'remove-first = ##t aus dem zweiten \Staff entfernen (gilt dann global).

Grüße,
Robert

schlagsaite

  • Member
Re: Tabulatur und \RemoveEmptyStaffContext
« Antwort #2 am: Freitag, 2. Oktober 2009, 12:59 »
Hallo Robert

Vielen Dank für deinen Tip, damit funktionierts.

Martin