Questions tagged [lily-scheme]

Scheme is a programming language in the Lisp family, it is used internally by the higher level language LilyPond — for music engraving.

Filter by
Sorted by
Tagged with
3 votes
2 answers
90 views

How to conditionally add dynamics in music function?

I have a moderately complicated, repetitive section in a piece. Thus, I want to use a shortcut to typeset it all. However, the dynamic can change. For example, sometimes I will want to attach a \sf, ...
  • 33
2 votes
1 answer
34 views

Lilypond: transpose a sequence to modes with different intervallic structure

I am looking for a Lilypond function to transpose sequences of notes between modes that have different intervallic structure (e. g. from major to harmonic minor). My assumption is that the modes have ...
6 votes
1 answer
219 views

How to pass duration to lilypond function

I defined a simple function: disdn = #(define-music-function (d) (ly:duration?) #{ <dis ais dis g>#d #}) I am calling it as follows: \disdn #8 I am getting an error: wrong ...
  • 317
5 votes
2 answers
421 views

LilyPond: How to avoid pitch-squashed chords ending up as colliding noteheads?

On the guitar it is common, both, to follow staff notation, as well as to strum chords given by their names. Using Lilypond, I am trying to notate explicit notes in staff notation and named chords ...
  • 361
3 votes
1 answer
81 views

Lilypond: Single bar, multiple repeat

Drum charts are often very repetitive, so frequently a bar will have a repeat count indicated above it. Examples shown here: (from http://www.play-drums.com/Pad/lesson11-repeats.asp) I've been able ...
3 votes
1 answer
62 views

dynamically update lilypond variables (using scheme?)

I have a bunch of organ scores with 4 voices (sopMusic, altoMusic, tenorMusic, bassMusic). Each of those voices consists of two alternating snippets of music. For example, under sopMusic we would find ...
  • 63
1 vote
1 answer
60 views

Align \markup and fermata in make-music-function?

The end goal is to have some function that takes a rest and optional text and outputs the rest with a fermata, boxed "vocals", and the optional key words. Inspired by this question, I was ...
  • 1,083
2 votes
1 answer
112 views

Using conditionals in LilyPond scheme functions

I have a software development background, but I'm new to LilyPond. I'm trying to create a function that will allow me to pass in a number and then return some text depending on which number is passed ...
  • 123
1 vote
3 answers
60 views

How does one recall the current context properties for MIDI effects in Lilypond?

After setting the a context property for a MIDI effect, for example \set Staff.midiChorusLevel = #2, how would I save this value into a variable inside a Scheme function, should I want to temporarily ...
  • 11
6 votes
1 answer
188 views

How to display Alt chords in Lilypond?

I can get Lilypond to display Alt chords on a lead sheet by explicitly spelling the Alt chord, but this seems like a real nuisance. Here is an example: \version "2.22.2" \header { title =...
user avatar
1 vote
1 answer
66 views

creating a bookpart generating scheme function in lilypond

I am creating a piano book in LilyPond, which I am using for the first time. I am separating each piece into its own \bookpart, and if any of them have multiple movements, then each movement is in a ...
  • 87
5 votes
3 answers
128 views

Get the current time signature numerator/denominator

I'm transcribing a piece with extremely frequent time changes. Some parts have a lot of full-measure rests. I'm trying to define a function that produces a full-measure rest based on the current time ...
3 votes
2 answers
63 views

Lyluatex Reuse code: Stylesheet or newcommand

I want to color all the stanza numbers of many hymns with red. I would like to keep the color definition in a stylesheet and only pass "the number and dot" of the stanza as a parameter. I ...
  • 171
2 votes
1 answer
101 views

Replace note name with variable - lilypond [closed]

nl = \break % it's true, ok! a = \axyz % this is wrong with output time adds 1 2 4 8 16 .. \axyz16 \axyz4 % etc. Is it possible to build variable to replace notes? Maybe with Scheme? I would like to ...
  • 51
3 votes
1 answer
103 views

Create new \score-like context/template in Lilypond

My current project is to create a number of short snippets for doumbek. To create each snippet, I use the following \score block: \header { piece = "Name here" } % different for each ...
  • 1,083
2 votes
1 answer
81 views

Lilypond Scheme Substitution function not using its arguments properly?

I would like to create a Lilypond music function that allows me to express this MWE: { \override Score.SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/30) a b c } as \spn #1 #30 { a b c } ...
  • 514
4 votes
2 answers
395 views

"Wrong number of arguments to #<procedure #f (music)>" when trying to execute a snippet from Lilypond Documentation

I'm trying to use the code from a snippet found on the official documentation on "Displaying pitches" (scroll down to "Known issues and warnings"): \version "2.18.2" ...
  • 3,612
3 votes
1 answer
168 views

lilypond scheme function optional argument

How do I make an argument in a scheme function optional? This says A Scheme type predicate for which argN must return #t. There is also a special form (predicate? default) for specifying optional ...
  • 728
2 votes
1 answer
215 views

correctly calling a lilypond scheme function

I have some general questions regarding calling a scheme function which I will ask using the following example code (which gives no errors and produces an output pdf): \version "2.20.0" ...
  • 728
4 votes
2 answers
131 views

LilyPond: modifying woodwind diagrams

Regarding woodwind diagram in LilyPond such as: \markup { \center-column { \override #'(size . 0.7) { \woodwind-diagram #'flute #'((cc . (oneF two three four five six)) (...
  • 405
3 votes
1 answer
199 views

How to change the MIDI tempo with scheme?

I would like to create a function which would automate some tempo changes in my score (it would be hidden on the score with something like \override Score.MetronomeMark #'transparent = ##t, indeed the ...
  • 133
2 votes
0 answers
108 views

Lilypond - Slur arrow-heads changable between left and right side

I found this code for slur-arrows in this question and adapted this answer to make it look nicer. \version "2.22.0" slurArrow = \once \override Slur.stencil = #(lambda (grob) (let* ((...
  • 1,747
4 votes
2 answers
183 views

LilyPond: parenthesized hairpin

I found LilyPond code to place a hairpin between parenthesis like this: You can see that the result overlaps with the bar line. The code that does it is some hard-core Scheme hackery. One obviously ...
  • 693
3 votes
4 answers
160 views

Custom dynamic mark

I am in the process of engraving a sheet of piano music. I wrote a custom dynamic mark — the look of which I am very happy with, but the behavior, not totally. It is the following: mff = \tweak ...
4 votes
1 answer
143 views

Include \markup in define-music-function

I want a custom \breathe sign that can be freely positioned, like: I have some shortcut code for this: place = #(define-music-function (parser location xy) (pair?) #{ \...
  • 143
4 votes
1 answer
176 views

LilyPond: passing music symbols as arguments to a function / markup-command

I am preparing in LilyPond a music book divided into many sections, each having a title. I want to keep the formatting of all titles in a single place, to make future format changes easier, and know ...
  • 63
5 votes
1 answer
470 views

Conditionally transpose up versus down in LilyPond?

In version 2.19.x, how can I make LilyPond decide whether – and by how much – to transpose up or down, depending on a target octave/range for one of the transposed notes (I'll call that note the "...
4 votes
1 answer
179 views

How can I create a rest the same length as a block of music?

I'm typesetting music (a set of versicles and responses), some of which are accompanied and some of which aren't, and I'm using some custom Scheme functions to collect pieces in parallel (and ...
3 votes
2 answers
1k views

How to define a LilyPond function to return set of notes given a pitch?

I'm working on a song with a repetitive rhythm that changes pitch. As this would normally involve a large amount of repeated typing, so I would like to define a LilyPond function to do this for me. I'...
  • 354
8 votes
2 answers
332 views

Lilypond function to interpolate two notes

I want to define a Lilypond function that will interpolate two notes. The function should take as inputs: the first note, the last note, the step (in semitones), and whether flats or sharps should be ...
4 votes
2 answers
336 views

How do I define an Lilypond/Scheme alist as cons of two a lists?

I have pitch names defined as a alist in Lilypond as below and it works fine. \version "2.18.2" pitchname = #`( (saa . , (ly:make-pitch -1 0 NATURAL)) (raa . , (ly:...
9 votes
1 answer
537 views

Define custom chord voicings in lilypond

What I'd like to do is define custom, specific chord voicings in lilypond, and to be able to attach note-durations to them, along the lines of voicing = < g a c e a > % dom7, with 7th in bass \...
  • 17.7k