Ajout : possibilité d'indiquer la durée d'une note via sa largeur.
authorJulien Moutinho <julm@julm.meeee.eu>
Sun, 8 Nov 2009 05:59:28 +0000 (06:59 +0100)
committerJulien Moutinho <julm@julm.meeee.eu>
Sun, 8 Nov 2009 05:59:28 +0000 (06:59 +0100)
violon.sty

index 8c3dae8dcf44c547cce8b75985dd9790e95610ee..3061695960636d4fd1a25fbfc80d1edf18e6eb9c 100644 (file)
                                \newdimen\vlnnotevdim%
                                \newdimen\vlnnotevdimmore%
                                \newdimen\vlnnotehdim%
+                               \newdimen\vlnnotehdimbase%
                                \newcount\vlnlastfinger%
+                               \newcount\vlnlastposbase%
+                               \newcount\vlnlastposunit%
                % Initialisations
                        \vlnnotevskip=0pt\relax%
                        \vlnnotevskipbase=0pt\relax%
                        \vlnnotehskipbase=0pt\relax%
                        \vlnnotevdim=\vlnhalftonelinevdim%
                        \vlnnotevdimmore=1pt\relax%
-                       \vlnnotehdim=1em\relax%
+                       \vlnnotehdimbase=2cm\relax%
                        \advance\vlnnotevdim by \vlnnotevdimmore%
                        \advance\vlnnotevdim by \vlnnotevdimmore%
                        \def\vlnlastbow{}%
                        \def\vlnlastcord{}%
                        \def\vlnlasttimenum{}%
                        \def\vlnlasttimeden{}%
-                       \newcount\vlnlastposbase%
-                       \newcount\vlnlastposunit%
+                       \def\vlnnotehdimmodetim{1}%
+                       \def\vlnnotehdimmodetxt{}%
                        \parindent=0pt\relax%
                        \parskip=0pt\relax%
                        \parfillskip=0pt\relax%
                        \advance\vlnnotehskip by \vlnnotehdim\relax%
                 }%
                \def\vlnnote crd#1pos#2fgr#3bow#4tim#5#6{%
+                       % Durée
+                               \ifthenelse{\equal{#5/#6}{\vlnlasttimenum/\vlnlasttimeden}}%
+                                {}%
+                                {\ifthenelse{\equal{#5/#6}{./.}}%
+                                        {}%
+                                        {\vlndoatnote{#2}%
+                                                {}%
+                                                {\ifthenelse{\equal{#5}{.}}%
+                                                        {}%
+                                                        {\def\vlnlasttimenum{#5}}%
+                                                       \ifthenelse{\equal{#6}{.}}%
+                                                        {}%
+                                                        {\def\vlnlasttimeden{#6}}%
+                                                       \vlnnotehdim\vlnnotehdimbase%
+                                                       \ifthenelse{\equal{}{\vlnnotehdimmodetim}}%
+                                                        {}%
+                                                        {\multiply\vlnnotehdim by\vlnlasttimeden\relax%
+                                                               \divide\vlnnotehdim by\vlnlasttimenum\relax%
+                                                        }%
+                                                       \ifthenelse{\equal{}{\vlnnotehdimmodetxt}}%
+                                                        {}%
+                                                        {\vbox to0pt{%
+                                                                       \setbox0=\hbox{%
+                                                                               \ifthenelse{\equal{\vlnlasttimeden}{1}}%
+                                                                                {{\vlntimefont{\vlnlasttimenum}}}%
+                                                                                {\vlntimefrac{\vlntimefont{\vlnlasttimenum}}/{\vlntimefont{\vlnlasttimeden}}}%
+                                                                        }%
+                                                                       \vskip\vlnnotevdim\relax%
+                                                                       \vskip0.2mm\relax%
+                                                                       \dp0=0pt\relax%
+                                                                       \box0}%
+                                                        }%
+                                                }%
+                                                {}%
+                                        }%
+                                }%
                        % Archet
                                \ifthenelse{\equal{#4}{C}}%
                                         {\ifthenelse{\equal{U}{\vlnlastbow}}%
                                                 {}%
                                         }%
                                 }%
-                       % Durée
-                               \ifthenelse{\equal{#5/#6}{\vlnlasttimenum/\vlnlasttimeden}}%
-                                {}%
-                                {\ifthenelse{\equal{#5/#6}{./.}}%
-                                        {}%
-                                        {\vlndoatnote{#2}%
-                                                {}%
-                                                {\ifthenelse{\equal{#5}{.}}%
-                                                        {}%
-                                                        {\def\vlnlasttimenum{#5}}%
-                                                       \ifthenelse{\equal{#6}{.}}%
-                                                        {}%
-                                                        {\def\vlnlasttimeden{#6}}%
-                                                       \vbox to0pt{%
-                                                               \setbox0=\hbox{%
-                                                                       \ifthenelse{\equal{\vlnlasttimeden}{1}}%
-                                                                        {{\vlntimefont{\vlnlasttimenum}}}%
-                                                                        {\vlntimefrac{\vlntimefont{\vlnlasttimenum}}/{\vlntimefont{\vlnlasttimeden}}}%
-                                                                }%
-                                                               \vskip\vlnnotevdim\relax%
-                                                               \vskip0.2mm\relax%
-                                                               \dp0=0pt\relax%
-                                                               \box0}}%
-                                                {}%
-                                        }%
-                                }%
                        \vlnnextnote%
                        \nointerlineskip%
                 }%