lilypond-devel
[Top][All Lists]
Advanced

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

Re: [GLISS] differentiating pre/post/neutral commands


From: Xavier Scheuer
Subject: Re: [GLISS] differentiating pre/post/neutral commands
Date: Sat, 1 Sep 2012 22:36:26 +0200

On 1 September 2012 18:25, Graham Percival <address@hidden> wrote:
> Continuing to brainstorm on the problem of it not being obvious to
> which note a particular \command refers to, what if we used:
>
> \postfix:      c2 d\p  is unchanged
> /prefix: for music functions like   c2 /parenthesize d
> .neutral: for commands which aren't attached to notes, such
>   as .clef or .times.
>
>    .version "2.16.0"
>    .score {
>      /new Staff {
>        .clef "bass"
>        .times 3/4
>        c4 /parenthesize d\p g .bar "|."
>      }
>    }
>
>
> It's obviously not a fully-thought-through idea, but the whole
> point of brainstorming is to list not-fully-thought-through ideas.

Hi,

For the commands I create myself I use a first capital letter to denote
non-postfix commands, as opposed to postfix commands starting with a
lowercase first letter (see code below).

Just an idea, but if possible, the conjunction of
"first uppercase letter + verb = prefix command"
as opposed to
"first lowercase letter + noun = postfix command"
would be a less invasive change (especially if the old syntax would
still work but emitting a Warning).
I don't see the advantage of the "neutral" distinction.
Every command starts with a backslash, not much complicated.

I am reluctant to such changes affecting the syntax of, well,
almost everything.  As a day-to-day user of lilypond I am used to
(most of) the existing formatting and, to make an analogy, such big
syntax changes sounds for me like
"OK, since now we will "harmonize" traffic signs as the following
classification:
1. Mandatory signs -> blue squares,
2. Prohibitory signs -> orange circles,
3. Warning signs -> red triangles."

Which for the average driver means:
"change the color of one half of the traffic signs:
1. blue circles and a few red triangles (such as "priority to the right"
and "priority at next intersection"), "Priority road" (yellow diamond),
"Give Way" sign (unverted red triangle) and "Stop sign" (red  octagon)
become orange squares,
2. most of the red circles become orange,
3. the other signs (mostly red triangles) stay the same.".

%%%% Lily code

\version "2.16"

% Graham's make-dynamic-extra (very useful)
#(define (make-dynamic-extra dynamic string)
     (make-music
       'AbsoluteDynamicEvent
       'tweaks
         ;; calculate centering for text
         (list (cons (quote X-offset)
           (+ -0.5 (* -0.5 (string-length dynamic)))))
       'text
         (markup #:whiteout
           #:line (
               dynamic
               ;#:hspace -0.3
               #:normal-text #:italic string))
      ))

% non-postfix commands
Allegro = \tempo "Allegro"
SegnoMark = \mark \markup \musicglyph #"scripts.segno"
Solo = <>^Solo

% posfix commands
dolce = -\markup \italic "dolce"
pSubito = #(make-dynamic-extra "p" "subito")

\score {
  \new Staff {
    \relative c' {
      \Allegro
      c2\dolce d |
      \SegnoMark
      e2\pSubito f |
      \Solo
      g1\f
      \bar "|."
    }
  }
}

%%%% End of lily code


Cheers,
Xavier

-- 
Xavier Scheuer <address@hidden>



reply via email to

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