special characters

2021-11-18 Thread Mark Stephen Mrotek
Hello,

 

Where in Frescobaldi 3.1.2 is the drop down that contains special
characters, e.g., those with accents.

 

Thank you.

 

Mark 



Re: Why does the following bar check fail for measure 3?

2021-11-18 Thread David Kastrup
Kevin Cole  writes:

> Hi,
>
> In the following example lyrics, what goes wrong at measure 3?
>
> Thanks!
>
> 
> \version "2.20.0"
> \language "english"
>
> \header {
>   title = "broken"
>   tagline = ""
> }
>
> \layout {
>   \autoBeamOff
> }
>
> global = {
>   \key c \major
>   \time 3/4
> }
>
> melody = {
>   \relative {
> \global
> g'2 c8. a16   | %   1
> g4 e4 e8. d16 | %   2
> c2 r4 | %   3
> r4 r4 g'4 | %   4
>   }
> }
>
> words = \lyricmode {
>   This is ok | %   1
>   And so is this | %   2
>   ???| %   3
>   ok | %   4
> }
>
> \score {
>   <<
> \new Staff { \melody }
> \addlyrics { \words }
>   >>
> }
> 

Don't use bar checks in material distributed by \addlyrics .  Because
bar checks are distributed alongside, so when ??? is matched to c2 , the
subsequent | in the lyrics is placed at r4 rather than after it and thus
not at a measure boundary.

-- 
David Kastrup



Why does the following bar check fail for measure 3?

2021-11-18 Thread Kevin Cole
Hi,

In the following example lyrics, what goes wrong at measure 3?

Thanks!


\version "2.20.0"
\language "english"

\header {
  title = "broken"
  tagline = ""
}

\layout {
  \autoBeamOff
}

global = {
  \key c \major
  \time 3/4
}

melody = {
  \relative {
\global
g'2 c8. a16   | %   1
g4 e4 e8. d16 | %   2
c2 r4 | %   3
r4 r4 g'4 | %   4
  }
}

words = \lyricmode {
  This is ok | %   1
  And so is this | %   2
  ???| %   3
  ok | %   4
}

\score {
  <<
\new Staff { \melody }
\addlyrics { \words }
  >>
}




Re: Delayed Turn

2021-11-18 Thread Leo Correia de Verdier
It is not needed there. It’s only needed when the delayed turn occurs inside a 
beamed group. There might be a point in including such an example in the 
documentation too, though…

> 19 nov. 2021 kl. 00:12 skrev Mark Stephen Mrotek :
> 
> Lukas-Fabian,
> 
> Thank you.
> This code works perfectly.
> Why is "\new Voice" not included in the code in the documentation?
> 
> Mark
> 
> -Original Message-
> From: Lukas-Fabian Moser [mailto:lukasfabianmo...@googlemail.com] On Behalf 
> Of Lukas-Fabian Moser
> Sent: Thursday, November 18, 2021 12:29 PM
> To: Mark Stephen Mrotek ; 'Leo Correia de Verdier' 
> 
> Cc: 'lilypond-user' 
> Subject: Re: Delayed Turn
> 
> Hi Mark,
> 
> Am 18.11.21 um 20:33 schrieb Mark Stephen Mrotek:
>> The beam appears since you have both the hidden note and the others in 
>> the same voice. Adding the double backslashes is a shorthand for 
>> creating a new voice, but then I needed to override some directions, 
>> since this also sets the first voice upwards and the second downwards.
> 
> To be more precise: The double backslashes are shorthand not only for 
> creating a new voice, but for setting default directions etc. at the same 
> time (namely \voiceOne and \voiceTwo style settings). If we only want a new 
> voice without layout implications, we can just use \new Voice:
> 
> \version "2.22"
> 
> \relative c' {
>   \time 2/4
>   \key aes \major
> 
>   ees'4
>   <<
> { f,8. [(aes32 c)] }
> \new Voice {
>   s8
>   \once \set suggestAccidentals = ##t
>   \once \override AccidentalSuggestion.avoid-slur = #'inside
>   \once \override AccidentalSuggestion.font-size = -3
>   \once \override AccidentalSuggestion.script-priority = -1
>   \hideNotes
>   b16\turn
>   s
> }
>>> 
> }
> 
> But note that creating delayed turns has gotten significantly easier in the 
> current development version 2.23.4 where we made David Kastrup's \after 
> function available as a stock feature. See 
> https://lilypond.org/doc/v2.23/Documentation/notation/expressive-marks-attached-to-notes.html
> 
> Using this, you can do:
> 
> \version "2.23.4"
> 
> \relative c' {
>   \time 2/4
>   \key aes \major
> 
>   ees'4
>   \after 8 \new Voice {
> \once \set suggestAccidentals = ##t
> \once \override AccidentalSuggestion.avoid-slur = #'inside
> \once \override AccidentalSuggestion.font-size = -3
> \once \override AccidentalSuggestion.script-priority = -1
> \hideNotes
> b16\turn
>   }
>   f8. [(aes32 c)]
> }
> 
> While this does not look _that_ much easier, the difference becomes really 
> notable for "standard" delayed turns without accidental suggestions:
> 
> \version "2.23.4"
> 
> \relative {
>   \after 8 \turn c''8.( d32 e)
> }
> 
> Lukas
> 




Re: Delayed Turn

2021-11-18 Thread Jean Abou Samra

Mark,

Le 19/11/2021 à 00:09, Mark Stephen Mrotek a écrit :

Lukas-Fabian

Thank you for your reply and instructions.
I haven't mastered all of the directions in 2.22.1 and downloading 2.23.4 for 
the benefit of one measure seems a little extreme.
So what is the remedy in 2.22.1?


Both Leo and Lukas have shown solutions working in 2.22,
involving a new voice (created with \\ or \new Voice).
Do these not leave you satisfied? If so, could you explain
why?

Best,
Jean



RE: Delayed Turn

2021-11-18 Thread Mark Stephen Mrotek
Lukas-Fabian

Thank you for your reply and instructions.
I haven't mastered all of the directions in 2.22.1 and downloading 2.23.4 for 
the benefit of one measure seems a little extreme.
So what is the remedy in 2.22.1?

Mark

-Original Message-
From: Lukas-Fabian Moser [mailto:lukasfabianmo...@googlemail.com] On Behalf Of 
Lukas-Fabian Moser
Sent: Thursday, November 18, 2021 12:31 PM
To: Mark Stephen Mrotek ; 'Leo Correia de Verdier' 

Cc: 'lilypond-user' 
Subject: Re: Delayed Turn

Correction: Since we're in a throwaway voice anyway, we don't need all those 
\once commands:

\version "2.23.4"

\relative c' {
   \time 2/4
   \key aes \major

   ees'4
   \after 8 \new Voice {
 \set suggestAccidentals = ##t
 \override AccidentalSuggestion.avoid-slur = #'inside
 \override AccidentalSuggestion.font-size = -3
 \override AccidentalSuggestion.script-priority = -1
 \hideNotes
 b16\turn
   }
   f8.[( aes32 c)]
}

The avoid-slur property seems not to be needed here, as the slur and the turn 
are on opposing sides.

Lukas




Re: Instrument name disappears if I start it with a grace note

2021-11-18 Thread Omid Mo'menzadeh
That makes sense. I'll try to stick with the \with notation whenever
possible.
Thanks for the clear explanation.

On Thu, Nov 18, 2021 at 8:23 PM David Kastrup  wrote:

> "Omid Mo'menzadeh"  writes:
>
> > Hello all.
> > I think I just described the problem in the title, but it only happens
> if I
> > have a multi-voice staff, as the following example demonstrates:
> >
> > %%%
> > \version "2.22.1"
> > \score {
> >   \new Staff <<
> > \set Staff.instrumentName = \markup \bold "Name"
> > \context Voice = "voice" \relative c'' { \appoggiatura b16 c1 }
> >   >>
> > }
> > %%%
>
> You start _simultaneous_ music on a new Staff (that's what <<...>>
> does).  That means that all the parallel music starts on the first beat
> with the exception of grace notes.  The only grace note is b16, and
> LilyPond needs to create the Staff for placing it anywhere.  Then, on
> the first beat, it typesets both the c1 and executes the \set
> Staff.instrumentName command which comes too late to affect the Staff
> that already needed to be created for the sake of the appoggiatura.  As
> Knute stated, for settings supposed to be an unchanging part of some
> context, it makes more sense to establish them in a \with block rather
> than inside of the context after it has already started.  Instrument
> names certainly belong in that category.
>
> --
> David Kastrup
>


Re: Delayed Turn

2021-11-18 Thread Leo Correia de Verdier
<< … … >>  does only put what’s between the double less/more in parallel, the 
double backslashes are needed to make the new voices and, as Lukas-Fabian said, 
setting their directions.


> 18 nov. 2021 kl. 20:33 skrev Mark Stephen Mrotek :
> 
> Leo,
> 
> Thank you for your reply and suggestion.
> Please bear with my ignorance. 
> My understanding is that the construct <<{  } {  }>> creates two voices.
> I merely want to use the documentation to achieve a delayed turn.
> 
> Mark
> 
> -Original Message-
> From: Leo Correia de Verdier [mailto:leo.correia.de.verd...@gmail.com] 
> Sent: Thursday, November 18, 2021 9:05 AM
> To: Mark Stephen Mrotek 
> Cc: lilypond-user 
> Subject: Re: Delayed Turn
> 
> The beam appears since you have both the hidden note and the others in the
> same voice. Adding the double backslashes is a shorthand for creating a new
> voice, but then I needed to override some directions, since this also sets
> the first voice upwards and the second downwards.
> 
> \version "2.22.1"
> 
> \relative c' {
>  \time 2/4
>  \key aes \major
> 
>  ees'4
>  <<
>{\oneVoice f,8. [(aes32 c)] } \\
>{ 
>  s8
>  \once \set suggestAccidentals = ##t
>  \once \override AccidentalSuggestion.direction = #UP
>  \once \override AccidentalSuggestion.font-size = -3
>  \once \override AccidentalSuggestion.script-priority = -1
>  \once \hideNotes
>  b16^\turn \noBeam
>  s
>}
>>> 
> }
> 
> If you actually want the hidden note in the same voice you can add 
> 
> \once \override Stem.beaming = #'((0) . (0)) 
> 
> for the hidden note, and
> 
> \once \override Stem.beaming = #'((0) . (0 1 2))
> 
> For the spacer after it, to hack away the stems, but it seems rather
> inelegant to me.
> 
>> 18 nov. 2021 kl. 05:02 skrev Mark Stephen Mrotek :
>> 
>> Hello,
>> 
>> To get instructions I went to
>> https://lilypond.org/doc/v2.22/Documentation/notation/expressive-marks
>> -attached-to-notes And copied the code only modifying pitch and 
>> duration.
>> 
>> \version "2.22.1"
>> 
>> \relative c' {
>>  \time 2/4
>>  \key aes \major
>> 
>>  ees'4
>>  <<
>>{ f,8. [(aes32 c)] }
>>{  
>>  s8
>>  \once \set suggestAccidentals = ##t
>>  \once \override AccidentalSuggestion.outside-staff-priority = ##f
>>  \once \override AccidentalSuggestion.avoid-slur = #'inside
>>  \once \override AccidentalSuggestion.font-size = -3
>>  \once \override AccidentalSuggestion.script-priority = -1
>>  \single \hideNotes
>>  b16-\turn \noBeam
>>  s
>>}
 
>> 
>> An extended beam appears and the turn collides with the expected beam.
>> 
>> Any assistance greatly appreciated.
>> 
>> Thank you for your kind attention
>> 
>> Mark
> 




Re: „Anonymous” properties, deafening engravers and font features

2021-11-18 Thread Jean Abou Samra

Le 18/11/2021 à 21:51, Valentin Petzel a écrit :

Hello,

I have three ideas for maybe useful features for Lilypond:


Let's keep this one here, but next time it would be
a good idea to send feature requests to -devel instead.
Not all developers read -user.



First, Lilypond is very strict about what values grob/context properties can
take. While this is generally a good thing it can be hindering, as properties
are more or less hard coded. So I suggest that maybe we could have some sort
of identifier for „custom” properties that skip the type check. This would be
useful for extended scripting where we want to store arbitrary information.

For example we might have Staves that should behave differently if certain
other Staves are present. E.g. if we have some splitted staves and we want to
have voices behave differently depending on whether they are in a separate
staff or in the common staff. So for this it would be nice if we could simply
save information in the Staff context that tells us things like how many
different Parts we currently have in the Staff, for example.

For example we could handle properties that begin with „custom” as custom
properties, so we could say \override Staff.custom-my-property = something.



You can define new properties with a predicate as
explained here:

https://extending-lilypond.readthedocs.io/en/latest/properties-types.html#new-properties

I don't think we would want to make custom engravers
different from the default ones here, not the least
because any user-written engraver is a candidate for
being included in the core. If your property really
accepts anything, just give it the predicate scheme? .



Second it would be very useful if we could somehow give engravers some sort of
filtering option that would allow us to make them not to listen to certain
events, so that we’d basically be able to disable/enable engravers outside of
withing the score, or even disable engravers for certain Types of events or
for events that fit some condition (like having a certain tag).


What is the use case?

It doesn't sound bad, but I doubt it will fully answer
problems related to grobs created not in reaction to
events but in reaction to other grobs via acknowledgers.
So my own vague take on "pushing grobs to contexts",
part combining, cross-staff, and all that would rather
be adding the ability to start and stop engravers midway.
Not that I have any more precise ideas than this though.



Third: Using font-features with Lilypond is a bit weird, as using \override
#'(font-features featureA featureB bla bla . ()) will override any previously
applied font-features. So I suggest adding markup functions addFontFeature and
removeFontFeature like in the appended example to make this easier.

What are your takes on this?


Sounds useful. \removeFontFeature sounds more like a
specialized use case though. I'd add just \with-font-feature
(dashes are the convention for markup commands). Also
note that you can rewrite it more simply (in my opinion) as

#(define-markup-command (with-font-feature layout props feat m) (string? 
markup?)

   #:properties ((font-features '()))
   (interpret-markup layout
 `(((font-features . (,feat . ,font-features))) . 
,props)

 m))

Best,
Jean




Re: „Anonymous” properties, deafening engravers and font features

2021-11-18 Thread David Kastrup
Valentin Petzel  writes:

> Hello,
>
> I have three ideas for maybe useful features for Lilypond:
>
> First, Lilypond is very strict about what values grob/context
> properties can take. While this is generally a good thing it can be
> hindering, as properties are more or less hard coded. So I suggest
> that maybe we could have some sort of identifier for „custom”
> properties that skip the type check. This would be useful for extended
> scripting where we want to store arbitrary information.

That seems like a complete confused proposal to me since LilyPond is
strict about the values of properties because it has to be able to
_interpret_ them.  If you want to define your _own_ properties without
any constraint whatsoever (what is then going to be able to interpret
just _any_ Scheme value you throw at it?), you can define them to be of
type scheme? .

> For example we might have Staves that should behave differently if
> certain other Staves are present. E.g. if we have some splitted staves
> and we want to have voices behave differently depending on whether
> they are in a separate staff or in the common staff.

So?

> So for this it would be nice if we could simply save information in
> the Staff context that tells us things like how many different Parts
> we currently have in the Staff, for example.

How are you going to do that without the value having _any_ predictable
type or structure?

> Second it would be very useful if we could somehow give engravers some
> sort of filtering option that would allow us to make them not to
> listen to certain events, so that we’d basically be able to
> disable/enable engravers outside of withing the score, or even disable
> engravers for certain Types of events or for events that fit some
> condition (like having a certain tag).

Engravers only listen to a given type of event.  Removing events with a
certain tag is done by the \removeWithTag command.  So what is your
proposal supposed to achieve exactly?

> Third: Using font-features with Lilypond is a bit weird, as using \override 
> #'(font-features featureA featureB bla bla . ()) will override any previously 
> applied font-features. So I suggest adding markup functions addFontFeature 
> and 
> removeFontFeature like in the appended example to make this easier.

I have no idea about font handling so I cannot say anything concerning that.

> What are your takes on this?

I don't see what you propose that isn't already covered.  Perhaps some
actual examples of what you want to achieve would help?

-- 
David Kastrup



Re: „Anonymous” properties, deafening engravers and font features

2021-11-18 Thread Lukas-Fabian Moser

Hi Valentin,

For example we might have Staves that should behave differently if certain
other Staves are present. E.g. if we have some splitted staves and we want to
have voices behave differently depending on whether they are in a separate
staff or in the common staff. So for this it would be nice if we could simply
save information in the Staff context that tells us things like how many
different Parts we currently have in the Staff, for example.

For example we could handle properties that begin with „custom” as custom
properties, so we could say \override Staff.custom-my-property = something.


Can't we already do this within the details property of grobs? So not 
for a whole context (as in your Staff example), but you can already do


\override Staff.StaffSymbol.details.my-property = "I am too hard to play"

or in very much any other grob.

Lukas




„Anonymous” properties, deafening engravers and font features

2021-11-18 Thread Valentin Petzel
Hello,

I have three ideas for maybe useful features for Lilypond:

First, Lilypond is very strict about what values grob/context properties can 
take. While this is generally a good thing it can be hindering, as properties 
are more or less hard coded. So I suggest that maybe we could have some sort 
of identifier for „custom” properties that skip the type check. This would be 
useful for extended scripting where we want to store arbitrary information.

For example we might have Staves that should behave differently if certain 
other Staves are present. E.g. if we have some splitted staves and we want to 
have voices behave differently depending on whether they are in a separate 
staff or in the common staff. So for this it would be nice if we could simply 
save information in the Staff context that tells us things like how many 
different Parts we currently have in the Staff, for example.

For example we could handle properties that begin with „custom” as custom 
properties, so we could say \override Staff.custom-my-property = something.

Second it would be very useful if we could somehow give engravers some sort of 
filtering option that would allow us to make them not to listen to certain 
events, so that we’d basically be able to disable/enable engravers outside of 
withing the score, or even disable engravers for certain Types of events or 
for events that fit some condition (like having a certain tag).

Third: Using font-features with Lilypond is a bit weird, as using \override 
#'(font-features featureA featureB bla bla . ()) will override any previously 
applied font-features. So I suggest adding markup functions addFontFeature and 
removeFontFeature like in the appended example to make this easier.

What are your takes on this?

Cheers,
Valentin#(define-markup-command (addFontFeature layout props feat m) (string? markup?)
   (let ((feats (ly:chain-assoc-get 'font-features props '(
 (interpret-markup layout props
 (if (member feat feats)
 m
 (markup #:override (cons 'font-features (cons feat feats)) m)

#(define-markup-command (removeFontFeature layout props feat m) (string? markup?)
   (define (false-if-empty l) (if (null? l) #f l))
   (let ((feats (ly:chain-assoc-get 'font-features props '(
 (interpret-markup layout props
 (if (not (member feat feats))
 m
 (markup #:override (cons 'font-features (false-if-empty (delete feat feats))) m)

\paper {
  #(define fonts
(make-pango-font-tree "TeX Gyre Schola"
"TeX Gyre Heros"
"TeX Gyre Cursor"
1))
}

\markup { regular123 \addFontFeature "onum" { add123 \removeFontFeature "onum" add+remove123 add-after-remove123 } }

signature.asc
Description: This is a digitally signed message part.


Re: Delayed Turn

2021-11-18 Thread Lukas-Fabian Moser
Correction: Since we're in a throwaway voice anyway, we don't need all 
those \once commands:


\version "2.23.4"

\relative c' {
  \time 2/4
  \key aes \major

  ees'4
  \after 8 \new Voice {
    \set suggestAccidentals = ##t
    \override AccidentalSuggestion.avoid-slur = #'inside
    \override AccidentalSuggestion.font-size = -3
    \override AccidentalSuggestion.script-priority = -1
    \hideNotes
    b16\turn
  }
  f8.[( aes32 c)]
}

The avoid-slur property seems not to be needed here, as the slur and the 
turn are on opposing sides.


Lukas




Re: Delayed Turn

2021-11-18 Thread Lukas-Fabian Moser

Hi Mark,

Am 18.11.21 um 20:33 schrieb Mark Stephen Mrotek:

The beam appears since you have both the hidden note and the others in the
same voice. Adding the double backslashes is a shorthand for creating a new
voice, but then I needed to override some directions, since this also sets
the first voice upwards and the second downwards.


To be more precise: The double backslashes are shorthand not only for 
creating a new voice, but for setting default directions etc. at the 
same time (namely \voiceOne and \voiceTwo style settings). If we only 
want a new voice without layout implications, we can just use \new Voice:


\version "2.22"

\relative c' {
  \time 2/4
  \key aes \major

  ees'4
  <<
    { f,8. [(aes32 c)] }
    \new Voice {
  s8
  \once \set suggestAccidentals = ##t
  \once \override AccidentalSuggestion.avoid-slur = #'inside
  \once \override AccidentalSuggestion.font-size = -3
  \once \override AccidentalSuggestion.script-priority = -1
  \hideNotes
  b16\turn
  s
    }
  >>
}

But note that creating delayed turns has gotten significantly easier in 
the current development version 2.23.4 where we made David Kastrup's 
\after function available as a stock feature. See 
https://lilypond.org/doc/v2.23/Documentation/notation/expressive-marks-attached-to-notes.html


Using this, you can do:

\version "2.23.4"

\relative c' {
  \time 2/4
  \key aes \major

  ees'4
  \after 8 \new Voice {
    \once \set suggestAccidentals = ##t
    \once \override AccidentalSuggestion.avoid-slur = #'inside
    \once \override AccidentalSuggestion.font-size = -3
    \once \override AccidentalSuggestion.script-priority = -1
    \hideNotes
    b16\turn
  }
  f8. [(aes32 c)]
}

While this does not look _that_ much easier, the difference becomes 
really notable for "standard" delayed turns without accidental suggestions:


\version "2.23.4"

\relative {
  \after 8 \turn c''8.( d32 e)
}

Lukas




RE: Delayed Turn

2021-11-18 Thread Mark Stephen Mrotek
Leo,

Thank you for your reply and suggestion.
Please bear with my ignorance. 
My understanding is that the construct <<{  } {  }>> creates two voices.
I merely want to use the documentation to achieve a delayed turn.

Mark

-Original Message-
From: Leo Correia de Verdier [mailto:leo.correia.de.verd...@gmail.com] 
Sent: Thursday, November 18, 2021 9:05 AM
To: Mark Stephen Mrotek 
Cc: lilypond-user 
Subject: Re: Delayed Turn

The beam appears since you have both the hidden note and the others in the
same voice. Adding the double backslashes is a shorthand for creating a new
voice, but then I needed to override some directions, since this also sets
the first voice upwards and the second downwards.

\version "2.22.1"
 
\relative c' {
  \time 2/4
  \key aes \major
   
  ees'4
  <<
{\oneVoice f,8. [(aes32 c)] } \\
{ 
  s8
  \once \set suggestAccidentals = ##t
  \once \override AccidentalSuggestion.direction = #UP
  \once \override AccidentalSuggestion.font-size = -3
  \once \override AccidentalSuggestion.script-priority = -1
  \once \hideNotes
  b16^\turn \noBeam
  s
}
  >>
}

If you actually want the hidden note in the same voice you can add 

\once \override Stem.beaming = #'((0) . (0)) 

for the hidden note, and

\once \override Stem.beaming = #'((0) . (0 1 2))

For the spacer after it, to hack away the stems, but it seems rather
inelegant to me.

> 18 nov. 2021 kl. 05:02 skrev Mark Stephen Mrotek :
> 
> Hello,
>  
> To get instructions I went to
> https://lilypond.org/doc/v2.22/Documentation/notation/expressive-marks
> -attached-to-notes And copied the code only modifying pitch and 
> duration.
>  
> \version "2.22.1"
>  
> \relative c' {
>   \time 2/4
>   \key aes \major
>
>   ees'4
>   <<
> { f,8. [(aes32 c)] }
> {  
>   s8
>   \once \set suggestAccidentals = ##t
>   \once \override AccidentalSuggestion.outside-staff-priority = ##f
>   \once \override AccidentalSuggestion.avoid-slur = #'inside
>   \once \override AccidentalSuggestion.font-size = -3
>   \once \override AccidentalSuggestion.script-priority = -1
>   \single \hideNotes
>   b16-\turn \noBeam
>   s
> }
>   >>
>  
> An extended beam appears and the turn collides with the expected beam.
>  
> Any assistance greatly appreciated.
>  
> Thank you for your kind attention
>  
> Mark




Re: Delayed Turn

2021-11-18 Thread Jean Abou Samra




Le 18/11/2021 à 20:53, Mark Stephen Mrotek a écrit :

Jean,

Thank you for your reply.
Outside staff priority has been removed
Attached is a PDF of results.

Mark


Yes, I misread your initial post, sorry. Use Leo's answer instead.

Best,
Jean



RE: Delayed Turn

2021-11-18 Thread Mark Stephen Mrotek
Jean,

Thank you for your reply.
Outside staff priority has been removed
Attached is a PDF of results.

Mark

-Original Message-
From: Jean Abou Samra [mailto:j...@abou-samra.fr] 
Sent: Wednesday, November 17, 2021 11:25 PM
To: Mark Stephen Mrotek ; lilypond-user@gnu.org
Subject: Re: Delayed Turn

Le 18/11/2021 à 05:02, Mark Stephen Mrotek a écrit :
>
> Hello,
>
> To get instructions I went to
>
> https://lilypond.org/doc/v2.22/Documentation/notation/expressive-marks
> -attached-to-notes
>
> And copied the code only modifying pitch and duration.
>
> \version "2.22.1"
>
> \relative c' {
>
>   \time 2/4
>
>   \key aes \major
>
>   ees'4
>
>   <<
>
> { f,8. [(aes32 c)] }
>
> {
>
>   s8
>
>   \once \set suggestAccidentals = ##t
>
>   \once \override AccidentalSuggestion.outside-staff-priority = 
> ##f
>
>   \once \override AccidentalSuggestion.avoid-slur = #'inside
>
>   \once \override AccidentalSuggestion.font-size = -3
>
>   \once \override AccidentalSuggestion.script-priority = -1
>
>   \single \hideNotes
>
>   b16-\turn \noBeam
>
>   s
>
> }
>
>   >>
>
> An extended beam appears and the turn collides with the expected beam.
>
> Any assistance greatly appreciated.
>
> Thank you for your kind attention
>
> Mark
>


Mark,

Simply remove the override for outside-staff-priority.
It is unneeded if the slur is not on the same side as the script, and causes 
problems with the beam as you experienced.


Another way is

\once \override AccidentalSuggestion.padding = 1.7

Best,
Jean


delayed turn.pdf
Description: Adobe PDF document


Re: Box around MeasureCounter

2021-11-18 Thread Rajesh Baskar

Aaron,

Thank you so much, this worked perfectly.


On 11/17/2021 7:50 PM, Aaron Hill wrote:


\version "2.20.0"

boxify =
#(define-music-function
  (grob-path) (key-list?)
  (define proc (grob-transformer 'stencil
   (lambda (grob orig) (grob-interpret-markup grob #{
    \markup \override #'(box-padding . 0.25)
    \override #'(thickness . 2)
    \box \stencil #orig #}
  #{ \override $grob-path . stencil = #proc #})

\new Staff
\with {
  \consists Measure_counter_engraver
  \boxify MeasureCounter
}
{
  \boxify Staff.Clef
  \startMeasureCount
  fis'4 g'8 a' \once \boxify Accidental bes'2 cis''4 d''2.
  \stopMeasureCount
}


Re: arranger, context voice

2021-11-18 Thread Stefan Thomas
Thanks, I'll check it out.

Am Mi., 10. Nov. 2021 um 22:42 Uhr schrieb Gilles Thibault :

>
> > I would like to understand what is the difference
> > beetween
> >
> >> \new Staff \new Voice \A
> >>
> >  and
> >
> >> \new Staff \A
> >>
>
> This is not related to arranger.ly :
>
> This snippet works :
>
> %%%
>
> \version "2.22.0"
>
> music = { c'1 c' c' c' }
>
> skips = {  s1*2 s1*2^"Hello" }
>
> \new Staff << \skips \music >>
>
> %%%
>
> But if you replace the definition of \skips by
>
> skips = { s1*2( s1*2) }
>
> the snippet fails (no slurs).
>
> It fails also with
>
>skips = { s1*2 s1*2-> }
>
> At last, with
>
> skips = { s1*2 s1*2->^"Hello" }
>
> you'll get an error :
>"script direction not yet known"
>
> --
> Gilles
>


Re: Delayed Turn

2021-11-18 Thread Leo Correia de Verdier
The beam appears since you have both the hidden note and the others in the same 
voice. Adding the double backslashes is a shorthand for creating a new voice, 
but then I needed to override some directions, since this also sets the first 
voice upwards and the second downwards.

\version "2.22.1"
 
\relative c' {
  \time 2/4
  \key aes \major
   
  ees'4
  <<
{\oneVoice f,8. [(aes32 c)] } \\
{ 
  s8
  \once \set suggestAccidentals = ##t
  \once \override AccidentalSuggestion.direction = #UP
  \once \override AccidentalSuggestion.font-size = -3
  \once \override AccidentalSuggestion.script-priority = -1
  \once \hideNotes
  b16^\turn \noBeam
  s
}
  >>
}

If you actually want the hidden note in the same voice you can add 

\once \override Stem.beaming = #'((0) . (0)) 

for the hidden note, and

\once \override Stem.beaming = #'((0) . (0 1 2))

For the spacer after it, to hack away the stems, but it seems rather inelegant 
to me.

> 18 nov. 2021 kl. 05:02 skrev Mark Stephen Mrotek :
> 
> Hello,
>  
> To get instructions I went to
> https://lilypond.org/doc/v2.22/Documentation/notation/expressive-marks-attached-to-notes
> And copied the code only modifying pitch and duration.
>  
> \version "2.22.1"
>  
> \relative c' {
>   \time 2/4
>   \key aes \major
>
>   ees'4
>   <<
> { f,8. [(aes32 c)] }
> {  
>   s8
>   \once \set suggestAccidentals = ##t
>   \once \override AccidentalSuggestion.outside-staff-priority = ##f
>   \once \override AccidentalSuggestion.avoid-slur = #'inside
>   \once \override AccidentalSuggestion.font-size = -3
>   \once \override AccidentalSuggestion.script-priority = -1
>   \single \hideNotes
>   b16-\turn \noBeam
>   s
> }
>   >>
>  
> An extended beam appears and the turn collides with the expected beam.
>  
> Any assistance greatly appreciated.
>  
> Thank you for your kind attention
>  
> Mark




Re: Instrument name disappears if I start it with a grace note

2021-11-18 Thread David Kastrup
"Omid Mo'menzadeh"  writes:

> Hello all.
> I think I just described the problem in the title, but it only happens if I
> have a multi-voice staff, as the following example demonstrates:
>
> %%%
> \version "2.22.1"
> \score {
>   \new Staff <<
> \set Staff.instrumentName = \markup \bold "Name"
> \context Voice = "voice" \relative c'' { \appoggiatura b16 c1 }
>   >>
> }
> %%%

You start _simultaneous_ music on a new Staff (that's what <<...>>
does).  That means that all the parallel music starts on the first beat
with the exception of grace notes.  The only grace note is b16, and
LilyPond needs to create the Staff for placing it anywhere.  Then, on
the first beat, it typesets both the c1 and executes the \set
Staff.instrumentName command which comes too late to affect the Staff
that already needed to be created for the sake of the appoggiatura.  As
Knute stated, for settings supposed to be an unchanging part of some
context, it makes more sense to establish them in a \with block rather
than inside of the context after it has already started.  Instrument
names certainly belong in that category.

-- 
David Kastrup



Re: Instrument name disappears if I start it with a grace note

2021-11-18 Thread Kieren MacMillan
Hi Knute,

>> It's still interesting to see why it happens, and document it if it is the 
>> expected behavior.
> I'm guessing that it has to do with LilyPond's most famous bug, issue #34:
> https://gitlab.com/lilypond/lilypond/-/issues/34

Yep. \with happens before the first actual score moment, which is where the bug 
officially "starts".
There are several Lilypond behaviour issues that I get around by using \with 
(and then \undo, if necessary).

Cheers,
Kieren


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: kie...@kierenmacmillan.info




Re: Instrument name disappears if I start it with a grace note

2021-11-18 Thread Knute Snortum
On Thu, Nov 18, 2021 at 8:31 AM Omid Mo'menzadeh  wrote:
>
> Thank you! It does work.
> It's still interesting to see why it happens, and document it if it is the 
> expected behavior.

I'm guessing that it has to do with LilyPond's most famous bug, issue #34:

https://gitlab.com/lilypond/lilypond/-/issues/34

--
Knute Snortum



Re: Instrument name disappears if I start it with a grace note

2021-11-18 Thread Omid Mo'menzadeh
Thank you! It does work.
It's still interesting to see why it happens, and document it if it is the
expected behavior.

On Thu, Nov 18, 2021 at 7:32 PM Knute Snortum  wrote:

> On Thu, Nov 18, 2021 at 7:54 AM Omid Mo'menzadeh 
> wrote:
> >
> > Hello all.
> > I think I just described the problem in the title, but it only happens
> if I have a multi-voice staff, as the following example demonstrates:
> >
> > %%%
> > \version "2.22.1"
> > \score {
> >   \new Staff <<
> > \set Staff.instrumentName = \markup \bold "Name"
> > \context Voice = "voice" \relative c'' { \appoggiatura b16 c1 }
> >   >>
> > }
> > %%%
> >
> > The name appears if one removes the beginning appoggiatura. It works
> with grace, slashedGrace, and acciaccatura too.
> > Thanks in advance,
> > Omid Momenzadeh
>
> I don't know why it works, but try this:
>
> %%%
> \version "2.22.1"
> \score {
>   \new Staff \with { instrumentName = \markup \bold "Name" } <<
> \context Voice = "voice" \relative c'' { \appoggiatura b16 c1 }
>   >>
> }
> %%%
>
> --
> Knute Snortum
>


Re: Instrument name disappears if I start it with a grace note

2021-11-18 Thread Knute Snortum
On Thu, Nov 18, 2021 at 7:54 AM Omid Mo'menzadeh  wrote:
>
> Hello all.
> I think I just described the problem in the title, but it only happens if I 
> have a multi-voice staff, as the following example demonstrates:
>
> %%%
> \version "2.22.1"
> \score {
>   \new Staff <<
> \set Staff.instrumentName = \markup \bold "Name"
> \context Voice = "voice" \relative c'' { \appoggiatura b16 c1 }
>   >>
> }
> %%%
>
> The name appears if one removes the beginning appoggiatura. It works with 
> grace, slashedGrace, and acciaccatura too.
> Thanks in advance,
> Omid Momenzadeh

I don't know why it works, but try this:

%%%
\version "2.22.1"
\score {
  \new Staff \with { instrumentName = \markup \bold "Name" } <<
\context Voice = "voice" \relative c'' { \appoggiatura b16 c1 }
  >>
}
%%%

--
Knute Snortum



Instrument name disappears if I start it with a grace note

2021-11-18 Thread Omid Mo'menzadeh
Hello all.
I think I just described the problem in the title, but it only happens if I
have a multi-voice staff, as the following example demonstrates:

%%%
\version "2.22.1"
\score {
  \new Staff <<
\set Staff.instrumentName = \markup \bold "Name"
\context Voice = "voice" \relative c'' { \appoggiatura b16 c1 }
  >>
}
%%%

The name appears if one removes the beginning appoggiatura. It works with
grace, slashedGrace, and acciaccatura too.
Thanks in advance,
Omid Momenzadeh


ANN: Spontini-Editor version 1.6

2021-11-18 Thread Paolo Prete
Hello,

I just created a new release (1.6) of Spontini-Editor.

https://github.com/paopre/Spontini

It is still under test: then, it is not yet included inside the "releases"
page of the project, but it should already work and you can download it
from the main page.

The important news of this release are two:

1) A ruler (in the style of Inkscape) and two pairs of draggable axes have
been added. Through these tools it is possible to measure distances both in
staff spaces and in the unit of measurement set during the creation of the
score (mm, cm or in); it is also possible to check the alignments of the
various grobs on the score. These tools are very useful when, in the final
phase of creating the scores, it is necessary to verify that ALL the
objects are strictly in their right place.

2) I added a tool that compiles "on the fly" chunks of code, without
generating the output, by selecting with the mouse the corresponding text
on the editor. In the previous release there was already a tool to compile
single sections of the score. The new tool allows you to compile on the
fly, in a very short time, single measures within the sections: in this
way, if a section takes a long time to compile and eventually produces an
error, it is possible to correct the error on the single bar, quickly check
that the bar no longer gives errors with the new tool and then compile the
entire section safely.
Of course, the small fragments can be compiled together with two common
parts of the score, placed at the beginning and at the end: therefore they
will not create problems in dependencies with other parts of the code.
Through this system, you avoid wasting time due to typos. And we know that
these typos are very frequent.

See ("Ruler" and "Compile chunks of score" paragraphs):

https://github.com/paopre/Spontini/blob/master/documentation/miscellaneous.md

HTH
P