lilypond-user
[Top][All Lists]
Advanced

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

Re: Varying shape note heads varying by semitone


From: Han-Wen Nienhuys
Subject: Re: Varying shape note heads varying by semitone
Date: Sat, 12 May 2007 00:29:18 -0300

sorry - disregard the statement about shape notes.

You should write a note-head::calc-style function in Scheme, which
returns a symbol. This function should look at the pitch of the of the
causing event
to determine the shape to be returned. Look at
accidental-interface::calc-alteration
to see how to get to the causing event. You probably can bypass the
entire solfa note head mechanism.

good luck

Han-Wen


2007/5/9, Kevin Dalley <address@hidden>:
I have to admit that I'm stuck here.

I see some documentation for gros here:
http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/grob_002dinterface#grob_002dinterface

but I don't know where to start.  Do you have a suggested URL?

"Han-Wen Nienhuys" <address@hidden> writes:

> It would be the coolest if (all) these extensions could happen in
> grob-property space.
> This could be done by automatically overriding and reverting grob
> properties when middleCPosition or tonic context properties change.
>
> 2007/4/21, Kevin Dalley <address@hidden>:
>> As another step toward in my path toward varying notation in LilyPond,
>> I am varying note shapes by semitone.  Usually, there are fewer than
>> 12 note heads, but the semitone of the note determine the shape.
>>
>> My current implementation uses a function shapeLayoutFunction which
>> returns an integer, which is an index into the vector
>> shapeNoteStyles.  This seems to work.  The function description is:
>>
>>                   Function returning an integer which indexes into
>>                   shapeNoteStyles vector. It takes an argument of
>>                   pitch and tonic.
>>
>> Altnernatively, I could define a function which return a note head
>> shape.  Does anyone see a good reason to prefer one to the other.
>>
>>
>> The first option has an advantage of using a small function like this:
>>
>> #(define (shapeSemitone pitch tonic)
>>   (modulo (ly:pitch-semitones pitch) 12))
>>
>> plus an already standard vector.
>>
>> The second option has an advantage of everything being included in one
>> variable, but the disadvantage of requiring slightly more complicated
>> functions.
>>
>> For examples, see Twinline or kevin in this page:
>
> --
> Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen



--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen




reply via email to

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