Ongoing openlilylib development

2020-10-08 Thread Andrew Bernard
Since Urs has stepped down for personal reasons, I am willing to
continue the maintenance and development of OLL, as well as promotion
and improvement of documentation and information.

My understanding (perhaps incorrect) is that the Github repo is now
orphaned. I propose to create and manage a new repository at Gitlab.

Any comments or objections to this?

I have not posted this to the devel list as I think it is out of scope.


Andrew



Re: Setting Gregorian chant: Note spacing for two note neumes seem to depend on length of lyric text

2020-10-08 Thread Matthew Fong
Hello Aaron,

Thanks for pointing out the many ways LilyPond can accomplish something.
Going to play around with those options!


Many thanks,
mattfong

On Wed, Oct 7, 2020 at 6:11 PM Aaron Hill  wrote:

> On 2020-10-07 11:03 am, Matthew Fong wrote:
> > I suppose I could also use markup on the note if it's
> > a graphical articulation?
>
> I can think of four ways to decorate a note:
>
> 
> \version "2.20.0"
>
> decoMarkup = \markup \circle \normalsize \normal-text !
> decoDynamic = #(make-dynamic-script decoMarkup)
> decoFingering = \finger \decoMarkup
> decoScript = \tweak stencil #ly:text-interface::print
>   \tweak text \decoMarkup
>   \staccato
>
> {
>\override TextScript.color = #'(0.9 0.4 0.3)
>\override Script.color = #'(0.9 0.8 0.3)
>\override Fingering.color = #'(0.3 0.8 0.4)
>\override DynamicText.color = #'(0.3 0.6 0.9)
>\set fingeringOrientations = #'(left)
>4 \decoScript ^\decoMarkup \decoDynamic
> }
> 
>
> TextScript is the most straightforward, although it may require tweaking
> to get its positioning as desired.  DynamicText aligns differently by
> default, so it might be better candidate; however, it assumes the
> \dynamic font style which would require use of \normal-text to
> counteract.
>
> Fingering and Script are both interesting because they naturally can
> exist within the staff lines while still avoiding collisions with other
> elements.  Fingering both assumes the \number font style and a smaller
> font size; so you may need to use both \normal-text and \normalsize, as
> demonstrated in the example above.
>
> Customizing Script involves hijacking an existing articulation, so it is
> the least "clean" of the options.  Note that each articulation has its
> own preferred spacing and alignment, so you may need to play around a
> bit to find one that matches your needs.
>
>
> -- Aaron Hill


Re: Empty markup lines behavior change (maybe regression) in dev (2.21.7) than stable (2.20.0)

2020-10-08 Thread K.L.
OK I see, the solution is to place a space char in the empty string.

On Fri, Oct 9, 2020 at 12:30 AM Aaron Hill  wrote:

> On 2020-10-08 3:03 am, K.L. wrote:
> > Yes, if a global \markup, it can be reserved, but not for the \markup
> > in *\header
> > title*.
>
> My testing shows no change in behavior regardless of where the \markup
> occurs: at the top-level, in \header, or attached to a note.
>
> Here is a more complete test:
>
> 
> \version "2.18.2"
> #(format #t "\nversion=~s" (ly:version))
> #(define (stencil-empty? sten)
>(let ((xex (ly:stencil-extent sten X))
>  (yex (ly:stencil-extent sten Y)))
>  (and (> (car xex) (cdr xex))
>   (> (car yex) (cdr yex)
> #(define-markup-command
>(assert layout props id pred? arg)
>(string? procedure? markup?)
>(let ((sten (interpret-markup layout props arg)))
>  (or (pred? sten)
>  (ly:warning "assertion failed: expected ~a ~a"
>id (procedure-name pred?)))
>  sten))
> buildTestMarkup =
> #(define-scheme-function (parser location scope) (string?)
>#{
>  \markup {
>\assert #(string-append scope " \\column {...}")
>#stencil-empty?
>\column {
>  \assert #(string-append scope " \\line { \"\" }")
>  #stencil-empty?
>  \line { "" }
>  \line { "" }
>}
>  }
>#})
> \header { title = \buildTestMarkup "\\header" }
> \buildTestMarkup "top-level"
> { b'4 -\buildTestMarkup "TextScript" }
> 
>
>
> > I checked this in a svg backend result.
>
> That is the critical piece of information.  The behavior only reproduces
> using the SVG backend.
>
> This is a bug in 2.20.0 and earlier, where \line { "" } does not resolve
> to an empty-stencil but rather a point-stencil, so it ends up taking up
> space when it should not.
>
> This appears to have been resolved in 2.21.x.
>
>
> -- Aaron Hill
>


Re: Empty markup lines behavior change (maybe regression) in dev (2.21.7) than stable (2.20.0)

2020-10-08 Thread Aaron Hill

On 2020-10-08 3:03 am, K.L. wrote:

Yes, if a global \markup, it can be reserved, but not for the \markup
in *\header
title*.


My testing shows no change in behavior regardless of where the \markup 
occurs: at the top-level, in \header, or attached to a note.


Here is a more complete test:


\version "2.18.2"
#(format #t "\nversion=~s" (ly:version))
#(define (stencil-empty? sten)
  (let ((xex (ly:stencil-extent sten X))
(yex (ly:stencil-extent sten Y)))
(and (> (car xex) (cdr xex))
 (> (car yex) (cdr yex)
#(define-markup-command
  (assert layout props id pred? arg)
  (string? procedure? markup?)
  (let ((sten (interpret-markup layout props arg)))
(or (pred? sten)
(ly:warning "assertion failed: expected ~a ~a"
  id (procedure-name pred?)))
sten))
buildTestMarkup =
#(define-scheme-function (parser location scope) (string?)
  #{
\markup {
  \assert #(string-append scope " \\column {...}")
  #stencil-empty?
  \column {
\assert #(string-append scope " \\line { \"\" }")
#stencil-empty?
\line { "" }
\line { "" }
  }
}
  #})
\header { title = \buildTestMarkup "\\header" }
\buildTestMarkup "top-level"
{ b'4 -\buildTestMarkup "TextScript" }




I checked this in a svg backend result.


That is the critical piece of information.  The behavior only reproduces 
using the SVG backend.


This is a bug in 2.20.0 and earlier, where \line { "" } does not resolve 
to an empty-stencil but rather a point-stencil, so it ends up taking up 
space when it should not.


This appears to have been resolved in 2.21.x.


-- Aaron Hill



Re: Time signature ID and implementation

2020-10-08 Thread Graham King
On musicological grounds: certainly C2.  In this period, cut-C and C2 were, in 
practice, equivalent despite the latter implying "modus cum tempore."  Please 
don't ask me about _that_, because I'm at the limit of my understanding!
References for this would include:
Apel: The Notation of Polyphonic Music 900-1600, and
DeFord: Tactus, Mensuration and Rhythm in Renaissance Music

On paleographical grounds: certainly C2.  That's what the arabic numeral "2" 
looked like!  Compare with innumerable other manuscripts of this period.
Reference: Capelli: The elements of abbreviation in medieval Latin paleography, 
translated by Heimann and Kay, at pp.19 and 29.

If you're doing a lot of transcription of renaissance music, I strongly 
recommend equipping yourself with these sources.  DeFord is available for a 
modest price as an e-book.  The others are freely available online.  Capelli is 
invaluable for figuring out the impenetrable system of abbreviations ("sigla") 
used by scribes in underlay.

HTH
-- Graham

> On 8 Oct 2020, at 05:35, Adam Griggs  wrote:
> 
> Hello again lilypond-user,
> 
> Looking for some advice.
> 
> I started with this MS:
> http://www.bl.uk/manuscripts/Viewer.aspx?ref=royal_ms_8_g_vii_fs001r
> 
> Find attached a montage of the time signatures of the four parts.
> 
> That looks like 'C2' to me. Anyone concur?




Re: Note range of a score

2020-10-08 Thread Andrew Bernard
Hi Wols,

Ambitus is perfect for me - it's for a wind instrument and for MIDi
sampling info for me.I appreciate finding out about this.

Andrew

On Thu, 8 Oct 2020 at 20:27, Wols Lists  wrote:

> This requirement is actually quite common for teaching material. It's
> been a long time ago, but I remember seeing plenty of pieces for wind
> where right at the start there's an indication of the highest and lowest
> notes.



Re: Empty markup lines behavior change (maybe regression) in dev (2.21.7) than stable (2.20.0)

2020-10-08 Thread K.L.
Yes, if a global \markup, it can be reserved, but not for the \markup
in *\header
title*.

I checked this in a svg backend result.

On Thu, Oct 8, 2020 at 12:32 PM Aaron Hill  wrote:

> On 2020-10-07 8:20 pm, Andrew Bernard wrote:
> > If you use { " " } you will get a blank line, in 2.21.6. I don't know
> > about
> > other versions, I only use one.
>
> Something else must be going on, as I cannot reproduce the claimed
> behavior.
>
> I am seeing consistently that \line { "" } results in an empty-stencil:
>
> 
> \version "2.18.2"
> #(format #t "\nversion=~s" (ly:version))
> #(define-markup-command
>(measure layout props arg)
>(markup?)
>(let* ((sten (interpret-markup layout props arg))
>   (xex (ly:stencil-extent sten X))
>   (yex (ly:stencil-extent sten Y)))
>  (format #t "\narg=~s\n\txex=~s\n\tyex=~s" arg xex yex)
>  sten))
> \markup \measure \line { "" }
> \markup \measure \line { " " }
> \markup \measure \column { \line { "" } \line { "" } }
> \markup \measure \column { \line { " " } \line { " " } }
> 
>
> 
> version=(2 18 2)
> arg=(# (""))
> xex=(+inf.0 . -inf.0)
> yex=(+inf.0 . -inf.0)
> arg=(# (" "))
> xex=(0.0 . 0.614579527559055)
> yex=(0.0 . 0.0)
> arg=(# ((# line-markup (layout props args)> ("")) (# props args)> (""
> xex=(+inf.0 . -inf.0)
> yex=(+inf.0 . -inf.0)
> arg=(# ((# line-markup (layout props args)> (" ")) (# props args)> (" "
> xex=(0.0 . 0.614579527559055)
> yex=(-3.0 . 0.0)
> 
>
> Same output for:
>
> version=(2 19 55)
> version=(2 20 0)
> version=(2 21 6)
>
>
> -- Aaron Hill
>
>


Re: Note range of a score

2020-10-08 Thread Wols Lists
On 08/10/20 01:47, Andrew Bernard wrote:
> Thanks Aaron - that's perfect!
> 
> Never had need of that before. A great function.

This requirement is actually quite common for teaching material. It's
been a long time ago, but I remember seeing plenty of pieces for wind
where right at the start there's an indication of the highest and lowest
notes.

It's not that important for strings (and woodwind?) because they depend
primarily on finger position, but for brass learners stick to written
bf, -> e' because they're not that hard to blow. Below that requires
good breath control and above that requires good lip technique. Not
something students typically acquire quickly or easily.
> 
> Andrew
> 
> On 8/10/2020 11:22 am, Aaron Hill wrote:
>> Seems like something the Ambitus_engraver would help with.
>>
> 
Cheers,
Wol



Re: Time signature ID and implementation

2020-10-08 Thread Andrew Bernard

Wow. Fantastic. Thank you! A treasure.


Andrew

On 8/10/2020 5:58 pm, Brett Duncan wrote:
It could well be a 2, looking at this: 
https://artscimedia.case.edu/wp-content/uploads/sites/135/2020/04/20164113/NotationManual.pdf.






Re: Time signature ID and implementation

2020-10-08 Thread Adam Griggs

—/contratenor/

Until I find a matching font, this will do.

Thanks again!


On 8/10/20 3:24 pm, Aaron Hill wrote:

On 2020-10-07 11:07 pm, Andrew Bernard wrote:

I dont think it's a 2. Looks more like some kind of symbol. I am not a
scholar of that period.


Not a scholar either, but a quick web search turned up this [1].

[1]: 
https://en.wikisource.org/wiki/A_Dictionary_of_Music_and_Musicians/Proportion


C2 seems to be "Lesser Mode Imperfect, with Imperfect Time".



I would suggest using "timesig.C44" as it stylistically matches the 
number two from Emmentaler.  Otherwise, use a two from some other font 
to match mensural C.


To match the alignment, you need to use \vcenter.  Consider:


\override Score.TimeSignature.stencil =
#(lambda (grob)
  (grob-interpret-markup grob #{
    \markup {
  \musicglyph "timesig.C44"
  \vcenter \number 2
    } #}))



-- Aaron Hill





Re: Time signature ID and implementation

2020-10-08 Thread Brett Duncan
It could well be a 2, looking at this: 
https://artscimedia.case.edu/wp-content/uploads/sites/135/2020/04/20164113/NotationManual.pdf.


On 8/10/20 5:24 pm, Aaron Hill wrote:

On 2020-10-07 11:07 pm, Andrew Bernard wrote:

I dont think it's a 2. Looks more like some kind of symbol. I am not a
scholar of that period.


Not a scholar either, but a quick web search turned up this [1].

[1]: 
https://en.wikisource.org/wiki/A_Dictionary_of_Music_and_Musicians/Proportion


C2 seems to be "Lesser Mode Imperfect, with Imperfect Time".



I would suggest using "timesig.C44" as it stylistically matches the 
number two from Emmentaler.  Otherwise, use a two from some other font 
to match mensural C.


To match the alignment, you need to use \vcenter.  Consider:


\override Score.TimeSignature.stencil =
#(lambda (grob)
  (grob-interpret-markup grob #{
    \markup {
  \musicglyph "timesig.C44"
  \vcenter \number 2
    } #}))



-- Aaron Hill





Re: Time signature ID and implementation

2020-10-08 Thread Adam Griggs

How is it that I didn't know about that resource?

Thanks a lot!

Side note: That image I posted earlier should of course say 
/countertenor/, not /cantus/. Ooops.



On 8/10/20 3:24 pm, Aaron Hill wrote:

On 2020-10-07 11:07 pm, Andrew Bernard wrote:

I dont think it's a 2. Looks more like some kind of symbol. I am not a
scholar of that period.


Not a scholar either, but a quick web search turned up this [1].

[1]: 
https://en.wikisource.org/wiki/A_Dictionary_of_Music_and_Musicians/Proportion


C2 seems to be "Lesser Mode Imperfect, with Imperfect Time".



I would suggest using "timesig.C44" as it stylistically matches the 
number two from Emmentaler.  Otherwise, use a two from some other font 
to match mensural C.


To match the alignment, you need to use \vcenter.  Consider:


\override Score.TimeSignature.stencil =
#(lambda (grob)
  (grob-interpret-markup grob #{
    \markup {
  \musicglyph "timesig.C44"
  \vcenter \number 2
    } #}))



-- Aaron Hill





Re: Time signature ID and implementation

2020-10-08 Thread Aaron Hill

On 2020-10-07 11:07 pm, Andrew Bernard wrote:

I dont think it's a 2. Looks more like some kind of symbol. I am not a
scholar of that period.


Not a scholar either, but a quick web search turned up this [1].

[1]: 
https://en.wikisource.org/wiki/A_Dictionary_of_Music_and_Musicians/Proportion


C2 seems to be "Lesser Mode Imperfect, with Imperfect Time".



I would suggest using "timesig.C44" as it stylistically matches the 
number two from Emmentaler.  Otherwise, use a two from some other font 
to match mensural C.


To match the alignment, you need to use \vcenter.  Consider:


\override Score.TimeSignature.stencil =
#(lambda (grob)
  (grob-interpret-markup grob #{
\markup {
  \musicglyph "timesig.C44"
  \vcenter \number 2
} #}))



-- Aaron Hill



Re: Time signature ID and implementation

2020-10-08 Thread Andrew Bernard
I dont think it's a 2. Looks more like some kind of symbol. I am not a
scholar of that period.

Andrew