musiktheorietheorie/musixtex/tex/musixcpt.tex
Josia Pietsch 200080fe9d Tag 6
2022-03-27 12:09:14 +02:00

826 lines
23 KiB
TeX

%
% This file is part of MusiXTeX
%
% MusiXTeX is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2, or (at your option)
% any later version.
%
% MusiXTeX is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with MusiXTeX; see the file COPYING. If not, write to
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA.
%
%%% for those who want compatibility, input it !after! musixtex and all
%%% other \input files, means: at very last
\ifx\undefined\DIMin \else \endinput \fi
\immediate\write16{MusiXComPaTible T.109\space<8 May 2018>}%
\ifx\undefined\mxversion \errmessage{MusiXcpt input before MusiXTeX !}\fi
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
\catcodesmusic
\voffset=-15.4mm
\parindent=10mm
\def\z@suspend@autoflag{\ifx\auto@flag\empty
\fil@autolines\fi \let\auto@flag\empty}
\let\fil@autolines\empty
\let\auto@flag\empty
\def\updatecontext{%
\T@bil \writ@newclefs\wbarno@x\Writ@newsigns
\Writ@meters\addspace\afterruleskip
\else\fil@autolines\let\auto@flag\@ne
\writ@newclefs\Writ@newsigns\z@suspend\@NewPage\fi}
\def\changecontext{\n@wbar\updatecontext}
\def\zchangecontext{\advance\n@skip\beforeruleskip \widthtyp@\@ne \t@rmskip
\zn@wbar\updatecontext}
\def\@breakpassInoauto{\def\T@bil{\getcurpos \ifdim\y@v<\h@lf\line@width}}
\def\ori@passIzbarre{\zn@wbar\fil@{z \the\barno}}
\def\ori@passIendsection{\fil@{*\space\the\mulooseness}\mulooseness\z@}
\def\@breakpassIauto{\advance\barsinlin@\@ne \ifnum\barsinlin@<\maxbarsinline}%
\def\@xbarrepassIauto{\T@bil \else\advance\barsinlin@\m@ne \fi\@bar}
\let\@xbarrepassIIauto\barre
\def\@zbarpassIauto{\T@bil \zn@wbar\else\zstoppiec@\@NewPage\fi}
%!!! Attention: If you use \autolines, take care for the number of lines.
% If they exceed 127, trouble will be ahead. (adjust MAX_SECTIONS in
% musixflx.c or insert a \suspmorceau..\debutmorceau) !!!
\def\autolines#1#2#3{% #1 nombre d'elemskip par mesure,
% #2 nombre de mesures par ligne,
% #3 nb lignes par page
\ifstartmuflex@done\else\startmuflex\fi
\global\maxbarsinline=#2\relax
\global\maxlinesinpage=#3\relax
\let\count@lines\count@lines@auto
\ifx\ragg@d\empty % ---> pass 1
\message{/autolines pass I }%
\let\xbar=\@xbarrepassIauto
\let\zbar=\@zbarpassIauto
\let\@nds@ction=\empty
\def\fil@autolines{\fil@{a}}%
\let\barsinline=\barsinlin@
\let\T@bil=\@breakpassIauto
\else %---> pass 2
\message{/autolines pass II }%
\let\xbar=\@xbarrepassIIauto
\let\@nds@ction=\empty
\fi}
\def\noautolines{\let\fil@autolines\empty
\ifstartmuflex@done\else\startmuflex\fi
\let\xbar\ori@xbarre % original X handling
\let\count@lines\count@lines@empty
\ifx\ragg@d\empty %---> pass 1
\message{/noautolines pass I }%
\let\zbar\ori@zbarre % original X handling
\let\barsinline=\barsinline@ori
\let\T@bil\ori@T@bil
\let\@nds@ction=\ori@passIendsection
\else
\message{/noautolines pass II }%
\let\@nds@ction=\empty
\fi}
%
\def\count@lines@auto{\global\advance\linesinpage\@ne
\ifnum\linesinpage<\maxlinesinpage
\else \eject \global\linesinpage\z@ \fi}
\def\count@lines@empty{\global\advance\linesinpage\@ne}
\let\count@lines\count@lines@empty
\def\@NewPage{\count@lines \contpiece}
\def\@LeftRp{\stoppiec@\@NewPage\addspace{\h@lf\afterruleskip}%
\kernm\afterruleskip\l@eftrepeat\kern\afterruleskip}
\def\T@bil{\advance\barsinlin@\@ne \ifnum\barsinlin@<\maxbarsinlin@}
\def\ori@T@bil{\advance\barsinlin@\@ne \ifnum\barsinlin@<\maxbarsinlin@}
\def\barre{\T@bil \@bar\else\stoppiec@\@NewPage\fi}
\def\xbar{\@bar\global\advance\barsinpi@c@\m@ne }
\def\ori@xbarre{\@bar\global\advance\barsinpi@c@\m@ne }
\def\zbar{\T@bil \zn@wbar\else\zstoppiece\@NewPage\fi}
\def\ori@zbarre{\T@bil \zn@wbar\else\zstoppiece\@NewPage\fi}
\def\alaligne{\stoppiece\@NewPage}
\def\Suspmorceau{\Stoppiece\count@lines}
\def\suspmorceau{\stoppiece\count@lines}
\def\zalaligne{\zstoppiece\@NewPage}
\def\leftrepeat{\leftrepeat@II}
\def\leftrepeat@II{\T@bil \setleftrepeat\@bar\else\@LeftRp\fi}
\def\leftrightrepeat{\leftrightrepeat@II}
\def\leftrightrepeat@II{\T@bil \setleftrightrepeat\@bar
\else\setrightrepeat\@LeftRp\fi}
\def\finrightrepeat{\setrightrepeat\stoppiec@}
\let\nbporteesi\n@pi
\let\nbporteesii\n@pii
\let\nbporteesiii\n@piii
\let\nbporteesiv\n@piv
\let\nbporteesv\n@pv
\let\nbporteesvi\n@pvi
\def\nbporteesvii{\n@pvii}%
\def\nbporteesviii{\n@pviii}%
\def\nbporteesix{\n@pvix}%
\def\nbstaffsi{\n@pi}%
\def\nbstaffsii{\n@pii}%
\def\nbstaffsiii{\n@piii}%
\def\nbstaffsiv{\n@piv}%
\def\nbstaffsv{\n@pv}%
\def\nbstaffsvi{\n@pvi}%
\def\nbstaffsvii{\n@pvii}%
\def\nbstaffsviii{\n@pviii}%
\def\nbstaffsix{\n@pvix}%
\def\resetlayout{\nullthick\f@ur\Interligne \let\interfacteur\nin@
\stafftopmarg\thr@@\Interligne \staffbotmarg\thr@@\Interligne
\let\stafflinesnbi\fiv@ \let\stafflinesnbii\fiv@ \let\stafflinesnbiii\fiv@
\let\stafflinesnbiv\fiv@ \let\stafflinesnbv\fiv@ \let\stafflinesnbvi\fiv@
\let\clefdesoli\trebleclef \let\clefdesolii\trebleclef
\let\clefdesoliii\trebleclef \let\clefdesoliv\trebleclef
\let\clefdesolv\trebleclef \let\clefdesolvi\trebleclef
\let\clefduti\altoclef \let\clefdutii\altoclef
\let\clefdutiii\altoclef \let\clefdutiv\altoclef
\let\clefdutv\altoclef \let\clefdutvi\altoclef
\let\clefdefai\bassclef \let\clefdefaii\bassclef
\let\clefdefaiii\bassclef \let\clefdefaiv\bassclef
\let\clefdefav\bassclef \let\clefdefavi\bassclef
\elemskip\f@ur\Internote}
% These definition depends on the assumption, that \elemskip is equal 10pt
\def\hqsk{\off{.3\@l@mskip}}
\def\qsk{\hqsk\hqsk}
% ============================
% will change
\chardef\@li=51
\chardef\@liii=53
\newif\ifcautionacc
\def\@acc#1{\check@staff
\inhgetn@i#1\relax\@BigAcc
\fi}
\def\@BigAcc{\pl@base\raise\y@i\llap{\musixchar\n@v\kern\accshift}}
\def\bigfl{\n@v\@l \@acc}
\def\bigdfl{\n@v\@li \@acc}
\def\bigsh{\n@v\@lii \@acc}
\def\bigdsh{\n@v\@liii \@acc}
\def\bigna{\n@v\@liv \@acc}
\def\@smallacc#1{\check@staff
\inhgetn@i#1\relax\n@iv\fiv@ \@SmallACC
\fi}
\def\@SmallACC{\check@staff
\pl@base\raise\y@i\llap{\@SmallAcc\kern\accshift}\fi}
\def\@SmallAcc{\check@staff
\ifcautionacc\C@ChaR \fi \musixchar\n@v
\ifcautionacc\kern.3\qn@width \fi
\fi\global\cautionaccfalse}
\def\smallna{\n@v94\@smallacc}
\def\smallfl{\n@v90\@smallacc}
\def\smallsh{\n@v92\@smallacc}
\def\smalldsh{\n@v93\@smallacc}
\def\smalldfl#1{\check@staff
\n@v91\inhgetn@i#1\relax\n@iv\si@ \@SmallACC
\fi}
\def\csh{\cautionacctrue\smallsh}
\def\cdsh{\cautionacctrue\smalldsh}
\def\cna{\cautionacctrue\smallna}
\def\cfl{\cautionacctrue\smallfl}
\def\cdfl{\cautionacctrue\smalldfl}
\def\@UpperAcc#1{\inhgetn@i#1\relax\@UpAcc}
\def\@UpAcc{\advance\n@i\thr@@ \zchar\n@i{\kern\qu@rt\qn@width\@SmallAcc}}
\def\upperna{\n@v94\@UpperAcc}
\def\upperfl{\n@v90\@UpperAcc}
\def\uppersh{\n@v92\@UpperAcc}
% analysis of accidentals within collective note coding
\def\absoluteaccidentals{%
\let\Xna\na \let\Xsh\sh \let\Xfl\fl \let\Xdsh\dsh \let\Xdfl\dfl}
\absoluteaccidentals
\def\Na#1{\small@test\bigNa{#1}\else\smallNa{#1}\fi}
\def\Fl#1{\small@test\bigFl{#1}\else\smallFl{#1}\fi}
\def\Sh#1{\small@test\bigSh{#1}\else\smallSh{#1}\fi}
\def\dFl#1{\small@test\bigdFl{#1}\else\smalldFl{#1}\fi}
\def\dSh#1{\small@test\bigdSh{#1}\else\smalldSh{#1}\fi}
\def\cNa{\cautionacctrue\smallNa}
\def\cFl{\cautionacctrue\smallFl}
\def\cSh{\cautionacctrue\smallSh}
\def\cdFl{\cautionacctrue\smalldFl}
\def\cdSh{\cautionacctrue\smalldSh}
\def\lNa#1{\shiftaccwidth{\Na{#1}}}
\def\lFl#1{\shiftaccwidth{\Fl{#1}}}
\def\lSh#1{\shiftaccwidth{\Sh{#1}}}
\def\ldFl#1{\shiftaccwidth{\dFl{#1}}}
\def\ldSh#1{\shiftaccwidth{\dSh{#1}}}
\def\shiftaccwidth{\loffset\smallvalue}
\def\sign@diff#1\relax{\getn@i#1\relax\n@iii\n@i
\advance\n@iii-\ut@ref \advance\n@iii-\ut@ref
\loop\ifnum\n@iii>\si@ \advance\n@iii-\s@v@n \repeat
\loop\ifnum\n@iii<\z@ \advance\n@iii\s@v@n \repeat
\ifcase\n@iii
\n@ii\si@ % mi
\or\n@ii\@ne % fa
\or\n@ii\thr@@ % sol
\or\n@ii\fiv@ % la
\or\n@ii\s@v@n % si
\or\n@ii\tw@ % do
\or\n@ii\f@ur % re
\fi
% \n@ii positive signature limit, \n@ii-8 negative signature limit
\advance\n@ii-\a@s \advance\n@ii\si@ \divide\n@ii\s@v@n \n@iv\fiv@}
\def\C@aacc{\check@staff
\advance\n@v\n@vi \@Ti
\fi }
\def\@Flat#1{\sign@diff#1\relax
\ifcase\n@ii \n@v\@liv \or\n@v\@l \or\n@v\@li \fi \C@aacc}
\def\set@bigaccid{\n@vi\z@ \let\@Ti\@BigAcc}
\def\set@smallaccid{\n@vi\@xl \let\@Ti\@SmallACC}
\def\set@UpAcc{\n@vi\@xl \let\@Ti\@UpAcc}
\def\bigFl{\set@bigaccid\@Flat}
\def\smallFl{\set@smallaccid\@Flat}
\def\upperFl{\set@UpAcc\@Flat}
\def\@Natural#1{\sign@diff#1\relax
\ifcase\n@ii \n@v\@lii \or\n@v\@liv \or\n@v\@l \fi \C@aacc}
\def\bigNa{\set@bigaccid\@Natural}
\def\smallNa{\set@smallaccid\@Natural}
\def\upperNa{\set@UpAcc\@Natural}
\def\@Sharp#1{\sign@diff#1\relax
\ifcase\n@ii \n@v\@liii \or\n@v\@lii \or\n@v\@liv \fi \C@aacc}
\def\bigSh{\set@bigaccid\@Sharp}
\def\smallSh{\set@smallaccid\@Sharp}
\def\upperSh{\set@UpAcc\@Sharp}
\def\@nod{Can't double }
\def\@dSharp#1{\sign@diff#1\relax
\ifcase\n@ii \message{\@nod sharpen !\noexpand\dSh #1}%
\or\n@v\@liii \C@aacc\or\n@v\@lii \C@aacc \fi}
\def\bigdSh{\set@bigaccid\@dSharp}
\def\smalldSh{\set@smallaccid\@dSharp}
%\def\upperdSh{\set@UpAcc\@dSharp}
\def\@dFlat#1{\sign@diff#1\relax
\ifcase\n@ii \n@v\@l \C@aacc\or\n@v\@li \C@aacc
\or\message{\@nod flatten !\noexpand\dFl #1}\fi}
\def\bigdFl{\set@bigaccid\@dFlat}
\def\smalldFl{\n@vi\@xl \n@iv\si@ \let\@Ti\@SmallACC \@dFlat}
%\def\upperdFl{\set@UpAcc\@dFlat}
\def\relativeaccidentals{%
\let\Xna\Na \let\Xsh\Sh \let\Xfl\Fl \let\Xdsh\dSh \let\Xdfl\dFl}
%\def\writ@names{\n@loop
% \setbox\n@otebox\llap{\vbox{\hbox\@to\parindent{%
% \hss\csname instrument\romannumeral\noinstrum@nt\endcsname\hss}}~~}%
% \altportee\altitude \Comp@High\advance\y@v-\ht\n@otebox
% \advance\altportee\h@lf\y@v \raise\altportee\box\n@otebox \repeat}
%\let\Writ@names\writ@names
%\let\instrumenti\empty \let\instrumentii\empty \let\instrumentiii\empty
%\let\instrumentiv\empty \let\instrumentv\empty \let\instrumentvi\empty
% ============================
\def\dimin{\decrescendo{4\qn@width}}
\def\Dimin{\decrescendo{8\qn@width}}
\def\DImin{\decrescendo{12\qn@width}}
\def\DIMin{\decrescendo{16\qn@width}}
\def\DIMIn{\decrescendo{24\qn@width}}
\def\DIMIN{\decrescendo{36\qn@width}}
\def\cresc{\crescendo{4\qn@width}}
\def\Cresc{\crescendo{8\qn@width}}
\def\CResc{\crescendo{12\qn@width}}
\def\CREsc{\crescendo{16\qn@width}}
\def\CRESc{\crescendo{24\qn@width}}
\def\CRESC{\crescendo{36\qn@width}}
\let\interligne\Interligne
\def\debutmorceau{\ifstartmuflex@done\else\startmuflex\fi
\startpiece
\let\debutmorceau\startpiece}
\let\finmorceau\Stoppiece
\let\zfinmorceau\zstoppiece
\let\finpartition\stoppiece
\let\debutextrait\startextract
\let\finextrait\endextract
\let\zfinextrait\zendextract
\let\reprmorceau\contpiece
\let\lreprmorceau\contpiece
\def\preprmorceau{\eject \global\linesinpage\z@ \contpiece}
\def\resetsignatures{\generalsignature0\savesignature}
\def\alapage{\stoppiece\eject \global\linesinpage\z@ \contpiece}
\def\zalapage{\zstoppiece\eject \global\linesinpage\z@ \contpiece}
\def\pchangecontext{\n@wbar\writ@newclefs\writ@newsigns
\z@suspend \eject \global\linesinpage\z@ \contpiece}
\def\lchangecontext{\n@wbar\writ@newclefs\writ@newsigns
\z@suspend \count@lines \contpiece}
\let\xbeambarre\bar
\def\xbarre{\xbar}
\def\zbarre{\zbar}
\let\temps\empty
\let\zglue\empty
\let\zglu\empty
\let\doublebarre\doublebar
\def\leftrightrepeatsymbol{\C@rep\l@eftrightrepeat}
\def\leftrepeatsymbol{\C@rep\l@eftrepeat}
\def\rightrepeatsymbol{\C@rep\r@ightrepeat}
\def\C@rep#1{\advance\n@skip\beforeruleskip \widthtyp@\@ne \t@rmskip
#1\widthtyp@\z@ \t@rmskip\addspace\afterruleskip}
%\let\suspmorceau\stoppiece
%\let\Suspmorceau\Stoppiece
\let\computewidths\empty
\let\computespecifics\empty
\let\zsuspmorceau\zstoppiece
\let\signaturegenerale\generalsignature
\let\pointdorgue\fermataup
\let\pointdurgue\fermatadown
\let\zbv\zbreve
\let\zsb\zmaxima
\let\ha\hu
\let\resetfacteurs\resetlayout
\let\savesignature\empty
\let\savemeter\empty
\let\savemeters\empty
\let\saveclefs\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%
\let\ITenu\istieu
\let\ITenl\istied
%%%%%%%%%%%%%%%%%%
\let\ilegu\isluru
\let\ilegl\islurd
\let\Ilegu\isluru
\let\Ilegl\islurd
%\let\tleg\tslur
%\def\Tleg#1{\roff{\ttie#1}}
\let\Invertslur\invertslur
\let\qh\qb
\let\qhp\qbp
\let\qhpp\qbpp
\let\zqh\zqb
\let\zqhp\zqbp
\let\zqhpp\zqbpp
\let\hh\hb
\let\soupir\qp
\let\dsoupir\ds
\let\demisoupir\ds
\let\qsoupir\qs
\let\quartsoupir\qs
\let\hsoupir\hs
\let\huitsoupir\hs
\let\seizsoupir\qqs
\let\Pince\Shake
\let\pince\shake
\let\Lpince\Shakel
\let\Pincesw\Shakesw
\let\Pincene\Shakene
\let\Pincenw\Shakenw
\let\mordant\mordent
\let\nblines\z@
\let\wd@skip\wn@width
\let\musicnfont\musixfont
\let\clefdesolsymbol\trebleclef
\let\clefdefasymbol\altoclef
\let\clefdutsymbol\bassclef
\let\gclefdut\gregorianCclef
\let\drumclefsymbol\drumclef
\let\smallclefdesol\smalltrebleclef
\let\smallclefdefa\smallaltoclef
\let\smallclefdut\smallbassclef
\let\cmbxmicro\sevenbf
\let\cmbxtiny\eightbf
\let\cmbxsmall\tenbf
\let\cmbx\twelvebf
\let\cmbxbig\bigfont
\let\moyen\bigfont
\let\gros\Bigfont
\let\enorme\BIGfont
\def\setprimavolta{\setvolta1}
\def\setsecondavolta{\setvolta2}
\def\advancebottom#1{}
\newif\ifraggedlines
\newcount\linesinpage
\newcount\barsinline@ori
\let\barsinline\barsinline@ori
\newcount\maxbarsinline
\newcount\maxlinesinpage \maxlinesinpage\maxdimen
\newskip\zglueskip
\newskip\tempsskip
%%% definitions for holding up compatibility, not supported in musixtex
\let\endinstrument\@ndstaff
\def\huslur#1#2{\errmessage{No more need for \noexpand\huslur!}}
\def\hdslur#1#2{\errmessage{No more need for \noexpand\hdslur!}}
\def\liftslur#1#2{\errmessage{\noexpand\liftslur is not supported in MusiXTeX}}
\def\expause#1{\charnote{#1}{\musicnorfont\char 11\hss}}
\def\zexpause#1{\zcharnote{#1}{\musicnorfont\char 11\hss}}
\def\exhpause#1{\charnote{#1}{\musicnorfont\char 10\hss}}
\def\zexhpause#1{\zcharnote{#1}{\musicnorfont\char 10\hss}}
\def\vdlthick{\vrule depth \hlthick}
\let\resettens\empty
\let\resetstem\resetst@m
\let\setstem\setst@m
\let\resetlegs\empty
\let\savepenalties\empty
\let\currenthyphenpenalty\empty
\let\setnohyphenpenalty\empty
\let\sethyphenpenalty\empty
\let\setnormalhyphen\empty
\let\glueaftersymbol\empty
\def\zgluearule{\addspace\afterruleskip}%
\let\gluearule\zgluearule
\let\ygluearule\zgluearule
\let\Writesignatures\writ@signs
\let\changecontexte\changecontext
\let\Changecontexte\Changecontext
\let\Changeclefs\changeclefs
\let\Changeclef\Changeclefs
\def\shortstems{\stemlength4}%
\def\normalstems{\stemlength{4.66}}%
\normalstems
\def\phpause{\hbox to \noteskip{\vrule width
1.2\qn@width height \internote\hss}}%
%\def\pause{\hbox{\raise 5\internote\phpause}}%
%\def\hpause{\hbox{\raise 4\internote\phpause}}%
\let\zha\zhu
\def\minternote{-\internote}%
\def\ffff{{\ppff {f}\kern -0.1ex{f}\kern -0.1ex{f}\kern -0.1ex{f}}}
\def\testseq{}%
\def\rtenl#1#2{\roff{\islurd{#1}{#2}}}
\def\rtenu#1#2{\roff{\isluru{#1}{#2}}}
\def\diamg{\ynq}
\def\diamw{\dnq}
\def\zdiamg{\yznq}
\def\zdiamw{\dznq}
\def\carrg{\squ}
\def\zcarrg{\zsqu}
\def\carpg{\lsqu}
\def\zcarpg{\zlsqu}
\def\carqg{\rsqu}
\def\zcarqg{\zrsqu}
\def\yu{\yqu}
\def\yup{\yqup}
\def\yupp{\yqupp}
\def\yuppp{\yquppp}
\def\yl{\yql}
\def\ylp{\yqlp}
\def\ylpp{\yqlpp}
\def\ylppp{\yqlppp}
\def\yh{\yqb}
\def\yb{\yqb}
\def\zy{\yzq}
\def\zyp{\yzqp}
\def\zypp{\yzqpp}
\def\zyppp{\yzqppp}
\def\du{\dqu}
\def\dup{\dqup}
\def\dupp{\dqupp}
\def\duppp{\dquppp}
\def\dl{\dql}
\def\dlp{\dqlp}
\def\dlpp{\dqlpp}
\def\dlppp{\dqlppp}
\def\dh{\dqb}
\def\db{\dqb}
\def\zd{\dzq}
\def\zdp{\dzqp}
\def\zdpp{\dzqpp}
\def\zdppp{\dzqppp}
\def\xu{\xqu}
\def\xup{\x@symbol\@qup}
\def\xupp{\x@symbol\@qupp}
\def\xl{\xql}
\def\xlp{\x@symbol\@qlp}
\def\xlpp{\x@symbol\@qlpp}
\let\xb\xqb
\let\xh\xqb
\def\zx{\xzq}
\def\zxp{\x@symbol\@zqp}
\def\zxpp{\x@symbol\@zqpp}
\def\xcccu{\x@symbol\@cccu}
\def\xccccu{\x@symbol\@ccccu}
\def\xcccl{\x@symbol\@cccl}
\def\xccccl{\x@symbol\@ccccl}
\def\xclp{\x@symbol\@clp}
\def\xcup{\x@symbol\@cup}
\def\xclpp{\x@symbol\@clpp}
\def\xcupp{\x@symbol\@cupp}
\def\oxu{\oxqu}
\def\oxup{\ox@symbol\@qup}
\def\oxupp{\ox@symbol\@qupp}
\def\oxl{\oxql}
\def\oxlp{\ox@symbol\@qlp}
\def\oxlpp{\ox@symbol\@qlpp}
\def\oxb\oxqb
\let\oxh\oxqb
\def\ozx{\oxzq}
\def\ozxp{\ox@symbol\@zqp}
\def\ozxpp{\ox@symbol\@zqpp}
\def\oxcccu{\ox@symbol\@cccu}
\def\oxccccu{\ox@symbol\@ccccu}
\def\oxcccl{\ox@symbol\@cccl}
\def\oxccccl{\ox@symbol\@ccccl}
\def\oxclp{\ox@symbol\@clp}
\def\oxcup{\ox@symbol\@cup}
\def\oxclpp{\ox@symbol\@clpp}
\def\oxcupp{\ox@symbol\@cupp}
\def\ku{\kqu}
\def\kup{\k@symbol\@qup}
\def\kupp{\k@symbol\@qupp}
\def\kl{\kql}
\def\klp{\k@symbol\@qlp}
\def\klpp{\k@symbol\@qlpp}
\let\kb\kqb
\let\kh\kqb
\def\zk{\kzq}
\def\zkp{\k@symbol\@zqp}
\def\zkpp{\k@symbol\@zqpp}
\def\kcccu{\k@symbol\@cccu}
\def\kccccu{\k@symbol\@ccccu}
\def\kcccl{\k@symbol\@cccl}
\def\kccccl{\k@symbol\@ccccl}
\def\kclp{\k@symbol\@clp}
\def\kcup{\k@symbol\@cup}
\def\kclpp{\k@symbol\@clpp}
\def\kcupp{\k@symbol\@cupp}
%%% text, lyrics
\def\midtwotext{\let\@Ti\hss \let\@Tii\hss \C@midcpt}
\def\rmidtwotext{\let\@Ti\empty \let\@Tii\hss \C@midcpt}
\def\zmidtwotext{\zmidstaff}
\def\lmidtwotext{\let\@Ti\hss \let\@Tii\empty \C@midcpt}
\def\C@midcpt#1{\check@staff
\y@v\interportee \advance\y@v\f@ur\Interligne \divide\y@v\tw@
\raise\y@v\uplap{\hbox\@to\noteskip{\@Ti\strut#1\@Tii}\vss}%
\advance\locx@skip\noteskip
\fi}
% for what ?
\def\sforz#1{{\advance\transpose by -2\usf{#1}}}
\def\pz#1{{\advance\transpose by -2\upz{#1}}}
\def\ppz{\uppz}
\def\st#1{{\advance\transpose by -2\ust{#1}}}
% octlines
\def\barfill{\leaders\hbox{ --}\hfill}%
\def\octnvrule{\vrule width \z@ height 3\p@ depth 3\p@}%
\def\octvrule{\vrule width \lthick height 3\p@ depth 3\p@}%
\def\octsup#1#2{\zcharnote{#1}{\hbox to #2\noteskip
{\llap{\rm 8}\barfill\octnvrule}}}%
\def\Octsup#1#2{\zcharnote{#1}{\hbox to #2{\rm 8\barfill\octnvrule}}}%
%\check
%\def\octfin#1#2{\zcharnote{#1}{\hbox to #2\noteskip{\llap{\rm 8}\barfill
%--\octvrule}}}%
\let\octfin\octfinup
\def\Octfin#1#2{\zcharnote{#1}{\hbox to #2{\rm 8\barfill
--\octvrule}}}%
\def\octline#1{\zcharnote{#1}{\hbox to \line@width{\llap{\rm 8}\barfill
\octnvrule\hskip 12\Internote}}}%
\def\Octline#1{\zcharnote{#1}{\hbox to \line@width{\rm 8\barfill
\octnvrule\hskip 8\Internote}}}%
%\check
\def\octlineup{\n@v\@xxiii\C@ol}
\def\octlinedown{\n@v\@xxv \C@ol}
\def\C@ol#1{\zcharnote{#1}{\getcurpos\y@eol\advance\y@-\y@v
\hbox\@to\y@{\octnumber\mxsps\xleaders\hbox{\char\n@v}\hfill}}}
% now different meaning !!!
\def\trilleC#1{\hbox to #1{\leaders\hbox{\musixchar69}\hfill}}%
\let\trille\trilleC
\def\TrilleC#1{\hbox to #1{\it tr\leaders\hbox{\musixchar69}\hfill}}%
\let\Trille\TrilleC
\def\ntrille#1#2{\zcharnote{#1}{\trille{#2\elemskip}}}%
\def\nTrille#1#2{\zcharnote{#1}{\Trille{#2\elemskip}}}%
\def\xtrille#1#2{\zcharnote{#1}{\trille{#2}}}%
\def\xTrille#1#2{\zcharnote{#1}{\Trille{#2}}}%
% finding which class of fonts is normally used (cmxxx, dmxxx, dcxxx,...)
\def\@wsa#1#2+{#1}
\def\@wsb#1#2#3+{#2}
\rm
\edef\fonthdg{\expandafter\@wsa\fontname\the\font+}
\edef\fonthdge{\expandafter\@wsb\fontname\the\font+}
% new coda is centered above a barrule
\def\coda{\n@iv85\@Char}
% special wish
\let\octline\octlineup
% old spacings
\def\normal{\elemskip=4\Internote \def\scalenoteskip{1.00}%
\def\notes{\vnotes1.0\elemskip}% double croches
\def\notesp{\vnotes1.18\elemskip}% double croches
\def\Notes{\vnotes1.4\elemskip}% croches
\def\Notesp{\vnotes1.66\elemskip}% croches
\def\NOtes{\vnotes2.0\elemskip}% croches pointees
\def\NOtesp{\vnotes2.36\elemskip}% croches pointees
\def\NOTes{\vnotes2.8\elemskip}% noires
\def\NOTesp{\vnotes3.32\elemskip}% noires
\def\NOTEs{\vnotes4.0\elemskip}%
\def\NOTEsp{\vnotes4.72\elemskip}%
\def\NOTES{\vnotes5.6\elemskip}}
% \large could cause trouble, if user changes \scalenoteskip on his own,
% but this is *HIS* problem
\ifx\large\undefined \def\large{\normal\def\scalenoteskip{1.2}}\fi
\def\etroit{\normal
\def\Notes{\vnotes1.3\elemskip}%
\def\NOtes{\vnotes1.8\elemskip}%
\def\NOTes{\vnotes2.6\elemskip}%
\def\NOTEs{\vnotes3.6\elemskip}%
\def\NOTES{\vnotes5.2\elemskip}}
% correct the shifting of arpeggio to musictex's appearance,
% a little bit tricky, but works
\let\arpeggio@X\arpeggio
\def\arpeggio#1#2{\roffset{.2}{\arpeggio@X{#1}{#2}}}
\def\larpeggio#1#2{\loffset{.6}{\arpeggio@X{#1}{#2}}} % .6=\smallvalue - 0.2
% correct (nearly) the distance between note and accidental
\accshift=-.1\qn@width
% 'translate' old metertoks (works only if they are used as
% \metertoksi={...}, not for \metertoksi{...}
\def\metertoksi#1#2{\if =#1\else\C@warn \fi
\let\Writ@meters\writ@meters \m@ti={#2}}
\def\metertoksii#1#2{\if =#1\else\C@warn \fi
\let\Writ@meters\writ@meters \m@tii={#2}}
\def\metertoksiii#1#2{\if =#1\else\C@warn \fi
\let\Writ@meters\writ@meters \m@tiii={#2}}
\def\metertoksiv#1#2{\if =#1\else\C@warn \fi
\let\Writ@meters\writ@meters \m@tiv={#2}}
\def\metertoksv#1#2{\if =#1\else\C@warn \fi
\let\Writ@meters\writ@meters \m@tv={#2}}
\def\metertoksvi#1#2{\if =#1\else\C@warn \fi
\let\Writ@meters\writ@meters \m@tvi={#2}}
\def\C@warn{\errmessage{You MUST use '=' behind \noexpand\metertoks}\end}
\let\signi\a@si
\let\signii\a@sii
\let\signiii\a@siii
\let\signiv\a@siv
\let\signv\a@sv
\let\signvi\a@svi
\let\cleftoksi\a@ci
\let\cleftoksii\a@cii
\let\cleftoksiii\a@ciii
\let\cleftoksiv\a@civ
\let\cleftoksv\a@cv
\let\cleftoksvi\a@cvi
% to be used to make heavy bars at staff left
\newskip\nullthick
\let\lowersonginstrum\maxdimen
\let\uppersonginstrum\z@
\newdimen\Interportee % distance between staffs of the same instrument (excl)
\def\xgetn@i#1\relax{\n@viii\z@ \n@i\maxdimen % par defaut
\edef\t@ruc{\f@tok #1\relax\af@tok}%
\edef\s@uite{\s@tok #1\empty\af@tok}%
%% pas lettre
\ifcat a\t@ruc \n@i\expandafter`\t@ruc\relax
%% ramener au E (position zero en clef de sol, ut@ref=0)
\ifnum\n@i>96\advance\n@i-101%
\else\advance\n@i-\@lxxxiii % ramener au S= E + 14
\fi
\advance\n@i\ut@ref \advance\n@i\ut@ref \advance\n@i\transpose
\edef\ss@uite{\noexpand\n@fon{\s@uite}}%
%% cas active character dont chiffre
\else
\let\ss@uite\empty
\let\alt@suite\empty
\ifcat 1\t@ruc
\if =\t@ruc \let\@TI\Xna \C@GET \fi
\if *\t@ruc \sk \C@Get \fi
\if .\t@ruc \let\@TI\pt \C@GET \fi
\if >\t@ruc \let\@TI\Xdsh \C@GET \fi
\if <\t@ruc \let\@TI\Xdfl \C@GET \fi
\if !\t@ruc \transpose\normaltranspose \C@Get \fi
\if '\t@ruc \advance\transpose\s@v@n \C@Get \fi
\if `\t@ruc \advance\transpose-\s@v@n \C@Get \fi
\ifnum\n@viii<\maxdimen \n@i#1\fi
\else
\if ^\t@ruc \let\@TI\Xsh \C@GET \fi
\if _\t@ruc \let\@TI\Xfl \C@GET \fi
\fi\alt@suite
\fi}
% MusicTeX's settings
\afterruleskip=10pt % plus glue
\beforeruleskip=2pt % plus glue
\nostemcut
\let\nbinstruments\maxinstruments
\normalnotesize
\normal % to get \notes correctly defined
\resetlayout
\let\nbinstruments\@ne
\def\breath{\errmessage{\noexpand\breath\space not implemented in MusiXTeX,
use \noexpand\zbreath\space or \noexpand\cbreath!}}
\endcatcodesmusic
\catcode`\@=\catcodeat
\endinput