special characters
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?
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?
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
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
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
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
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
<< … … >> 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
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
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
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
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
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
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
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
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
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
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
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
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
"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
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
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
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
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
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
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