% % 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