lilypond-devel
[Top][All Lists]

## Re: Adds incipit section to NR (issue 108270043 by address@hidden)

 From: dak Subject: Re: Adds incipit section to NR (issue 108270043 by address@hidden) Date: Sun, 29 Jun 2014 14:44:59 +0000


https://codereview.appspot.com/108270043/diff/1/Documentation/notation/ancient.itely
File Documentation/notation/ancient.itely (right):

https://codereview.appspot.com/108270043/diff/1/Documentation/notation/ancient.itely#newcode2663
Documentation/notation/ancient.itely:2663: incipit =
That's nothing belonging in the manual proper.  It is an ad-hoc recipe.
Those belong in the snippets.

Incidentally, we have an \endincipit command in ly/property-init.ly.  It
is not (or no longer) documented, it is not (or no longer) used
anywhere, and it probably does not (or no longer) work.

Like so much of our old history, the corresponding commit message is
absolutely unrelated to the commit content:

commit 3e69ea97654a3992b7411b2979c20fdc18845e2c
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Apr 16 13:04:33 1999 +0200

release: 1.1.40

appears to be where it has been introduced, and it has been moved around
afterwards a lot.

Doing git show
3e69ea97654a3992b7411b2979c20fdc18845e2c:input/test/incipit.ly delivers
%{
Test of how to make an incipit'' to indicate scordatora
tuning of a violin part, using the clefStyle property.
The two first bars of Biber's Rosary sonata III.

/Mats B
%}

\version "1.0.14";

incipit = \notes\relative c'{
<b1 fis' b d>
}

violin = \notes\relative c''{
\specialkey \keysignature f' fis'' g' gis'';
\time 2/2;

a4. b8 c4 fis |
gis~ gis8 fis16^\trill ()e b8 c \type Staff<{\voiceone a d}{\voicetwo
es,4}>|
}

BC  = \notes\relative c{
\key D;
\time 2/2;
\clef "bass";

b2. cis4 |
d e fis g |
}

\score{
\notes{
\type Staff=violin
\property Staff.clefStyle = "transparent"
\incipit
< \type Staff=violin {
\bar ".|"; \endincipit
\violin}
\type Staff=cb { \property Staff.clefStyle = "transparent"
\bar ".|";  \endincipit
\BC}>
}
\paper{
\translator{\StaffContext
timeSignatureStyle = "C";
}
}
}

So what we see here is a reasonably straightforward syntax and usage in
version 1.0.14 of LilyPond (with a lot of nostalgia-inducing old syntax
around it), and apparently half the implementation (or more likely its
non-functional corpse) survived into the current source.

It may or may not have been as flexible as what you pasted here from a
current snippet.  But it was a confined and encapsulated solution in
functionality and call.  *That* is what belongs in the NR proper rather
than in snippets.

I don't know when or how \incipit in that form died.  It is likely that
it has been dead and removed long enough that the name is free for the
taking these days without the need to adhere to the previous syntax.

But whether or not we'll try it with the original syntax: what belongs
in the NR is a proper, simple to use command that is available by
default.

Incipits are common enough that we want to have them in the manual,
sure, but as a reasonably usable and maintained command rather than a
wagonload of snippet code.

The current proposal is much worse for the end user than what we head in
version 1.0.14 or at least 1.1.40 (assuming that the version header has
not been properly updated).

That's embarrassing, to say the least.  At any rate, the snippet code
does not belong in NR proper.  Incipit functionality does, but not as a
snippet.  This needs to become a usable command out of the box again.

https://codereview.appspot.com/108270043/



reply via email to