Better support for Bravura in LilyPond

2020-06-24 Thread Daniel Benjamin Miller

I'd like to share something: https://github.com/dbenjaminmiller/bmusicfonts

I personally prefer the Bravura design to Emmentaler/Feta, and there'd 
been some SMuFL support offered in the past (which was highly buggy and 
not really usable for professional scores in a few ways), as well as 
Profondo, a conversion of a pre-release version of Bravura into 
LilyPond's native font format (which also had some issues with dot 
placement). After much experimentation, I created some fonts and 
includeable files which allow for high-quality typesetting using 
Bravura. The SMuFL font is loaded for some stencils, and others come 
from a native LilyPond-format font (which is itself usable, though 
results will be better with the definitions file loaded).


Not all features of Bravura are currently supported (e.g., you can't use 
the built-in stylistic alternatives). Likely, that won't happen until 
SMuFL support comes to LilyPond (it's currently being worked on, I 
believe). But the output should already be pretty nice. It is for me 
(n.b., I use LilyPond principally at 17.82 size).


Note that this isn't a generalizeable method for all SMuFL fonts: the 
definitions file includes many specific tweaks for Bravura, which are 
easy to adapt, but the BMusicFont had to be put together largely 
manually, and this process is quite involved. I have little interest in 
adapting a second music font myself, but hopefully this work is useful 
to you.





Re: Pedal cautionary after a line break (current status and improvements)

2020-06-24 Thread Paolo Prete
On Wed, Jun 24, 2020 at 10:53 PM Thomas Morley 
wrote:

> Am Di., 23. Juni 2020 um 20:33 Uhr schrieb Paolo Prete <
> paolopr...@gmail.com>:
> >
> > On Tue, Jun 23, 2020 at 6:36 PM Pierre Perol-Schneider
> > A this point:
> >
> > 1) I gently ask Harm (is Harm the snippet's maintainer ? ) to update the
> > snippet at least by adding a warning (--> something like "no midi is
> > produced")
>
> Hi Paolo,
>
> I'm not the admin of the LSR, though, among others I've the
> privilegies to (un)approve, change, delete snippets.
> That said, you may ask the snippet-author to add such a warning.
> The LSR is a user-driven possibility to extend LilyPond by
> custom-code. This also means the author of a snippet is responsible
> for his code.
> If not available _then_ people like me will step in.
>
> At any rate, the snippets clearly states "This workaround uses
> TextSpanner instead of SustainPedal/PianoPedalBracket."
> A TextSpanner never creates midi-output, thus the warning is not needed,
> imho.
>
>
Hi Harm,

Then Pierre, who is the creator of the snippet and joined this thread, will
decide what to do.

Best,
P


Snippet "Clef change and repeat barline"

2020-06-24 Thread Thomas Morley
To the author of said snippet.
lsr.di.unimi.it/LSR/Item?u=1=1110

I will not approve it in it's current state.

It shows how to change BreakAlignment.break-align-orders, ok, though
this is covered in the docs already.
It's description says "Here's a workaround to get a traditional output
when clef changes after a repeat barline!"
This sounds like default LilyPond being wrong in this regard. If so,
it's a bug, needed to be reported, probably discussed and finally
fixed.
Please check whether there's an issue about it already, if not report
it on the bug-list.


Tbh, I don't think LilyPond is wrong. Ofcourse I'd could be proven wrong.

Cheers,
  Harm



Unapproved LSR-snippet "Generating scores within a function"

2020-06-24 Thread Thomas Morley
Hi,

said snippet waits to be approved.
Alas, I think it will never work in the jail the lsr is running in.

Could someone with experience in running LilyPond in a jail could have
a look at the code:
https://lsr.di.unimi.it/form.php?type=snippet;id=;rld=m_snippet
?

Thanks,
  Harm



Re: Pedal cautionary after a line break (current status and improvements)

2020-06-24 Thread Thomas Morley
Am Di., 23. Juni 2020 um 20:33 Uhr schrieb Paolo Prete :
>
> On Tue, Jun 23, 2020 at 6:36 PM Pierre Perol-Schneider
> A this point:
>
> 1) I gently ask Harm (is Harm the snippet's maintainer ? ) to update the
> snippet at least by adding a warning (--> something like "no midi is
> produced")

Hi Paolo,

I'm not the admin of the LSR, though, among others I've the
privilegies to (un)approve, change, delete snippets.
That said, you may ask the snippet-author to add such a warning.
The LSR is a user-driven possibility to extend LilyPond by
custom-code. This also means the author of a snippet is responsible
for his code.
If not available _then_ people like me will step in.

At any rate, the snippets clearly states "This workaround uses
TextSpanner instead of SustainPedal/PianoPedalBracket."
A TextSpanner never creates midi-output, thus the warning is not needed, imho.

Cheers,
  Harm



Re: space between note-columns

2020-06-24 Thread Pierre Perol-Schneider
Hi Martin,
Try;

\version "2.20.0"
<<
  \voiceOne e'2\\
  \override NoteColumn.force-hshift = #0
  \voiceThree c'2
>>
<<
  \voiceOne e'2\\
  \override NoteColumn.force-hshift = #5
  \voiceThree c'2
>>

Cheers,
Pierre

Le mer. 24 juin 2020 à 19:26, gmailMpk  a écrit :

> Hi,
>
> Is there a way to increase/decrease distance between note-columns to make
> stacked notes closer or further apart?
>
> \version "2.20.0"
> <<
>   \voiceOne e'2\\
>   \voiceThree c'2
> >>
>
> Thanks,
> Martin
>
>
>
>


space between note-columns

2020-06-24 Thread gmailMpk
Hi, 

Is there a way to increase/decrease distance between note-columns to make 
stacked notes closer or further apart?

\version "2.20.0"
<<
  \voiceOne e'2\\
  \voiceThree c'2
>>

Thanks,
Martin





Re: Circles round fingerings

2020-06-24 Thread Pierre Perol-Schneider
Hi Paul,
How about:

\version "2.20.0"

customFingering = {
  \override Fingering.font-name = "Arial Black"
  \override Fingering.font-size = #-1
  \override Fingering.color = #(x11-color "DarkRed")
}

cust =
  -\tweak font-name #"Arial Black"
  -\tweak font-size #-2
  -\tweak color #(x11-color "DarkRed") \etc

tune = \relative {
%\customFingering
c'4 d-2  e\3 % <= optional
\cust-\markup\circle "3"
g-5 %-\markup {\center-align \draw-circle #1 #.5 ##f }
}
\score {
<<
\time 4/4
\new Staff \tune
>>
\layout {
  \context {
\Score
\override Fingering.font-name = "Arial Black"
\override Fingering.font-size = #-1
\override Fingering.color = #(x11-color "DarkRed")
%Optional:
\override StringNumber.font-name = "Arial Black"
\override StringNumber.font-size = #-2
\override StringNumber.color = #(x11-color "DarkRed")
  }
}
}

Of course, you could also define a markup function to get a shortcut for
the circled fingering...
Cheers,
Pierre


Le mer. 24 juin 2020 à 15:19, Paul McKay  a écrit :

> Hi
> I'd like to put a circle round occasional fingering marks. I have tried
> *\circle*, but seem to have no control of the resulting thickness nor of
> the font features. I can find no way to customize the fingering font within
> the *\circle: *I always get some error message or other.
>
> I tried \draw-circle, but that's a kludge and I can't make it overlap.
>
> What I'd really like is to set up the fingering font attributes at the
> Score level so that I don't have to reset them every time I use fingering
> in a music expression. Perhaps that would encourage *\circle* to use
> them. In the following example, I'd really like to see a fingering on the e
> which has a bold red circle around it and properly centred. It would be
> good if it could handle tweaks to the Y-offset too because the circle might
> collide with other things.
>
> Thanks
> Paul McKay
>
> Example:
> \version "2.20.0"
>
> customFingering = {
> \override Fingering.font-name = "Arial Black"
> \override Fingering.font-size = #-1
> \override Fingering.color = #(x11-color "DarkRed")
> }
> tune = \relative {
> \customFingering
> c'4 d-2  e -\markup {   { \circle \finger  "3" } }
> g-5-\tweak Y-offset 5 -\markup {\center-align \draw-circle #1 #.5 ##f }
> }
> \score {
> <<
> \time 4/4
> \new Staff \tune
> >>
> \layout {}
> }
>


Re: Single bass notes in chordmode

2020-06-24 Thread Henning Hraban Ramm


> Am 24.06.2020 um 15:01 schrieb David Kastrup :
> 
> Henning Hraban Ramm  writes:
> 
>> In some of my songbooks, the chord line (for guitar) is interrupted by
>> single bass notes, i.e. you are supposed to play only these strings.
>> 
>> The notation is mostly a smallcaps letter with a bar above (or a small
>> x below), but a simple /G would be enough if it isn’t possible
>> otherwise.
>> 
>> And I’d like to have that bass note also in MIDI output.
>> 
>> Is this possible, and how?
>> 
>> Preferred syntax: r/g or s/g
> 
> Try  .  You'll still need to fiddle with the chord naming function.

Ah, thanks for the hint.

I found a snippet to add brackets to a chord:

#(define (addBrackets grob)
   "Place brackets around a text object."
   (let* (
  ; Get current text
  (currentText (ly:grob-property grob 'text))
  (bracketedText (markup "(" currentText ")")))
 ; Store the bracketed text back
 (ly:grob-set-property! grob 'text bracketedText)
 )
   ; and print it
   (ly:text-interface::print grob))

% opC = optional chord (in brackets)
opC = \once \override ChordNames.ChordName.stencil = #addBrackets


Now, how can I use markup like \tiny or \circle within that (markup ...) ?

Best, Hraban




Circles round fingerings

2020-06-24 Thread Paul McKay
Hi
I'd like to put a circle round occasional fingering marks. I have tried
*\circle*, but seem to have no control of the resulting thickness nor of
the font features. I can find no way to customize the fingering font within
the *\circle: *I always get some error message or other.

I tried \draw-circle, but that's a kludge and I can't make it overlap.

What I'd really like is to set up the fingering font attributes at the
Score level so that I don't have to reset them every time I use fingering
in a music expression. Perhaps that would encourage *\circle* to use them.
In the following example, I'd really like to see a fingering on the e which
has a bold red circle around it and properly centred. It would be good if
it could handle tweaks to the Y-offset too because the circle might collide
with other things.

Thanks
Paul McKay

Example:
\version "2.20.0"

customFingering = {
\override Fingering.font-name = "Arial Black"
\override Fingering.font-size = #-1
\override Fingering.color = #(x11-color "DarkRed")
}
tune = \relative {
\customFingering
c'4 d-2  e -\markup {   { \circle \finger  "3" } }
g-5-\tweak Y-offset 5 -\markup {\center-align \draw-circle #1 #.5 ##f }
}
\score {
<<
\time 4/4
\new Staff \tune
>>
\layout {}
}


Re: Single bass notes in chordmode

2020-06-24 Thread David Kastrup
Henning Hraban Ramm  writes:

> Hi,
> this was already asked in 2012 (by me) and 2015 (by someone else), but
> there was no answer. I hope it’ll work this time ;)
>
> In some of my songbooks, the chord line (for guitar) is interrupted by
> single bass notes, i.e. you are supposed to play only these strings.
>
> The notation is mostly a smallcaps letter with a bar above (or a small
> x below), but a simple /G would be enough if it isn’t possible
> otherwise.
>
> And I’d like to have that bass note also in MIDI output.
>
> Is this possible, and how?
>
>
> Preferred syntax: r/g or s/g

Try  .  You'll still need to fiddle with the chord naming function.

> Because a rest with a bass is only bass.
>
> E.g.
> \chordmode {
>   a2:m r4/g r/f |
>   g2 a:m |
>   a:m r4/f r/g |
>   g2 f |
>   d:m f |
>   g r4/g r8/c r/b |
>   a2:m a:m |
> }
>
>
> Best regards,
> Hraban
>
>
>

-- 
David Kastrup



Single bass notes in chordmode

2020-06-24 Thread Henning Hraban Ramm
Hi,
this was already asked in 2012 (by me) and 2015 (by someone else), but there 
was no answer. I hope it’ll work this time ;)

In some of my songbooks, the chord line (for guitar) is interrupted by single 
bass notes, i.e. you are supposed to play only these strings.

The notation is mostly a smallcaps letter with a bar above (or a small x 
below), but a simple /G would be enough if it isn’t possible otherwise.

And I’d like to have that bass note also in MIDI output.

Is this possible, and how?


Preferred syntax: r/g or s/g
Because a rest with a bass is only bass.

E.g.
\chordmode {
  a2:m r4/g r/f |
  g2 a:m |
  a:m r4/f r/g |
  g2 f |
  d:m f |
  g r4/g r8/c r/b |
  a2:m a:m |
}


Best regards,
Hraban