X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fmusic-functions-init.ly;h=2278f85a266387dbedef8a3d3192917b2193d126;hb=f87c71b902750abad8bbfb22a565f9a3ffbc5e07;hp=34261c114b2d7f3e9606fa50c2d4f95bb0e7d869;hpb=7439f9e74f8e33286c8af7f9a51fe4f7a4eb10fd;p=lilypond.git diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly index 34261c114b..2278f85a26 100644 --- a/ly/music-functions-init.ly +++ b/ly/music-functions-init.ly @@ -18,7 +18,7 @@ %%%% You should have received a copy of the GNU General Public License %%%% along with LilyPond. If not, see . -\version "2.13.29" +\version "2.14.0" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -204,8 +204,6 @@ breathe = (_i "Insert a breath mark.") (make-music 'BreathingEvent)) - - clef = #(define-music-function (parser location type) (string?) (_i "Set the current clef to @var{type}.") @@ -342,7 +340,57 @@ featherDurations= argument)) +footnoteGrob = +#(define-music-function (parser location grob-name offset text footnote) + (symbol? number-pair? markup? markup?) + (_i "Attach @var{text} to @var{grob-name} at offset @var{offset}, +with @var{text} referring to @var{footnote} (use like @code{\\once})") + (make-music 'FootnoteEvent + 'symbol grob-name + 'X-offset (car offset) + 'Y-offset (cdr offset) + 'text text + 'footnote-text footnote)) +autoFootnoteGrob = +#(define-music-function (parser location grob-name offset footnote) + (symbol? number-pair? markup?) + (_i "Footnote @var{grob-name} with the text in @var{footnote} +allowing for the footnote to be automatically numbered such that +the number appears at @var{offset}. Note that, for this to take effect, +auto-numbering must be turned on in the paper block. Otherwise, no +number will appear. Use like @code{\\once})") + #{ + \footnoteGrob $grob-name $offset \markup { \null } $footnote + #}) + +footnote = +#(define-music-function (parser location offset text footnote) + (number-pair? markup? markup?) + (_i "Attach @var{text} at @var{offset} with @var{text} referring +to @var{footnote} (use like @code{\\tweak})") + (make-music 'FootnoteEvent + 'X-offset (car offset) + 'Y-offset (cdr offset) + 'text text + 'footnote-text footnote)) + +% this function can't be a simple copy and past of the above because +% it needs to be encapsulated in a Sequential Music. +% so, there's a code dup of above :-( +autoFootnote = +#(define-music-function (parser location offset footnote) + (number-pair? markup?) + (_i "Footnote the item after which this comes with the text in +@var{footnote} allowing for the footnote to be automatically numbered +such that the number appears at @var{offset}. Note that, for this to +take effect, auto-numbering must be turned on in the paper block. +Otherwise, no number will appear. Use like @code{\\tweak})") + (make-music 'FootnoteEvent + 'X-offset (car offset) + 'Y-offset (cdr offset) + 'text (make-null-markup) + 'footnote-text footnote)) grace = #(def-grace-function startGraceMusic stopGraceMusic @@ -480,6 +528,13 @@ using @var{scale}.") (change-pitches music transposer) music)) +inversion = +#(define-music-function + (parser location around to music) (ly:music? ly:music? ly:music?) + (_i "Invert @var{music} about @var{around} and +transpose from @var{around} to @var{to}.") + (music-invert around to music)) + musicMap = #(define-music-function (parser location proc mus) (procedure? ly:music?) (_i "Apply @var{proc} to @var{mus} and all of the music it contains.") @@ -842,6 +897,11 @@ shiftDurations = (lambda (x) (shift-one-duration-log x dur dots)) arg)) +slashedGrace = +#(def-grace-function startSlashedGraceMusic stopSlashedGraceMusic + (_i "Create slashed graces (slashes through stems, but no slur) from +the following music expression")) + spacingTweaks = #(define-music-function (parser location parameters) (list?) (_i "Set the system stretch, by reading the 'system-stretch property of