[gsharp-devel] Lyrics!
Christophe Rhodes
csr21 at cam.ac.uk
Mon Mar 1 21:04:39 UTC 2004
Hi,
Over the weekend (well, really an hour on Friday and an hour today) I
had a play with adding some kind of support for lyrics to gsharp. You
can get some feel for my progress and wanderings by examining
<http://www-jcsu.jesus.cam.ac.uk/~csr21/lyrics-1.png>
<http://www-jcsu.jesus.cam.ac.uk/~csr21/lyrics-2.png>
<http://www-jcsu.jesus.cam.ac.uk/~csr21/lyrics-3.png>
<http://www-jcsu.jesus.cam.ac.uk/~csr21/lyrics-4.png>
<http://www-jcsu.jesus.cam.ac.uk/~csr21/lyrics-5.png>
Lyric engraving has plenty of pitfalls that I haven't even begun to
address: as you can see, I'm not adjusting spacing requirements based
on the length of the lyric; I'm not getting hyphens and underscore
extenders at all right -- I'm not even placing the lyrics below the
staff!
Also, from a representational point of view, I have currently got a
firm association between a cluster and a lyric. This is non-optimal
for two reasons: one, music with a verse structure often has more than
one set of lyrics for the same notes; two, there is often a need for a
more horizontal notion of lyrics (as an example, consider the act of
deleting an element from the score: it is very unlikely that you also
want to delete its associated lyric).
Nevertheless, I attach my current patch, basically because I'd welcome
comments as I don't really know what I'm doing. One thing that has
become apparent is that my way of testing the horizontal extent of the
lyrics (the WITH-OUTPUT-TO-OUTPUT-RECORD/WITH-BOUNDING-RECTANGLE* in
drawing.lisp) is quite expensive -- it takes a significant time for
the screen to refresh after each keystroke in lyric mode. Is there a
way of making this less expensive?
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gsharp.diff
URL: <https://mailman.common-lisp.net/pipermail/gsharp-devel/attachments/20040301/36c53256/attachment.ksh>
-------------- next part --------------
Cheers,
Christophe
--
http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)
More information about the gsharp-devel
mailing list