Autor Thema: spacing  (Gelesen 1563 mal)

rgree

  • Member
spacing
« am: Freitag, 26. Dezember 2014, 12:34 »
Hallo,

ich benutze Lilypond hauptsächlich, um eine einzelne Violinstimme mit Fingersätzen, Artikulation etc. zu versehen.
Dabei war es immer wieder nötig, dass ich gerne vor bestimmten Noten einfach nur leere Abstände haben wollte,
weil das bei schnellem Spiel gelegentlich bei der Lesbarkeit hilft.

Das Ergebnis meiner langwierigen Bemühungen ist folgende Musik-Funktion:

space =
#(define-music-function
     (parser location anzahl)
     (number?)
   #{
     \grace {\repeat unfold #anzahl s}
   #})

da kann ich an (fast) beliebiger Stelle sagen z.B. "space 3", und dann entsteht in der Ausgabe dort der gewünschte Leerraum.
Da Lilypond je nach Kontext solche Leerräume schon mal komprimiert, muss man ggf. mit der Zahl experimentieren.

Ich hoffe, es ist kein alter Hut und nützlich für andere.

Gutes Neues Jahr,

rgree

harm6

  • Member
Re: spacing
« Antwort #1 am: Samstag, 27. Dezember 2014, 16:27 »
Hallo rgree,

willkommen im Forum.

Vielen Dank für Deinen Code, ich selbst habe schon mal folgendes benutzt:
space =
#(define-music-function
     (parser location amount music)
     (number? ly:music?)
   #{
     \once \textLengthOn
     #(set! (ly:music-property music 'articulations)
          (append
            (list (make-music
                    'TextScriptEvent
                    'direction 1
                    'text (markup #:scale (cons amount 1) " ")))
             (ly:music-property music 'articulations)))
     $music
   #})
   
\relative c'' {
\space #10
b4--^"xy" e,
}

Beide Möglichkeien haben ihre Vor- und Nachteile ...


Gruß,
  Harm