[CM] CMN what happened to the non-Postscript backends?
Wed, 22 Nov 2006 10:33:33 -0800
> i just had a look at the cmn code (after a long time of just using it)
> and saw that all of the non-Postscript backend stuff got removed. The
> only thing I could find was a notice in the changelog:
> 15-Mar: removed nxtcmn.c, sgicmn.c, xcmnw.c, cmn-mcl-utils.lisp,
> cmn-excl.lisp, cmn-scroll.lisp. Removed all FFI,
> quickdraw, and Braille stuff.
> What was the reason for this? I wanted to look at the code to find out
> how much work would be required to add other backends (Cairo/CLIM/PDF).
> From what understand looking at the current code all drawing operations
> are functions and not generic methods - hard to specialize on the
The FFI stuff was removed because it wasn't needed (it provided an optimization
of format), and it added a lot of complexity to the build process, constantly
The Quickdraw stuff was removed because Quickdraw no longer exists.
The Braille support was removed because, as far as I could tell, no one was
using it; the person who asked me for it disappeared -- it probably never
The previewer was removed because I thought I was going to find time to
write a better one using technology invented after World War 2, but I haven't.
The output functions never were generic -- cmn-grfx.lisp has most of them;
they are very simple. To add a new backend, use the output-type field of the
score object, and a lowly case statement; or change everything to methods,
if you want.
I believe a CLIM backend would be easy, and Cairo not so bad but it would need
FFI support; I don't know anything about pdf.