Re: A Midi question
On Thu, Sep 13, 2018 at 03:35:02AM +0200, Simon Albrecht wrote: > On 13.09.2018 01:29, H. S. Teoh wrote: > > The solution I've adopted is to always explicitly name all voices, > > even temporary ones, > > IIRC, they are named by default: "1", "2", etc. so you should just be > able to use those names. [...] You're right! I just tested the following, and it works correctly: \version "2.19.2" music = { c4 d e f << { c'4 c' c' c' } \\ { a4 a a a } >> } dynPart = { s1\ff s4\pp s4\p s4\mp s4\ff } \score { \new Staff << \context Voice="1" { \dynPart } \context Voice="2" { \dynPart } \music >> \midi {} } This will simplify my scores quite a bit. Thanks for the tip! T -- It said to install Windows 2000 or better, so I installed Linux instead. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A Midi question
On Thu, Sep 13, 2018 at 08:36:05AM -0700, foxfanfare wrote: [...] > Yes, very much! I tried all your proposals and now everything works > great, thanks! Glad to help. > I just need to find how I can make rallentando and the midi output > will be "acceptable" for my needs! [...] Usually I just use "fake" \tempo markings for things like this. For example: % global is my catch-all for various stuff that should be % applied globally to every staff. global = { \tempo 4 = 100 % starting tempo s1*12 % nothing interesting for next 12 bars % Simulated rallentando % These are tagged so that they don't show up in the % printed score. \tag #'midi \tempo 4 = 90 s8 \tag #'midi \tempo 4 = 85 s8 \tag #'midi \tempo 4 = 80 s8 \tag #'midi \tempo 4 = 75 s8 \tag #'midi \tempo 4 = 70 % ... etc., you can change s8 to any other duration % depending on how fine-grained you want it to be, and % repeat as often as desired to span the full length of % the rall. } ... \score { \removeWithTag #'layout << \global \music >> \midi {} } If you have a lot of rallentando's in your score, this quickly becomes tedious, so you might want to consider writing a Scheme macro to automatically do this for you. (If you need help with this, just ask and one of the Scheme experts here will help. I'm only a beginner at Scheme though I did manage to write a function that generates a bunch of midi expression events to simulate crescendo/decresc on a single note, e.g., in a horn part. It's not perfect, but with a little push, Lilypond can be coaxed to do quite a lot even with its limited midi support.) T -- I am not young enough to know everything. -- Oscar Wilde ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: stemNeutral problem
Aaron Hill writes: > On 2018-09-13 4:42 am, David Kastrup wrote: >> [...] If you write something like >> >> \stemDown \once \stemUp \stemNeutral >> >> what's the expectation for the current timestep, and what's the >> expectation for afterwards? > > If \stem(Up|Down|Neutral) were as simple as "Stem.direction := > (Up|Down|Neutral)" and \once pushes a new value onto a stack that will > be popped at some later time to restore the original value, then the > property could have a well-defined* value during evaluation: Huh. I forgot issue 4609. \once stemUp is independent of \stemNeutral nowadays. \stemNeutral cancels \stemDown but you'll only get to see it at the next timestep. This is not the behavior we want for \grace { \stemNeutral ... } (namely \stemNeutral only becoming effective after the \grace is ended) so one has to design that behavior differently. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A Midi question
H. S. Teoh wrote > For the printed score, this would produce tons of redundant dynamic > markings, so I always use a separate score just for layout, and stick > \dynPart into a Dynamics context between the upper and lower parts of > the piano score for nicer layout. > > Hope this helps. Yes, very much! I tried all your proposals and now everything works great, thanks! I just need to find how I can make rallentando and the midi output will be "acceptable" for my needs! -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: stemNeutral problem
Aaron Hill writes: > Token(s)Stem.direction (Stack) > > \stemDown Down () > \once \stemUp <{> Up (Down) > \stemNeutral <...> (Down) > <}> Down () > > This behavior is identical the first version, where now neutrality is > indicated by a lack of value. It is still slightly counter-intuitive > because the effect of \stemNeutral does not persist beyond the scope > of the \once. The current behavior tries to keep surprising behavior close to the cause of the surprise. Basically it prefers "huh?" over "WHAT?!?!?!?!". It's not trivial to do significantly better. > This discussion is particularly interesting as I have found myself > working through "Principles of Compiler Design" (Aho/Ullman) again > after having perused it far too quickly when I was much younger and > much less equipped to fully appreciate it. One relevant realization I > have is that it seems there is no worthwhile amount of effort one can > expend to design a language with precision and unambiguity such that > it can fully prevent someone writing nonsense as input. I think it > was Chomsky who came up with something like: "Colorless green ideas > sleep furiously." Chomsky was more about differences in being well-formed and well-meaning. I mean, between syntactic correctness and semantic sense. I'd not attribute "nonsense" to the input written: such combinations easily come about when combining various settings into semantic blocks and such blocks into meaningful actions, and that is actually exactly what happens when the equivalents of \graceOn and \graceOff influence a block of properties that are useful to change for other reasons as well. For some things, the stack model works well. For some other, less well. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Single digit double time signature
It works perfectly. Thanks a lot! Francesco Il giorno gio 13 set 2018 alle ore 16:14 Jean Bréfort ha scritto: > Hi, > > You might try something like: > > \override Staff.TimeSignature #'stencil = #ly:text-interface::print > \override Staff.TimeSignature #'text = \markup {\musicglyph #"timesig.C44" > \lower #0.9 \bold \large "3"} > \time 3/2 > > Hope this jelps, > Jean > > Le jeudi 13 septembre 2018 à 15:49 +0200, Cantus Ornatus a écrit : > > Hi everyone. > > Typesetting mensural music I often find double time signatures with a > > single digit like C 3, O 3, and so on. > > > > Is it possible modifying the standard double time signature syntax in > > order to have such a layout (second page)? > > > > https://goo.gl/FBm2UL > > > > Thanks in advance, > > F. > > > > ___ > > lilypond-user mailing list > > lilypond-user@gnu.org > > https://lists.gnu.org/mailman/listinfo/lilypond-user > > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Single digit double time signature
Hi, You might try something like: \override Staff.TimeSignature #'stencil = #ly:text-interface::print \override Staff.TimeSignature #'text = \markup {\musicglyph #"timesig.C44" \lower #0.9 \bold \large "3"} \time 3/2 Hope this jelps, Jean Le jeudi 13 septembre 2018 à 15:49 +0200, Cantus Ornatus a écrit : > Hi everyone. > Typesetting mensural music I often find double time signatures with a > single digit like C 3, O 3, and so on. > > Is it possible modifying the standard double time signature syntax in > order to have such a layout (second page)? > > https://goo.gl/FBm2UL > > Thanks in advance, > F. > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Strange dotted slur which are not slurs or ties
Am 13.09.2018 um 15:29 schrieb Torsten Hämmerle: > > Phrasing slurs can be made dotted by \phrasingSlurDotted and they can be > made dashed by \phrasingSlurDashed. > > Thank you both, Simon and Torsten Bernhard -- spitzhalde9 D-79853 lenzkirch bernhard.kle...@gmx.net www.b-kleine.com, www.urseetal.net - thunderbird mit enigmail GPG schlüssel: D5257409 fingerprint: 08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09 signature.asc Description: OpenPGP digital signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Single digit double time signature
On 2018-09-13 6:49 am, Cantus Ornatus wrote: Hi everyone. Typesetting mensural music I often find double time signatures with a single digit like C 3, O 3, and so on. Is it possible modifying the standard double time signature syntax in order to have such a layout (second page)? https://goo.gl/FBm2UL Assuming "C 3" is intended to mean "4+3/4", then you can use \compoundMeter to set the time signature and then override its visual appearance. Perhaps something like this: \version "2.19.82" << { \override Staff.TimeSignature.stencil = #ly:text-interface::print \override Staff.TimeSignature.text = \markup \concat { \musicglyph "timesig.C44" \hspace #1 \lower #1 \musicglyph "three" } \compoundMeter #'(4 3 4) e'2 g'4 e' d' e'2 } >> Note that I used the "normal" time symbol "C" as opposed to the mensural version. I think it looks better next to the numeric three, but you can use any of the glyphs in the font. Or really whatever you want, since you have the full power of markup there. -- Aaron Hill___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Single digit double time signature
Cantus Ornatus wrote > Is it possible modifying the standard double time signature syntax in > order > to have such a layout? Hi F., You can change the time signature style to single-digit: \override Staff.TimeSignature.style = #'single-digit That way, only the numerator will be printed. Other style possibilities are #'mensural or #'neomensural for special mensural glyphs. HTH, Torsten -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Single digit double time signature
Hi everyone. Typesetting mensural music I often find double time signatures with a single digit like C 3, O 3, and so on. Is it possible modifying the standard double time signature syntax in order to have such a layout (second page)? https://goo.gl/FBm2UL Thanks in advance, F. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: stemNeutral problem
On 2018-09-13 4:42 am, David Kastrup wrote: [...] If you write something like \stemDown \once \stemUp \stemNeutral what's the expectation for the current timestep, and what's the expectation for afterwards? If \stem(Up|Down|Neutral) were as simple as "Stem.direction := (Up|Down|Neutral)" and \once pushes a new value onto a stack that will be popped at some later time to restore the original value, then the property could have a well-defined* value during evaluation: "\stemDown \once \stemUp <{> \stemNeutral <...> <}>" Token(s)Stem.direction (Stack) \stemDown Down () \once \stemUp <{> Up (Down) \stemNeutral <...> Neutral(Down) <}> Down () Note that I have indicated <{> and <}> which are invisible, though implied, tokens that define the scope of \once. In LilyPond, this scope seems to be based on timestep. So we must presume that <...> includes something that has stepped time forward once as to trigger the cleanup behavior of \once. (* I say "well-defined" above but I should clarify that this behavior might not match expectations. An explicit \stemNeutral might seem to folks to have the final say, but since it is within the scope of \once implicitly, its value is also temporary.) Of course, \stemNeutral in particular does not set the property but rather "unsets" it by \reverting whatever value the property may have been \overridden with. This means that \override might be preserving a value on a stack for later restoration. "\stemDown \once \stemUp <{> \stemNeutral <...> <}>" Token(s)Stem.direction (Stack) \stemDown Down () \once \stemUp <{> Up (Down, ) \stemNeutral <...> Down () <}> () The problem here is that \stemNeutral \reverted the value of the \stemUp but was left with the value that \once placed on the stack--*not* the neutral state we expect. So the result is even less clear. Of course, \override does not need to make use of a stack if \revert were to instead always set the property to an undefined (unset) value. "\stemDown \once \stemUp <{> \stemNeutral <...> <}>" Token(s)Stem.direction (Stack) \stemDown Down () \once \stemUp <{> Up (Down) \stemNeutral <...> (Down) <}> Down () This behavior is identical the first version, where now neutrality is indicated by a lack of value. It is still slightly counter-intuitive because the effect of \stemNeutral does not persist beyond the scope of the \once. - - - - This discussion is particularly interesting as I have found myself working through "Principles of Compiler Design" (Aho/Ullman) again after having perused it far too quickly when I was much younger and much less equipped to fully appreciate it. One relevant realization I have is that it seems there is no worthwhile amount of effort one can expend to design a language with precision and unambiguity such that it can fully prevent someone writing nonsense as input. I think it was Chomsky who came up with something like: "Colorless green ideas sleep furiously." -- Aaron Hill ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Strange dotted slur which are not slurs or ties
Bernhard Kleine wrote > But how make them dotted? Phrasing slurs can be made dotted by \phrasingSlurDotted and they can be made dashed by \phrasingSlurDashed. -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: stemNeutral problem
Edward Neeman writes: > Thanks David, that makes a lot of sense! > > With your explanation in mind I’m thinking the current implementation in best. Well, the problem really is finding an implementation that does not cause surprises. One could rather brutally restore all settings made inside of a \grace group that are subject to \grace settings. Those would be (currently) (define general-grace-settings `((Voice Stem font-size -3) (Voice Flag font-size -3) (Voice NoteHead font-size -3) (Voice TabNoteHead font-size -4) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam beam-thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Script font-size -3) (Voice Fingering font-size -8) (Voice StringNumber font-size -8))) (define-public score-grace-settings (append `((Voice Stem direction ,UP) (Voice Slur direction ,DOWN)) general-grace-settings)) So basically at the end of the \grace group, rewind to what was there before. However, the property lists are per-Grob, not per-property, so either one would have to restore the complete state of all the listed Grobs, or one would have to filter the lists into components relating to the desired properties and unrelated components, and reassemble the respective lists afterwards. Probably easier to just restore the complete Grob definitions. Would people be surprised if a color override of a Beam was reverted at the end of a \grace group? I don't know. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Strange dotted slur which are not slurs or ties
On 13.09.2018 14:53, Bernhard Kleine wrote: But how make them dotted? How about: \version "2.18.2" "\\{" = -\single \phrasingSlurDotted \( "\\}" = \) { c'\{ c'\} } Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Strange dotted slur which are not slurs or ties
But how make them dotted? Am 13.09.2018 um 14:48 schrieb Torsten Hämmerle: > Bernhard Kleine wrote >> These dotted slurs are not slurs since the text is not suspended. Please >> let me know how you would set this example. > > Hi Bernhard, > > > I'd just use phrasing slurs \( and \). > In contrast to ties or ordinary slurs, each note will get its syllable, > phrasing slurs won't create automatic melismata. Voilà ! > > HTH, > Torsten > > > > -- > Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user -- spitzhalde9 D-79853 lenzkirch bernhard.kle...@gmx.net www.b-kleine.com, www.urseetal.net - thunderbird mit enigmail GPG schlüssel: D5257409 fingerprint: 08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09 signature.asc Description: OpenPGP digital signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Strange dotted slur which are not slurs or ties
On 13.09.2018 14:34, Bernhard Kleine wrote: A fairly modern componist wrote in 1950 the following example (see attached). These dotted slurs are not slurs since the text is not suspended. Please let me know how you would set this example. I’d see two possible interpretations, depending on context: either the dotted slurs are for accompanying instruments or they just indicate legato/no breathing. The latter seems less than likely because it wouldn’t be needed inside a word. Another possibility in general would be alternative lyrics, e.g. a translation, but that doesn’t seem to be the case. Stanzas? At any rate, LilyPond phrasing slurs seem like the best way to code it. Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Strange dotted slur which are not slurs or ties
Bernhard Kleine wrote > These dotted slurs are not slurs since the text is not suspended. Please > let me know how you would set this example. Hi Bernhard, I'd just use phrasing slurs \( and \). In contrast to ties or ordinary slurs, each note will get its syllable, phrasing slurs won't create automatic melismata. Voilà ! HTH, Torsten -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Strange dotted slur which are not slurs or ties
A fairly modern componist wrote in 1950 the following example (see attached). These dotted slurs are not slurs since the text is not suspended. Please let me know how you would set this example. Regards Bernhard -- spitzhalde9 D-79853 lenzkirch bernhard.kle...@gmx.net www.b-kleine.com, www.urseetal.net - thunderbird mit enigmail GPG schlüssel: D5257409 fingerprint: 08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09 signature.asc Description: OpenPGP digital signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: stemNeutral problem
Thanks David, that makes a lot of sense! With your explanation in mind I’m thinking the current implementation in best. Edward --- Dr. Edward Neeman www.neemanpianoduo.com > On 13 Sep 2018, at 9:42 pm, David Kastrup wrote: > > David Kastrup mailto:d...@gnu.org>> writes: > >> Edward Neeman writes: >> >>> Hello, >>> >>> I’ve come across some weird behaviour from the \stemNeutral command. This >>> doesn’t work: >>> >>> >>> >>> \version "2.19.82" >>> >>> \relative { \stemUp 8) r8 >>> \acciaccatura { \stemDown 8 } \stemUp r >>>\stemNeutral c,16 es ges bes } >>> >>> %%% >>> >>> Adding a second \stemNeutral command is necessary to reset the stems to >>> normal. Why might this be? >> >> Here is the deal. \acciaccatura does an implicit \temporary \stemUp (as >> that's a default for grace notes) which it cancels at the end of >> \acciacatura, provided that it is still active. >> >> \stemDown will cancel this preexisting \temporary \stemUp. >> Consequently, \acciacatura does not see the preexisting \temporary >> \stemUp at its end any more and will do nothing, in effect leaving a >> \temporary \stemDown on the stack. Your next \stemUp will replace it >> with a \temporary \stemUp which will get canceled by \stemNeutral, >> making the original \stemUp surface. >> >> Ugh. The solution is to cancel your \stemDown yourself, using >> \stemNeutral . >> >> Now let's assume that \acciaccatura would not do that kind of "matched >> pop" at its end and would remove the \stemDown. Now if you write >> \acciaccatura { \stemNeutral ... } this would pop the _preceding_ >> \stemUp which would be even worse. And was the reason the current >> behavior was implemented. >> >> So maybe the "matched pop" should be done in a different manner: if the >> previous state of the stack can be restored, do so, without actually >> looking at what you are going to pop in order to get there. > > The "matched pop" is also used for \once \override . If you write > something like > > \stemDown \once \stemUp \stemNeutral > > what's the expectation for the current timestep, and what's the > expectation for afterwards? > > In short, this is sort-of a messy area. It's not necessarily the best > way \acciaccatura works but the premise is that the behavior for its > private overrides is similar to \once \override and either try not to > tamper with stuff they don't understand because then the effects are > "non-local". > > Maybe the understanding could be extended beyond where it is now but it > would require some refactoring: the current implementation delivers a > "pop token" at negligible cost, and so there are no separate > implementations for when it is actually needed and not. For a slightly > better "pop token" like sketched above, there would be non-trivial > cost. I am not sure it would work all that much better. > > -- > David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: stemNeutral problem
David Kastrup writes: > Edward Neeman writes: > >> Hello, >> >> I’ve come across some weird behaviour from the \stemNeutral command. This >> doesn’t work: >> >> >> >> \version "2.19.82" >> >> \relative { \stemUp 8) r8 >> \acciaccatura { \stemDown 8 } \stemUp r >> \stemNeutral c,16 es ges bes } >> >> %%% >> >> Adding a second \stemNeutral command is necessary to reset the stems to >> normal. Why might this be? > > Here is the deal. \acciaccatura does an implicit \temporary \stemUp (as > that's a default for grace notes) which it cancels at the end of > \acciacatura, provided that it is still active. > > \stemDown will cancel this preexisting \temporary \stemUp. > Consequently, \acciacatura does not see the preexisting \temporary > \stemUp at its end any more and will do nothing, in effect leaving a > \temporary \stemDown on the stack. Your next \stemUp will replace it > with a \temporary \stemUp which will get canceled by \stemNeutral, > making the original \stemUp surface. > > Ugh. The solution is to cancel your \stemDown yourself, using > \stemNeutral . > > Now let's assume that \acciaccatura would not do that kind of "matched > pop" at its end and would remove the \stemDown. Now if you write > \acciaccatura { \stemNeutral ... } this would pop the _preceding_ > \stemUp which would be even worse. And was the reason the current > behavior was implemented. > > So maybe the "matched pop" should be done in a different manner: if the > previous state of the stack can be restored, do so, without actually > looking at what you are going to pop in order to get there. The "matched pop" is also used for \once \override . If you write something like \stemDown \once \stemUp \stemNeutral what's the expectation for the current timestep, and what's the expectation for afterwards? In short, this is sort-of a messy area. It's not necessarily the best way \acciaccatura works but the premise is that the behavior for its private overrides is similar to \once \override and either try not to tamper with stuff they don't understand because then the effects are "non-local". Maybe the understanding could be extended beyond where it is now but it would require some refactoring: the current implementation delivers a "pop token" at negligible cost, and so there are no separate implementations for when it is actually needed and not. For a slightly better "pop token" like sketched above, there would be non-trivial cost. I am not sure it would work all that much better. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: stemNeutral problem
Edward Neeman writes: > Hello, > > I’ve come across some weird behaviour from the \stemNeutral command. This > doesn’t work: > > > > \version "2.19.82" > > \relative { \stemUp 8) r8 > \acciaccatura { \stemDown 8 } \stemUp r > \stemNeutral c,16 es ges bes } > > %%% > > Adding a second \stemNeutral command is necessary to reset the stems to > normal. Why might this be? Here is the deal. \acciaccatura does an implicit \temporary \stemUp (as that's a default for grace notes) which it cancels at the end of \acciacatura, provided that it is still active. \stemDown will cancel this preexisting \temporary \stemUp. Consequently, \acciacatura does not see the preexisting \temporary \stemUp at its end any more and will do nothing, in effect leaving a \temporary \stemDown on the stack. Your next \stemUp will replace it with a \temporary \stemUp which will get canceled by \stemNeutral, making the original \stemUp surface. Ugh. The solution is to cancel your \stemDown yourself, using \stemNeutral . Now let's assume that \acciaccatura would not do that kind of "matched pop" at its end and would remove the \stemDown. Now if you write \acciaccatura { \stemNeutral ... } this would pop the _preceding_ \stemUp which would be even worse. And was the reason the current behavior was implemented. So maybe the "matched pop" should be done in a different manner: if the previous state of the stack can be restored, do so, without actually looking at what you are going to pop in order to get there. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: stemNeutral problem
On 2018-09-12 10:30 pm, Federico Bruni wrote: You are right, it seems weird. If you check your property-init.ly file you'll find these definitions: stemUp = \override Stem.direction = #UP stemDown = \override Stem.direction = #DOWN stemNeutral = \revert Stem.direction But I don't know what's happening here. Something fishy with grace notes, I think. Consider the following: \version "2.19.82" << { b'4 \stemUp b'4 \grace { \stemDown b'8 } \stemNeutral b'4 \stemNeutral b'4 } >> The occurrence of b'4 after the grace should be stem-down as that is its neutral direction. What is odd is that this behavior is unique to Stem.direction as far as my testing has shown. If you redefine \stemUp, \stemDown, and \stemNeutral to, say, change the Stem.color, then the fault does not occur. Grace (or acciaccatura) notes must be special-cased in how they work with Stem.direction. (I believe that grace notes are neutrally stem-up regardless of position on the staff.) And something is not playing nice with normal \override/\revert logic. -- Aaron Hill___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user