Autor Thema: arpeggio in Doppelgriffen  (Gelesen 2063 mal)

chf

  • Member
arpeggio in Doppelgriffen
« am: Mittwoch, 27. Juli 2011, 18:03 »
Liebe Freunde,

warum ist die Arpeggio-Linie bei beiden Doppelgriffen beinahe unsichtbar?
(Und wie kann man das ändern?)

Gruß
chf


trulli

  • Member
Re: arpeggio in Doppelgriffen
« Antwort #1 am: Mittwoch, 27. Juli 2011, 18:22 »
Hallo Christa,

ein bekanntes Problem, das ich auch oft habe. Eine Verlängerung kann man bestimmt auch definieren (das zeigen uns bestimmt bald ein paar Leute, gell, harm 6?).

Ich habe es mit einer versteckten Stimme gelöst.

\version "2.14.0"
<<
\relative c' {
    <d fis>
}
\\
\relative c' {
  \hideNotes
  \arpeggioArrowUp
  <b a'> \arpeggio
}
>>

Grüße von Trulli
« Letzte Änderung: Mittwoch, 27. Juli 2011, 18:26 von trulli »

RobUr

  • Member
Re: arpeggio in Doppelgriffen
« Antwort #2 am: Mittwoch, 27. Juli 2011, 18:27 »
Hallo Christa,

bei Terzen ist offenbar nicht genug Platz, um Arpeggio + Pfeil unterzubringen. Du kannst die positions-Eigenschaft benutzen:
\version "2.12.3"

\relative c' {
\once \override Arpeggio #'positions = #'(-3 . 0)
\arpeggioArrowUp
<d fis>4\arpeggio a8[
\once \override Arpeggio #'positions = #'(-5 . -2)
\arpeggioArrowUp <g b>->]\arpeggio
}

Grüße, Robert

harm6

  • Member
Re: arpeggio in Doppelgriffen
« Antwort #3 am: Mittwoch, 27. Juli 2011, 20:59 »
Hallo zusammen,

@trulli:
Zitat von: trulli
Eine Verlängerung kann man bestimmt auch definieren (das zeigen uns bestimmt bald ein paar Leute, gell, harm 6?).
Eigentlich hat Robert das Problem gelöst, aber da Du ja unbedingt eine Funktion haben wolltest  ;), habe ich mich mal etwas intensiver mit dem Thema befaßt.

Zunächst ist festzustellen, daß das Arpeggio korrekt und nicht verschoben dargestellt wird, wenn man \arpeggioArrowUp rausnimmt. Es ist allerdings zu klein.
Insofern halte ich das Verhalten, bei gesetztem \arpeggioArrowUp für einen Bug.
Weiterhin scheint die triller-artige zick-zack-Linie eines normalen Arpeggios nur in ganzen links-rechts-Blöcken erweiterbar zu sein, und nicht in Bruchteilen davon. Anders als bei \arpeggioBracket, denn dort kann man stufenlos einstellen.

Meine Funktion growArpArrowUp orientiert sich an LSR-Snippet 639 und liest die von lilypond benutzten positions aus und fügt unten und oben etwas hinzu. \arpeggioArrowUp ist genauso wie eine Angabe für \arpeggio schon enthalten. Ansonsten braucht sie keine weiteren Eingaben.

\version "2.12.3"

growArpArrowUp =
  #(define-music-function (parser location) ()
    #{
       #(define (grow-arpeggio grob)
           (let* ((coords (ly:arpeggio::calc-positions grob)))
           
             (define (add-offsets coords)
               (if (null? coords)
               '()
               (cons (+ (car coords) -0.6)
                     (+ (cdr coords) 0.5))
               ))
               
        (add-offsets coords)))

       \arpeggioArrowUp
       \once \override Arpeggio #'positions = #grow-arpeggio
       $(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
    #})

%--------------------- Test ----------------------------------------------------
   
\relative c' {
   \growArpArrowUp  <d fis>4
      a8
  \growArpArrowUp   <g b>->
}

Mit besonderem Gruß an trulli, ;)
  Harm


trulli

  • Member
Re: arpeggio in Doppelgriffen
« Antwort #4 am: Mittwoch, 27. Juli 2011, 21:35 »
@Rob und harm6

Danke Jungs, ich wusste, dass ihr es könnt!  :)

chf

  • Member
Re: arpeggio in Doppelgriffen
« Antwort #5 am: Donnerstag, 28. Juli 2011, 15:38 »
Liebe Freunde,

ich soll dauernd zu einem anderen Programm überredet werden, aber solange ich euch habe...
Ihr seid wirklich unschlagbar.
Danke!

Gruß
Christa