• 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ü

DynamicText über Arpeggio

Begonnen von DocTaxon, Montag, 27. Mai 2013, 21:02

Vorheriges Thema - Nächstes Thema

DocTaxon

Hi!

Eine Frage: ich habe hier eine Kollision eines Arpeggio mit einem DynamicText. Beide stehen sie an der richtigen Stelle, ich bräuchte nur den Text "p (weich)" über dem Arpeggio geschrieben, so dass es so aussieht, als wenn der Arpeggio unterbrochen wäre. Ich dachte, ich bekomme das mit Layer hin, aber Pustekuchen.

Kann mir jemand helfen?


\version "2.16.0"

\layout {
  \context {
    \override NonMusicalPaperColumn #'line-break-permission = ##f
  }
}

pw = \markup { \center-align \line { \hspace #3.7 p \normal-text \bold \italic (weich) } }
pweich = #(make-dynamic-script pw)

\score {
<<
  \new Staff \with { midiInstrument = #"choir aahs" }
  \new Voice \relative c'' {
    \clef treble \key f \minor
    \numericTimeSignature \time 4/4
    \override MetronomeMark #'font-size = #3 \tempo "Langsam und getragen" 4 = 54
    \autoBeamOff
    r8 c c c c c c des
    c8. es,16 es 8 es r as as as
    \break
    \autoBeamOn
  }
 
  \new StaffGroup \with { systemStartDelimiter = #'SystemStartBrace }
    { \set Score.connectArpeggios = ##t
    <<
      \new Staff \with { midiInstrument = #"harpsichord" }
      \new Voice \relative c' {
        \clef treble \key f \minor
        \numericTimeSignature \time 4/4
        \stemUp \once\override DynamicText #'layer = #1 \once\override Arpeggio #'layer = #-1 <c es as c>4(\pweich\arpeggio <es es'>2 <fes fes'>4)
        s1 \stemNeutral
        \break
      }

      \new Staff \with { midiInstrument = #"harpsichord" }
      \new Voice \relative c {
        \clef bass \key f \minor
        \numericTimeSignature \time 4/4
        \once\override DynamicText #'stencil = ##f \once\override Arpeggio #'layer = #-1 <as es' as>4\pweich\arpeggio << { <as' c>2( <g des'>4) } \\ es2. >>
        s1
        \break
      }
    >> 
    }
>>

\layout { }
  \midi {
    \context {
      \Score
      \consists "Span_arpeggio_engraver"
    }
    \context {
      \Staff
      \remove "Staff_performer"
    }
    \context {
      \Voice
      \consists "Staff_performer"
    }
    \tempo 4 = 54
  }
}


Danke sehr,
Doc Taxon ...

fugenkomponist

#1
An dieser Stelle folgt im Code kein Arpeggio, deshalb bleibt #'layer des Arpeggios auf seinem Standardwert. Du kannst aber einfach #'layer vom DynamicText hochschrauben. Was dann noch fehlt ist #'whiteout:
        \stemUp \once\override DynamicText #'layer = #500 \once\override DynamicText #'whiteout = ##t <c es as c>4(\pweich\arpeggio <es es'>2 <fes fes'>4)
Edit: ich seh gerade: du hast da doch zwei Arpeggios stehen. Und auch zweimal \pweich. Warum?
Achja, und das \new Voice innerhalb der Staffs ist überflüssig, solange du die Stimme nicht benennen willst oder nen \with-Block hast ;)

DocTaxon

ja super!

Funktioniert perfekt. Danke auch für die Nebenkommentare.

Schöne Grüße,
Doc Taxon ...