lilypond-user
[Top][All Lists]
Advanced

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

Re: Are these results possible with LilyPond?


From: Reinhold Kainhofer
Subject: Re: Are these results possible with LilyPond?
Date: Wed, 18 Nov 2009 23:38:51 +0100
User-agent: KMail/1.12.3 (Linux/2.6.31-14-generic; KDE/4.3.3; i686; ; )

Am Mittwoch, 18. November 2009 20:01:23 schrieb Kieren MacMillan:
> Hi Benedikt,
> 
> The LSR is your friend!  =)

The URL is 
http://lsr.dsi.unimi.it/

> > A: Bracketed clefs, time signatures and key signatures at the
> > beginning of a staf or piece.
> > B, D, E: Bracketed elements of almost any kind within a staf.
> 
> <http://lsr.dsi.unimi.it/LSR/Snippet?id=564>

Yes, that can be used to bracketify note, rests, articulations, etc.
http://lsr.dsi.unimi.it/LSR/Item?id=564

(It's better to give the link to /LSR/Item rathern than /LSR/Snippet, since 
the former will show the image of the result...)

Other bracketing functions for other types of objects:
-) time signature in brackets:
    http://lsr.dsi.unimi.it/LSR/Item?id=169
-) clefs and key signatures in brackets:
    http://lsr.dsi.unimi.it/LSR/Item?id=647

-) dynamic marks in parentheses (simply replace ( and ) by [ and ] to get
    square brackets instead):
    http://lsr.dsi.unimi.it/LSR/Item?id=382
-) brackets around whole passages of music
    http://lsr.dsi.unimi.it/LSR/Item?id=377
-) brackets in markup:
    http://lsr.dsi.unimi.it/LSR/Item?id=252


Bracketifying dots (in dotted notes and dotted rests) can be done similarly to 
clefs/key/time signature. Unfortunately, though, the brackets are not properly 
aligned and have the wrong height (since the dot's stencil seems to have 
suboptimal stencil extents...), so the following snippet needs some more love 
to make it really usable in professional scores:

dotBracketed = {
  \once\override Dots #'stencil = #(lambda (grob) (bracketify-stencil
         (ly:dots::print grob) Y 0.1 0.1 0 ))
}
\relative c'' {
  \time 12/8
  c4. r4. \dotBracketed c4. \dotBracketed r4.
}


I think that we should probably collect such functions for critical editions 
in a critical-edition.ily include file, so they are available in the standard 
lilypond distribution.


> > C, F: Struck through elements of any kind
> 
> You might want to box the element
> 
> <http://lsr.dsi.unimi.it/LSR/Item?id=99>
> 
> and then change the box stencil to have a diagonal "strikethrough".
> This will be more effort than the first, I fear.

If you only want to strike through one grob (graphical object), then you can 
define your own function (like the make-stencil-boxer or bracketify-stencil), 
which simply combines the given stencil with your own created strike-through-
line.

However, I suppose that in most cases, you don't want to strike through only 
one graphical object (one note head or one stem or one dot or one rest or one 
accidental), but rather a whole group. This problem is harder, and I'm 
currently not aware of a solution to this problem. (Another complication is 
that the striken notes should not count towards the measure length / time 
signature!)

So, in your example, 
A is solved, 
B needs some more tweaking (but is easily possible), 
C is hard and probably needs some ugly hacks rather than an elegant solution
D is solved,
F is solved

Cheers,
Reinhold

-- 
------------------------------------------------------------------
Reinhold Kainhofer, address@hidden, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org




reply via email to

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