[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: color notehead according to absolute pitch
From: |
Steven Weber |
Subject: |
RE: color notehead according to absolute pitch |
Date: |
Tue, 5 Aug 2008 13:10:33 -0700 |
Use the (cond) expression. Here's a simplified version of your
pitch-to-color function that colors all c's red and all f's blue:
#(define (pitch-to-color pitch)
(cond
((eqv? (ly:pitch-notename pitch) 0) (x11-color 'red))
((eqv? (ly:pitch-notename pitch) 3) (x11-color 'blue))
)
)
--Steven
-----Original Message-----
From: address@hidden
[mailto:address@hidden On Behalf Of
Damian leGassick
Sent: Tuesday, August 05, 2008 5:53 AM
To: address@hidden
Subject: Re: color notehead according to absolute pitch
On 5 Aug 2008, at 05:39, Jay Anderson wrote:
> Kenny Stephens <kfstephensii <at> yahoo.com> writes:
>> Our church has a handbell group whose members are not all musically
>> literate. To
>> keep themselves from having to learn to read music, they mark their
>> notes using
>> differently colored highlighters.
>>
>> Is there a means by which I can color the notes based on its
>> absolute pitch ---
>> not its pitch class? Some of the music spans three octaves. The
>> requirements are:
>> 1) b4 and b5 are different colors.
>> 2) b\flat4 and b4 are different colors.
>> 3) different pitches can be assigned to the same color (some
>> "ringers" play
>> two or more handbells).
>>
>> I've only been playing around with Lilypond for about a week
>> (though I've logged
>> numerous hours) for typesetting organ music; but this is different.
>> I did find
>> an example using Scheme and 'staff-position,' but this fails
>> condition 1.
>>
>> Ideas, suggestions or solutions would be appreciated.
>
> Using the same idea as the example you mentioned
>
(http://lilypond.org/doc/v2.11/Documentation/user/lilypond-learning/Advanced
-tweaks-with-Scheme
> )
> you can base the color on the pitch:
>
> #(define (color-notehead grob)
> (pitch-to-color (ly:event-property (ly:grob-property grob 'cause)
> 'pitch)))
>
> Now you'd just have to figure out how to implement the pitch-to-color
> function. For example this colors all the flat notes blue:
>
> #(define (pitch-to-color pitch)
> (if (eqv? (ly:pitch-alteration pitch) -1/2) (x11-color 'blue)))
>
> You might want to get a little fancy to make sure enharmonic spellings
> of the same pitch are the same color, but for most cases that
> shouldn't be a problem.
>
> -----Jay
>
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/lilypond-user
I can get as far as:
#(define (color-notehead grob)
(pitch-to-color (ly:event-property (ly:grob-property grob 'cause)
'pitch)))
#(define (pitch-to-color pitch)
(if
(and
(eqv? (ly:pitch-octave pitch) 0)
(eqv? (ly:pitch-alteration pitch) -1/2)
(eqv? (ly:pitch-notename pitch) 6))
(x11-color 'blue)))
which sets only the b-flat above middle c to be blue.
can't work out how to simultaneously colour the b-natural, say, red -
i'd love to know too
Damian
_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user
- color notehead according to absolute pitch, Kenny Stephens, 2008/08/04
- Re: color notehead according to absolute pitch, Jay Anderson, 2008/08/05
- Re: color notehead according to absolute pitch, Damian leGassick, 2008/08/05
- RE: color notehead according to absolute pitch,
Steven Weber <=
- Re: color notehead according to absolute pitch, Damian leGassick, 2008/08/05
- Re: color notehead according to absolute pitch, Damian leGassick, 2008/08/06
- Re: color notehead according to absolute pitch, Valentin Villenave, 2008/08/07
- Re: color notehead according to absolute pitch, Jay Anderson, 2008/08/09
- Re: color notehead according to absolute pitch, Damian leGassick, 2008/08/09
- Re: color notehead according to absolute pitch, Jay Anderson, 2008/08/10