lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Metronome marking with non-integer value


From: Lib Lists
Subject: Metronome marking with non-integer value
Date: Sun, 25 Jun 2023 12:44:59 +0300

Hello,

I realised that Lilypond doesn't like it if the metronome value is a
non-integer. In the example below, assigning 7 to the voiceAmount
variable triggers a 'error: not an unsigned integer'. I tried to
construct the metronome number marking as a markup, but without
success.

Any suggestions? The idea is to have the metronome markings values
automatically generated, starting from 4 = 120 in the upper staff.
Below both a M(non-)WE and the complete example

Thank you in advance for any help!

Cheers,
Lib

%%% MWE %%%
\version "2.25.5"
\score {
  \new Staff {
    \tempo 4 = #(* 1 (/ 120 7 ))
    { c' }
  }
}
%%%


%%% COMPLETE EXAMPLE %%%
\version "2.25.5"

voiceAmount = 7

\score {
  \new StaffGroup  <<
    #@(map (lambda (i)
    #{
      \new Staff {
        \scaleDurations #(cons voiceAmount i) {
          \tempo 4 = #(* i (/ 120 voiceAmount ))
          \relative c'' \repeat unfold #i {{c c c c }} \bar "||"
        }
      }
      #})
    (iota voiceAmount voiceAmount -1))
  >>

  \layout {
    \context {
      \Score
      \remove Metronome_mark_engraver
      \cadenzaOn
    }
    \context {
      \Staff
      \remove Time_signature_engraver
      \consists Metronome_mark_engraver
    }
  }
}
%%%



reply via email to

[Prev in Thread] Current Thread [Next in Thread]