lilypond-user
[Top][All Lists]

Re: Multi-voice grace note work-around? Also abc2ly questions

 From: Laura Conrad Subject: Re: Multi-voice grace note work-around? Also abc2ly questions Date: 16 Mar 2003 12:09:07 -0500 User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

>>>>> "Joyce" == Joyce Wilson <address@hidden> writes:

Joyce> I saw in the archives that there is some way to work around the
Joyce> problem with the extra barline being created after a grace note in
Joyce> multi-part music, but I need a bit more explanation to be able to do
Joyce> it successfully, since my attempts so far have just made the grace
Joyce> note disappear.  An example would be most welcome.

Look at the attached ABC file.  It demonstrates the workaround, and
also how to put the workaround lilypond into the abc file directory,
instead of having to edit the lilypond after writing the ABC.



test.abc
Description: Binary data

    Joyce> On the abc2ly topic, I have a couple of questions.  I'm
Joyce> finding that when I run abc through abc2ly, I don't just
Joyce> have to go through and add in whatever extra notation I'm
Joyce> using Lilypond for (measure numbers, breath marks, note
Joyce> accents, text markup like 'D.C. al Fine', and cautionary
Joyce> accidentals like '(#)' -- if it's possible to do this stuff
Joyce> in abc, please tell me and I'll quit bothering the list! :>
Joyce> ).

For some things you can use %%LY statements in the ABC.  Other things
are easier to do by writing a script that modifies the lilypond, and
still other things just have to be done by hand.  At the moment,
figured bass is in the third category; this is being a problem for my
eyes because it means I can't touch type the figures, which I can in
general with anything that goes into the ABC.  So I'm considering a
new %%LY directive that says that any numbers entered as text
annotations in the ABC are figures, and adds them to a figured bass
voice automatically.

Joyce> I also have to make a lot of fixes of things which worked
Joyce> fine in abc.  A multipart piece with a time signature
Joyce> change in the middle proved especially problematic (In
Joyce> lilypond, the top line started in 4/4 and switched to 2/4,
Joyce> but the other three lines started out in 2/4, even after I
Joyce> edited the abc to explicitly specify the starting time sig
Joyce> for each part as 4/4)-- I ended up having to convert each
Joyce> part individually, and then reassemble the resulting
Joyce> snippets of lily code.

The problem with different voices having different time signatures can
be solved by moving the  Timing_engraver and the
Repeat_acknowledge_engraver from the score context to the staff
context.  Attached is a python file that must have worked at least
once to do this automatically, but whether it was on vanilla abc2ly
output or my own massaged output, I can't say.



makescorebars.py
Description: Binary data

Here's a lilypond file that demonstrates how this works.  I'm using it
here not because the different voices actually have different time
signatures, but because the proofreading of the ABC input is easier if
you can see which voice has the barline in the wrong place.  There may
be more magic of this type necessary to actually print different time
signatures in the different lines:



score.ly
Description: Text document



Joyce> I guess my general question is: are there any tips for
Joyce> writing especially abc2ly-friendly abc?

%%LY doesn't seem to be documented.  (my fault) There are two forms:

%%LY voices

which adds whatever the rest of the line is to the lilypond output
stream for the current voice.

%%LY slyrics

which adds the rest of the line to the lyrics.  This hasn't been
tested very well, but I use the voices form all the time.

Joyce> What determines where the line-breaks are in the output
Joyce> from abc2ly? They seem to be rather random, which makes it
Joyce> difficult for me to find my way around to do editing.  My
Joyce> current (laborious) approach is to go through the converted
Joyce> lilypond code and insert line breaks before each "\bar" and
Joyce> then tidy it up so that exactly one measure is on each
Joyce> line. Then I can at least navigate by counting measures.
Joyce> Is there some way to get abc2ly to do this for me?

Not at present.  I don't think it would be hard to do.  My efforts to
use etf2ly (which does do roughly what you want for abc2ly by default)
don't convince me that it's something I'd use very often.  What I have
considered is changing abc2ly to respect the line breaks in the ABC,
which I think would be useful.

I'm glad someone else is using abc2ly, which seems to me to be the
obvious way to get both good typesetting (from lily) and easy
transcription (from ABC).

You should continue to write the list with bug reports and enhancement
requests.  I'm not currently set up to make modifications to the
current development version, but if I have a real user out there, it
may motivate me to get set up.

--