%% lily-ps-defs.tex
%%
\edef\lilypsdefsELC{\the\endlinechar}%
\endlinechar -1\relax

%% Header info (macros/defs, etc) should go into a \special{! ... };
%% note the ! sign.  See dvips.info for details.
%%
%% We protect punctuation characters with \string to avoid problems with
%% language specific shorthands (e.g. `:' for French, `"' for German, etc.).

\gdef\lilypondsetdimen#1{
  \expandafter\gdef\csname #1ps\endcsname{}
  \special{
    \string!
    /#1 (\csname #1\endcsname) set_tex_dimen}}

\gdef\lilypondspace{ }

\gdef\lilypondpostscript{
  %% A document processed with lilypond-book can contain music fragments in
  %% different sizes.  To reduce overhead, we define `lyscaleXXX' PS macros
  %% only once.
  \lilypondifundefined{lyscale\lilypondpaperoutputscale}
    {\expandafter\gdef\csname lyscale\lilypondpaperoutputscale\endcsname{}
     %% This sets CTM so that you get to the currentpoint
     %% by executing a 0 0 moveto
     \special{
       \string!
       /lyscale\lilypondpaperoutputscale
         {\lilypondpaperoutputscale\lilypondspace\scaletounit %
          dup scale} def}}
    {}
                      
  \def\embeddedps##1{
    \special{
      \string"
      lyscale\lilypondpaperoutputscale\lilypondspace ##1}}}

\endlinechar \lilypsdefsELC
\endinput

%% end lily-ps-defs.tex
