Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: chf am Montag, 20. August 2012, 13:28
-
Liebe Freunde,
unschwer zu sehen, was mir Probleme macht...
Wie schwebt "ossia" frei im Raum?
Gruß
chf
-
Ich verstehe nicht, sieht aus als würde alles klappen. Was willst du da genau? Kein SpanBar?
Gruß
kil
-
Hallo kilgore,
"SpanBar" - danke! Der Begriff wollte mir nicht einfallen.
Allerdings wollte ich nur den Takstrich von der Mandoline zur ossia-Zeile verschwinden lassen.
In StaffGroup soll er schon bleiben...
chf
-
hmm...da habe ich mal auch Probleme gehabt. Vielleicht kennt ein andere sich damit besser aus.
Meine Lösung ist unelegant und muss immer angepasst werden:
\version "2.14.2"
global = {}
Mnd = \relative c'' {
\time 6/4
c2 a4 bes a2
\once \set Staff.whichBar = "|"
<<{<g, g'>2^\markup {
\postscript #"
-1.5 -.5 translate
1 setgray
0 0 moveto
0 7 lineto
1 0 rlineto
0 -7 rlineto
-1 0 rlineto
fill"
} }
\context Staff = ossia
\with {
\remove "Time_signature_engraver"
\override Clef #'transparent = ##t
fontSize = #-3
alignAboveContext = "Mnd"
\override StaffSymbol #'staff-space = #(magstep -3)
\override StaffSymbol #'thickness = #(magstep -3)
}
{ \override Voice.SpanBar #'glyph-name = #" "
g16^"ossia above" [\override Stem #'transparent = ##t b a e' dis a' e' \override Stem #'transparent = ##f b']} >> \bar "||"
}
Git = \relative c' {
\clef "treble_8"
<f, c'>2 a4 <d, bes'>2 c'4 <g, g' d'>2
}
dynamics = \new Dynamics { }
\score {
\new StaffGroup
<<
%\tag #'score \tag #'Mnd \new Staff { << \global \Mnd >> }
\tag #'score \tag #'Mnd \new Staff = Mnd { << \global \Mnd >> }
\dynamics
\tag #'score \tag #'Git \new Staff { << \global \Git >> }
>>
}
(zum bearbeiten sollte man das "setgray" Wert zu 0 ändern, dann ist die Kiste schwarz...
Gruß
kil
-
Wie schwebt "ossia" frei im Raum?
Hallo chf,
das Ossia-System gehört zur StaffGroup und erhält deshalb zunächst einmal die durchgehenden Taktstriche - ob man will oder nicht.
Nebenbei bemerkt: lustigerweise hat die Entwickler-Version 2.15.41 gerade einen Fehler im Zusammenhang mit alignAboveContext, der zu genau dem von Dir gewünschten Verhalten führt ;) - das ist aber natürlich keine Lösung...
Es gibt aber die Möglichkeit, für ein System die durchgehenden Taktstriche zum darunterliegenden System zu unterdrücken, und zwar mit
\override Staff.BarLine #'allow-span-bar = ##f
Setzt man dies rechtzeitig (also bevor das Ossia-System erzeugt wird, denn dann ist das erste Taktstrich-Kind bereits in den Brunnen gefallen), "erbt" die Ossia-Zeile diese Einstellung und schwebt wie gewünscht "frei im Raum".
Wenn danach noch weitere Takte folgen, sollstest Du allow-span-bar wieder auf ##t setzen, sonst fehlen die Verbindungs-Taktstriche zwischen Mandoline und Gitarre!
Mit \once davor gilt die Änderung wie gewohnt nur einmal für den nächsten Taktstrich.
\version "2.14.2"
global = {}
Mnd = \relative c'' {
\time 6/4
c2 a4 bes a2 <<{<g, g'>2}
\override Staff.BarLine #'allow-span-bar = ##f
\context Staff = ossia
\with {
\remove "Time_signature_engraver"
%\override Score.BarLine #'transparent = ##t
\override Clef #'stencil = ##f
fontSize = #-3
alignAboveContext = "Mnd"
\override StaffSymbol #'staff-space = #(magstep -3)
\override StaffSymbol #'thickness = #(magstep -3)
}
{g16^"ossia above" [\override Stem #'transparent = ##t b a e' dis a' e' \override Stem #'transparent = ##f b']} >> \bar "||"
}
Git = \relative c' {
\clef "treble_8"
<f, c'>2 a4 <d, bes'>2 c'4 <g, g' d'>2
}
dynamics = \new Dynamics { }
\score {
\new StaffGroup
<<
%\tag #'score \tag #'Mnd \new Staff { << \global \Mnd >> }
\tag #'score \tag #'Mnd \new Staff = Mnd { << \global \Mnd >> }
\dynamics
\tag #'score \tag #'Git \new Staff { << \global \Git >> }
>>
}
Wenn Du nicht möchstest, daß die Notenlinien links über den ersten Taktstrich hinausstehen, kannst Du
\override Clef #'transparent = ##t durch \override Clef #'stencil = ##f oder firstClef = ##f ersetzen. Ich habe mir die Freiheit genommen, das im Coding auch noch abzuändern. Ist aber natürlich eine Frage des Geschmacks oder der Anforderungen.
Viele Grüße
Torsten
-
Hallo Torsten,
so ist's prima.Danke!
Gruß
Christa