denemo-devel
[Top][All Lists]
Advanced

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

[Denemo-devel] LilyPond editing.


From: Richard Shann
Subject: [Denemo-devel] LilyPond editing.
Date: Wed, 20 Feb 2008 13:32:57 +0000

I have been thinking about what remains that prevents complete, easy and
transparent control of the final printed music in Denemo.
Although the various lilypond inserts enable control, it is not easy to
see what's going on (you can e.g. put a \transpose directive at the
staff level or at the movement level or at the note or block of notes
level). And if you make a mistake in your syntax, you need to have a
terminal open to find what it is that was wrong, and you need to look
in .denemo/denemprint.ly to actually see what was fed to the LilyPond
interpreter.

What I would like to do is create a window with the LilyPond output,
with each bit of the text tagged and bookmarked back to the relevant bit
of the DenemoGUI that creates it. This would be a text editor for the
LilyPond with these advantages

1) The whole LilyPond output could be viewed and syntax-highlighted:
eventually any error point thrown up by the LilyPond interpreter could
be highlighted.
2) Changes to the LilyPond text could be attached to the DenemoGUI (and
then stored in the .denemo file)
3) Entering multiple lines of LilyPond directives would be easier, as
well as comments etc
4) Keyboard shortcuts could be defined to make the editor behave like
emacs, vi or whichever editor you prefer.

This is not too ambitious, I think; compared with parsing in a LilyPond
file and trying to attach the right bits to Denemo it will be easy,
since Denemo never loses its grip on which bits of LilyPond belong
where. Also, crucially, we would not depend on being able to track the
LilyPond parser, which was what killed the earlier attempt at getting
LilyPond editing into Denemo.
With this approach you could radically re-write, say, the \score block,
putting the voices on separate staffs, repeating them, anything that you
could do in LilyPond, while still being able to return to work on the
music contained in the voices with the denemo editing facilities. You
would be able to keep a number of \score blocks, for example, for
printing the music in various ways, simply surrounding the ones you were
not using for the moment with %{ %} marks to comment them out. In short,
you would never have to abandon the possibility of returning to make an
edit in Denemo - you would never have to keep two files (a .denemo and
a .ly) and wonder which one had which change in it.
I speak here from bitter experience - I have a number of Handel sonatas
for which I cannot now trace the Denemo files - I just have a bunch
of .ly files for each instrument and for each movement. I would love to
re-print them now with the pagination correct but I can't face the
tedium.

I think this work should represent a new release of Denemo, once the
current bugfix release is out. Comments please.

Richard






reply via email to

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