lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TextTo: a modest proposal


From: Erik Sandberg
Subject: Re: TextTo: a modest proposal
Date: Sat, 21 Jan 2006 11:51:53 +0100
User-agent: KMail/1.8.3

On Saturday 21 January 2006 00.34, David Raleigh Arnold wrote:
> I am interested in what other long-time users of lilypond think of
> this suggestion to implement a \textto to work similarly to \lyricsto.
>
> for lilypond entry of fingering and text:
>
> example:
>
> bassfinger = \text {
> .3 '4 . ^Cresc\dots 4 'i;3,;^"a tempo" |^\segno }
> 123 4 5 6           7 8                bar  <-wc
>
> fingers a sequence with eight notes/rests in it.  If
> a barcheck or something else not a note/rest is used, it can have
> text, but you don't have to count those as notes.  The simplest
> thing would be to use \time or \clef as a reference to the same
> point in the score.  To skip bars, use || or |20 using only the
> barchecks in the notes.
>
> .3 is skip 3 words. A '.' is skip a single word, either note or rest.
> It's not skipping time, it's skipping words.
>
> <Chords g d> are not counted, only the notes in them in order given in
> \bassfinger.  On the last note head in the example, there is an 'i'
> above and to the left, a '3' below and to the right, and "a tempo"
> is centered above. A '!' like '3,!' would orient the number to the
> stem end instead of the head.  The ';' is a separator.
>
> A single word retains the relative position code of that which
> precedes.
>
> - are literal.  They are often used literally, as has been
> noted many times.
> ~ also literal.  "double quotes" are for strings with spaces only.
> No letters or numbers are used for anything except inserted text,
> except such \commands as may be used in the block.
>
> before note:  :3  :"text before"
> farther before: ::3
>
> 3*  text before#*
>
>
>
> centered above: ^a
> centered below head: _"a tempo"  below stem: _"a tempo"!
> before and above: '3 more to left: ''3
> before and below: ,3 more to left: ,,3
> after note and above: 3' farther right: 3s''
> after below: 3, more right: morendo,,
> flushright above: ^'3  farther left: ^''3
> flushright below: _,3  farther left: _,,3
> flushleft above: ^dim' farther right: ^dim''
> flushleft below: _dim, farther right: _dim,,
>
> repeat position: "nothing necessary"
>
> The reason for suggesting this is that fingering and text are a
> different step from entering the notes, and fraught with much more
> difficulty in tweaking and changes due to upgrades and just plain
> editing.  There is also the use of t p i m a r q c for various right
> hand fingerings for plucked strings, and the use of hyphens -3 3- and
> 3-4.  Adoption of a \textto, similar to \lyricsto, would help a lot
> with every sort of revision and make editing *much* quicker for those
> of us who have a lot of fingering and other text.
>
> It would also make it much easier to read the notes in the final
> lilypond file, because they would stay clean.  I think this is the
> strongest argument of all for making it part of LilyPond rather than
> just an editing tool.
>
> Much could be done with simple substitution, but stacking text gets
> difficult because for example something left and above relative to the
> note would complicate the placement of something above all that
> because the latter should be somewhat lower.  Worth it to me.  ;-)
>
> As for using symbols differently, you have to do that with lyrics,
> so why not other text?  Comments?

Something similar could be feasible. However, I don't think it should be done 
with a new \text lexical mode; there are already too many hacks in the 
parser.

One alternative would be to enter the scripts as a text string, and then write 
a complex music function that parses this string, and creates a parallel 
SequentialMusic containing scripts attached to skips.

I think it would be possible to do this completely as a custom music function, 
so the feature need not be part of the official lilypond package. (it would 
be a great addition to LSR, though).

-- 
Erik




reply via email to

[Prev in Thread] Current Thread [Next in Thread]