Compare commits

...

3 Commits

Author SHA1 Message Date
b80900f367 added some extra strip functions 2026-01-19 22:26:59 +01:00
7ef35839a5 clear articulation type 2026-01-19 21:38:12 +01:00
53e40f7122 added functions 2026-01-19 21:20:56 +01:00

View File

@@ -1,10 +1,64 @@
stripArticulations = #(define-scheme-function
(music)
(ly:music?)
(define (strip-articulations-i o)
(define (f l)
(if (null? l)
'()
(let ((o (car l)))
(if (music-is-of-type? o 'articulation-event)
(f (cdr l))
(cons o (f (cdr l)))))
))
(let ((els (ly:music-property o 'elements)))
(map strip-articulations-i els))
(let ((arts (ly:music-property o 'articulations)))
(cond ((not (null? arts))
(let ((n-arts (f arts)))
(ly:music-set-property! o 'articulations n-arts)))))
o)
(strip-articulations-i (ly:music-deep-copy music))
)
forceAccidental = #(define-scheme-function
(on_off music)
(index? ly:music?)
(let ((yn (if (= on_off 0) #f #t)))
(define (force-accidental-i o)
(define (f o)
(cond ((music-is-of-type? o 'note-event)
(ly:music-set-property! o 'force-accidental yn)))
(force-accidental-i o)
o
)
(let ((els (ly:music-property o 'elements)))
(map f els))
(let ((arts (ly:music-property o 'articulations)))
(map f arts))
o
)
(force-accidental-i (ly:music-deep-copy music))
)
)
rmtext = #(define-scheme-function
(o)
(ly:music?)
(define (f o)
(ly:music-set-property! o 'text "")
(ly:music-set-property! o 'span-text "")
(let ((t (ly:music-property o 'name)))
(let ((els (ly:music-property o 'elements)))
(if (null? els)
@@ -102,3 +156,22 @@ frr = #(define-scheme-function
(rep 8 n)
)
none = #(define-scheme-function
(n1 n2 n3 n4 n5 n6 n7 n8 n9)
(ly:music? ly:music? ly:music?
ly:music? ly:music? ly:music?
ly:music? ly:music? ly:music?)
#{ \times 2/3 { $n1 $n2 $n3 }
\times 2/3 { $n4 $n5 $n6 }
\times 2/3 { $n7 $n8 $n9 }
#}
)
tri = #(define-scheme-function
(n1 n2 n3)
(ly:music? ly:music? ly:music?)
#{
\times 2/3 { $n1 $n2 $n3 }
#}
)