lilypond-devel
[Top][All Lists]
Advanced

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

Re: First release of ly/tablature.ly


From: Carl D. Sorensen
Subject: Re: First release of ly/tablature.ly
Date: Tue, 7 Jul 2009 12:31:28 -0600



On 7/7/09 12:20 PM, "Marc Hohl" <address@hidden> wrote:

> [...]
>>>> I don't particularly mind breaking existing scores (as long as there is
>>>> a convert-ly rule to at least warn about the problem), but I don't think
>>>> the situation in the patch is particularly friendly. We've a long
>>>> tradition of choosing sensible behaviour over backwards compatibility
>>>> and I see no reason to change it now.
>>>> 
>>>>      
>>> Joe,
>>> 
>>> I am not sure whether I understand your comment correctly.
>>> What should I change to make the patch more "friendly"?
>>>    
>> 
>> Marc,
>> 
>> I think that Joe means go ahead and break old scores --
> Carl, thanks for clarification - I misunderstood Joe's message totally,
> as I can see now.
>> do the best thing
>> for going forward, so make TabNumbersOnly the default behavior (like you
>> wanted to), and have TabFullNotation be the override.  That is, ignore my
>> initial suggestion to keep TabFullNotation as the default behavior.
>> 
>>  
> Ok. How should I put these things together?
> 
> As far as I can see, I should
> 
> 1) put all the functions in a file scm/tablature.scm
>    (I have to add this file in ly/declarations-init.ly, right?)

Yes, put the functions in scm/tablature.scm.  But the file should be added
in scm/lily.scm, not ly/declarations-init.ly.  We load scm files from
scm/lily.scm, and .ly (soon to be .ily, I think) files fom
ly/declarations-init.ly.

> 
> 2) modify ly/engraver-init.ly so that tablature without stems and stuff
> will be
>    the default situation (where do I put the \TabFullNotation command?
>    Is scm/tablature.scm the right place?)
\TabFullNotation (which I think should be renamed \tabFullNotation, to be
consistent with LilyPond command names) should be defined in
ly/property-init.ly, I think.

> 
> 3) move the existing predefined tunings from scm/output-lib.scm
>    into tablature.scm, where I can add my new tunings as well;

Yes, I agree with this.

> 
> 4) include the function add-new-clef to scm/parser-clef.scm

Sounds good.
> 
> 5) modify ly/engraver-init.ly and scm/music-functions.scm to include
> TabNoteHeads
>    in the 'graceSettings list (a minor correction: fret numbers for
> grace notes
>    should be set in smaller size)

Yes, sounds good
> 
> 6) put everything together in a patch ;-)

Yes, that's right.


But don't forget 

7) Make regression tests that test all of your code to make sure it works
properly.

8) (Ideal, but not strictly necessary)  Write documentation that shows the
use of the new features.  The documentation doesn't have to be in formal
LilyPond style (although it would be better if it were), and it doesn't have
to be implemented in the NR (although it would be better if it were), but it
should show the functionality so a documentation editor can add it to the
official LilyPond documentation.

Thanks,

Carl





reply via email to

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