Re: Tight spacing in mensural notation (was: Re: Cadenza Senza Tempo Problem)
> On 30 Oct 2019, at 21:41, Thomas Morley wrote: > > Am Mi., 30. Okt. 2019 um 19:44 Uhr schrieb Graham King > : > >> Harm, I'm afraid I'm struggling with "#(ly:make-moment -3)" >> >> The NR[2] shows four arguments to ly:make-moment, describes two of them, and >> then speaks a little obtusely of the _second_ argument to ly:make-moment >> being possibly negative, and I can't find any examples of a negative first >> (and only) argument online. Most examples seem to use one argument, a >> positive rational, which I think I do understand. >> >> Where does this syntax come from and what does it mean? >> And why did you choose -3 ? >> >> TIA >> -- Graham >> >> [2] >> http://lilypond.org/doc/v2.19/Documentation/notation/scheme-functions#index-ly_003amake_002dmoment >> > > I intended to set common-shortest-duration to the length of a maxima, > to get tight spacing, see IR > (Similiar for base-shortest-duration, although this may be superfluous.) > And I confused ly:make-moment and ly:make-duration :( > > Though the duration-log of a maxima is -3, it's length is # > > See: > \new MensuralStaff { > \compressFullBarRests > \applyMusic >#(lambda (mus) > (ly:music-set-property! mus 'duration (ly:make-duration -3)) > (format #t "\n\tLength of music: ~a\n\tDuration of music: ~a" >(ly:music-length mus) >(ly:music-property mus 'duration)) > mus) > b > } > > => > >Length of music: # >Duration of music: # > > > So you better change in my proposal common-shortest-duration to: > \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 8) > > Cheers, > Harm Harm, many thanks! There I was, feeling inadequate in the face of what was, evidently, some seriously recondite lilypond-fu :) I understand now. BTW, your \applyMusic lambda function is a really neat way of explaining a lot in a few lines. -- Graham
Re: Tight spacing in mensural notation (was: Re: Cadenza Senza Tempo Problem)
Am Mi., 30. Okt. 2019 um 19:44 Uhr schrieb Graham King : > Harm, I'm afraid I'm struggling with "#(ly:make-moment -3)" > > The NR[2] shows four arguments to ly:make-moment, describes two of them, and > then speaks a little obtusely of the _second_ argument to ly:make-moment > being possibly negative, and I can't find any examples of a negative first > (and only) argument online. Most examples seem to use one argument, a > positive rational, which I think I do understand. > > Where does this syntax come from and what does it mean? > And why did you choose -3 ? > > TIA > -- Graham > > [2] > http://lilypond.org/doc/v2.19/Documentation/notation/scheme-functions#index-ly_003amake_002dmoment > I intended to set common-shortest-duration to the length of a maxima, to get tight spacing, see IR (Similiar for base-shortest-duration, although this may be superfluous.) And I confused ly:make-moment and ly:make-duration :( Though the duration-log of a maxima is -3, it's length is # See: \new MensuralStaff { \compressFullBarRests \applyMusic #(lambda (mus) (ly:music-set-property! mus 'duration (ly:make-duration -3)) (format #t "\n\tLength of music: ~a\n\tDuration of music: ~a" (ly:music-length mus) (ly:music-property mus 'duration)) mus) b } => Length of music: # Duration of music: # So you better change in my proposal common-shortest-duration to: \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 8) Cheers, Harm
Re: Tight spacing in mensural notation (was: Re: Cadenza Senza Tempo Problem)
> On 30 Oct 2019, at 00:05, Graham King wrote: > >> >> On 29 Oct 2019, at 22:12, Thomas Morley wrote: >> >> Am Di., 29. Okt. 2019 um 16:28 Uhr schrieb Graham King >> : >>> >>> >>> This unanswered part of Reggie's question in [1] lead me to re-scratch an >>> old itch. In manuscripts and old printed editions of mensural notation, >>> notes and rests are horizontally densely-spaced without regard for their >>> musical duration. I have struggled to reproduce this in lilypond, and the >>> nearest I can get is this: >>> >>> >>> It would be good to be able to impose a small amount of horizontal space >>> between the noteheads, but I'm at a loss to see how that can be done. Any >>> ideas? >>> >>> -- Graham >>> >>> [1] https://lists.gnu.org/archive/html/lilypond-user/2019-10/msg00420.html >> >> Probably below may be of some help? >> >> \paper { ragged-right = ##t } >> >> \new Score \with { >> \omit TimeSignature >> \override SpacingSpanner.spacing-increment = 1 >> \override SpacingSpanner.base-shortest-duration = #(ly:make-moment -3) >> \override SpacingSpanner.common-shortest-duration = #(ly:make-moment -3) >> \override NoteHead.style = #'petrucci >> >> %% play around with below, probably useful are settings between 2 and ~10 >> \override SpacingSpanner.shortest-duration-space = #2 >> } >> >> { >> \cadenzaOn >> c'\longa \breve 1 \breve 1 2 2 1 4 4 1 2 >> %\bar "" \break % uncomment to observe effect >> 2 8 8 8 8 c''1 b' a' g' >> } > > That's lovely. \override SpacingSpanner.shortest-duration-space = #3.5 > results in something that could almost be from Cantiones Sacrae or any of the > movable-type printed editions of the period. > > It will take me a little while to understand fully what you've done, but > thanks! > > -- Graham Harm, I'm afraid I'm struggling with "#(ly:make-moment -3)" The NR[2] shows four arguments to ly:make-moment, describes two of them, and then speaks a little obtusely of the _second_ argument to ly:make-moment being possibly negative, and I can't find any examples of a negative first (and only) argument online. Most examples seem to use one argument, a positive rational, which I think I do understand. Where does this syntax come from and what does it mean? And why did you choose -3 ? TIA -- Graham [2] http://lilypond.org/doc/v2.19/Documentation/notation/scheme-functions#index-ly_003amake_002dmoment
Re: Tight spacing in mensural notation (was: Re: Cadenza Senza Tempo Problem)
> On 29 Oct 2019, at 22:12, Thomas Morley wrote: > > Am Di., 29. Okt. 2019 um 16:28 Uhr schrieb Graham King > : >> >> "...and most important you want tight space between all notes as >> though it's not allowing the space for barlines and more." >> >> This unanswered part of Reggie's question in [1] lead me to re-scratch an >> old itch. In manuscripts and old printed editions of mensural notation, >> notes and rests are horizontally densely-spaced without regard for their >> musical duration. I have struggled to reproduce this in lilypond, and the >> nearest I can get is this: >> >> \version "2.19.82" >> >> \new Score \with { >> \omit TimeSignature >> \override SpacingSpanner.spacing-increment = #0.0 >> \override SpacingSpanner.packed-spacing = ##t >> \override NoteHead.style = #'petrucci >> } >> >> { >> \cadenzaOn c'\longa \breve 1 \breve 1 2 2 1 4 4 1 2 >> % \bar "" \break % uncomment to observe effect > > Don't understand and not sure _which_ effect you mean ... Oops. That was a note to myself that I should have deleted before posting. I was thinking that I might have to fake the spacing by using manual line-breaking (with ragged-right = ##f). > >> 2 8 8 8 8 c''1 b' a' g' >> } >> >> It would be good to be able to impose a small amount of horizontal space >> between the noteheads, but I'm at a loss to see how that can be done. Any >> ideas? >> >> -- Graham >> >> [1] https://lists.gnu.org/archive/html/lilypond-user/2019-10/msg00420.html > > Probably below may be of some help? > > \paper { ragged-right = ##t } > > \new Score \with { > \omit TimeSignature > \override SpacingSpanner.spacing-increment = 1 > \override SpacingSpanner.base-shortest-duration = #(ly:make-moment -3) > \override SpacingSpanner.common-shortest-duration = #(ly:make-moment -3) > \override NoteHead.style = #'petrucci > > %% play around with below, probably useful are settings between 2 and ~10 > \override SpacingSpanner.shortest-duration-space = #2 > } > > { > \cadenzaOn > c'\longa \breve 1 \breve 1 2 2 1 4 4 1 2 > %\bar "" \break % uncomment to observe effect > 2 8 8 8 8 c''1 b' a' g' > } That's lovely. \override SpacingSpanner.shortest-duration-space = #3.5 results in something that could almost be from Cantiones Sacrae or any of the movable-type printed editions of the period. It will take me a little while to understand fully what you've done, but thanks! -- Graham
Re: Tight spacing in mensural notation (was: Re: Cadenza Senza Tempo Problem)
Am Di., 29. Okt. 2019 um 16:28 Uhr schrieb Graham King : > > "...and most important you want tight space between all notes as > though it's not allowing the space for barlines and more." > > This unanswered part of Reggie's question in [1] lead me to re-scratch an old > itch. In manuscripts and old printed editions of mensural notation, notes > and rests are horizontally densely-spaced without regard for their musical > duration. I have struggled to reproduce this in lilypond, and the nearest I > can get is this: > > \version "2.19.82" > > \new Score \with { > \omit TimeSignature > \override SpacingSpanner.spacing-increment = #0.0 > \override SpacingSpanner.packed-spacing = ##t > \override NoteHead.style = #'petrucci > } > > { > \cadenzaOn c'\longa \breve 1 \breve 1 2 2 1 4 4 1 2 > % \bar "" \break % uncomment to observe effect Don't understand and not sure _which_ effect you mean ... > 2 8 8 8 8 c''1 b' a' g' > } > > It would be good to be able to impose a small amount of horizontal space > between the noteheads, but I'm at a loss to see how that can be done. Any > ideas? > > -- Graham > > [1] https://lists.gnu.org/archive/html/lilypond-user/2019-10/msg00420.html Probably below may be of some help? \paper { ragged-right = ##t } \new Score \with { \omit TimeSignature \override SpacingSpanner.spacing-increment = 1 \override SpacingSpanner.base-shortest-duration = #(ly:make-moment -3) \override SpacingSpanner.common-shortest-duration = #(ly:make-moment -3) \override NoteHead.style = #'petrucci %% play around with below, probably useful are settings between 2 and ~10 \override SpacingSpanner.shortest-duration-space = #2 } { \cadenzaOn c'\longa \breve 1 \breve 1 2 2 1 4 4 1 2 %\bar "" \break % uncomment to observe effect 2 8 8 8 8 c''1 b' a' g' } Cheers, Harm
Tight spacing in mensural notation (was: Re: Cadenza Senza Tempo Problem)
"...and most important you want tight space between all notes as though it's not allowing the space for barlines and more." This unanswered part of Reggie's question in [1] lead me to re-scratch an old itch. In manuscripts and old printed editions of mensural notation, notes and rests are horizontally densely-spaced without regard for their musical duration. I have struggled to reproduce this in lilypond, and the nearest I can get is this: \version "2.19.82" \new Score \with { \omit TimeSignature \override SpacingSpanner.spacing-increment = #0.0 \override SpacingSpanner.packed-spacing = ##t \override NoteHead.style = #'petrucci } { \cadenzaOn c'\longa \breve 1 \breve 1 2 2 1 4 4 1 2 % \bar "" \break % uncomment to observe effect 2 8 8 8 8 c''1 b' a' g' } It would be good to be able to impose a small amount of horizontal space between the noteheads, but I'm at a loss to see how that can be done. Any ideas? -- Graham [1] https://lists.gnu.org/archive/html/lilypond-user/2019-10/msg00420.html