lilypond-user
[Top][All Lists]
Advanced

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

Re: drawing a range reguardless of transposition


From: Michael Käppler
Subject: Re: drawing a range reguardless of transposition
Date: Fri, 15 Nov 2019 10:45:45 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1

While I would strongly suggest that you update to the latest development
version, which can regarded
as very stable, this would work with 2.18.2:

% LilyBin
\version "2.18.2"

highlightOutOfRange = #(define-scheme-function
  (parser location color lower upper)
  ((color? red) ly:pitch? ly:pitch?)
  (lambda (grob)
    (let* ((cause (ly:grob-property grob 'cause))
            (pitch (ly:event-property cause 'pitch)))
      (if (or (ly:pitch<? pitch lower) (ly:pitch<? upper pitch))
        color black))))

\layout {
  \context { \Voice
    \override NoteHead.color = \highlightOutOfRange c' c''
}
}

{
  \transpose c g, \relative c' { c d e f g a b c }
  \transpose c f \relative c' { c d e f g a b c }
}

The three adjustments I made are:
1. (define-scheme-function) does need the (parser location) arguments in
2.18.2.
2.(grob-transformer) does not exist in 2.18.2. This function allows to
obtain the property value the grob already had.
In this particular snippet you could color your note heads blue through
a global override and the
callback would leave it as it is.
As a simple solution for 2.18.2 I set the default note head color (for
notes within the allowed pitch range) to black.
3. \fixed does not exist in 2.18.2.

Regards,
Michael

Am 15.11.2019 um 10:18 schrieb Sandro Santilli:
On Thu, Nov 14, 2019 at 09:09:16AM -0800, Aaron Hill wrote:

\layout {
   \context { \Voice
     \override NoteHead.color = \highlightOutOfRange c' c''
   }
}
I like the highlighting idea! Is it compatible at all with 2.18.2 ?

It seems not to be: http://lilybin.com/166vv7/1

   Parsing.../usr/share/lilypond/2.18.2/scm/ly-syntax-constructors.scm:56:23: 
In expression (apply (ly:music-function-extract fun) parser ...):
   /usr/share/lilypond/2.18.2/scm/ly-syntax-constructors.scm:56:23: Wrong number of 
arguments to #<procedure #f (color lower upper)>

--strk;






reply via email to

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