[Top][All Lists]

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

Issue 768 in lilypond: Enhancement: syntax shortcut for repeated chords

From: codesite-noreply
Subject: Issue 768 in lilypond: Enhancement: syntax shortcut for repeated chords
Date: Wed, 08 Apr 2009 14:23:06 +0000

Status: Accepted
Owner: v.villenave
CC: nicolas.sceaux,  lemzwerg,  hanwenn,  jan.nieuwenhuizen
Labels: Type-Enhancement Priority-Medium Usability

New issue 768 by v.villenave: Enhancement: syntax shortcut for repeated chords

In a long discussion on -user, the following feature was suggested:

"I don't write out each repeated chord in the manuscript.
 It's understood by the editors and engravers that the "|" means
 simply "print the previous chord again". It would be great if there
 was a shorthand for this in LilyPond code for situations"

the "&" character has been proposed, as well as the "q" letter.  Of course,
it should accept durations or additional events just like a standard

<c e g>4 &2 &->

The chosen character is not really important, as noted Han-Wen:
"I would avoid getting in this discussion before the feature is
complete.  Just call it \r (using an identifier or keyword),  and see
how it works in practice.  When it is debugged, think of a character.
The advantage of not using a letter a-z is that there are no backward
compat problems with source files that use said character as
identifier or unquoted string."

Nicolas Sceaux proposed to keep the implementation as flexible as possible:
    If the base chord being repeated contains
    tweaks, fingering, etc, are these to be repeated too?

This should be customizable: a default function would be defined,
that the user could change it if needed. And the same goes for the
repetition character/string.

#(define-public (default-repetition-function previous-chord new-chord)
    ... build a music expression...)
#(ly:parser-repetition-name parser "&")
#(ly:parser-repetition-function parser default-repetition-function)

By default, the repetition string could even be undefined, not to
break existing music code, and set only if needed, say by including

You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:

reply via email to

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