Aber falls jemand möchte (Torsten?
) ein paar Hinweise.
[...]
3. Ich habe gerade heute abend ein neues, noch nicht freigegebenes snippet ins LSR gestellt, welches mit dem systemStartDelimiter hantiert.
Ist vielleicht hilfreich:
Preview hier.
Hallo Sascha, hallo Harm,
ja, danke, dieses Snippet hat mir viel Herumprobiererei mit der
systemStartDelimiterHierarchy erspart. Ich habe nur in leichter Abwandlung
SystemStartSquare anstelle von -
Brace "geopfert", dann kann man in ähnlichen Fällen leichter auf ein Klaviersystem "umrüsten".
Dank dieses Tricks, den hartnäckigen
SystemStartBar verschwinden zu lassen und durch eine zum Strich umfunktionierte Square-Klammer zu ersetzen, kann man die Ossia-Zeilen schön freistellen.
Das Problem mit den üblichen Ossia-Lösungen besteht darin, daß die Ossia-Staffs bei Bedarf innerhalb der "Hauptstimmen" erzeugt werden und daher automatisch zu dieser StaffGroup gehören - deshalb werden sie auch am Zeilenanfang in die Akkolade (Bracket) mit einbezogen.
Um das zu umgehen, habe ich selbständige Ossia-Zeilen in die Partitur aufgenommen, die bei Bedarf per
\startStaff gestartet und per
\stopStaff wieder abgestellt werden können.
Etwas handlicher wird es durch den neuen Staff-Typen
FreeOssiaStaff, der bereits die passenden Eigenschaften hat (Kleiner, keine Schlüssel, keine Vorzeichen, keine Taktangaben usw.).
Für den geringeren Abstand der oberen Ossia-Zeile ist diese Zeile selbst verantwortlich, der geringere Abstand zur unteren Ossia-Zeile muß von der
StaffGroup aus geregelt werden.
Komplett leere Ossia-Zeilen werden völlig ignoriert (
\RemoveEmptyStaves und
remove-first = ##t), in "teilweise benutzten" Zeilen könnten störende Taktstriche entstehen, deshalb sind Taktstriche in den Ossia-Systemen absichtlich ausgeblendet.
Bei Bedarf (wie hier in der zweitaktigen Passage) kann man die Taktstriche nach Bedarf sichtbar machen.
Ich habe noch einen Takt ans urspüngliche Beispiel angehängt, damit man sehen kann, wie die Ossia-Zeilen auch wieder schön per
\stopStaff aufhören. Das geänderte Beispielcoding sieht so aus:
\version "2.16.2"
\layout {
\context {
\Score
\accepts "FreeOssiaStaff"
}
\context {
\Staff
\name "FreeOssiaStaff"
\alias "Staff"
fontSize = #-5
\override StaffSymbol #'staff-space = #(magstep -5)
\override StaffSymbol #'thickness = #(magstep -5)
\remove "Time_signature_engraver"
\override Clef #'stencil = ##f
\override KeySignature #'stencil = ##f
\override KeyCancellation #'stencil = ##f
\override BarLine #'transparent = ##t
\override VerticalAxisGroup #'remove-first = ##t
\RemoveEmptyStaves
\stopStaff
}
}
% Variables:
global = {
\clef treble
\key g \major
\time 2/4
}
BlfI = \relative c''
{
\global
\repeat volta 2 {
g'2
e2 \break
}
\alternative {
{ fis2
d2 \break
}
{
e4 fis
g4 r4
}
}
g2 \bar "|."
}
%ossia noten bfl1
OsiBlfI = \relative c'' {
\global
\stopStaff
s2*4
\startStaff
e8 e fis fis
\once\override Staff.BarLine #'transparent = ##f
g4 r4
\stopStaff
s2
}
BlfII = \relative c'' {
\global
\repeat volta 2 {
b2
c2
}
\alternative {
{
d2
b2
}
{ d4 c
g4 r4
}
}
g2 \bar "|."
}
%ossia noten bfl2
OsiBlfII = \relative c'' {
\global
\stopStaff
s2*4
\startStaff
d8 d c c
\once\override Staff.BarLine #'transparent = ##f
g4 r
\stopStaff
s2
}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\score { <<
\new FreeOssiaStaff \OsiBlfI
\new StaffGroup <<
\new Staff = "Bfl1" \with { \consists "Bar_number_engraver" } \BlfI
\new Staff = "Bfl2" \BlfII
>>
\new FreeOssiaStaff \OsiBlfII
>>
\layout {
\context {
\Score
\remove "Bar_number_engraver"
\override SystemStartSquare #'style = #'bar-line
\override SystemStartBar #'stencil = ##f
\override SystemStartSquare #'padding = #-0.1
\override SystemStartSquare #'thickness = #1.6
}
\context {
\FreeOssiaStaff
\override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 7))
}
\context {
\StaffGroup
systemStartDelimiterHierarchy = #'(SystemStartSquare (SystemStartBracket a b))
\override StaffGrouper #'staffgroup-staff-spacing = #'((basic-distance . 7))
}
}
%\midi { }
}
Viele Grüße
Torsten
PS: kleine Änderung: ich hatte vergessen, den Taktnummern-Engraver im ersten Hauptstaff hinzuzufüngen. Taktnummer sollen sein, aber nicht oben in der Ecke neben der Ossia-Zeile.