]> git.donarmstrong.com Git - lilypond.git/blob - ly/music-functions-init.ly
* Documentation/user/invoking.itely (Reporting bugs): rename.
[lilypond.git] / ly / music-functions-init.ly
1 \version "2.3.22"
2
3
4 applymusic = #(def-music-function (location func music) (procedure? ly:music?)
5                (func music))
6
7 oldaddlyrics = #(def-music-function (location music lyrics) (ly:music? ly:music?)
8
9               (make-music 'LyricCombineMusic 
10                           'origin location
11                           'elements (list music lyrics)))
12
13 grace = #(def-grace-function startGraceMusic stopGraceMusic)
14 acciaccatura = #(def-grace-function startAcciaccaturaMusic stopAcciaccaturaMusic)
15 appoggiatura = #(def-grace-function startAppoggiaturaMusic stopAppoggiaturaMusic)
16
17 partcombine = #(def-music-function (location part1 part2) (ly:music? ly:music?)
18                 (make-part-combine-music (list part1 part2)))
19
20 autochange = #(def-music-function (location music) (ly:music?)
21                (make-autochange-music music))
22
23 applycontext = #(def-music-function (location proc) (procedure?)
24                  (make-music 'ApplyContext 
25                    'origin location
26                    'procedure proc))
27
28 displayMusic = #(def-music-function (location music) (ly:music?)
29                  (display-music music)
30                  music)
31 applyoutput = #(def-music-function (location proc) (procedure?)
32                 (make-music 'ApplyOutputEvent 
33                   'origin location
34                   'procedure proc))
35
36 breathe = #(def-music-function (location) ()
37             (make-music 'EventChord 
38               'origin location
39               'elements (list (make-music 'BreathingSignEvent))))
40
41
42 unfoldrepeats = #(def-music-function (location music) (ly:music?)
43                   (unfold-repeats music))
44
45 compressmusic = #(def-music-function
46                   (location fraction music) (number-pair? ly:music?)
47                   (ly:music-compress music (ly:make-moment (car fraction) (cdr fraction))))
48
49 makeClusters = #(def-music-function
50                 (location arg) (ly:music?)
51                 (music-map note-to-cluster arg))
52
53
54 removeWithTag = 
55 #(def-music-function
56   (location tag music) (symbol? ly:music?)
57   (music-filter
58    (lambda (m)
59     (let* ((tags (ly:music-property m 'tags))
60             (res (memq tag tags)))
61        (not res)))))
62               
63 keepWithTag =
64 #(def-music-function
65   (location tag music) (symbol? ly:music?)
66   (music-filter
67    (lambda (m)
68     (let* ((tags (ly:music-property m 'tags))
69            (res (memq tag tags)))
70        (or
71         (eq? tags '())
72         (memq tag tags))))
73    music))
74
75 %{
76
77 TODO:
78
79 remove these from the parser, and softcode here:
80
81  * \tag
82
83 with small syntax changes, we could also do
84
85  * \bar
86  *  ?
87
88 %}