3

Händel's Allemande from HWV 437 has three trills wich I would play in an identical manner. To illustrate how exactly they are to be played (for me to remember) I want to add a footnote at all three trills via markup and make one Ossia example at the bottom of the page. I tried to put an ossia above the first trill, but that aesthetically breaks the entire look of the page, since there is now one between-system-gap much bigger than the others and it just looks aweful.

What would be an elegant way to add such an ossia footnote? Simply fake it with another and smaller \score?

Edit (with edited image): This is what I want to achieve. a) references the footnote at the bottom of the page. Adding my code just would demonstrate how to add an ossia above a system. This however makes no sense, since there are plenty of tutorials out there. For now I am only asking for concepts, not explicit code examples.

Ossia at the bottom of the page

6
  • 2
    Adding a footnote score block seem like the right way to go, why do you say this would be faking it? Jun 7, 2022 at 12:21
  • It just feels... unnatural. In my view, Lilypond usually knows and "understands" the musical environment. Writing a separated measure feels dirty. Like putting the finished and printed page back in the printer and print an almost blank page with an ossia at the bottom over it, so that at least the end result looks good. But I'll give it a try.
    – Peder
    Jun 7, 2022 at 12:34
  • It does look unusual; like a footnote in a book, but that is exactly what it is, isn't it? Jun 7, 2022 at 12:50
  • 3
    For what it's worth, this is the way I have always seen such indications. An "ossia" staff is meant to give an "alternative" (ossia), namely a slight variant of the musical text. This isn't an alternative but a clarification, so I would find an ossia staff misleading. Jun 7, 2022 at 16:54
  • @ABOU SAMRA Jean I didn't see it this way. I seem to have misunderstood the purpose of an ossia. You are abolutely correct.
    – Peder
    Jun 8, 2022 at 8:43

1 Answer 1

3

What would be wrong with this?

{
  e'-\footnote "a" #'(0 . 1) 
  \markup
  {
    a)
    \score {
      \new Staff \with {
        \magnifyStaff #0.7
      } \relative { e'8 f16 g f e64 f e f e16 d}
      \layout {
        indent = 0
        \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/8)
      }
    }
  }
  \prallprall
}

Here is a solution that might make the code easier to read:

#(define footnote-table
   '())

setFootnote =
#(define-void-function (symb val) (symbol? ly:music?)
   (set! footnote-table
         `((,symb . ,val) . ,footnote-table)))

createFootnote =
#(define-music-function (label placement sym elt) (markup? pair? symbol? ly:music?)
   #{
     \footnote #label #placement
     \markup
     {
       \concat { #label ) }
       \score {
         \new Staff \with {
           \magnifyStaff #0.7
         } $(ly:assoc-get sym footnote-table (empty-music))
         \layout {
           indent = 0
           \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/8)
         }
       }
     }
     #elt
   #})

\setFootnote #'a \relative { e'8 f16 g f e64 f e f e16 d}
\setFootnote #'b \relative { f'16 e d e }

\relative {
  e'4-\createFootnote "a" #'(0 . 1) #'a \prallprall
  e-\createFootnote "b" #'(0 . 1) #'b \turn
}
3
  • This works very well. The downside is, that the code is harder to read. I already managed to get an identical result with the additional score at the end of the entire piece, rather than in the middle of a single measure. But since this is what I originally asked for, your answer deserves to be marked as the solution.
    – Peder
    Jun 8, 2022 at 8:37
  • You'd probably want e simile or something like that in there too, right, since not every a) section is on the same note?
    – AakashM
    Jun 8, 2022 at 8:52
  • @Peder I’ve added a version with some candy that allows for more readable code.
    – Lazy
    Jun 8, 2022 at 10:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.