• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

ossia in StaffGroup

Begonnen von chf, Montag, 20. August 2012, 13:28

Vorheriges Thema - Nächstes Thema

chf

Liebe Freunde,

unschwer zu sehen, was mir Probleme macht...
Wie schwebt "ossia" frei im Raum?

Gruß
chf


kilgore

Ich verstehe nicht, sieht aus als würde alles klappen. Was willst du da genau? Kein SpanBar?

Gruß
kil

chf

#2
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

kilgore

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

Be-3

#4
Zitat von: chf am Montag, 20. August 2012, 13:28
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

chf

Hallo Torsten,

so ist's prima.Danke!

Gruß
Christa