[Top][All Lists]

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

Re: Midi interface in lilypond Re: Feeding a troll.

From: David Boersma
Subject: Re: Midi interface in lilypond Re: Feeding a troll.
Date: Thu, 3 Jan 2002 15:25:55 +0100 (MET)


[the subject of this thread is running away from its title (fortunately)]

> Indeed.  Type the bulk in Emacs, then touch-up with a gui.  There are
> vague wouldnt-it-be-nice ideas for GUI interactive editing of LilyPond
> files; but that's not going to happen in a year or two.

Funny, when i started coding in Lilypond I did it exactly the other way 
round. I entered the notes in Denemo and then added lyrics, dynamics, 
choirstaves and whatever by hand.

But Denemo does not exactly save you keystrokes; and in addition to Lily
syntax you have to learn its many keybindings (this holds for any GUI).  
Maybe that can be improved if you can enter notes with mouse point&click à
la Rosegarden. But after you have entered the bulk of the notes you get
into an editing phase (correction, restructuring, polishing...). And there
I want a powerful text editor (vim for me).  The nice thing of the text
editor is that I don't have to learn new editing syntax, I can use all my
old editing skills & tricks & macros. I cannot imagine a GUI as powerful
and efficient as vim (or emacs). One vim command corresponds to many, many
entries in GUI menus.

Besides, I learned that it is extremely important to give a good layout to
the source file. Lilypond lets the user very free in this and frequently
you see horrible abuse of this freedom here on the list or elsewhere.  

Ironically, by looking at the lily source output of Denemo (among others)  
I developed a layout/coding style with which I did not feel the need for a
GUI anymore at all. Never more than one bar of notes per line, function of
each section of code should be clear from indentation and/or short
comments, extensive use of (instructively named) variables, etcetera. When
you are familiar with the Lilypond syntax (which is the case after you
coded, say, <handwave> five songs or so </handwave> from scratch up to
final version) and discipline yourself to good layout/coding practice,
then the lily source is almost as clear & instructive as the actual score.

Of course I want visual feedback frequently. But well, I just don't write
all the code at once. Whenever I have added a few bars or so (depending on
the number of voices/staves etc) I rerun lily so I see the score grow and
mistakes of any nature (grammatical, musical) quickly show up.

One more thing (besides ugly coded lily sources) that I think scares
people away from lilycoding themselves and wanting a GUI instead is
cryptical and copious error output. Junking bar requests, spewing
backtraces and showing pages full of details about font generation is not
exactly helpful in this. I have used lilypond since version 1.2.17 and
have to say that it is getting much better already, but still I am so bold
as to suggest that you split the diagnostical output into user readable &
usable text on the screen and things like the above mentioned stuff which
might be interesting for developers can go into a logfile. If a user asks
a question and the developers want more specs & diagnostix they just ask
to send that logfile and the user does not have to face all those scary

Holy banana! THis is a long email... I run the risk of falling into the
category of "people who talk a lot and do not produce useful code"...
Promise: as soon as I finished my thesis I will produce code patches
instead of emails.

David Boersma

reply via email to

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