Ongoing openlilylib development
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
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)
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)
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
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
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)
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
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
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
—/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
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
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