lilypond-user
[Top][All Lists]
Advanced

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

Re: Block diagram of LilyPond


From: dax2
Subject: Re: Block diagram of LilyPond
Date: Wed, 3 May 2006 14:44:28 +0200

   Thank you to Erik Sandberg for the link to the thesis!

On Sat, 29 Apr 2006 14:17:03 +0200
Erik wrote:

> On Saturday 29 April 2006 12:30, Tomas Valusek wrote:
> > Hello,
> >
> > has anyone created a block diagram of LilyPond, which would show data
> > flow, relationship between various modules, etc? It would be great help
> > for obtaining global idea what LilyPond's about.
> 
> I have a created one in my master thesis, see
> home.student.uu.se/ersa9195/report.pdf
> 
> it is however incomplete because the thesis is quite unrelated to the 
> back-end 
> parts of lily (so it won't help you with grobs, for example).

Thank you for the link and sharing this interesting thesis with
the list and the rest of the interested public. Your idea of a 
music stream format is most interesting.

And the illustrations and voice-diagram are very good.


I think you make a short-circuit in describing the weakness of
the LilyPond language in the Sweedish abstract on page 11:

[translated by me]
editor!]

    It should then be possible to click away the quarter note and
draw two quavers to replace it, then save the file back changing
the edited part of the file. The problematic part of this is that
the program would need understand that the number four on the
quarter note after the second eighth note would need to be
written; it is very hard to get a program to understand this.


    [
    Det borde då gå att klicka bort fjärdedelsnoten, och dra dit
    två åttondelsnoter i dess ställe, och sedan spara tillbaks det
    redigerade stycket till LY-filen. Det problematiska i detta, ar
    att programmet skulle behöva förstå att fyran efter det andra
    a:t behöver skrivas in; det ar mycket svårt att förmå ett
    program att förstå detta.
    ]

Lilypond will accept absolute pitches and duration specification
after each pitch. A graphical editor could write a full specified
lily-language file, and even add lots of scheme or guile to get
special symbols etc.

To me the real problem is that the graphical layout is not
specified in a uniform way from Lily-Version to next version,
which Han Wen Nienhuys and all are very much conscious about, so
converting conv-ly will hopefully work better and better.

You could say that the graphical layout isn't specified in the
source file, but that is not the complete picture. If you write so
and so you get the same print everytime owing to the built in
rules which are very good. The graphical lay-out is understood,
implicated. Some call it "exformation" because it is undertood but
not mentioned in the source file or "the message containing
information". The message is sent to some entity (the program)
with expectations. These expectations change from version to
version which is why the "scheme" part of Lilypond isn't as
reliable as it should be; but it is not so bad after all.

As you maybe point out in your thesis the Lilypond layout is very
good, actually better than most amateurs could do with other
tools! 

However, specifying spaces where Lilypond does not automatically
make them is a nightmare for a beginner.

If you look at any professional orchestral voice it begins with
(or should begin with) clef, keys, time-signature, tempo or
character (Allegro con brio or whatever) and metronome marks plus
sometimes a short bar with some accidentals. If you try to make
such a printed voice with earlier Lilyversions (I havent got 2.9.2
up and running yet) then things will clutter.

So somehow you need to specify more spaces even if you are a Lily
beginner which is why there are so many problems: spacing is not 
a real part of the language but is in the scheme additions.



Once more thank you for the interesting master thesis to Erik
Sandberg, the idea of a music stream language is so clear that I
think I could write my pieces by hand in MusicStream (using a lot of
completion/copy paste:-)



Regards/Donald Axel


-- 
dax2-tele2adsl:dk -- http://d-axel.dk/cgi-bin/blox-dax.cgi  Donald Axel




reply via email to

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