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 _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user