lilypond-user
[Top][All Lists]
Advanced

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

Re: macro for \once\override


From: Werner LEMBERG
Subject: Re: macro for \once\override
Date: Sat, 29 Aug 2020 06:45:59 +0200 (CEST)

> No.  I'm against it.  Introducing abbreviations into examples is a
> slippery slope and sets a bad precedent.  In my scores I use \t for
> \tuplet, but I would never inflict that on any public example, even
> to save space.  Wrapped lines are not a visual or semantic issue to
> me at least.  Please don't do this.

Sigh.  I must admit that I don't understand this purism, which I
almost consider as l'art pour l'art.

Attached are the current version, my suggestion using an
abbreviation, and an alternative that uses wrapping only.

Of the new ones, which one do you consider more readable?


    Werner
\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram #default-fret-table \chordmode { c' }
                        #guitar-tuning
                        #"x;1-1-(;3-2;3-3;3-4;1-1-);"
<<
  \new ChordNames {
    \chordmode { c1 | c | c | d }
  }
  \new FretBoards {
    % Set global properties of fret diagram
    \override FretBoards.FretBoard.size = #'1.2
    \override FretBoard.fret-diagram-details.finger-code = #'in-dot
    \override FretBoard.fret-diagram-details.dot-color = #'white
    \chordmode {
      c
      \once \override FretBoard.size = #'1.0
      \once \override FretBoard.fret-diagram-details.barre-type = #'straight
      \once \override FretBoard.fret-diagram-details.dot-color = #'black
      \once \override FretBoard.fret-diagram-details.finger-code = 
#'below-string
      c'
      \once \override FretBoard.fret-diagram-details.barre-type = #'none
      \once \override FretBoard.fret-diagram-details.number-type = #'arabic
      \once \override FretBoard.fret-diagram-details.orientation = #'landscape
      \once \override FretBoard.fret-diagram-details.mute-string = #"M"
      \once \override FretBoard.fret-diagram-details.label-dir = #LEFT
      \once \override FretBoard.fret-diagram-details.dot-color = #'black
      c'
      \once \override FretBoard.fret-diagram-details.finger-code = 
#'below-string
      \once \override FretBoard.fret-diagram-details.dot-radius = #0.35
      \once \override FretBoard.fret-diagram-details.dot-position = #0.5
      \once \override FretBoard.fret-diagram-details.fret-count = #3
      d
    }
  }
  \new Voice {
    c'1 | c' | c' | d'
  }
>>
\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram #default-fret-table \chordmode { c' }
                        #guitar-tuning
                        #"x;1-1-(;3-2;3-3;3-4;1-1-);"

% Shorthand for '\once \override foo = bar', which becomes
% '\oo foo bar'.
oo = #(define-music-function
       (parser location grob-path value)
       (symbol-list? scheme?)
       #{ \once \override #grob-path = #value #})

<<
  \new ChordNames {
    \chordmode { c1 | c | c | d }
  }
  \new FretBoards {
    % Set global properties of fret diagram
    \override FretBoards.FretBoard.size = #'1.2
    \override FretBoard.fret-diagram-details.finger-code = #'in-dot
    \override FretBoard.fret-diagram-details.dot-color = #'white
    \chordmode {
      c
      \oo FretBoard.size #'1.0
      \oo FretBoard.fret-diagram-details.barre-type #'straight
      \oo FretBoard.fret-diagram-details.dot-color #'black
      \oo FretBoard.fret-diagram-details.finger-code #'below-string
      c'
      \oo FretBoard.fret-diagram-details.barre-type #'none
      \oo FretBoard.fret-diagram-details.number-type #'arabic
      \oo FretBoard.fret-diagram-details.orientation #'landscape
      \oo FretBoard.fret-diagram-details.mute-string #"M"
      \oo FretBoard.fret-diagram-details.label-dir #LEFT
      \oo FretBoard.fret-diagram-details.dot-color #'black
      c'
      \oo FretBoard.fret-diagram-details.finger-code #'below-string
      \oo FretBoard.fret-diagram-details.dot-radius #0.35
      \oo FretBoard.fret-diagram-details.dot-position #0.5
      \oo FretBoard.fret-diagram-details.fret-count #3
      d
    }
  }
  \new Voice {
    c'1 | c' | c' | d'
  }
>>
\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram #default-fret-table \chordmode { c' }
                        #guitar-tuning
                        #"x;1-1-(;3-2;3-3;3-4;1-1-);"
<<
  \new ChordNames {
    \chordmode { c1 | c | c | d }
  }
  \new FretBoards {
    % Set global properties of fret diagram
    \override FretBoards.FretBoard.size = #'1.2
    \override FretBoard.fret-diagram-details.finger-code = #'in-dot
    \override FretBoard.fret-diagram-details.dot-color = #'white
    \chordmode {
      c
      \once \override FretBoard.size = #'1.0
      \once \override FretBoard.fret-diagram-details
                      .barre-type = #'straight
      \once \override FretBoard.fret-diagram-details
                      .dot-color = #'black
      \once \override FretBoard.fret-diagram-details
                      .finger-code = #'below-string
      c'
      \once \override FretBoard.fret-diagram-details
                      .barre-type = #'none
      \once \override FretBoard.fret-diagram-details
                      .number-type = #'arabic
      \once \override FretBoard.fret-diagram-details
                      .orientation = #'landscape
      \once \override FretBoard.fret-diagram-details
                      .mute-string = #"M"
      \once \override FretBoard.fret-diagram-details
                      .label-dir = #LEFT
      \once \override FretBoard.fret-diagram-details
                      .dot-color = #'black
      c'
      \once \override FretBoard.fret-diagram-details
                      .finger-code = #'below-string
      \once \override FretBoard.fret-diagram-details
                      .dot-radius = #0.35
      \once \override FretBoard.fret-diagram-details
                      .dot-position = #0.5
      \once \override FretBoard.fret-diagram-details
                      .fret-count = #3
      d
    }
  }
  \new Voice {
    c'1 | c' | c' | d'
  }
>>

reply via email to

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