[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