Moin,
wie kann ich solche Halb- und Ganztonmarkierungen anlegen?
(https://usercontent.one/wp/www.bass-corner.de/wp-content/uploads/2015/12/Noten-lesen-Halbton.jpg)
Für Ganztöne könnte man die "Analytic Brackets" nutzen, aber ist auch nicht 100%
Dank&Gruß
Joei
Hallo Joei,
ich hab mir irgendwann mal das hier zusammengestellt:
% https://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00748.html
\version "2.20.0"
#(define ((elbowed-glissando coords) grob)
(define (pair-to-list pair)
(list (car pair) (cdr pair)))
(define (normalize-coords goods x y)
(map
(lambda (coord)
(cons (* x (car coord)) (* y (cdr coord))))
goods))
(define (my-c-p-s points thick)
(make-connected-path-stencil
points
thick
1.0
1.0
#f
#f))
; outer let to trigger suicide
(let ((sten (ly:line-spanner::print grob)))
(if (grob::is-live? grob)
(let* ((thick (ly:grob-property grob 'thickness 0.1))
(offs (ly:grob-property grob 'Y-offset 0))
(xex (ly:stencil-extent sten X))
(lenx (interval-length xex))
(yex (ly:stencil-extent sten Y))
(xtrans (car xex))
(ytrans (+ (car yex) offs ))
(uplist
(map pair-to-list
(normalize-coords coords lenx 3)))
(downlist
(map pair-to-list
(normalize-coords coords lenx -3))))
(ly:stencil-translate
(my-c-p-s uplist thick)
(cons xtrans ytrans)))
'())))
#(define semi-tone-gliss
(elbowed-glissando '((0.5 . -0.5) (1.0 . 0.15))))
#(define tone-gliss
(elbowed-glissando '((0 . -0.5) (1.0 . -0.35) (1.0 . 0.16))))
#(define three-semi-tone-gliss
(elbowed-glissando '((0 . -0.5) (0.5 . -1.0) (1.0 . -0.35) (1.0 . 0.15))))
glissandoSettings = {
\override Glissando.Y-offset = #-1
\override Glissando.thickness = #0.2
\override Glissando.bound-details =
#'((left (padding . 0.2))
(right (end-on-accidental . #f) (padding . 0.2)))
}
semiTone =
#(define-event-function (parser location)()
#{
\tweak #'Y-offset #-1
\tweak #'thickness #0.2
\tweak #'bound-details
#'((left (padding . 0.2))
(right (end-on-accidental . #f) (padding . 0.2)))
\tweak #'stencil #semi-tone-gliss
\glissando
#})
tone =
#(define-event-function (parser location)()
#{
\tweak #'Y-offset #-1
\tweak #'thickness #0.2
\tweak #'bound-details
#'((left (padding . 0.2))
(right (end-on-accidental . #f) (padding . 0.2)))
\tweak #'stencil #tone-gliss
\glissando
#})
threeSemiTone =
#(define-event-function (parser location)()
#{
\tweak #'Y-offset #-1
\tweak #'thickness #0.2
\tweak #'bound-details
#'((left (padding . 0.2))
(right (end-on-accidental . #f) (padding . 0.2)))
\tweak #'stencil #three-semi-tone-gliss
\glissando
#})
hts = \semiTone
gts = \tone
\relative c' {
\override Staff.TimeSignature.stencil = ##f
\override Staff.BarLine.stencil = ##f
\glissandoSettings
c1
\gts
d
\hts
ees
\tone
f
\tone
g
\semiTone
as
\threeSemiTone
b!
\semiTone
c
\revert Staff.BarLine.stencil
\bar "|."
}
Das allermeiste davon müsste von hier stammen:
https://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00748.html (https://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00748.html)
Viele Grüße,
Klaus
top. Passt - Danke!
(parser location) ist schon lange überholt und kann durch () ersetzt werden