% Licence
	% This file is part of Violon, a violin score engine.
	% Copyright (C) 2009-2013  Julien Moutinho
	%
	% This program 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 3 of the License,
	% or any later version.
	%
	% This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
	%
	% Any comment or contribution is welcome
	% at julm+tex+violon&autogeree.net.
% Package
	\def\fileversion{1.0}%
	\def\filedate{2013/10/02}%
	\NeedsTeXFormat{LaTeX2e}%
	\ProvidesPackage{violon}[\filedate\space\fileversion\space%
		Violin score library (Julien Moutinho)]%
% \usepackage
	\usepackage{ifthen}%
	\usepackage{color}%
	\usepackage{verbatim}%
% Utilitaires
	% math
		\newcount\modulo@%
		\def\modulo#1by#2{%
			\modulo@=#1\relax%
			\divide\modulo@ by#2\relax%
			\multiply\modulo@ by-#2\relax%
			\advance\modulo@ by#1\relax%
			\the\modulo@%
		 }%
		\def\romannumeralz#1{%
			\ifnum#1>\z@\romannumeral#1\else\number#1\fi%
		 }%
	% \text
		\begingroup%
			\catcode`\[ = 1\relax%
			\catcode`\] = 2\relax%
			\catcode`\{ = 12\relax%
			\catcode`\} = 12 \relax%
			\gdef\textcurlybraceopen[{]%
			\gdef\textcurlybraceclose[}]%
		 \endgroup%
	% \par
		\parindent=0pt\relax%
		\parskip=0pt\relax%
		\parfillskip=0pt\relax%
	% \new
		\newdimen\dimen@%
		\newdimen\dimen@@%
		\newcount\count@@%
	% \setfontsize
		\def\ssmall{%
			\@setfontsize\ssmall\@viiipt\@ixpt%
		 }%
		\def\sssmall{%
			\@setfontsize\sssmall{6pt}{6pt}%
		 }%
		\def\ssssmall{%
			\@setfontsize\sssmall{5pt}{5pt}%
		 }%
	% \if
		\def\isundefined#1{TT\fi\ifx#1\undefined}%
% @vln@trace
	\newif%
		\if@vln@trace@%
		\@vln@trace@false%
	\def\@vln@trace#1#2{%
		\if@vln@trace@%
			\message{TRACE: #1: #2^^J}%
		 \fi%
	 }%
% @vln@debug
	\def\@vln@debug{%
		\message{^^JDEBUG: @vln@item: \the\@vln@item^^J}%
		\@for\@type:=\@vln@item@types\do{%
			\message{DEBUG:  @vln@\@type\space= \the\csname @vln@\@type\endcsname^^J}%
		 }%
	 }%
% \@vln@staff
	\newlength\@vln@staff@vdim@skip%
	\newlength%
		\@vln@staff@vdim%
		\@vln@staff@vdim=0pt\relax%
	\newdimen%
		\@vln@staff@semitone@vdim%
		\@vln@staff@semitone@vdim=3pt%
	\newlength%
		\@vln@staff@interv@skip%
		\@vln@staff@interv@skip=\@vln@staff@semitone@vdim\relax%
		\multiply\@vln@staff@interv@skip by 2\relax%
	\newlength%
		\@vln@staff@skip%
		\@vln@staff@skip=0pt\relax%
	\def\@vln@staff@hsize@max{\hsize}%
	\def\@vln@staff@vsize@max{\textheight}%
	\def\@vln@staff@tone@vskip{%
		\advance\@vln@staff@vdim by\@vln@staff@semitone@vdim%
		\nobreak%
	 }%
	% \definecolor
		\definecolor{colVlnStaffSemiToneToneEven}{gray}{0.98}%
		\definecolor{colVlnStaffSemiToneToneOdd}{gray}{1}%
		\definecolor{colVlnStaffSemiToneToneFifth}{gray}{0.92}%
	\def\@vln@staff@semitone@line@output rank:#1{%
		{%
			\color{colVlnStaffSemiToneTone#1}%
			\hrule depth 0pt height \@vln@staff@semitone@vdim width \@vln@staff@hsize@max%
		}%
	 }%
	\def\@vln@staff@semitone@five@output{%
		\@vln@staff@semitone@line@output rank:{Odd}%
		\@vln@staff@tone@vskip%
		\@vln@staff@semitone@line@output rank:{Even}%
		\@vln@staff@tone@vskip%
		\@vln@staff@semitone@line@output rank:{Odd}%
		\@vln@staff@tone@vskip%
		\@vln@staff@semitone@line@output rank:{Even}%
		\@vln@staff@tone@vskip%
		\@vln@staff@semitone@line@output rank:{Fifth}%
		\@vln@staff@tone@vskip%
	 }%
	\def\@vln@staff@semitone@output{%
		\@vln@staff@semitone@line@output rank:{Fifth}\@vln@staff@tone@vskip%
		\@vln@staff@semitone@five@output%
		\@vln@staff@semitone@five@output%
		\@vln@staff@semitone@five@output%
		\@vln@staff@semitone@five@output%
		\@vln@staff@semitone@five@output%
	 }%
	\newlength%
		\@vln@staff@note@hskip%
		\@vln@staff@note@hskip=0pt\relax%
	\newlength%
		\@vln@staff@note@vskip%
		\@vln@staff@note@vskip=0pt\relax%
	\gdef\@vln@staff@output{%
		\nobreak\vskip\@vln@staff@vdim@skip%
		\nobreak\vskip\@vln@staff@vdim%
		\advance\@vln@staff@skip by\@vln@staff@vdim\relax%
		\dimen@=\@vln@staff@skip\relax%
		\advance\dimen@ by\@vln@staff@vdim\relax%
		\ifnum\dimen@>\@vln@staff@vsize@max%
			\@vln@staff@skip=0pt\relax%
			\break%
		 \else%
			\advance\@vln@staff@skip by\@vln@staff@interv@skip\relax%
			\nobreak\vskip\@vln@staff@interv@skip%
		 \fi%
		\@vln@staff@note@hskip=0pt\relax%
		\@vln@staff@vdim=0pt\relax%
		\@vln@staff@semitone@output%
		\advance\@vln@staff@vdim by\@vln@staff@semitone@vdim%
		\nobreak\vskip-\@vln@staff@vdim%
	 }%
	\def\@vln@staff@output@automatic{%
		\dimen@=\@vln@staff@note@hskip%
		\advance\dimen@ by\@vln@note@hdim\relax%
		\ifnum\dimen@>\@vln@staff@hsize@max%
			\@vln@staff@output%
		 \fi%
	 }%
% \@vln@cord@pitch
	\def\@vln@cord@pitch@def#1=#2{%
		\expandafter\edef\csname @vln@cord@pitch@#1\endcsname{#2}%
	 }%
	\@vln@cord@pitch@def{0}={0}%  G
	\@vln@cord@pitch@def{1}={7}%  D
	\@vln@cord@pitch@def{2}={14}% A
	\@vln@cord@pitch@def{3}={21}% E
	\def\@vln@cord@pitch@#1{%
		\csname @vln@cord@pitch@#1\endcsname%
	 }%
% \@vln@octave@pitch
	\def\@vln@octave@pitch@def#1=#2{%
		\expandafter\edef\csname @vln@octave@pitch@#1\endcsname{#2}%
	 }%
	\@vln@octave@pitch@def{G=}={0}%
	\@vln@octave@pitch@def{G+}={1}%
	\@vln@octave@pitch@def{A-}={1}%
	\@vln@octave@pitch@def{A=}={2}%
	\@vln@octave@pitch@def{A+}={3}%
	\@vln@octave@pitch@def{B-}={3}%
	\@vln@octave@pitch@def{B=}={4}%
	\@vln@octave@pitch@def{B+}={5}%
	\@vln@octave@pitch@def{C-}={4}%
	\@vln@octave@pitch@def{C=}={5}%
	\@vln@octave@pitch@def{C+}={6}%
	\@vln@octave@pitch@def{D-}={6}%
	\@vln@octave@pitch@def{D=}={7}%
	\@vln@octave@pitch@def{D+}={8}%
	\@vln@octave@pitch@def{E-}={8}%
	\@vln@octave@pitch@def{E=}={9}%
	\@vln@octave@pitch@def{E+}={10}%
	\@vln@octave@pitch@def{F-}={9}%
	\@vln@octave@pitch@def{F=}={10}%
	\@vln@octave@pitch@def{F+}={11}%
	\@vln@octave@pitch@def{G-}={11}%
	\def\@vln@octave@pitch@#1{%
		\csname @vln@octave@pitch@#1\endcsname%
	 }%
% \@vln@bar
	% \@vln@bar@output
		\definecolor{colVlnBar}{gray}{.85}%
		\def\@vln@bar@font{%
			\color{colVlnBar}%
		 }%
		\def\@vln@bar@output{%
			\@vln@note@output@{0}%
			 {}%
			 {\vbox to0pt{%
				\dimen@\@vln@staff@vdim%
				\advance\dimen@ by -\@vln@note@vdim\relax%
				\advance\dimen@ by -\@vln@note@vdim\relax%
				\setbox0=\hbox{{\@vln@bar@font\vrule depth 0pt height \dimen@ width 0.1pt\relax}}%
				\nobreak\vskip\@vln@note@vdim\relax%
				\dp0=0pt\relax%
				\box0}}%
			 {}%
		 }%
	\def\@vln@bar@def{%
		\@vln@item@def{bar}%
	 }%
% \@vln@cresc
	% \@vln@cresc@left
		\def\@vln@cresc@left{}%
		\def\@vln@cresc@left@def#1{%
			\expandafter\edef\csname @vln@cresc@left\endcsname{#1}%
		 }%
	% \@vln@cresc@right
		\def\@vln@cresc@right{}%
		\def\@vln@cresc@right@def#1{%
			\expandafter\edef\csname @vln@cresc@right\endcsname{#1}%
		 }%
	\def\@vln@cresc@def way:#1{%
		\@vln@cresc@left@def{\@vln@cresc@right}%
		\@vln@cresc@right@def{#1}%
	 }%
% \@vln@note
	% \@vln@note@accidental
		\def\@vln@note@accidental@def#1{%
			\ifthenelse{\equal{#1}{.}}%
			 {%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\expandafter\edef\csname @vln@note@accidental@\the\@vln@note\endcsname{%
					\@vln@note@accidental@{\the\count@}%
				 }%
			 }%
			 {%
				\expandafter\edef\csname @vln@note@accidental@\the\@vln@note\endcsname{#1}%
			 }%
			\@vln@trace{@vln@note@accidental@def}{@vln@note=\the\@vln@note: @vln@note@accidental=\@vln@note@accidental}%
		 }%
		\def\@vln@note@accidental@#1{%
			\csname @vln@note@accidental@#1\endcsname%
		 }%
		\def\@vln@note@accidental{%
			\csname @vln@note@accidental@\the\@vln@note\endcsname%
		 }%
		% \@vln@note@accidental@output
			\def\@vln@note@accidental@output@def #1=#2{%
				\expandafter\edef\csname @vln@note@accidental@output@#1\endcsname{#2}%
			 }%
			\@vln@note@accidental@output@def{-}={\kern-0.7pt$\flat$}%
			\@vln@note@accidental@output@def{=}={}%
			\@vln@note@accidental@output@def{+}={\kern-0.7pt$\sharp$}%
			\def\@vln@note@accidental@output{%
				\csname @vln@note@accidental@output@\the\@vln@note\endcsname%
			 }%
	% \@vln@note@bow
		% \definecolor
			\definecolor{colVlnBowU}{gray}{0.50}%
			\definecolor{colVlnBowD}{gray}{0}%
			\definecolor{colVlnBowN}{gray}{1}%
		\def\@vln@note@bow@def#1{%
			\ifthenelse{\equal{#1}{C}}%
			 {%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\ifthenelse{\equal{\@vln@note@bow@{\the\count@}}{U}}%
				 {\expandafter\def\csname @vln@note@bow@\the\@vln@note\endcsname{D}}%
				 {\expandafter\def\csname @vln@note@bow@\the\@vln@note\endcsname{U}}%
			 }%
			 {%
				\ifthenelse{\equal{#1}{.}}%
				 {%
					\count@=\@vln@note%
					\advance\count@ by -1\relax%
					\expandafter\edef\csname @vln@note@bow@\the\@vln@note\endcsname%
					 {\@vln@note@bow@{\the\count@}}%
				 }%
				 {%
					\expandafter\def\csname @vln@note@bow@\the\@vln@note\endcsname{#1}%
				 }%
			 }%
			\@vln@trace{@vln@note@bow@def}{@vln@note=\the\@vln@note: @vln@note@bow=\@vln@note@bow}%
		 }%
		\def\@vln@note@bow@#1{%
			\csname @vln@note@bow@#1\endcsname%
		 }%
		\def\@vln@note@bow{%
			\csname @vln@note@bow@\the\@vln@note\endcsname%
		 }%
		% \@vln@note@bow@output
			\def\@vln@note@bow@output{%
				\@vln@trace{@vln@note@bow@output}{@vln@note=\the\@vln@note:}%
				\@vln@note@output@{\@vln@note@pos}%
				 {\begingroup\expandafter\color{colVlnBow\@vln@note@bow}}%
				 {%
					\hbox{%
						\ifthenelse{\equal{\@vln@note@bow}{N}}%
						 {}%
						 {%
							\vrule depth 0pt height \@vln@note@vdim width \@vln@note@hdim\relax%
							\nobreak\hskip-\@vln@note@hdim\relax%
							\@vln@note@cresc@output%
						 }%
					 }%
				 }%
				 {\endgroup}%
			 }%
	% \@vln@note@chord
		\def\@vln@note@chord@def#1{%
			\expandafter\edef\csname @vln@note@chord@\the\@vln@note\endcsname{#1}%
		 }%
		\def\@vln@note@chord@#1{%
			\csname @vln@note@chord@#1\endcsname%
		 }%
		\def\@vln@note@chord{%
			\csname @vln@note@chord@\the\@vln@note\endcsname%
		 }%
		% \@vln@note@chord@output
			\def\@vln@note@chord@output{%
				\ifthenelse{\equal{\@vln@note@chord}{true}}%
				 {%
				 }%
				 {%
					\advance\@vln@staff@note@hskip by\@vln@note@hdim\relax%
				 }%
			 }%
	% \@vln@note@cord
		\def\@vln@note@cord@def#1{%
			\ifthenelse{\equal{#1}{.}}%
			 {%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\expandafter\edef\csname @vln@note@cord@\the\@vln@note\endcsname{%
					\@vln@note@cord@{\the\count@}%
				 }%
			 }%
			 {%
				\expandafter\edef\csname @vln@note@cord@\the\@vln@note\endcsname{#1}%
			 }%
			\@vln@trace{@vln@note@cord@def}{@vln@note=\the\@vln@note: @vln@note@cord=\@vln@note@cord}%
		 }%
		\def\@vln@note@cord@#1{%
			\csname @vln@note@cord@#1\endcsname%
		 }%
		\def\@vln@note@cord{%
			\csname @vln@note@cord@\the\@vln@note\endcsname%
		 }%
		\def\@vln@note@cord@pitch{%
			\@vln@cord@pitch@{\@vln@note@cord}%
		 }%
	% \@vln@note@cresc
		% \@vln@note@cresc@left
			\def\@vln@note@cresc@left@def#1{%
				\expandafter\edef\csname @vln@note@cresc@left@\the\@vln@note\endcsname{#1}%
			 }%
			\def\@vln@note@cresc@left@#1{%
				\csname @vln@note@cresc@left@#1\endcsname%
			 }%
			\def\@vln@note@cresc@left{%
				\csname @vln@note@cresc@left@\the\@vln@note\endcsname%
			 }%
		% \@vln@note@cresc@right
			\def\@vln@note@cresc@right@def#1{%
				\expandafter\edef\csname @vln@note@cresc@right@\the\@vln@note\endcsname{#1}%
			 }%
			\def\@vln@note@cresc@right@#1{%
				\csname @vln@note@cresc@right@#1\endcsname%
			 }%
			\def\@vln@note@cresc@right{%
				\csname @vln@note@cresc@right@\the\@vln@note\endcsname%
			 }%
		\def\@vln@note@cresc@def{%
			\@vln@note@cresc@left@def{\@vln@cresc@left}%
			\@vln@note@cresc@right@def{\@vln@cresc@right}%
		 }%
		% \@vln@note@cresc@output
			\definecolor{colVlnCrescD}{rgb}{0,0.66,0}%
			\definecolor{colVlnCrescU}{rgb}{1,0,0}%
			\def\@vln@note@cresc@output{%
				\dimen@=\@vln@note@vdim%
				\divide\dimen@ by 3\relax%
				\dimen@@=\@vln@note@hdim%
				\divide\dimen@@ by 2\relax%
				\ifthenelse{\equal{\@vln@note@cresc@left}{}}%
				 {%
					\ifthenelse{\equal{\@vln@note@cresc@right}{}}%
					 {%
					 }%
					 {%
						\vrule depth 0pt height 0pt width \dimen@@\relax%
						\color{colVlnCresc\@vln@note@cresc@right}%
						\vrule depth 0pt height \dimen@ width \dimen@@\relax%
					 }%
				 }%
				 {%
					\ifthenelse{\equal{\@vln@note@cresc@right}{}}%
					 {%
						\color{colVlnCresc\@vln@note@cresc@left}%
						\vrule depth 0pt height \dimen@ width \dimen@@\relax%
					 }%
					 {%
						\color{colVlnCresc\@vln@note@cresc@left}%
						\vrule depth 0pt height \dimen@ width \dimen@@\relax%
						\color{colVlnCresc\@vln@note@cresc@right}%
						\vrule depth 0pt height \dimen@ width \dimen@@\relax%
					 }%
				 }%
			 }%
	% \@vln@note@finger
		\def\@vln@note@finger@def#1{%
			\ifthenelse{\equal{#1}{.}}%
			 {%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\expandafter\edef\csname @vln@note@finger@\the\@vln@note\endcsname{%
					\@vln@note@finger@{\the\count@}%
				 }%
			 }%
			 {%
				\expandafter\edef\csname @vln@note@finger@\the\@vln@note\endcsname{#1}%
			 }%
			\@vln@trace{@vln@note@finger@def}{@vln@note=\the\@vln@note: @vln@note@finger=\@vln@note@finger}%
		 }%
		\def\@vln@note@finger@#1{%
			\csname @vln@note@finger@#1\endcsname%
		 }%
		\def\@vln@note@finger{%
			\csname @vln@note@finger@\the\@vln@note\endcsname%
		 }%
		% \@vln@note@finger@output
			%\definecolor{colVlnBowFinger}{rgb}{0,0,0}%
			\definecolor{colVlnBowFingerCord0}{rgb}{0,0,0}%
			\definecolor{colVlnBowFingerCord1}{rgb}{0,0.66,0}%
			\definecolor{colVlnBowFingerCord2}{rgb}{0,0,1}%
			\definecolor{colVlnBowFingerCord3}{rgb}{1,0,0}%
			\def\@vln@finger@font{%
				\expandafter\color{colVlnBowFingerCord\@vln@note@cord}%
				\fontfamily{pnc}\bfseries\sssmall%
			 }%
			\def\@vln@note@finger@output{%
				\ifthenelse{\equal{\@vln@note@bow}{N}}%
				 {}%
				 {%
					\@vln@note@output@{\@vln@note@pos}%
					 {}%
					 {%
						\vbox to0pt{%
							\setbox0=\hbox{{\@vln@finger@font{\@vln@note@finger}}}%
							\nobreak\vskip\@vln@note@vdim\relax%
							\nobreak\vskip0.2mm\relax%
							\dp0=0pt\relax% NOTE: to prevent fonts like pnc to mess up the vertical alignment
							\box0%
						 }%
					 }%
					 {}%
				 }%
			 }%
	% \@vln@note@octave
		\def\@vln@note@octave@def#1{%
			\ifthenelse{\equal{#1}{.}}%
			 {%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\expandafter\edef\csname @vln@note@octave@\the\@vln@note\endcsname{%
					\@vln@note@octave@{\the\count@}%
				 }%
			 }%
			 {%
				\expandafter\edef\csname @vln@note@octave@\the\@vln@note\endcsname{#1}%
			 }%
			\@vln@trace{@vln@note@octave@def}{@vln@note=\the\@vln@note: @vln@note@octave=\@vln@note@octave}%
		 }%
		\def\@vln@note@octave@#1{%
			\csname @vln@note@octave@#1\endcsname%
		 }%
		\def\@vln@note@octave{%
			\csname @vln@note@octave@\the\@vln@note\endcsname%
		 }%
		\def\@vln@note@octave@pitch{%
			\expandafter\@vln@octave@pitch@{\@vln@note@semitone}%
		 }%
	% \@vln@note@pitch
		\newcount\@vln@note@pitch@count%
		\def\@vln@note@pitch@def{%
			\@vln@note@pitch@count=\@vln@note@octave%
			\multiply\@vln@note@pitch@count by 12\relax%
			\advance\@vln@note@pitch@count by\@vln@note@octave@pitch%
			\expandafter\edef\csname @vln@note@pitch@\the\@vln@note\endcsname{\the\@vln@note@pitch@count}%
			\@vln@trace{@vln@note@pitch@def}{@vln@note=\the\@vln@note: @vln@note@pitch=\@vln@note@pitch}%
		 }%
		\def\@vln@note@pitch@#1{%
			\csname @vln@note@pitch@#1\endcsname%
		 }%
		\def\@vln@note@pitch{%
			\csname @vln@note@pitch@\the\@vln@note\endcsname%
		 }%
	% \@vln@note@pos
		\newcount\@vln@note@pos@count%
		\def\@vln@note@pos@def{%
			\@vln@note@pos@count=\@vln@note@pitch%
			\advance\@vln@note@pos@count by -\@vln@note@cord@pitch%
			\expandafter\edef\csname @vln@note@pos@\the\@vln@note\endcsname{\the\@vln@note@pos@count}%
			\@vln@trace{@vln@note@pos@def}{@vln@note=\the\@vln@note: @vln@note@pos=\@vln@note@pos}%
		 }%
		\def\@vln@note@pos@#1{%
			\csname @vln@note@pos@#1\endcsname%
		 }%
		\def\@vln@note@pos{%
			\csname @vln@note@pos@\the\@vln@note\endcsname%
		 }%
	% \@vln@note@semitone
		\def\@vln@note@semitone{%
			\@vln@note@tone%
			\@vln@note@accidental%
		 }%
		% \@vln@note@semitone@output
			\definecolor{colVlnOctave0}{rgb}{0,0,0}%
			\definecolor{colVlnOctave1}{rgb}{0,0.66,0}%
			\definecolor{colVlnOctave2}{rgb}{0,0,1}%
			\definecolor{colVlnOctave3}{rgb}{1,0,0}%
			\definecolor{colVlnOctave4}{rgb}{1,1,0}%
			\def\@vln@note@semitone@font{%
				\expandafter\color{colVlnOctave\@vln@note@octave}%
				\fontfamily{pnc}\scshape\ssssmall%
			 }%
			\def\@vln@note@semitone@output{%
				\ifthenelse{\equal{\@vln@note@bow}{N}}%
				 {}%
				 {%
					\@vln@note@output@{\@vln@note@pos}%
					 {}%
					 {%
						\vbox to0pt{%
							\setbox0=\hbox{{\@vln@note@semitone@font{\@vln@note@tone\@vln@note@accidental@output}}}%
							\nobreak\vskip-0.275mm\relax%
							\nobreak\vskip-\ht0\relax%
							%\vskip-\dp0\relax%
							\dp0=0pt\relax% NOTE: to prevent fonts like pnc to mess up the vertical alignment
							\box0%
						 }%
					 }%
					 {}%
				 }%
			 }%
	% \@vln@note@time
		\def\@vln@note@time@def#1{%
			\expandafter\edef\csname @vln@note@time@\the\@vln@note\endcsname{#1}%
			\@vln@trace{@vln@note@time@def}{@vln@note=\the\@vln@note: @vln@note@time=\@vln@note@time}%
		 }%
		\def\@vln@note@time@#1{%
			\csname @vln@note@time@#1\endcsname%
		 }%
		\def\@vln@note@time{%
			\@vln@note@time@{\the\@vln@note}%
		 }%
		% \@vln@note@time@num
			\def\@vln@note@time@num@def#1{%
				\ifthenelse{\equal{#1}{.}}%
				 {%
					\ifnum\@vln@note@time=\z@%
						\count@=\@vln@note%
						\advance\count@ by -1\relax%
						\count@@=\@vln@note@time@{\the\count@}%
						\advance\count@@ by -1\relax%
						\expandafter\edef\csname @vln@note@time@num@\the\@vln@note @\@vln@note@time\endcsname{%
							\@vln@note@time@num@@{\the\count@}{\the\count@@}%
						 }%
					 \else%
						\count@=\@vln@note@time%
						\advance\count@ by -1\relax%
						\expandafter\edef\csname @vln@note@time@num@\the\@vln@note @\@vln@note@time\endcsname{%
							\@vln@note@time@num@{\the\count@}%
						 }%
					 \fi%
				 }%
				 {%
					\expandafter\edef\csname @vln@note@time@num@\the\@vln@note @\@vln@note@time\endcsname{#1}%
				 }%
				\@vln@trace{@vln@note@time@num@def}{@vln@note=\the\@vln@note: @vln@note@time@num@=\@vln@note@time@num@{\@vln@note@time}}%
			 }%
			\def\@vln@note@time@num@@#1#2{%
				\csname @vln@note@time@num@#1@#2\endcsname%
			 }%
			\def\@vln@note@time@num@#1{%
				\csname @vln@note@time@num@\the\@vln@note @#1\endcsname%
			 }%
		% \@vln@note@time@den
			\def\@vln@note@time@den@def#1{%
				\ifthenelse{\equal{#1}{.}}%
				 {%
					\ifnum\@vln@note@time=\z@%
						\count@=\@vln@note%
						\advance\count@ by -1\relax%
						\count@@=\@vln@note@time@{\the\count@}%
						\advance\count@@ by -1\relax%
						\expandafter\edef\csname @vln@note@time@den@\the\@vln@note @\@vln@note@time\endcsname{%
							\@vln@note@time@den@@{\the\count@}{\the\count@@}%
						 }%
					 \else%
						\count@=\@vln@note@time%
						\advance\count@ by -1\relax%
						\expandafter\edef\csname @vln@note@time@den@\the\@vln@note @\the\count@\endcsname{%
							\@vln@note@time@den@{\the\count@}%
						 }%
					 \fi%
				 }%
				 {%
					\expandafter\edef\csname @vln@note@time@den@\the\@vln@note @\@vln@note@time\endcsname{#1}%
				 }%
				\@vln@trace{@vln@note@time@den@def}{@vln@note=\the\@vln@note: @vln@note@time@den@=\@vln@note@time@den@{\@vln@note@time}}%
			 }%
			\def\@vln@note@time@den@@#1#2{%
				\csname @vln@note@time@den@#1@#2\endcsname%
			 }%
			\def\@vln@note@time@den@#1{%
				\csname @vln@note@time@den@\the\@vln@note @#1\endcsname%
			 }%
		% \@vln@note@hdim
			\def\@vln@note@hdim@unit{2cm}%
			\newif%
				\if@vln@note@time@hdim@%
				\@vln@note@time@hdim@true%
			\newcount\@vln@note@hdim@def@loop%
			\def\@vln@note@hdim@def{%
				\if@vln@note@time@hdim@%
					\expandafter\def\csname @vln@note@hdim@\the\@vln@note\endcsname{0pt}%
					\@vln@note@hdim@def@loop=0%
					\whiledo{\@vln@note@hdim@def@loop<\@vln@note@time}{%
						\dimen@=\@vln@note@hdim@unit%
						\multiply\dimen@ by\@vln@note@time@num@{\the\@vln@note@hdim@def@loop}\relax%
						\divide\dimen@   by\@vln@note@time@den@{\the\@vln@note@hdim@def@loop}\relax%
						\advance\dimen@ by\@vln@note@hdim\relax%
						\expandafter\edef\csname @vln@note@hdim@\the\@vln@note\endcsname{\the\dimen@}%
						\advance\@vln@note@hdim@def@loop by 1\relax%
					 }%
				\else%
					\expandafter\edef\csname @vln@note@hdim@\the\@vln@note\endcsname{\@vln@note@hdim@unit}%
				 \fi%
				\@vln@trace{@vln@note@hdim@def}{@vln@note=\the\@vln@note: @vln@note@hdim=\@vln@note@hdim}%
			 }%
			\def\@vln@note@hdim{%
				\csname @vln@note@hdim@\the\@vln@note\endcsname%
			 }%
		% \@vln@note@time@output
			\newdimen%
				\@vln@note@vdim%
				\@vln@note@vdim=\@vln@staff@semitone@vdim%
			\newif%
				\if@vln@note@time@output@%
				\@vln@note@time@output@false%
			\def\@vln@note@time@font{%
				\fontfamily{pnc}\bfseries\ssssmall%
			 }%
			\def\@vln@note@time@frac@output#1/#2{%
				\leavevmode%
				\hbox{#1}%
				\kern-.4ex\lower.3ex\hbox{\bfseries\tiny /}%
				\kern-.3ex\lower.6ex\hbox{#2}%
			 }%
			\def\@vln@note@time@output{%
				\@vln@trace{@vln@note@time@output}{@vln@note=\the\@vln@note:}%
				\if@vln@note@time@output@%
					\null%
				\else%
					\@vln@note@output@{\@vln@note@pos}%
					 {}%
					 {%
						% FIXME: handle \@vln@note@time
						\vbox to0pt{%
							\setbox0=\hbox{%
								\ifthenelse{\equal{\@vln@note@time@den@0}{1}}%
								 {{\@vln@note@time@font{\@vln@note@time@num@0}}}%
								 {\@vln@note@time@frac@output%
									 {\@vln@note@time@font{\@vln@note@time@num@0}}/%
									 {\@vln@note@time@font{\@vln@note@time@den@0}}}%
							 }%
							\nobreak\vskip\@vln@note@vdim\relax%
							\nobreak\vskip0.2mm\relax%
							\nobreak\hskip\@vln@note@hdim\relax%
							\nobreak\hskip-\wd0\relax%
							\dp0=0pt\relax%
							\box0%
						 }%
					 }%
					 {}%
				 \fi%
			 }%
	% \@vln@note@tone
		\def\@vln@note@tone@def#1{%
			\ifthenelse{\equal{#1}{.}}%
			 {%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\expandafter\edef\csname @vln@note@tone@\the\@vln@note\endcsname{%
					\@vln@note@tone@{\the\count@}%
				 }%
			 }%
			 {%
				\expandafter\edef\csname @vln@note@tone@\the\@vln@note\endcsname{#1}%
			 }%
			\@vln@trace{@vln@note@tone@def}{@vln@note=\the\@vln@note: @vln@note@tone=\@vln@note@tone}%
		 }%
		\def\@vln@note@tone@#1{%
			\csname @vln@note@tone@#1\endcsname%
		 }%
		\def\@vln@note@tone{%
			\csname @vln@note@tone@\the\@vln@note\endcsname%
		 }%
	% \@vln@note@output
		\def\@vln@note@output@#1#2#3#4{%
			\count@=#1%
			\@vln@trace{@vln@note@output@}{@vln@note=\the\@vln@note: pos=\the\count@}%
			\nointerlineskip%
			\@vln@staff@note@vskip=0pt\relax%
			\advance\@vln@staff@note@vskip by\@vln@staff@semitone@vdim\relax%
			\multiply\@vln@staff@note@vskip by#1\relax%
			\advance\@vln@staff@note@vskip by\@vln@staff@semitone@vdim\relax%
			\nobreak\vskip\@vln@staff@note@vskip\relax%
			\vrule depth 0pt height 0pt width \@vln@staff@note@hskip\relax%
			\setbox0=#3%
			\advance\@vln@staff@note@vskip by\ht0\relax%
			#2%
			\box0%
			#4%
			\nobreak\vskip-\@vln@staff@note@vskip\relax%
			\nointerlineskip%
		 }%
		\def\@vln@note@output{%
			\@vln@trace{@vln@note@output}{[ @vln@note=\the\@vln@note:}%
			\@vln@note@hdim@def%
			\@vln@staff@output@automatic%
			%\@vln@note@time@output%
			\@vln@note@bow@output%
			\@vln@note@finger@output%
			\@vln@note@semitone@output%
			\@vln@note@chord@output%
			\nointerlineskip%
			\@vln@trace{@vln@note@output}{] @vln@note=\the\@vln@note:}%
		 }%
	\def\@vln@note@def@chord@{%
		\@ifnextchar&{%
			\@vln@trace{@vln@note@def@chord@}{| @vln@note=\the\@vln@note: chord=yes}%
			\def\next&{%
				\@vln@note@chord@def{yes}%
				\@vln@lily@note@def%
				\@vln@item@def type:{note}%
			 }%
			\next%
		 }{%
			\@vln@trace{@vln@note@def@chord@}{| @vln@note=\the\@vln@note: chord=false}%
			\@vln@note@chord@def{false}%
			\@vln@lily@note@def%
			\@vln@item@def type:{note}%
		 }%
	 }%
	\def\@vln@note@def@time@ tie:#1+#2#3{%
		\@vln@trace{@vln@note@def@time@}{| @vln@note=\the\@vln@note: tie=#1+#2#3}%
		\@vln@note@time@def{#1}%
		\@vln@note@time@num@def{#2}%
		\@vln@note@time@den@def{#3}%
		\count@=#1\relax%
		\advance\count@ by 1\relax%
		\@vln@note@time@def{\the\count@}%
		\@ifnextchar+%
		 {\@vln@note@def@time@ tie:\@vln@note@time}%
			\@vln@note@def@chord@%
	 }%
	\def\@vln@note@def octave:#1tone:#2accidental:#3cord:#4finger:#5bow:#6time:{%
		\@vln@trace{@vln@note@def}{octave=#1 tone=#2 accidental=#3 cord=#4 finger=#5 bow=#6}%
		\@vln@note@cresc@def%
		\@vln@note@octave@def{#1}%
		\@vln@note@tone@def{#2}%
		\@vln@trace{@vln@note@def}{BEGIN}%
		\@vln@note@accidental@def{#3}%
		\@vln@trace{@vln@note@def}{END}%
		\@vln@note@cord@def{#4}%
		\@vln@note@finger@def{#5}%
		\@vln@note@bow@def{#6}%
		\@vln@note@pitch@def%
		\@vln@note@pos@def%
		\@vln@note@def@time@ tie:{0}+%
	 }%
% \@vln@part
	% \@vln@part@text
		\def\@vln@part@text@def#1{%
			\expandafter\edef\csname @vln@part@text@\the\@vln@part\endcsname{#1}%
		 }%
		\def\@vln@part@text@#1{%
			\csname @vln@part@text@#1\endcsname%
		 }%
		\def\@vln@part@text{%
			\@vln@part@text@{\the\@vln@part}%
		 }%
	% \@vln@part@output
		\definecolor{colVlnPart}{gray}{0}%
		\def\@vln@part@font{%
			\color{colVlnPart}%
			\fontfamily{pnc}\bfseries\sssmall%
		 }%
		\def\@vln@part@up@output{%
			\@vln@note@output@{0}%
			 {}%
			 {\vbox to0pt{%
				\setbox0=\hbox{{\@vln@part@font{\@vln@part@text}}}%
				\nobreak\vskip-0.3mm\relax%
				\nobreak\vskip-\ht0\relax%
				\nobreak\vskip-\ht0\relax%
				\dp0=0pt\relax% NOTE: to prevent fonts like pnc to mess up the vertical alignment
				\box0}}%
			 {}%
		 }%
		\def\@vln@part@output{%
			\@vln@note@output@{0}%
			 {}%
			 {\vbox to0pt{%
				\setbox0=\hbox{{\@vln@part@font{\@vln@part@text}}}%
				\nobreak\vskip-0.3mm\relax%
				\nobreak\vskip-\ht0\relax%
				\dp0=0pt\relax% NOTE: to prevent fonts like pnc to mess up the vertical alignment
				\box0}}%
			 {}%
		 }%
	\def\@vln@part@def text:#1{%
		\@vln@part@text@def {#1}%
		\@vln@item@def type:{part}%
	 }%
% \@vln@item
	\newcount\@vln@item%
	% \@vln@item@type
		\def\@vln@item@type@def#1{%
			\expandafter\edef\csname @vln@item@type@\the\@vln@item\endcsname{#1}%
		 }%
		\def\@vln@item@type@#1{%
			\csname @vln@item@type@#1\endcsname%
		 }%
		\def\@vln@item@type{%
			\csname @vln@item@type@\the\@vln@item\endcsname%
		 }%
	\def\@vln@item@types{%
		bar,%
		note,%
		part%
	 }%
	\def\@vln@item@def type:#1{%
		\@vln@trace{@vln@item@def}{[ type=#1}%
		\@vln@item@type@def{#1}%
		\@vln@trace{@vln@item@def}{| @vln@item@type@{\the\@vln@item} = \@vln@item@type@{\the\@vln@item}}%
		\expandafter\advance%
		 \csname @vln@\@vln@item@type@{\the\@vln@item}\endcsname%
		 by 1\relax%
		\@vln@trace{@vln@item@def}{| @vln@\@vln@item@type@{\the\@vln@item} = \the\csname @vln@\@vln@item@type@{\the\@vln@item}\endcsname}%
		\advance\@vln@item by 1\relax%
		\@vln@trace{@vln@item@def}{]}%
	 }%
	\@for\@type:=\@vln@item@types\do{%
		\expandafter\newcount\csname @vln@\@type\endcsname%
	 }%
	\newcount\@vln@item@output@loop%
	\def\@vln@item@output{%
		\@vln@item@output@loop=0%
		\@for\@type:=\@vln@item@types\do{%
			\csname @vln@\@type\endcsname=0%
		 }%
		\whiledo{\@vln@item@output@loop<\@vln@item}{%
			\csname @vln@\@vln@item@type@{\the\@vln@item@output@loop}@output\endcsname%
			\expandafter\advance%
			 \csname @vln@\@vln@item@type@{\the\@vln@item@output@loop}\endcsname%
			 by 1\relax%
			\advance\@vln@item@output@loop by 1\relax%
		 }%
	 }%
% \@vln@lily
	% \@vln@lily@output
		\def\@vln@lily@output{}%
		\newcount\@vln@lily@output@loop%
		\def\@vln@lily@output@flush{%
			\@vln@trace{@vln@lily@output@flush}{}%
			%\ifthenelse{\equal{\@vln@lily@slur@begin}{}}%
			% {%
			% }%
			% {%
			%	\@vln@lily@note@def@{\@vln@lily@slur@begin}={\@vln@lily@note@{\@vln@lily@slur@begin}(}%
			%	\count@=\@vln@note%
			%	\advance\count@ by -1\relax%
			%	\@vln@lily@note@def@{\the\count@}={)\@vln@lily@note@{\the\count@}}%
			%	\def\@vln@lily@slur@begin{}%
			% }%
			%\ifthenelse{\equal{\@vln@lily@note@time}{}}%
			% {%
			% }%
			% {%
			%	\count@=\@vln@note%
			%	\advance\count@ by -1\relax%
			%	\@vln@lily@note@def@{\the\count@}={\@vln@lily@note\textcurlybraceclose}%
			% }%
			\@vln@lily@output@loop=0%
			\whiledo{\@vln@lily@output@loop<\@vln@note}{%
				\edef\@vln@lily@output{%
					\@vln@lily@output%
					\@vln@lily@note@output@{\the\@vln@lily@output@loop}%
					^^J%
				 }%
				\advance\@vln@lily@output@loop by 1\relax%
			 }%
		 }%
		\def\@vln@lily@output@write{%
			\newwrite\@vln@lily@output@file%
			\immediate\openout\@vln@lily@output@file=out.ly%
			\immediate\write\@vln@lily@output@file{\@vln@lily@output}%
			\immediate\closeout\@vln@lily@output@file%
		 }%
		\def\@vln@lily@output@write@verbatim{%
			\@bsphack%
			\let\do\@makeother\dospecials%
			\catcode`\^^M\active \catcode`\^^I=12%
			\def\verbatim@processline{%
				\xdef\@vln@lily@output{\@vln@lily@output\the\verbatim@line^^J}%
			 }%
			\verbatim@start%
		 }%
		\def\end@vln@lily@output@write@verbatim{%
			\@esphack%
		 }%
	% \@vln@lily@time
		\def\@vln@lily@time@def#1/#2=#3#4{%
			\expandafter\def\csname @vln@lily@time@times@#1/#2\endcsname{#3}%
			\expandafter\def\csname @vln@lily@time@wholedotted@#1/#2\endcsname{#4}%
		 }%
		% FIXME: à compléter..
			\@vln@lily@time@def 1/2={}{2}%
			\@vln@lily@time@def 2/2={}{1}%
			\@vln@lily@time@def 3/2={}{2.}%
			\@vln@lily@time@def 1/4={}{4}%
			\@vln@lily@time@def 2/4={}{2}%
			\@vln@lily@time@def 3/4={}{???}%
			\@vln@lily@time@def 4/4={}{1}%
			\@vln@lily@time@def 1/8={}{8}%
			\@vln@lily@time@def 2/8={}{4}%
			\@vln@lily@time@def 3/8={}{4.}%
			\@vln@lily@time@def 4/8={}{2}%
			\@vln@lily@time@def 5/8={}{???}%
			\@vln@lily@time@def 6/8={}{2.}%
			\@vln@lily@time@def 7/8={}{???}%
			\@vln@lily@time@def 8/8={}{1}%
			\@vln@lily@time@def 1/12={2/3}{8}%
			\@vln@lily@time@def 2/12={}{???}%
			\@vln@lily@time@def 3/12={}{???}%
			\@vln@lily@time@def 4/12={}{3}%
			\@vln@lily@time@def 5/12={}{???}%
			\@vln@lily@time@def 6/12={}{2}%
			\@vln@lily@time@def 7/12={}{???}%
			\@vln@lily@time@def 8/12={}{???}%
			\@vln@lily@time@def 9/12={}{???}%
			\@vln@lily@time@def 10/12={}{???}%
			\@vln@lily@time@def 11/12={}{???}%
			\@vln@lily@time@def 12/12={}{1}%
			\@vln@lily@time@def 1/16={}{16}%
			\@vln@lily@time@def 2/16={}{8}%
			\@vln@lily@time@def 3/16={}{8.}%
			\@vln@lily@time@def 4/16={}{4}%
			\@vln@lily@time@def 5/16={}{???}%
			\@vln@lily@time@def 6/16={}{???}%
			\@vln@lily@time@def 7/16={}{???}%
			\@vln@lily@time@def 8/16={}{2}%
			\@vln@lily@time@def 9/16={}{???}%
			\@vln@lily@time@def 10/16={}{???}%
			\@vln@lily@time@def 11/16={}{???}%
			\@vln@lily@time@def 12/16={}{???}%
			\@vln@lily@time@def 13/16={}{???}%
			\@vln@lily@time@def 14/16={}{???}%
			\@vln@lily@time@def 15/16={}{???}%
			\@vln@lily@time@def 16/16={}{1}%
			\@vln@lily@time@def 1/32={}{32}%
			\@vln@lily@time@def 2/32={}{16}%
			\@vln@lily@time@def 3/32={}{???}%
			\@vln@lily@time@def 4/32={}{8}%
			\@vln@lily@time@def 5/32={}{???}%
			\@vln@lily@time@def 6/32={}{???}%
			\@vln@lily@time@def 7/32={}{???}%
			\@vln@lily@time@def 8/32={}{4}%
			\@vln@lily@time@def 9/32={}{???}%
			\@vln@lily@time@def 10/32={}{???}%
			\@vln@lily@time@def 11/32={}{???}%
			\@vln@lily@time@def 12/32={}{???}%
			\@vln@lily@time@def 13/32={}{???}%
			\@vln@lily@time@def 14/32={}{???}%
			\@vln@lily@time@def 15/32={}{???}%
			\@vln@lily@time@def 16/32={}{2}%
			\@vln@lily@time@def 17/32={}{???}%
			\@vln@lily@time@def 18/32={}{???}%
			\@vln@lily@time@def 19/32={}{???}%
			\@vln@lily@time@def 20/32={}{???}%
			\@vln@lily@time@def 21/32={}{???}%
			\@vln@lily@time@def 22/32={}{???}%
			\@vln@lily@time@def 23/32={}{???}%
			\@vln@lily@time@def 24/32={}{???}%
			\@vln@lily@time@def 25/32={}{???}%
			\@vln@lily@time@def 26/32={}{???}%
			\@vln@lily@time@def 27/32={}{???}%
			\@vln@lily@time@def 28/32={}{???}%
			\@vln@lily@time@def 29/32={}{???}%
			\@vln@lily@time@def 30/32={}{???}%
			\@vln@lily@time@def 31/32={}{???}%
			\@vln@lily@time@def 32/32={}{1}%
		\def\@vln@lily@time@times@#1/#2{%
			\csname @vln@lily@time@times@#1/#2\endcsname%
		 }%
		\def\@vln@lily@time@wholedotted@#1/#2{%
			\csname @vln@lily@time@wholedotted@#1/#2\endcsname%
		 }%
		\def\@vln@lily@time@#1/#2{%
			\ifthenelse{\equal{\@vln@lily@time@times@#1/#2}{}}%
			 {%
				%
			 }%
			 {%
				%
			 }%
		 }%
	% \@vln@lily@octave
		\def\@vln@lily@octave@def#1=#2{%
			\expandafter\def\csname @vln@lily@octave@#1\endcsname{#2}%
		 }%
		\def\@vln@lily@octave@#1{%
			\csname @vln@lily@octave@#1\endcsname%
		 }%
		\@vln@lily@octave@def{0}={}%
		\@vln@lily@octave@def{1}={'}%
		\@vln@lily@octave@def{2}={''}%
		\@vln@lily@octave@def{3}={'''}%
	% \@vln@lily@semitone
		\def\@vln@lily@semitone@def#1=#2{%
			\expandafter\def\csname @vln@lily@semitone@#1\endcsname{#2}%
		 }%
		\@vln@lily@semitone@def{G=}={g}%
		\@vln@lily@semitone@def{G+}={gis}%
		\@vln@lily@semitone@def{A-}={aes}%
		\@vln@lily@semitone@def{A=}={a}%
		\@vln@lily@semitone@def{A+}={ais}%
		\@vln@lily@semitone@def{B-}={bes}%
		\@vln@lily@semitone@def{B=}={b}%
		\@vln@lily@semitone@def{B+}={bis}%
		\@vln@lily@semitone@def{C-}={ces}%
		\@vln@lily@semitone@def{C=}={c}%
		\@vln@lily@semitone@def{C+}={cis}%
		\@vln@lily@semitone@def{D-}={des}%
		\@vln@lily@semitone@def{D=}={d}%
		\@vln@lily@semitone@def{D+}={dis}%
		\@vln@lily@semitone@def{E-}={ees}%
		\@vln@lily@semitone@def{E=}={e}%
		\@vln@lily@semitone@def{E+}={eis}%
		\@vln@lily@semitone@def{F-}={fes}%
		\@vln@lily@semitone@def{F=}={f}%
		\@vln@lily@semitone@def{F+}={fis}%
		\@vln@lily@semitone@def{G-}={ges}%
		\def\@vln@lily@semitone@#1{%
			\csname @vln@lily@semitone@#1\endcsname%
		 }%
	% \@vln@lily@note
		% \@vln@lily@note@name
			\def\@vln@lily@note@name@def{%
				\ifthenelse{\equal{\@vln@note@bow}{N}}%
				 {%
					\expandafter\edef\csname @vln@lily@note@name@\the\@vln@note\endcsname{r}%
				 }%
				 {%
					\expandafter\edef\csname @vln@lily@note@name@\the\@vln@note\endcsname{\@vln@lily@semitone@{\@vln@note@semitone}}%
				 }%
			 }%
			\def\@vln@lily@note@name@#1{%
				\csname @vln@lily@note@name@#1\endcsname%
			 }%
			\def\@vln@lily@note@name{%
				\csname @vln@lily@note@name@\the\@vln@note\endcsname%
			 }%
		% \@vln@lily@note@octave
			\def\@vln@lily@note@octave@def{%
				\ifthenelse{\equal{\@vln@note@bow}{N}}%
				 {%
					\expandafter\edef\csname @vln@lily@note@octave@\the\@vln@note\endcsname{}%
				 }%
				 {%
					\count@=\@vln@note@pitch\relax%
					\advance\count@ by 7\relax%
					\divide\count@ by 12\relax%
					\expandafter\edef\csname @vln@lily@note@octave@\the\@vln@note\endcsname{\@vln@lily@octave@{\the\count@}}%
				 }%
				\@vln@trace{@vln@lily@note@octave@def}{@vln@note=\the\@vln@note: @vln@lily@note@octave=\@vln@lily@note@octave}%
			 }%
			\def\@vln@lily@note@octave@#1{%
				\csname @vln@lily@note@octave@#1\endcsname%
			 }%
			\def\@vln@lily@note@octave{%
				\csname @vln@lily@note@octave@\the\@vln@note\endcsname%
			 }%
		% \@vln@lily@note@slur
			\def\@vln@lily@slur@begin{}%
			\def\@vln@lily@slur@end{}%
			\def\@vln@lily@note@slur@def{%
				\def\@vln@lily@slur@end{}%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\ifthenelse{\equal{\@vln@note@bow}{\@vln@note@bow@{\the\count@}}}%
				 {%
					\count@=\@vln@note%
					\advance\count@ by -1\relax%
					\ifthenelse{\equal{\@vln@note@chord@{\the\count@}}{true}}%
					 {%
					 }%
					 {%
						\ifthenelse{\equal{\@vln@lily@slur@begin}{}}%
						 {%
							\edef\@vln@lily@slur@begin{\the\@vln@note}%
						 }%
						 {%
						 }%
					 }%
				 }%
				 {%
					\ifthenelse{\equal{\@vln@lily@slur@begin}{}}%
					 {%
					 }%
					 {%
						\@vln@lily@note@def@{\@vln@lily@note@slur@begin}=%
						 {\@vln@lily@note@{\@vln@lily@note@slur@begin}(}% )
						\edef\@vln@lily@slur@begin{0}%
						\def\@vln@lily@slur@end{}%
					 }%
				 }%
			 }%
		% \@vln@lily@note@time
			\newcount\@vln@lily@note@time@loop%
			\def\@vln@lily@note@time@def{%
				\expandafter\edef\csname @vln@lily@time@begin@\the\@vln@note\endcsname{%
					%
				 }%
				\@vln@lily@note@time@loop=0%
				\expandafter\edef\csname @vln@lily@time@end@\the\@vln@note\endcsname{}%
				\whiledo{\@vln@lily@note@time@loop<\@vln@note@time}{%
					\edef\text@{%
						\@vln@note@time@num@{\the\@vln@lily@note@time@loop}%
						/%
						\@vln@note@time@den@{\the\@vln@lily@note@time@loop}%
					 }%
					\expandafter\edef\csname @vln@lily@time@end@\the\@vln@note\endcsname{%
						\string~\csname @vln@lily@time@end@\the\@vln@note\endcsname%
						%\expandafter\@vln@lily@time@times@\text@%
						\@vln@lily@note@name\@vln@lily@note@octave%
						\expandafter\@vln@lily@time@wholedotted@\text@%
					 }%
					\advance\@vln@lily@note@time@loop by 1\relax%
				 }%
			 }%
		\def\@vln@lily@note@def{%
			\@vln@trace{@vln@lily@note@def}{}%
			\@vln@lily@note@name@def%
			\@vln@lily@note@octave@def%
			\@vln@lily@note@time@def%
			%\@vln@lily@note@slur@def%
			\@vln@lily@note@output@def%
		 }%
	% \@vln@lily@note@output
		\def\@vln@lily@note@output@def{%
			\ifthenelse{\equal{\@vln@note@chord}{true}}%
			 {%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\ifthenelse{\equal{\@vln@note@chord@{\the\count@}}{true}}%
				 {%
					\expandafter\edef\csname @vln@lily@note@output@\the\@vln@note\endcsname{%
						\space%
						\@vln@lily@note@name%
						\@vln@lily@note@octave%
					 }%
				 }%
				 {%
					\expandafter\edef\csname @vln@lily@note@output@\the\@vln@note\endcsname{%
						%\@vln@lily@slur@end%
						%\@vln@lily@note@time@begin%
						<\@vln@lily@note@name%
						\@vln@lily@note@octave%
					 }%
				 }%
			 }%
			 {%
				\count@=\@vln@note%
				\advance\count@ by -1\relax%
				\ifthenelse{\equal{\@vln@note@chord@{\the\count@}}{true}}%
				 {%
					\expandafter\edef\csname @vln@lily@note@output@\the\@vln@note\endcsname{%
						\space%
						\@vln@lily@note@name%
						\@vln@lily@note@octave%
						>%
						%\@vln@lily@note@time@end%
					 }%
				 }%
				 {%
					\expandafter\edef\csname @vln@lily@note@output@\the\@vln@note\endcsname{%
						%\@vln@lily@slur@end%
						%\@vln@lily@note@time@begin%
						\@vln@lily@note@name%
						\@vln@lily@note@octave%
						%\@vln@lily@note@time@end%
					 }%
				 }%
			 }%
			\@vln@trace{@vln@lily@note@output@def}{\@vln@lily@note@output}%
		 }%
		\def\@vln@lily@note@output@#1{%
			\csname @vln@lily@note@output@#1\endcsname%
		 }%
		\def\@vln@lily@note@output{%
			\csname @vln@lily@note@output@\the\@vln@note\endcsname%
		 }%
% Aliases
	\def\n#1#2#3#4#5#6{%
		\@vln@note@def octave:{#1}tone:{#2}accidental:{#3}cord:{#4}finger:{#5}bow:{#6}time:%
	 }%
	\def\bar{%
		\@vln@bar@def%
	 }%
	\def\c#1{%
		\@vln@cresc@def way:{#1}%
	 }%
	\def\p#1{%
		\@vln@part@def text:{#1}%
	 }%
	\def\lilyflush{\@vln@lily@output@flush}%
	\def\lilywrite{\@vln@lily@output@write}%





			%\edef\text@{\csname vlncurrtimenum0\endcsname/\csname vlncurrtimeden0\endcsname}%
			%\@latex@info{TRACE: vlnlilyduration: text@=\text@}%
			%% @begin
			%	\let\vlnlilyduration@times@last\vlnlilyduration@times%
			%	\edef\vlnlilyduration@times{%
			%		\csname vlnlilyduration\text@ @times\endcsname%
			%	 }%
			%	\ifthenelse{\equal{\vlnlilyduration@times}{}}%
			%	 {%
			%		\ifthenelse{\equal{\vlnlilyduration@times@last}{}}%
			%		 {%
			%			\edef\vlnlilyduration@begin{%
			%			 }%
			%		 }%
			%		 {%
			%			\edef\vlnlilyduration@begin{%
			%				\textcurlybraceclose%
			%			 }%
			%		 }%
			%	 }%
			%	 {%
			%		\ifthenelse{\equal{\vlnlilyduration@times}{\vlnlilyduration@times@last}}%
			%		 {%
			%			\edef\vlnlilyduration@begin{%
			%			 }%
			%		 }%
			%		 {%
			%			\ifthenelse{\equal{\vlnlilyduration@times@last}{}}%
			%			 {%
			%				\edef\vlnlilyduration@begin{%
			%					\times \vlnlilyduration@times \textcurlybraceopen%
			%				 }%
			%			 }%
			%			 {%
			%				\edef\vlnlilyduration@begin{%
			%					\textcurlybraceclose \times \vlnlilydurationtimes \textcurlybraceopen%
			%				 }%
			%			 }%
			%		 }%
			%	 }%
			%% @end
			%	\let\vlnlilyduration@wholedotted@last\vlnlilyduration@wholedotted%
			%	\edef\vlnlilyduration@wholedotted{%
			%		\csname vlnlilyduration\text@ @wholedotted\endcsname%
			%	 }%
			%	\ifthenelse{\equal{\vlnlilyduration@wholedotted}{\vlnlilyduration@wholedotted@last}}%
			%	 {%
			%		\edef\vlnlilyduration@end{%
			%		 }%
			%	 }%
			%	 {%
			%		\edef\vlnlilyduration@end{%
			%			\vlnlilyduration@wholedotted%
			%		 }%
			%	 }%
			%\@latex@info{TRACE: vlnlilyduration: @times=\vlnlilyduration@times}%
			%\@latex@info{TRACE: vlnlilyduration: @wholedotted=\vlnlilyduration@wholedotted}%
			%\@latex@info{TRACE: vlnlilyduration: @begin=\vlnlilyduration@begin}%
			%\@latex@info{TRACE: vlnlilyduration: @end=\vlnlilyduration@end}%
			% Phrasé
			% Accord
