Hi Kim,
Am 03.07.25 um 02:32 schrieb Kim Cascone:
% not sure if cadenza mode can be used with polymetric? and if so, how
that would work
Yes, this should "just work". The price you have to pay for this to work
is that you have to enter your bar lines manually, but maybe that's
preferable to calculating the numbers in "\time 43/8" by hand anyway.
any help as to how to create equal-length measurescontaining arbitrary
note time values would be appreciated
You can do the following - but it's not completely trivial to optimise
spacing if the automatic result is dissatisfactory.
Note that my code needs a current development version of LilyPond to
run: The infrastructure for dealing with musical lengths changed a bit
in the 2.25 series, and I wanted to make sure the code works with
up-to-date LilyPond. If it's not possible for you to switch to a recent
2.25.xx, it's no problem to re-write the code in legacy LilyPond.
Lukas
\version "2.25.27"
\language "english"
\header {
title = "Pollen & Fragments"
subsubtitle = "section one"
composer = "Kim Cascone"
tagline = \markup {
\line { \italic "Engraved at Silent Records July 2025" }
}
}
\paper {
#(set-paper-size '(cons (* 17 in) (* 11 in)))
indent = 20
top-margin = 8\mm
bottom-margin = 8\mm
left-margin = 10\mm
right-margin = 10\mm
ragged-right = ##f
}
global = {
\omit Staff.KeySignature
\omit Staff.TimeSignature
\omit Staff.Stem
}
stretchToLength =
#(define-music-function (len mus) (positive-musical-length? ly:music?)
(ly:music-compress mus (/ (ly:make-moment (musical-length->number len))
(ly:music-length mus))))
myLength = 1 % the precise choice subtly influences the spacing
\layout {
\enablePolymeter
}
newBar = \bar "|"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION 1 of 3
\relative c' <<
\new Staff
\with { instrumentName = "euphonium" }
\stretchToLength \myLength
{
\global
\cadenzaOn
d'1 b!1 d,1
\bar "|."
}
\new Staff \with { instrumentName = "tampura" }
\stretchToLength \myLength
{
\global
\cadenzaOn
<d d' c'!>1
\bar "|."
}
\new Staff \with { instrumentName = "organ" }
\stretchToLength \myLength
{
\global
\cadenzaOn
\newBar
d1
\newBar
g4
\newBar
a1
\newBar
d,1 b! e f <e b>1 <f b, >1 <b! f>1 <b e,>1 f <b, f' b>1
\bar "|."
}
\new Staff \with { instrumentName = "guitar 1" }
\stretchToLength \myLength
{
\global
\cadenzaOn
\newBar
d1 g'4 a1
\newBar
c,4 b!1 c4 d4
\newBar
d4 c4 b!4 f!1
\newBar
c'4 a4 b!4 d1
\newBar
c1 b!4 g4 a1
\bar "|."
}
>>