lilypond-user
[Top][All Lists]
Advanced

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

Re: Appreciation / Financial support


From: address@hidden
Subject: Re: Appreciation / Financial support
Date: Tue, 12 Jun 2012 08:57:13 +0200

On 12 juin 2012, at 08:35, Josiah Boothby wrote:

> On Tue, 12 Jun 2012 00:22:55 -0500
> Tim McNamara <address@hidden> wrote:
> 
>> I think that this could simplify the syntax by creating a standard
>> skeleton for .ly files going from most global to most specific:
>> 
>> \version information
>> 
>> \paper information
>> 
>> \form information (number of bars, repeat locations, bars-per-line,
>> rehearsal mark locations, number of staves, instruments/voices,
>> \clef, \key, \time, etc.)
>> 
>> \music information (could be \notes (including percussion),
>> \chordnames or \lyrics)
>> 
>> I think that the \score block could possibly be eliminated if the
>> required information was specified in the other blocks; much of that
>> information would be under \form (e.g., how many staves and what
>> information is assigned to those staves).  There could be one method
>> for engraving chord names and lyrics instead of multiple methods.
>> But it may be that there would be no practical way to separate form
>> information into its own block separate from note/chord information.
> 
> This sounds at least a little like the way I usually organize my
> scores, though the \score block becomes necessary at least for deciding
> *how* to put all of the formal and musical elements together:
> 
> %%% code snippet begins 
> \version "2.[whatever]"
> 
> \paper {}
> 
> Form = {
>  % key, time, and form elements, usually referenced in an
>  % included file
> }
> 
> Notes = {
>  % note information, also usually referenced in an include file
> }
> 
> \score {
>  \new Staff << 
>    % put it all together!
>    \Form
>    \Notes
>>> 
> 
>  \layout {}
>  %\midi {} 
> }
> %%% code snippet ends
> 

Couldn't agree more - LilyPond already has all of this.  Every score I've 
created since 2008 does this in some way or another.  Four bars per system in 
simple music?  No problem.

form = {
  \repeat unfold 4 { s1*4 \break }
}

music = {
  \repeat unfold 64 a'4
}

<< \music \form >>

If you're not sure how long music is, you can write a music function to find 
out and then automate the creating of the skips in form.

I think the issue at this point is not LilyPond's lack of ability to do this or 
that, but rather the lack of a vibrant cookbook culture like Python has.  This 
is obviously what the LSR is trying to do but I'm not sure how effective it is 
globally (I've used it for tons of stuff).

I haven't followed this thread closely but it seems like there's been a good 
deal of talk about to make things easy for the user.  What seems more important 
(to me) is how to empower the user so that she can make things easy for 
herself.  That's one of the main reasons I like free software.  One of my 
concerns with non-free software is that by automating certain processes, they 
channel people's thoughts towards a easy choices and (even worse) make people 
less likely to think at all, which augments the necessity of proprietary 
institutions that can think for them.  It would be great if LilyPond could help 
people become good thinkers about putting music together through code (any code 
- Scheme, ly syntax, abjad, whatever).  The extension language in question is 
almost irrelevant (they all work more or less) - what really matters is the 
person using it.

One day I'm going to make a tutorial site for LilyPond that focuses on the 
making of actual pieces in the spirit of Urs's work.  Just need time...

Cheers,
MS


reply via email to

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