[Top][All Lists]

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

maintaining a lilypond library

From: Laura Conrad
Subject: maintaining a lilypond library
Date: Thu, 10 Feb 2005 12:10:37 -0500
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.3 (gnu/linux)

I'm doing some design/maintenance on my website
<>, which contains a large repository of
lilypond source, and the scores generated from them.

I'm hoping the collective wisdom of this list can come up with better
solutions to some of my problems than I've been able to do on my own.

Here's the idea:

       When I typeset a piece of music to play, either by myself or
       with friends, it goes into a database which includes
       information about the title and composer, where the source is,
       whether it's part of a larger work, whether the source I
       transcribed it from is copyright, etc.

       Non-copyright works in that db are uploaded to the website.
       Each of them has an html page, automatically generated from the
       database, which contains links to the other works by that
       composer, and to the compilation, if the piece is part of a
       larger work.  

       When I originally wrote the  code that writes the html pages,
       it made "lilypond --preview" images for each part of the
       piece.  This is currently broken, and in any case only ever
       worked when the piece had been coded in the current version of

       If the piece is part of a larger work, it eventually gets added
       to the "book" for that work, which is basically an input file
       to lilypond-book, and the book is also uploaded to the
       website.  For some of these books I offer hardcopies for sale.
The problems include:

    It isn't practical to convert all the lilypond on the site to the
    latest lilypond version.  Convert-ly doesn't do everything
    automatically, and a lot of the scripts that I use to implement
    non-standard features in my scores need to be updated when the
    syntax changes.

    Some of the lilypond is old enough that it isn't practical to just
    install it when I need to change something.  I recently had to
    make a fix to a piece that was in lily 1.4.  I actually found a
    .deb package of that version, but it wouldn't install on my current
    debian unstable system.  convert-ly wouldn't convert automatically
    to 2.0, which is what I'm currently running.  So I compromised and
    updated to 1.9.5, which convert-ly handled fine, and I could
    install easily.

    This doesn't matter so much for individual pieces, but in the
    larger works, when I update one file, I have to update all the
    others so that lilypond-book will work.  The Elizabethan composers
    I transcribe most often published their work in books with 20 or
    so pieces, each having 2-5 parts.  These days each part has two or
    three files, since I'm now putting the incipit information in a
    separate file, and I'm thinking about doing the same with the
    preview file.  So finding one error can potentially require
    changing a couple of hundred files.  And it's worse than that with
    the Dowland project, where my initial plan was to transcribe all 5
    volumes I have in facsimile into one book.  

    I seem to be the only, or one of a very small number of people,
    using abc2ly for production work.  Since I haven't been keeping
    current with lilypond, this means that when I do test out a new
    version I quite often find a serious bug in abc2ly, which prevents
    me from testing it further by using it for production work on
    smaller projects.

So here's my current idea for how to deal with this.  Suggestions are

        Make sure all lilypond files contain a \version statement.
        This would be easier if abc2ly would insert one, which it
        currently (lily 2.0.2) does not.

        Leave all lilypond files in the version that they were entered
        in, and make sure that all useful output is saved, including
        incipits and previews.

        All files in one "book" need to be the same version, so only
        upgrade lily during the course of a "book" if there is a clear
        advantage to doing so.

        If a file compiled under an older version needs a correction,
        attempt to install the older version and do it without

        Keep up with Pedro's lilypond-snapshot, maybe even to the
        extent of having snapshot versions of my own tools if I can do
        it without too much trouble.  That way I could sometimes use the
        snapshot version for standalone pieces that weren't part of a
        "book".  And upgrading to a newer version at the start of a
        new "book" would be less trouble.

        (Subsidiary problem with the above item -- Pedro doesn't
        always release new snapshots in a timely enough fashion for me
        to be doing real testing.  So maybe the above should be
        modified to installing Han-Wen's development releases from
        source, or even to pulling CVS at intervals and installing that.)

        Change my website-generating script to use the archived
        previews rather than expecting to be able to generate previews

Laura (mailto:address@hidden , )
(617) 661-8097  fax: (501) 641-5011
233 Broadway, Cambridge, MA 02139

reply via email to

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