lilypond-user
[Top][All Lists]
Advanced

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

Re: Creating arbitrary lines (or other postscript things)


From: Phil Holmes
Subject: Re: Creating arbitrary lines (or other postscript things)
Date: Mon, 15 Nov 2010 17:54:30 -0000

----- Original Message ----- From: "Andrew C. Smith" <address@hidden>
To: "Phil Holmes" <address@hidden>
Cc: "LilyPond User Group" <address@hidden>
Sent: Monday, November 15, 2010 5:45 PM
Subject: Re: Creating arbitrary lines (or other postscript things)



Have you seen this:

http://lsr.dsi.unimi.it/LSR/Item?id=662


--
Phil Holmes


Thanks--no, I hadn't seen that. I hadn't thought about using glissando before, actually, because it seems to only take arguments within a single voice. Plus, I can't seem
to start a text span in one voice and end it in another voice.

Would it make sense to, rather than use glissando or something similar, create a function that takes a syntax similar to the following:

\lineBegin x y
\lineEnd x y

where x is an index so that \lineBegin and \lineEnd may be matched to one another (even across the entire score), and y is the note event (with the NoteHead) that the line is drawn from. As a default, I could make any \lineBegin that doesn't have a corresponding \lineEnd sets its \lineEnd to the same as \lineBegin (so that the length is 0). At the end of the program, a scheme function could cycle through each set of pairs and draw a dotted line between each pair of
coordinates, possibly with make-stencil rather than usurping a glissando.

Does this seem like it's at all reasonable? Storing a list of pairs and going back later to draw all the lines?

I'm sure it could do - although I doubt it would be used too much and so even if such an enhancement were formally requested I think it unlikely it would be implemented any time soon. There is likely to be someone along here soon who could tell you how to do this in scheme... (Not something I can do, I'm afraid).

--
Phil Holmes





reply via email to

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