Autor Thema: DynamicText über Arpeggio  (Gelesen 1408 mal)

DocTaxon

  • Member
DynamicText über Arpeggio
« am: Montag, 27. Mai 2013, 21:02 »
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

  • Member
Re: DynamicText über Arpeggio
« Antwort #1 am: Montag, 27. Mai 2013, 21:14 »
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 ;)
« Letzte Änderung: Montag, 27. Mai 2013, 21:17 von fugenkomponist »

DocTaxon

  • Member
Re: DynamicText über Arpeggio
« Antwort #2 am: Dienstag, 28. Mai 2013, 10:37 »
ja super!

Funktioniert perfekt. Danke auch für die Nebenkommentare.

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