[Top][All Lists]

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

Re: Mapping engravings to MIDI output

From: Mats Bengtsson
Subject: Re: Mapping engravings to MIDI output
Date: Mon, 14 Sep 2009 09:48:55 +0200
User-agent: Thunderbird (X11/20070716)

Similar questions have appeared some time earlier on the mailing lists. I seem to recall that someone hinted to use the SVG backend as a starting point, search the mailing list archives for details.


Dan Grover wrote:
Hi all,

I'm working on a project that requires pre-rendered engravings of music being
synced up with MIDIs.

I've managed to get Lilypond to output a single line of a song (e.g., but now I need to produce
a mapping between the MIDI event and the x coordinate within such output.

I've got Lilypond building finally and have been reading up on libguile and
reading all the lilypond headers and trying to figure out how it all fits

I'm not asking for any hand-holding, but I would be grateful if someone could
give me some quick high-level advice on what I'll need to accomplish this.

The somewhat vague approach/plan I've got in my head right now is:

1) to intercept the note engraver and have it print out a mapping of: some
identifier for the note/smob it's printing -> absolute x coordinate (I assume
that i can get the absolute x coordinate by traversing up the hierarchy and
adding up the x-extents until I get to the top level object)

2) to intercept the midi performer and have it print a mapping of: some
identifier for the note -> event index

...then to take those two pieces of output and merge them together so I get
event index -> x coordinate.

Am I on the right path?

Thanks a lot!

Dan Grover

lilypond-devel mailing list

        Mats Bengtsson
        Signal Processing
        School of Electrical Engineering
        Royal Institute of Technology (KTH)
        SE-100 44  STOCKHOLM
        Phone: (+46) 8 790 8463                         
       Fax:   (+46) 8 790 7260
        Email: address@hidden

reply via email to

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