On 2024-05-02 21:19, Knute Snortum wrote:
On Thu, May 2, 2024 at 10:31 AM Pierre-Luc Gauthier <p.luc.gauth...@gmail.com> wrote:

    Le jeu. 2 mai 2024, à 13 h 08, Knute Snortum <ksnor...@gmail.com>
    a écrit :
    > Perhaps I'm not getting the need for this command as you could
    using an empty chord at the end of the repeat to do the same thing:
    >
    > {
    >   <>(\<
    >   \after 2 \>
    >   \repeat unfold 8 {e''16 d''} <>)\!|
    > }

    The above example would not work if I add another note :

    {
      \repeat unfold 8 {e''16 d''} <>\f |
      c'1 |
    }

    The "empty chord" syntax (which probably has a name? (and is not a
    chord in my understanding)) pushes the expression to the next event.


Yes, you're right that the empty chord (this is what I've heard others call it) does not actually put the event at the end of the measure, but the beginning of the next measure. I use a different context for all my dynamics and I've gotten so used to typing...

{
  s2...\< s16\! |
}

...that I do it almost automatically.  But I can see now that a "fromEnd" command would be useful.

If you want the (de-)crescendo to stop at the barline, then you shouldn't need such solutions, since \< and \> have the to-barline property set by default, which means that even if the \! is placed after the bar line, the hairpin will stop nicely just at the end of the bar:

\version "2.24.0"

{
  <>\< \repeat unfold 8 {e''16 d''} <>\! |
  c'1 |
  % Strangely enough, to-barline isn't the default for textual de(crescendi):
  \override DynamicTextSpanner.to-barline = ##t
  <>\cresc \repeat unfold 8 {e''16 d''} <>\! |
  c'1 |
}

    /Mats





--
Knute Snortum



Reply via email to