On Jan 15, 2008 8:44 PM, Kieren MacMillan <[EMAIL PROTECTED]>
wrote:

> Hi Trevor,
>
> > Can we take this a bit farther for a moment?
>
> I'd love to!  =)
>
> > Thoughts?
>
> Perhaps if we had spanner-bounds control, and -- more importantly --
> could specify X-extent values in *DURATIONS* (instead of staff-
> lines), we could say
>
>     \once \override Hairpin #'bounds = #'((3 . 8) (1 . 4))
>
> to force the hairpin to start a distance of three-eighths after it
> "should have started", and end one quarter note's distance before it
> "should have ended"?
>
> > I would absolutely love
> > a way to "outline" the full duration of an arbitrat note with a
> > spanner / hairpin *with text elements in both the left and right
> > edges* and then follow that *on the next note* with another text
> > element ... or another such doubly-marked, full-duration spanner.
>
> If Hairpin were a real Spanner, wouldn't we have the ability to set
> bound-text on the left and right (like OttavaBracket, etc.)?
>
> > Would anyone else ever find this sort of thing useful?
>
> Definitely.



Hi Kieren, hi everybody,

The array of posts here have been pretty interesting. Reading through
everything the last couple of nights, I'm realizing that we've got a couple
of related topics in the thread. Some unpacking:


* Jamie started the thread and was looking for four separate affordances ...

   |\fermata       - place a fermata over a barline
   |\!             - end a (de)crescendo at a barline
   |\sustainUp     - end pedalling at a barline
   |\stopTextSpan  - end a text spanner over a barline


Mats and Graham addressed Jamie's points this way:

* Mats pointed out that fermatas can position over (or under) barlines so
long as you set them as marks ... and abide by the restriction of precisely
which staves it is that rehearsal marks govern.

* Graham pointed out that there's a context setting hairpinToBarline
documented in Dynamics (at 1.3.1).

* Mats pointed out that spanners now implement a 'to-barline property and
provided an example for piano pedal marks but added that he wasn't able to
get the effecting working for text spanners (thus addressing Jamie's third
and fourth points, with a yes and no, respectively).



Kieren jumped in with the possibility of what we might baptize "durated"
spanners of the form \>4 where, for example, a decrescendo carries the
duration of a one quarter. Kieren then generalized this idea of the
"durated" spanner to a two-part interface implementing duration-based
X-offset values, viz:

    \once \override Hairpin #'bounds = #'((3 . 8) (1 . 4))



Midway through, I hijacked part of the thread with some talk about what we
might call "capped" spanners. But I forgot to put together a pic of what I
was talking about. So the \p \< \mf crescendo in the png attached to this
thread gives an example. We've got a hairpin that appears to attach to a
*single* note, and that is capped with both a start value (\p) and a stop
value (\mf):

%%% BEGIN CAPPED HAIRPIN EXAMPLE %%%

\version "2.11.34"
sffp = #(make-dynamic-script "sffp")
\layout { ragged-right = ##t }

\new Score \with {
   \override NonMusicalPaperColumn #'line-break-system-details =
   #'((alignment-offsets . (0 -14)))
   \override TupletBracket #'staff-padding = #0.8
} <<
   \set Score.proportionalNotationDuration = #(ly:make-moment 1 24)
   \new Staff {
      \set tupletFullLength = ##t
      \times 2/3 { c'8 c'8 c'8 }
      \times 2/3 { c'8 c'8 c'8 }
      \times 2/3 { c'8 c'8 c'8 }
      \times 2/3 { c'8 c'8 c'8 }
      \time 1/4
      c'4
   }
   \new Staff {
         \set tupletFullLength = ##t
         \times 4/5 {
            c'4 \p \>
            c'1 * 19/20 \pp \<
            s1 * 1/20 \mf
         }
         \time 1/4
         c'4 \sffp
   }
>>

%%% END "CAPPED" HAIRPIN %%%


Spanners (or hairpins) that attach to a single note don't really exist in
Lily, so that's why there's the hackish stuff with the multipliers in the
bottom staff.

I would *love* to have the ability to attach spanners / hairpins to a single
note like this.  Especially spanners capped at both ends with some markup
values like \p and \mf. And in the case that we do implement such a thing,
what I'm really looking for is control of the *typographic* distance from
the right end-cap of the spanner (the \mf, above) to the next graphic
element on the staff -- be it a note, barline, time signature, key
signature, or whatever.

(And this will be the trick: what type of "bounds control" am I really
looking for here? My intuition tells me a behavior like the tupletFullLength
tuplet brackets included in the example ... which I like very much.)



So, to attempt a summary, we've got these ideas:

1. Four initial questions about attaching notational elements to barlines
(Jamie)
2. The introduction what we might called 'durated' spanners (Kieren)
3. And the introduction of 'capped' spanners attaching to a single note (me)

At this point, I *think* (though I'm not certain) that Jamie can accomplish
three of the four tasks that opened the thread. (Jamie, is this now the
case?) And I think that Kieren and I have both layed out a *lot* of dynamics
in our recent scores ;-) probably using the "dedicated skip voice" idea
described in 5.4.7 ...

Comparing Kieren's "durated" spanners with my "capped" spanners, I think the
two ideas address different concerns and also go nicely together. My
"capped" spanners try to create a notation that is admittedly not standard
but also something of a generalization of the layout of hairpins (and other
spanners). Kieren's "durated" spanners go to the heart of the problem of
where spanning elements actually *stop* and *start*, seeking a way to free
the starts and stops of spanners from the notes and rests to which they
attach.


So, putting all this together, I think that the durated spanners definitely
have something going for them -- it's quite clear how the proposed input
syntax like \>4 and even \override Hairpin #'bounds = #'((3 . 8) (1 . 4))
should behave. So the requirements of the implementation will be easy to
understand.

(However, I'd be willing to bet that the *implementation* challenge will be
that the parser will identify such things as durational elements
*overlapping* the durations of notes and rests and so on, which will
strictly violate the structure of a musical voice. Just a guess.)

And I'm also realizing that what I really am asking for with my capped
spanners is preicsely the more exacting "bounds control" Kieren's speaking
of ... which makes me realize that I'll really have to sit down and work out
a suggested set of interface controls since what I'm interested in is more
the control of typographic distances than of durational distances.


* * *

So there's my thinking about the thread up to this point. Might help capture
a point in the discussion we can come back to if anyone's looking to
implement some package of features in the future.




-- 
Trevor Bača
[EMAIL PROTECTED]

<<attachment: capped-hairpin.png>>

_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to