Re: Tight spacing in mensural notation (was: Re: Cadenza Senza Tempo Problem)

2019-10-30 Thread Graham King


> 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)

2019-10-30 Thread Thomas Morley
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)

2019-10-30 Thread Graham King


> 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)

2019-10-29 Thread Graham King


> 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)

2019-10-29 Thread Thomas Morley
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)

2019-10-29 Thread 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
  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