Autor Thema: Verkürzter Dominantseptakkord im Markup  (Gelesen 2969 mal)

wome

  • Member
Verkürzter Dominantseptakkord im Markup
« am: Mittwoch, 3. Oktober 2012, 17:59 »
Ich hatte in einem alten Skript zur Harmonielehre eine Lösung gefunden, um im Markup einer Note das Funktionszeichen für einen verkürzten D7 (D mit diagonaler Linie) zu erstellen.
\markup{D  \hspace #-5.2/ \super "7" }

Habe mit das Skript wieder vorgenommen: nun scheinen die Minuswerte bei \hspace nicht mehr zu funktionieren? Hat jemand eine Idee?

Viele Grüße
Wolfgang

harm6

  • Member
Re: Verkürzter Dominantseptakkord im Markup
« Antwort #1 am: Mittwoch, 3. Oktober 2012, 18:17 »
Hallo Wolfgang,

auf der engl. Seite wurde das kürzlich auch schon diskutiert:
http://lilypond.1069038.n5.nabble.com/slashed-charackters-script-not-working-td133604.html
Siehe insbesondere Arnold's Antwort.

Der link zur online-Docu:
http://lilypond.org/doc/v2.17/Documentation/music-glossary-big-page#functional-harmony

Der Code:

#(define-markup-command (diagonal-stroke layout props arg)
  (markup?)
  #:category font
  #:properties ((font-size 0) (thickness 1.5) (extension 0.07))
  (let*
   ((thick (* (magstep font-size)
      (ly:output-def-lookup layout 'line-thickness)))
    (underline-thick (* thickness thick))
    (markup (interpret-markup layout props arg))
    (x1 (car (ly:stencil-extent markup X)))
    (x2 (cdr (ly:stencil-extent markup X)))
    (y1 (car (ly:stencil-extent markup Y)))
    (y2 (cdr (ly:stencil-extent markup Y)))
    (dx (* extension (- x2 x1)))
    (dy (* extension (- y2 y1)))
    (line (make-line-stencil underline-thick
      (- x1 dx) (- y1 dy)
      (+ x2 dx) (+ y2 dy))))
   (ly:stencil-add markup line)))

\relative c''   
<<
  {
    <g e c>1 <a f d> <b g e>
    <c a f> <d b g> <e c a> <f d b>
  }
  \lyrics {
    T Sp Dp S D Tp
    \markup { \concat { \diagonal-stroke D \super "7" } }
  }
>>

Funktioniert übrigens schon mit "2.14.2"

Png in Anhang.


HTH,
  Harm

wome

  • Member
Re: Verkürzter Dominantseptakkord im Markup
« Antwort #2 am: Mittwoch, 3. Oktober 2012, 18:26 »
Vielen Dank für die schnelle Antwort. Funktioniert.

Übrigens: im Markup nimmt jetzt die Anweisung \halign diese "Verschiebfunktion"

harm6

  • Member
Re: Verkürzter Dominantseptakkord im Markup
« Antwort #3 am: Mittwoch, 3. Oktober 2012, 18:53 »
Zitat
Übrigens: im Markup nimmt jetzt die Anweisung \halign diese "Verschiebfunktion"

Mag schon sein, will heißen, ich hab's nicht geprüft.

Aber \diagonal-stroke ist sehr viel breiter in der Anwendung.

z.B. mit:

\markup { \diagonal-stroke   "abcdefg" }oder
\markup {
        \diagonal-stroke
        \score {
        \relative c' {
                \repeat unfold 4 c1
                \break
                \repeat unfold 4 c1
        }
        \layout {
                indent = 30
                short-indent = 30
                line-width = 60
        }
        }
}

kann man die angehängten pngs problemlos erzeugen.


Gruß,
  Harm


wome

  • Member
Re: Verkürzter Dominantseptakkord im Markup
« Antwort #4 am: Mittwoch, 3. Oktober 2012, 19:21 »
Ja  :)