-%!PS-Adobe-1.0: lilyponddefs
+%!PS-Adobe-2.0: lilyponddefs.ps
+% TODO:
+% * junk all magic, start-line/stop-line just: placebox @ x.y
+%
+% Functions for direct PostScript output
-% hmm
% /setgray { 1 add } bind def
-/stafflinethickness mudelapaperstafflinethickness def
-/staffheight mudelapaperstaffheight def
+% To let gs load fonts from builddir, do:
+% export GS_LIB=$(pwd)/mf/out:/usr/share/texmf/fonts/type1/bluesky/cm
+
+
+/set-ps-scale-to-lily-scale {
+ lily-output-units output-scale mul
+ lily-output-units output-scale mul scale
+} bind def
+
+
+/init-paper {
+ gsave
+ clippath pathbbox newpath
+ /vsize exch def
+ /hsize exch def pop pop pop
+ % FIXME
+ /top-margin 2 def
+ hsize line-width sub 2 div /left-margin exch def
+ grestore
+} bind def
-/xoffset 30 def
-/yoffset 700 def
-/placebox
-{
+/place-box {
/object exch def
gsave
- %exch translate
+ % exch translate
translate
0 0 moveto
object
grestore
} bind def
-%
-% FIXME. translate to middle of box.
-%
-/draw_box % breapth width depth height
-{
- /h exch def
- /d exch def
- /w exch def
- /b exch def
- gsave
-
- 0 setlinewidth
- b neg d neg rmoveto
- b w add 0 rlineto
- 0 d h add rlineto
- b w add neg 0 rlineto
- closepath % 0 d h add neg rlineto
- fill
+% start-system
+/start-system {
+ gsave
+} bind def
- grestore
+/start-page {
+ gsave
+ 0
+ vsize translate
} bind def
-/start_line
-{
- gsave
- xoffset yoffset translate
+
+/stop-system {
+ /the-line exch def
+ the-line stroke grestore
} bind def
-/stop_line
-{
- /object exch def
- 0 0 moveto pathbbox exch pop sub exch pop
- object
- grestore
- yoffset add /yoffset exch def
- % urg...
- yoffset mudelapaperstaffheight 8 mul sub /yoffset exch def
+
+/end-lilypond-output {
+% showpage
} bind def
-/turnOnExperimentalFeatures { } bind def
-stafflinethickness setlinewidth
+/init-lilypond-parameters {
+ staff-line-thickness setlinewidth
+ staff-height init-paper
+} bind def
+
-% see if we're there...
-% 10 setlinewidth 0 0 moveto 400 800 lineto stroke
+% end lilyponddefs.ps