Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
lilyp...@maltemeyn.de writes: > On 2019/04/29 20:15:30, lemzwerg wrote: >> I wonder whether it makes sense to use more camel case for the macro > names, this >> is, \shortFermata, \longFermata, etc. > > Hm … that would need new names also for other scripts like \reverseTurn, > \halfOpen and probably many others like \prallMordent, \prallPrall, > \upMordent, \snapPizzicato, \signumCongruentiae. > > What happened to GLISS? camelCase vs. lowercase and others is mentioned > in section 14.7 of the CG … > > https://codereview.appspot.com/344160043/ GLISS has fallen a bit by the wayside: as I understand it, it was to a good degree an endeavor driven by non-programmers (at least not core programmers) to get focused proposals for better human interfaces for LilyPond that programmers then can tackle. The composition of core programmers and users and the balance of things being hardwired into LilyPond (where simple changes required a core programmer) and things being programmable at an advanced user level as long as they met certain limitations has significantly shifted since then, and so have the discussion and decision and code making processes. Like with many slow-moving changes, not everything that was a good idea remains as desirable as it once was and as the way to do things changes, the set of people enjoying doing them also changes, partly because of a change in the actual matter at hand, partly because of changes in the community doing them. Whether you want to call it GLISS or not, consistency in interfaces does make some sense but it usually is a good idea to work on those mostly when there is a comparatively fresh stable branch out. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
On 2019/04/29 20:15:30, lemzwerg wrote: I wonder whether it makes sense to use more camel case for the macro names, this is, \shortFermata, \longFermata, etc. Hm … that would need new names also for other scripts like \reverseTurn, \halfOpen and probably many others like \prallMordent, \prallPrall, \upMordent, \snapPizzicato, \signumCongruentiae. What happened to GLISS? camelCase vs. lowercase and others is mentioned in section 14.7 of the CG … https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
I wonder whether it makes sense to use more camel case for the macro names, this is, \shortFermata, \longFermata, etc. https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
On 2019/04/29 06:14:40, Malte Meyn wrote: fix documentation This time I did a make doc-stage-1 for english and german docs. I hope that’s enough … https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
Hm … Would this apply to the already existing script commands \shortfermata etc.? Then we would need a convert-ly rule. Good question. I see arguments for both directions, i.e., whether to stay with the commands, or to remove them. https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
On 2019/02/28 09:41:26, lemzwerg wrote: [Oops, pressed the wrong button] The idea of \fermata 'foo is its open endedness; you don't have to define a new command for a new fermata type. I'm a fan of a smaller set of multiplex commands instead of a larger set of specific macros (which a user could always define by herself). However, this is probably just me. How about a generic \fermata and derived from it the others? Like for \tie and \over/undertie https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
On 2019/02/28 09:41:26, lemzwerg wrote: [Oops, pressed the wrong button] The idea of \fermata 'foo is its open endedness; you don't have to define a new command for a new fermata type. I'm a fan of a smaller set of multiplex commands instead of a larger set of specific macros (which a user could always define by herself). However, this is probably just me. Hm … Would this apply to the already existing script commands \shortfermata etc.? Then we would need a convert-ly rule. And maybe we should take that opportunity to add a very short fermata and the Henze variants to comply SMuFL: https://w3c.github.io/smufl/gitbook/tables/holds-and-pauses.html https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
[Oops, pressed the wrong button] The idea of \fermata 'foo is its open endedness; you don't have to define a new command for a new fermata type. I'm a fan of a smaller set of multiplex commands instead of a larger set of specific macros (which a user could always define by herself). However, this is probably just me. https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
On 2019/02/28 09:21:34, Malte Meyn wrote: On 2019/02/28 09:15:44, lemzwerg wrote: > LGTM. However, I'm not completely happy with it. What about making \fermata > (and \fermataMarkup) accept an optional argument that indicates the type: > > \fermata 'short > \fermata 'veryLong I’m not sure whether that would be an improvement; I used the same names as for the scripts as it is done with \fermata[Markup]: % currently possible \markup \fermata { b1-\fermata R\fermataMarkup } % after this patch \markup \verylongfermata { b1-\verlylongfermata R\verylongfermataMarkup } \fermata 'verylong isn’t easier to type or to remember than \verylongfermata IMHO. > \fermata "arbitrary markup stuff" We definitely don’t need that. If you want a script, just use the correct command like -. or \staccato or a TextScript. If you want a markup, just write \markup "foo" instead of \markup \fermata "foo". If you want to center something above a MultiMeasureRest, just use { R1-"foo" } instead of { R1-\fermataMarkup "foo" }. https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
Reviewers: lemzwerg, Message: On 2019/02/28 09:15:44, lemzwerg wrote: LGTM. However, I'm not completely happy with it. What about making \fermata (and \fermataMarkup) accept an optional argument that indicates the type: \fermata 'short \fermata 'veryLong I’m not sure whether that would be an improvement; I used the same names as for the scripts as it is done with \fermata[Markup]: % currently possible \markup \fermata { b1-\fermata R\fermataMarkup } % after this patch \markup \verylongfermata { b1-\verlylongfermata R\verylongfermataMarkup } \fermata 'verylong isn’t easier to type or to remember than \verylongfermata IMHO. \fermata "arbitrary markup stuff" We definitely don’t need that. If you want a script, just use the correct command like -. or \staccato or a TextScript. If you want a markup, just write \markup "foo" instead of \markup \fermata "foo". If you want to center something above a MultiMeasureRest, just use { R1-"foo" } instead of { R1-\fermataMarkup "foo" }. Description: add fermata markup commands Like the markup command \fermata and \fermataMarkup there are now: \shortfermata, \longfermata, \verylongfermata \shortfermataMarkup, \longfermataMarkup, \verylongfermataMarkup contains also: add fermata markup commands to docs Please review this at https://codereview.appspot.com/344160043/ Affected files (+76, -2 lines): M Documentation/changes.tely M Documentation/notation/expressive.itely M ly/property-init.ly M scm/define-markup-commands.scm Index: Documentation/changes.tely diff --git a/Documentation/changes.tely b/Documentation/changes.tely index d851415574e7d1e815d943fdfee466c47bc6f5f8..20b899916e1a65ccdb17979c3038abf8bd796569 100644 --- a/Documentation/changes.tely +++ b/Documentation/changes.tely @@ -62,6 +62,21 @@ which scares away people. @end ignore +@item +Markup commands for short, long, and very long fermatas have been added as well as matching commands for multi-measure rests: +@lilypond[verbatim,quote] +\markup { + "Short and long fermata:" + \shortfermata + \override #`(direction . ,DOWN) + \longfermata +} + +{ + R1\verylongfermataMarkup +} +@end lilypond + @item Chords may now be automatically inverted or voiced with dropped notes. @lilypond[verbatim,quote] Index: Documentation/notation/expressive.itely diff --git a/Documentation/notation/expressive.itely b/Documentation/notation/expressive.itely index 992fa7f4d6e04866b1e2dea1e33519aec78c08a7..a6d3c10ab33c718634ab5204ca578d3f348f1033 100644 --- a/Documentation/notation/expressive.itely +++ b/Documentation/notation/expressive.itely @@ -112,7 +112,10 @@ Methods to create new dynamic markings are also discussed. @funindex \fermata @funindex \longfermata @funindex \verylongfermata +@funindex \shortfermataMarkup @funindex \fermataMarkup +@funindex \longfermataMarkup +@funindex \verylongfermataMarkup @funindex \segno @funindex \coda @funindex \varcoda @@ -169,8 +172,10 @@ Articulations are @code{Script} objects. Their properties are described more fully in @rinternals{Script}. Articulations can be attached to rests as well as notes but they -cannot be attached to multi-measure rests. A special predefined -command, @code{\fermataMarkup}, is available for attaching a fermata +cannot be attached to multi-measure rests. Special predefined +commands, @code{\fermataMarkup}, @code{\shortfermataMarkup}, +@code{\longfermataMarkup}, and @code{\verylongfermataMarkup}, +are available for attaching fermatas of different lengths to a multi-measure rest (and only a multi-measure rest). This creates a @code{MultiMeasureRestText} object. Index: ly/property-init.ly diff --git a/ly/property-init.ly b/ly/property-init.ly index e3ae2147be607304a7d3c4496b25f49b69ff0f88..91d03b25e9ce58dcc4fd56f7d9343d288b9421bb 100644 --- a/ly/property-init.ly +++ b/ly/property-init.ly @@ -216,6 +216,24 @@ fermataMarkup = 'tweaks '((outside-staff-priority . 40) (outside-staff-padding . 0))) +shortfermataMarkup = +#(make-music 'MultiMeasureTextEvent + 'text (make-shortfermata-markup) + 'tweaks '((outside-staff-priority . 40) + (outside-staff-padding . 0))) + +longfermataMarkup = +#(make-music 'MultiMeasureTextEvent + 'text (make-longfermata-markup) + 'tweaks '((outside-staff-priority . 40) + (outside-staff-padding . 0))) + +verylongfermataMarkup = +#(make-music 'MultiMeasureTextEvent + 'text (make-verylongfermata-markup) + 'tweaks '((outside-staff-priority . 40) + (outside-staff-padding . 0))) + %% font sizes teeny = \set fontSize = #-3 Index: scm/define-markup-commands.scm diff --git a/scm/define-markup-commands.scm b/scm/define-markup-commands.scm index 1c4fa2ab1b1eff16e6770443eb9e7aa33aa64279..e30dc6e43176c1fe851917875410cc1036279fbd 100644 --- a/scm/define-markup-commands.scm +++
add fermata markup commands (issue 344160043 by lilyp...@maltemeyn.de)
LGTM. However, I'm not completely happy with it. What about making \fermata (and \fermataMarkup) accept an optional argument that indicates the type: \fermata 'short \fermata 'veryLong \fermata "arbitrary markup stuff" https://codereview.appspot.com/344160043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel