%%%% You should have received a copy of the GNU General Public License
%%%% along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
-\version "2.17.11"
+\version "2.19.22"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TODO: using define-music-function in a .scm causes crash.
absolute =
-#(define-music-function (parser location music)
+#(define-music-function (music)
(ly:music?)
(_i "Make @var{music} absolute. This does not actually change the
music itself but rather hides it from surrounding @code{\\relative}
instrument-definitions = #'()
addInstrumentDefinition =
#(define-void-function
- (parser location name lst) (string? list?)
+ (name lst) (string? list?)
(_i "Create instrument @var{name} with properties @var{list}.")
(set! instrument-definitions (acons name lst instrument-definitions)))
addQuote =
-#(define-void-function (parser location name music) (string? ly:music?)
+#(define-void-function (name music) (string? ly:music?)
(_i "Define @var{music} as a quotable music expression named
@var{name}")
- (add-quotable parser name music))
+ (add-quotable (*parser*) name music))
%% keep these two together
afterGraceFraction = #(cons 6 8)
afterGrace =
-#(define-music-function (parser location main grace) (ly:music? ly:music?)
+#(define-music-function (main grace) (ly:music? ly:music?)
(_i "Create @var{grace} note(s) after a @var{main} music expression.")
(let ((main-length (ly:music-length main))
- (fraction (ly:parser-lookup parser 'afterGraceFraction)))
+ (fraction (ly:parser-lookup (*parser*) 'afterGraceFraction)))
(make-simultaneous-music
(list
main
%% music identifiers not allowed at top-level,
%% so this is a music-function instead.
allowPageTurn =
-#(define-music-function (parser location) ()
+#(define-music-function () ()
(_i "Allow a page turn. May be used at toplevel (ie between scores or
markups), or inside a score.")
(make-music 'EventChord
'break-permission 'allow))))
alterBroken =
-#(define-music-function (parser location property arg item)
+#(define-music-function (property arg item)
(symbol-list-or-symbol? list? symbol-list-or-music?)
(_i "Override @var{property} for pieces of broken spanner @var{item}
with values @var{arg}. @var{item} may either be music in the form of
(begin
(ly:music-warning item (_ "not a spanner"))
item))
- (let* ((p (check-grob-path item parser location
+ (let* ((p (check-grob-path item (*parser*) (*location*)
#:default 'Bottom
#:min 2
#:max 2))
#(value-for-spanner-piece arg)
#}
(begin
- (ly:input-warning location (_ "not a spanner name, `~a'") name)
+ (ly:input-warning (*location*) (_ "not a spanner name, `~a'") name)
(make-music 'Music))))))
appendToTag =
-#(define-music-function (parser location tag more music)
+#(define-music-function (tag more music)
(symbol? ly:music? ly:music?)
(_i "Append @var{more} to the @code{elements} of all music
expressions in @var{music} that are tagged with @var{tag}.")
music))
applyContext =
-#(define-music-function (parser location proc) (procedure?)
+#(define-music-function (proc) (procedure?)
(_i "Modify context properties with Scheme procedure @var{proc}.")
(make-music 'ApplyContext
'procedure proc))
applyMusic =
-#(define-music-function (parser location func music) (procedure? ly:music?)
+#(define-music-function (func music) (procedure? ly:music?)
(_i"Apply procedure @var{func} to @var{music}.")
(func music))
applyOutput =
-#(define-music-function (parser location ctx proc) (symbol? procedure?)
+#(define-music-function (ctx proc) (symbol? procedure?)
(_i "Apply function @code{proc} to every layout object in context @code{ctx}")
(make-music 'ApplyOutputEvent
'procedure proc
% for regression testing purposes.
assertBeamQuant =
-#(define-music-function (parser location l r) (pair? pair?)
+#(define-music-function (l r) (pair? pair?)
(_i "Testing function: check whether the beam quants @var{l} and @var{r} are correct")
(make-grob-property-override 'Beam 'positions (check-quant-callbacks l r)))
% for regression testing purposes.
assertBeamSlope =
-#(define-music-function (parser location comp) (procedure?)
+#(define-music-function (comp) (procedure?)
(_i "Testing function: check whether the slope of the beam is the same as @code{comp}")
(make-grob-property-override 'Beam 'positions (check-slope-callbacks comp)))
autochange =
-#(define-music-function (parser location music) (ly:music?)
+#(define-music-function (music) (ly:music?)
(_i "Make voices that switch between staves automatically")
- (make-autochange-music parser music))
+ (make-autochange-music (*parser*) music))
balloonGrobText =
-#(define-music-function (parser location grob-name offset text)
+#(define-music-function (grob-name offset text)
(symbol? number-pair? markup?)
(_i "Attach @var{text} to @var{grob-name} at offset @var{offset}
(use like @code{\\once})")
'text text))))
balloonText =
-#(define-event-function (parser location offset text) (number-pair? markup?)
+#(define-event-function (offset text) (number-pair? markup?)
(_i "Attach @var{text} at @var{offset} (use like @code{\\tweak})")
(make-music 'AnnotateOutputEvent
'X-offset (car offset)
'text text))
bar =
-#(define-music-function (parser location type) (string?)
+#(define-music-function (type) (string?)
(_i "Insert a bar line of type @var{type}")
(context-spec-music
(make-property-set 'whichBar type)
'Timing))
barNumberCheck =
-#(define-music-function (parser location n) (integer?)
+#(define-music-function (n) (integer?)
(_i "Print a warning if the current bar number is not @var{n}.")
(make-music 'ApplyContext
'procedure
(lambda (c)
(let ((cbn (ly:context-property c 'currentBarNumber)))
(if (and (number? cbn) (not (= cbn n)))
- (ly:input-warning location
+ (ly:input-warning (*location*)
"Barcheck failed got ~a expect ~a"
cbn n))))))
beamExceptions =
-#(define-scheme-function (parser location music) (ly:music?)
+#(define-scheme-function (music) (ly:music?)
(_i "Extract a value suitable for setting
@code{Timing.beamExceptions} from the given pattern with explicit
beams in @var{music}. A bar check @code{|} has to be used between
(extract-beam-exceptions music))
bendAfter =
-#(define-event-function (parser location delta) (real?)
+#(define-event-function (delta) (real?)
(_i "Create a fall or doit of pitch interval @var{delta}.")
(make-music 'BendAfterEvent
'delta-step delta))
bookOutputName =
-#(define-void-function (parser location newfilename) (string?)
+#(define-void-function (newfilename) (string?)
(_i "Direct output for the current book block to @var{newfilename}.")
- (set! (paper-variable parser #f 'output-filename) newfilename))
+ (set! (paper-variable (*parser*) #f 'output-filename) newfilename))
bookOutputSuffix =
-#(define-void-function (parser location newsuffix) (string?)
+#(define-void-function (newsuffix) (string?)
(_i "Set the output filename suffix for the current book block to
@var{newsuffix}.")
- (set! (paper-variable parser #f 'output-suffix) newsuffix))
+ (set! (paper-variable (*parser*) #f 'output-suffix) newsuffix))
%% \breathe is defined as a music function rather than an event identifier to
%% ensure it gets useful input location information: as an event identifier,
%% it would have to be wrapped in an EventChord to prevent it from being
%% treated as a post_event by the parser
breathe =
-#(define-music-function (parser location) ()
+#(define-music-function () ()
(_i "Insert a breath mark.")
(make-music 'BreathingEvent))
clef =
-#(define-music-function (parser location type) (string?)
+#(define-music-function (type) (string?)
(_i "Set the current clef to @var{type}.")
(make-clef-set type))
compoundMeter =
-#(define-music-function (parser location args) (pair?)
+#(define-music-function (args) (pair?)
(_i "Create compound time signatures. The argument is a Scheme list of
lists. Each list describes one fraction, with the last entry being the
denominator, while the first entries describe the summands in the
#} ))
compressMMRests =
-#(define-music-function (parser location music) (ly:music?)
+#(define-music-function (music) (ly:music?)
(_i "Remove the empty bars created by multi-measure rests,
leaving just the first bar containing the MM rest itself.")
(music-map
music))
crossStaff =
-#(define-music-function (parser location notes) (ly:music?)
+#(define-music-function (notes) (ly:music?)
(_i "Create cross-staff stems")
#{
\temporary \override Stem.cross-staff = #cross-staff-connect
#})
cueClef =
-#(define-music-function (parser location type) (string?)
+#(define-music-function (type) (string?)
(_i "Set the current cue clef to @var{type}.")
(make-cue-clef-set type))
cueClefUnset =
-#(define-music-function (parser location) ()
+#(define-music-function () ()
(_i "Unset the current cue clef.")
(make-cue-clef-unset))
cueDuring =
#(define-music-function
- (parser location what dir main-music) (string? ly:dir? ly:music?)
+ (what dir main-music) (string? ly:dir? ly:music?)
(_i "Insert contents of quote @var{what} corresponding to @var{main-music},
in a CueVoice oriented by @var{dir}.")
(make-music 'QuoteMusic
cueDuringWithClef =
#(define-music-function
- (parser location what dir clef main-music) (string? ly:dir? string? ly:music?)
+ (what dir clef main-music) (string? ly:dir? string? ly:music?)
(_i "Insert contents of quote @var{what} corresponding to @var{main-music},
in a CueVoice oriented by @var{dir}.")
(make-music 'QuoteMusic
displayLilyMusic =
-#(define-music-function (parser location port music) ((output-port?) ly:music?)
+#(define-music-function (port music) ((output-port?) ly:music?)
(_i "Display the LilyPond input representation of @var{music}
to @var{port}, defaulting to the console.")
(let ((port (or port (current-output-port))))
(newline port)
- (display-lily-music music parser port))
+ (display-lily-music music (*parser*) port))
music)
displayMusic =
-#(define-music-function (parser location port music) ((output-port?) ly:music?)
+#(define-music-function (port music) ((output-port?) ly:music?)
(_i "Display the internal representation of @var{music} to
@var{port}, default to the console.")
(let ((port (or port (current-output-port))))
music)
displayScheme =
-#(define-scheme-function (parser location port expr) ((output-port?) scheme?)
+#(define-scheme-function (port expr) ((output-port?) scheme?)
(_i "Display the internal representation of @var{expr} to
@var{port}, default to the console.")
(let ((port (or port (current-output-port))))
endSpanners =
-#(define-music-function (parser location music) (ly:music?)
+#(define-music-function (music) (ly:music?)
(_i "Terminate the next spanner prematurely after exactly one note
without the need of a specific end spanner.")
(let* ((start-span-evs (filter (lambda (ev)
total))
eventChords =
-#(define-music-function (parser location music) (ly:music?)
+#(define-music-function (music) (ly:music?)
(_i "Compatibility function wrapping @code{EventChord} around
isolated rhythmic events occuring since version 2.15.28, after
expanding repeat chords @samp{q}.")
- (event-chord-wrap! music parser))
+ (event-chord-wrap! music (*parser*)))
featherDurations=
-#(define-music-function (parser location factor argument) (ly:moment? ly:music?)
+#(define-music-function (factor argument) (ly:moment? ly:music?)
(_i "Adjust durations of music in @var{argument} by rational @var{factor}.")
(let ((orig-duration (ly:music-length argument))
(multiplier (ly:make-moment 1 1)))
argument))
finger =
-#(define-event-function (parser location finger) (number-or-markup?)
+#(define-event-function (finger) (number-or-markup?)
(_i "Apply @var{finger} as a fingering indication.")
(make-music
finger))
fixed =
-#(define-music-function (parser location pitch music)
+#(define-music-function (pitch music)
(ly:pitch? ly:music?)
(_i "Use the octave of @var{pitch} as the default octave for @var{music}.")
(let ((octave-marks (1+ (ly:pitch-octave pitch))))
(make-music 'RelativeOctaveMusic 'element music))
footnote =
-#(define-music-function (parser location mark offset footnote item)
+#(define-music-function (mark offset footnote item)
((markup?) number-pair? markup? symbol-list-or-music?)
(_i "Make the markup @var{footnote} a footnote on @var{item}. The
footnote is marked with a markup @var{mark} moved by @var{offset} with
(_i "Insert @var{music} as grace notes."))
grobdescriptions =
-#(define-scheme-function (parser location descriptions) (list?)
+#(define-scheme-function (descriptions) (list?)
(_i "Create a context modification from @var{descriptions}, a list
in the format of @code{all-grob-descriptions}.")
(ly:make-context-mod
(list 'assign (car p) (ly:make-grob-properties (cdr p))))
descriptions)))
-harmonicByFret = #(define-music-function (parser location fret music) (number? ly:music?)
+harmonicByFret = #(define-music-function (fret music) (number? ly:music?)
(_i "Convert @var{music} into mixed harmonics; the resulting notes resemble
harmonics played on a fretted instrument by touching the strings at @var{fret}.")
#{
\revert NoteHead.stencil
#})
-harmonicByRatio = #(define-music-function (parser location ratio music) (number? ly:music?)
+harmonicByRatio = #(define-music-function (ratio music) (number? ly:music?)
(_i "Convert @var{music} into mixed harmonics; the resulting notes resemble
harmonics played on a fretted instrument by touching the strings at the point
given through @var{ratio}.")
#})
hide =
-#(define-music-function (parser location item) (symbol-list-or-music?)
+#(define-music-function (item) (symbol-list-or-music?)
(_i "Set @var{item}'s @samp{transparent} property to @code{#t},
making it invisible while still retaining its dimensions.
#{ \tweak transparent ##t #item #})
inStaffSegno =
-#(define-music-function (parser location) ()
+#(define-music-function () ()
(_i "Put the segno variant 'varsegno' at this position into the staff,
compatible with the repeat command.")
(make-music 'ApplyContext
instrumentSwitch =
#(define-music-function
- (parser location name) (string?)
+ (name) (string?)
(_i "Switch instrument to @var{name}, which must be predefined with
@code{\\addInstrumentDefinition}.")
(let* ((handle (assoc name instrument-definitions))
(instrument-def (if handle (cdr handle) '())))
(if (not handle)
- (ly:input-warning location "No such instrument: ~a" name))
+ (ly:input-warning (*location*) "No such instrument: ~a" name))
(context-spec-music
(make-music 'SimultaneousMusic
'elements
keepWithTag =
-#(define-music-function (parser location tags music)
+#(define-music-function (tags music)
(symbol-list-or-symbol? ly:music?)
(_i "Include only elements of @var{music} that are tagged with one
of the tags in @var{tags}. @var{tags} may be either a single symbol
music))
key =
-#(define-music-function (parser location tonic pitch-alist)
+#(define-music-function (tonic pitch-alist)
((ly:pitch? '()) (list? '()))
(_i "Set key to @var{tonic} and scale @var{pitch-alist}.
If both are null, just generate @code{KeyChangeEvent}.")
(cond ((null? tonic) (make-music 'KeyChangeEvent))
((null? pitch-alist)
- (ly:parser-error parser (_ "second argument must be pitch list")
- location)
+ (ly:parser-error (*parser*) (_ "second argument must be pitch list")
+ (*location*))
(make-music 'SequentialMusic 'void #t))
(else
(ly:music-transpose
tonic))))
killCues =
-#(define-music-function (parser location music) (ly:music?)
+#(define-music-function (music) (ly:music?)
(_i "Remove cue notes from @var{music}.")
(music-map
(lambda (mus)
label =
-#(define-music-function (parser location label) (symbol?)
+#(define-music-function (label) (symbol?)
(_i "Create @var{label} as a bookmarking label.")
(make-music 'EventChord
'page-marker #t
language =
-#(define-void-function (parser location language) (string?)
+#(define-void-function (language) (string?)
(_i "Set note names for language @var{language}.")
- (note-names-language parser language))
+ (note-names-language (*parser*) language))
languageSaveAndChange =
-#(define-void-function (parser location language) (string?)
+#(define-void-function (language) (string?)
(_i "Store the previous pitchnames alist, and set a new one.")
(set! previous-pitchnames pitchnames)
- (note-names-language parser language))
+ (note-names-language (*parser*) language))
languageRestore =
-#(define-void-function (parser location) ()
+#(define-void-function () ()
(_i "Restore a previously-saved pitchnames alist.")
(if previous-pitchnames
(begin
(set! pitchnames previous-pitchnames)
- (ly:parser-set-note-names parser pitchnames))
- (ly:input-warning location (_ "No other language was defined previously. Ignoring."))))
+ (ly:parser-set-note-names (*parser*) pitchnames))
+ (ly:input-warning (*location*) (_ "No other language was defined previously. Ignoring."))))
magnifyMusic =
-#(define-music-function (parser location mag music) (positive? ly:music?)
+#(define-music-function (mag music) (positive? ly:music?)
(_i "Magnify the notation of @var{music} without changing the
staff-size, using @var{mag} as a size factor. Stems, beams,
slurs, ties, and horizontal spacing are adjusted automatically.")
#})
magnifyStaff =
-#(define-music-function (parser location mag) (positive?)
+#(define-music-function (mag) (positive?)
(_i "Change the size of the staff, adjusting notation size and
horizontal spacing automatically, using @var{mag} as a size factor.")
#})
makeClusters =
-#(define-music-function (parser location arg) (ly:music?)
+#(define-music-function (arg) (ly:music?)
(_i "Display chords in @var{arg} as clusters.")
(music-map note-to-cluster arg))
modalInversion =
-#(define-music-function (parser location around to scale music)
+#(define-music-function (around to scale music)
(ly:pitch? ly:pitch? ly:music? ly:music?)
(_i "Invert @var{music} about @var{around} using @var{scale} and
transpose from @var{around} to @var{to}.")
music))
modalTranspose =
-#(define-music-function (parser location from to scale music)
+#(define-music-function (from to scale music)
(ly:pitch? ly:pitch? ly:music? ly:music?)
(_i "Transpose @var{music} from pitch @var{from} to pitch @var{to}
using @var{scale}.")
inversion =
#(define-music-function
- (parser location around to music) (ly:pitch? ly:pitch? ly:music?)
+ (around to music) (ly:pitch? ly:pitch? ly:music?)
(_i "Invert @var{music} about @var{around} and
transpose from @var{around} to @var{to}.")
(music-invert around to music))
mark =
#(define-music-function
- (parser location label) ((scheme? '()))
+ (label) ((scheme? '()))
"Make the music for the \\mark command."
(let* ((set (and (integer? label)
(context-spec-music (make-property-set 'rehearsalMark label)
'Score)))
(ev (make-music 'MarkEvent
- 'origin location)))
+ 'origin (*location*))))
(if set
(make-sequential-music (list set ev))
ev))))
musicMap =
-#(define-music-function (parser location proc mus) (procedure? ly:music?)
+#(define-music-function (proc mus) (procedure? ly:music?)
(_i "Apply @var{proc} to @var{mus} and all of the music it contains.")
(music-map proc mus))
%% noPageBreak and noPageTurn are music functions (not music indentifiers),
%% because music identifiers are not allowed at top-level.
noPageBreak =
-#(define-music-function (parser location) ()
+#(define-music-function () ()
(_i "Forbid a page break. May be used at toplevel (i.e., between scores or
markups), or inside a score.")
(make-music 'EventChord
'break-permission '()))))
noPageTurn =
-#(define-music-function (parser location) ()
+#(define-music-function () ()
(_i "Forbid a page turn. May be used at toplevel (i.e., between scores or
markups), or inside a score.")
(make-music 'EventChord
octaveCheck =
-#(define-music-function (parser location pitch) (ly:pitch?)
+#(define-music-function (pitch) (ly:pitch?)
(_i "Octave check.")
(make-music 'RelativeOctaveCheck
'pitch pitch))
offset =
-#(define-music-function (parser location property offsets item)
+#(define-music-function (property offsets item)
(symbol-list-or-symbol? scheme? symbol-list-or-music?)
(_i "Offset the default value of @var{property} of @var{item} by
@var{offsets}. If @var{item} is a string, the result is
(if (symbol? property)
(list property)
property)
- parser location
+ (*parser*) (*location*)
#:start 1 #:default #t #:min 2 #:max 2)))
(if prop-path
; If the head of the grob property path is a symbol--i.e.,
(if (symbol? property)
(list property)
property))
- parser location
+ (*parser*) (*location*)
#:default 'Bottom #:min 3 #:max 3)))
(if prop-path
#{
(make-music 'Music)))))
omit =
-#(define-music-function (parser location item) (symbol-list-or-music?)
+#(define-music-function (item) (symbol-list-or-music?)
(_i "Set @var{item}'s @samp{stencil} property to @code{#f},
effectively omitting it without taking up space.
#{ \tweak stencil ##f #item #})
once =
-#(define-music-function (parser location music) (ly:music?)
+#(define-music-function (music) (ly:music?)
(_i "Set @code{once} to @code{#t} on all layout instruction events
in @var{music}. This will complain about music with an actual
duration. As a special exception, if @var{music} contains
music)
ottava =
-#(define-music-function (parser location octave) (integer?)
+#(define-music-function (octave) (integer?)
(_i "Set the octavation.")
(make-music 'OttavaMusic
'ottava-number octave))
overrideTimeSignatureSettings =
#(define-music-function
- (parser location time-signature base-moment beat-structure beam-exceptions)
+ (time-signature base-moment beat-structure beam-exceptions)
(fraction? fraction? list? list?)
(_i "Override @code{timeSignatureSettings}
(override-time-signature-setting time-signature setting)))
overrideProperty =
-#(define-music-function (parser location grob-property-path value)
+#(define-music-function (grob-property-path value)
(symbol-list? scheme?)
(_i "Set the grob property specified by @var{grob-property-path} to
@var{value}. @var{grob-property-path} is a symbol list of the form
@code{Context.GrobName.property} or @code{GrobName.property}, possibly
with subproperties given as well.")
- (let ((p (check-grob-path grob-property-path parser location
+ (let ((p (check-grob-path grob-property-path (*parser*) (*location*)
#:default 'Bottom
#:min 3)))
(if p
%% pageBreak and pageTurn are music functions (iso music indentifiers),
%% because music identifiers are not allowed at top-level.
pageBreak =
-#(define-music-function (parser location) ()
+#(define-music-function () ()
(_i "Force a page break. May be used at toplevel (i.e., between scores or
markups), or inside a score.")
(make-music 'EventChord
'break-permission 'force))))
pageTurn =
-#(define-music-function (parser location) ()
+#(define-music-function () ()
(_i "Force a page turn between two scores or top-level markups.")
(make-music 'EventChord
'page-marker #t
'break-permission 'force))))
parallelMusic =
-#(define-void-function (parser location voice-ids music) (list? ly:music?)
+#(define-void-function (voice-ids music) (list? ly:music?)
(_i "Define parallel music sequences, separated by '|' (bar check signs),
and assign them to the identifiers provided in @var{voice-ids}.
;;
;; bind voice identifiers to the voices
(for-each (lambda (voice-id voice)
- (ly:parser-define! parser voice-id voice))
+ (ly:parser-define! (*parser*) voice-id voice))
voice-ids voices)
(ly:music-warning music
(_ "ignoring parallel music without barchecks")))))
parenthesize =
-#(define-music-function (parser loc arg) (ly:music?)
+#(define-music-function (arg) (ly:music?)
(_i "Tag @var{arg} to be parenthesized.")
(if (memq 'event-chord (ly:music-property arg 'types))
>> #} ))
partcombine =
-#(define-music-function (parser location chord-range part1 part2)
+#(define-music-function (chord-range part1 part2)
((number-pair? '(0 . 8)) ly:music? ly:music?)
(_i "Take the music in @var{part1} and @var{part2} and return
a music expression containing simultaneous voices, where @var{part1}
and @var{part2} are combined into one voice where appropriate.
Optional @var{chord-range} sets the distance in steps between notes
that may be combined into a chord or unison.")
- (make-directed-part-combine-music parser #f chord-range part1 part2
+ (make-directed-part-combine-music (*parser*) #f chord-range part1 part2
#{ \with { \voiceOne \override DynamicLineSpanner.direction = #UP } #}
#{ \with { \voiceTwo \override DynamicLineSpanner.direction = #DOWN } #}
#{ #} ))
partcombineUp =
-#(define-music-function (parser location chord-range part1 part2)
+#(define-music-function (chord-range part1 part2)
((number-pair? '(0 . 8)) ly:music? ly:music?)
(_i "Take the music in @var{part1} and @var{part2} and typeset so
that they share a staff with stems directed upward.")
- (make-directed-part-combine-music parser UP chord-range part1 part2
+ (make-directed-part-combine-music (*parser*) UP chord-range part1 part2
#{ \with { \voiceOne \override DynamicLineSpanner.direction = #UP } #}
#{ \with { \voiceThree \override DynamicLineSpanner.direction = #UP } #}
#{ \with { \voiceOne \override DynamicLineSpanner.direction = #UP } #} ))
partcombineDown =
-#(define-music-function (parser location chord-range part1 part2)
+#(define-music-function (chord-range part1 part2)
((number-pair? '(0 . 8)) ly:music? ly:music?)
(_i "Take the music in @var{part1} and @var{part2} and typeset so
that they share a staff with stems directed downward.")
- (make-directed-part-combine-music parser DOWN chord-range part1 part2
+ (make-directed-part-combine-music (*parser*) DOWN chord-range part1 part2
#{ \with { \voiceFour \override DynamicLineSpanner.direction = #DOWN } #}
#{ \with { \voiceTwo \override DynamicLineSpanner.direction = #DOWN } #}
#{ \with { \voiceTwo \override DynamicLineSpanner.direction = #DOWN } #} ))
partcombineForce =
-#(define-music-function (parser location type once) (boolean-or-symbol? boolean?)
+#(define-music-function (type once) (boolean-or-symbol? boolean?)
(_i "Override the part-combiner.")
(make-music 'EventChord
'elements (list (make-music 'PartCombineForceEvent
partcombineAutomaticOnce = \partcombineForce ##f ##t
partial =
-#(define-music-function (parser location dur) (ly:duration?)
+#(define-music-function (dur) (ly:duration?)
(_i "Make a partial measure.")
;; We use `descend-to-context' here instead of `context-spec-music' to
;; ensure \partial still works if the Timing_translator is moved
(descend-to-context
(context-spec-music (make-music 'PartialSet
- 'origin location
+ 'origin (*location*)
'duration dur)
'Timing)
'Score))
pitchedTrill =
#(define-music-function
- (parser location main-note secondary-note)
+ (main-note secondary-note)
(ly:music? ly:music?)
(_i "Print a trill with @var{main-note} as the main note of the trill and
print @var{secondary-note} as a stemless note head in parentheses.")
(for-each (lambda (m)
(ly:music-set-property! m 'pitch trill-pitch)) trill-events)
(begin
- (ly:input-warning location (_ "Second argument of \\pitchedTrill should be single note: "))
+ (ly:input-warning (*location*) (_ "Second argument of \\pitchedTrill should be single note: "))
(display sec-note-events)))
(if (eq? forced #t)
main-note))
pushToTag =
-#(define-music-function (parser location tag more music)
+#(define-music-function (tag more music)
(symbol? ly:music? ly:music?)
(_i "Add @var{more} to the front of @code{elements} of all music
expressions in @var{music} that are tagged with @var{tag}.")
music))
quoteDuring =
-#(define-music-function (parser location what main-music) (string? ly:music?)
+#(define-music-function (what main-music) (string? ly:music?)
(_i "Indicate a section of music to be quoted. @var{what} indicates the name
of the quoted voice, as specified in an @code{\\addQuote} command.
@var{main-music} is used to indicate the length of music to be quoted;
'quoted-music-name what))
relative =
-#(define-music-function (parser location pitch music)
+#(define-music-function (pitch music)
((ly:pitch?) ly:music?)
(_i "Make @var{music} relative to @var{pitch}. If @var{pitch} is
omitted, the first note in @var{music} is given in absolute pitch.")
'element music))
removeWithTag =
-#(define-music-function (parser location tags music)
+#(define-music-function (tags music)
(symbol-list-or-symbol? ly:music?)
(_i "Remove elements of @var{music} that are tagged with one of the
tags in @var{tags}. @var{tags} may be either a single symbol or a list
music))
resetRelativeOctave =
-#(define-music-function (parser location pitch) (ly:pitch?)
+#(define-music-function (pitch) (ly:pitch?)
(_i "Set the octave inside a \\relative section.")
(make-music 'SequentialMusic
(lambda (music last-pitch) pitch)))
retrograde =
-#(define-music-function (parser location music)
+#(define-music-function (music)
(ly:music?)
(_i "Return @var{music} in reverse order.")
(retrograde-music music))
revertTimeSignatureSettings =
#(define-music-function
- (parser location time-signature)
+ (time-signature)
(pair?)
(_i "Revert @code{timeSignatureSettings}
(revert-time-signature-setting time-signature))
rightHandFinger =
-#(define-event-function (parser location finger) (number-or-markup?)
+#(define-event-function (finger) (number-or-markup?)
(_i "Apply @var{finger} as a fingering indication.")
(make-music
finger))
scaleDurations =
-#(define-music-function (parser location fraction music)
+#(define-music-function (fraction music)
(fraction? ly:music?)
(_i "Multiply the duration of events in @var{music} by @var{fraction}.")
(ly:music-compress music
(ly:make-moment (car fraction) (cdr fraction))))
settingsFrom =
-#(define-scheme-function (parser location ctx music)
+#(define-scheme-function (ctx music)
((symbol?) ly:music?)
(_i "Take the layout instruction events from @var{music}, optionally
restricted to those applying to context type @var{ctx}, and return
mods))
shape =
-#(define-music-function (parser location offsets item)
+#(define-music-function (offsets item)
(list? symbol-list-or-music?)
(_i "Offset control-points of @var{item} by @var{offsets}. The
argument is a list of number pairs or list of such lists. Each
#{ \once \tweak control-points #shape-curve #item #})
shiftDurations =
-#(define-music-function (parser location dur dots arg)
+#(define-music-function (dur dots arg)
(integer? integer? ly:music?)
(_i "Change the duration of @var{arg} by adding @var{dur} to the
@code{durlog} of @var{arg} and @var{dots} to the @code{dots} of @var{arg}.")
(shift-duration-log arg dur dots))
single =
-#(define-music-function (parser location overrides music)
+#(define-music-function (overrides music)
(ly:music? ly:music?)
(_i "Convert @var{overrides} to tweaks and apply them to @var{music}.
This does not convert @code{\\revert}, @code{\\set} or @code{\\unset}.")
music)
skip =
-#(define-music-function (parser location dur) (ly:duration?)
+#(define-music-function (dur) (ly:duration?)
(_i "Skip forward by @var{dur}.")
(make-music 'SkipMusic
'duration dur))
the following music expression"))
spacingTweaks =
-#(define-music-function (parser location parameters) (list?)
+#(define-music-function (parameters) (list?)
(_i "Set the system stretch, by reading the 'system-stretch property of
the `parameters' assoc list.")
#{
#})
styledNoteHeads =
-#(define-music-function (parser location style heads music)
+#(define-music-function (style heads music)
(symbol? symbol-list-or-symbol? ly:music?)
(_i "Set @var{heads} in @var{music} to @var{style}.")
(style-note-heads heads style music))
tag =
-#(define-music-function (parser location tags music) (symbol-list-or-symbol? ly:music?)
+#(define-music-function (tags music) (symbol-list-or-symbol? ly:music?)
(_i "Tag the following @var{music} with @var{tags} and return the
result, by adding the single symbol or symbol list @var{tags} to the
@code{tags} property of @var{music}.")
music)
tagGroup =
-#(define-void-function (parser location tags) (symbol-list?)
+#(define-void-function (tags) (symbol-list?)
(_i "Define a tag group comprising the symbols in the symbol list
@var{tags}. Tag groups must not overlap.")
(let ((err (define-tag-group tags)))
- (if err (ly:parser-error parser err location))))
+ (if err (ly:parser-error (*parser*) err (*location*)))))
temporary =
-#(define-music-function (parser location music)
+#(define-music-function (music)
(ly:music?)
(_i "Make any @code{\\override} in @var{music} replace an existing
grob property value only temporarily, restoring the old value when a
(else
(if (not warned)
(begin
- (ly:input-warning location (_ "Cannot make ~a revertible")
+ (ly:input-warning (*location*) (_ "Cannot make ~a revertible")
(ly:music-property m 'name))
(set! warned #t)))
#t))))
music)
time =
-#(define-music-function (parser location beat-structure fraction)
+#(define-music-function (beat-structure fraction)
((number-list? '()) fraction?)
(_i "Set @var{fraction} as time signature, with optional
number list @var{beat-structure} before it.")
'beat-structure beat-structure))
times =
-#(define-music-function (parser location fraction music)
+#(define-music-function (fraction music)
(fraction? ly:music?)
(_i "Scale @var{music} in time by @var{fraction}.")
(make-music 'TimeScaledMusic
transpose =
#(define-music-function
- (parser location from to music)
+ (from to music)
(ly:pitch? ly:pitch? ly:music?)
(_i "Transpose @var{music} from pitch @var{from} to pitch @var{to}.")
transposedCueDuring =
#(define-music-function
- (parser location what dir pitch main-music)
+ (what dir pitch main-music)
(string? ly:dir? ly:pitch? ly:music?)
(_i "Insert notes from the part @var{what} into a voice called @code{cue},
'quoted-transposition pitch))
transposition =
-#(define-music-function (parser location pitch) (ly:pitch?)
+#(define-music-function (pitch) (ly:pitch?)
(_i "Set instrument transposition")
(context-spec-music
'Staff))
tuplet =
-#(define-music-function (parser location ratio tuplet-span music)
+#(define-music-function (ratio tuplet-span music)
(fraction? (ly:duration? '()) ly:music?)
(_i "Scale the given @var{music} to tuplets. @var{ratio} is a
fraction that specifies how many notes are played in place of the
'duration tuplet-span))
tupletSpan =
-#(define-music-function (parser location tuplet-span)
+#(define-music-function (tuplet-span)
((ly:duration?))
(_i "Set @code{tupletSpannerDuration}, the length into which
@code{\\tuplet} without an explicit @samp{tuplet-span} argument of its
#{ \unset tupletSpannerDuration #}))
tweak =
-#(define-music-function (parser location prop value item)
+#(define-music-function (prop value item)
(symbol-list-or-symbol? scheme? symbol-list-or-music?)
(_i "Add a tweak to the following @var{item}, usually music.
Layout objects created by @var{item} get their property @var{prop}
@var{prop} can contain additional elements in which case a nested
property (inside of an alist) is tweaked.")
(if (ly:music? item)
- (let ((p (check-grob-path prop parser location
+ (let ((p (check-grob-path prop (*parser*) (*location*)
#:start 1
#:default #t
#:min 2)))
;; diagnostics.
(let ((p (check-grob-path
(append item (if (symbol? prop) (list prop) prop))
- parser location
+ (*parser*) (*location*)
#:default 'Bottom #:min 3)))
(if p
#{ \override #p = #value #}
(make-music 'Music)))))
undo =
-#(define-music-function (parser location music)
+#(define-music-function (music)
(ly:music?)
(_i "Convert @code{\\override} and @code{\\set} in @var{music} to
@code{\\revert} and @code{\\unset}, respectively. Any reverts and
(else
(if (not warned)
(begin
- (ly:input-warning location (_ "Cannot revert ~a")
+ (ly:input-warning (*location*) (_ "Cannot revert ~a")
(ly:music-property m 'name))
(set! warned #t)))
overrides)))
(else (make-sequential-music lst))))))
unfoldRepeats =
-#(define-music-function (parser location music) (ly:music?)
+#(define-music-function (music) (ly:music?)
(_i "Force any @code{\\repeat volta}, @code{\\repeat tremolo} or
@code{\\repeat percent} commands in @var{music} to be interpreted
as @code{\\repeat unfold}.")
(unfold-repeats music))
void =
-#(define-void-function (parser location arg) (scheme?)
+#(define-void-function (arg) (scheme?)
(_i "Accept a scheme argument, return a void expression.
Use this if you want to have a scheme expression evaluated
because of its side-effects, but its value ignored."))
withMusicProperty =
-#(define-music-function (parser location sym val music)
+#(define-music-function (sym val music)
(symbol? scheme? ly:music?)
(_i "Set @var{sym} to @var{val} in @var{music}.")