%
\def\Na#1{\ifdim\small@test\bigNa{#1}\else\smallNa{#1}\fi}%
\def\Fl#1{\ifdim\small@test\bigFl{#1}\else\smallFl{#1}\fi}%
\def\Sh#1{\ifdim\small@test\bigSh{#1}\else\smallSh{#1}\fi}%
\def\dFl#1{\ifdim\small@test\bigdFl{#1}\else\smalldFl{#1}\fi}%
\def\dSh#1{\ifdim\small@test\bigdSh{#1}\else\smalldSh{#1}\fi}%
%
%
\def\lNa#1{\kern -0.8\qd@skip\bigNa{#1}\kern 0.8\qd@skip}%
\def\lFl#1{\kern -0.8\qd@skip\bigFl{#1}\kern 0.8\qd@skip}%
\def\lSh#1{\kern -0.8\qd@skip\bigSh{#1}\kern 0.8\qd@skip}%
\def\ldFl#1{\kern -0.8\qd@skip\bigdFl{#1}\kern 0.8\qd@skip}%
\def\ldSh#1{\kern -0.8\qd@skip\bigdSh{#1}\kern 0.8\qd@skip}%
%
%\check
%
\def\sign@diff{\global\n@iii=\n@i
     \global\advance\n@iii by -\ut@ref\relax
     \global\advance\n@iii by -\ut@ref\relax
     \loop\ifnum\n@iii>6\relax \global\advance\n@iii by -7\relax\repeat
     \loop\ifnum\n@iii<0\relax \global\advance\n@iii by 7\relax\repeat
     \n@ii=999\relax
     \ifcase\n@iii\relax\n@ii=6\relax % mi
     \or\n@ii=1\relax % fa
     \or\n@ii=3\relax % sol
     \or\n@ii=5\relax % la
     \or\n@ii=7\relax % si
     \or\n@ii=2\relax % do
     \or\n@ii=4\relax % re
     \fi                % \n@ii positive signature limit
                        % \n@ii-8 negative signature limit
     \advance\n@ii by -\sign
     \advance\n@ii by 6
     \divide\n@ii by 7\relax
}
%     
\def\bigdFl#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\global\n@raise=\sh@raise\pl@llap{\f@lat}\relax
     \or               \global\n@raise=\fl@raise\pl@llap{\df@lat}\relax
     \else \message{Impossible to double flatten the note !
                        \noexpand\Fl #1 }\showthe\n@ii
     \fi            
}%
%\check
%     
\def\bigFl#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\global\n@raise=\na@raise\pl@llap{\n@at}\relax
     \or               \global\n@raise=\fl@raise\pl@llap{\f@lat}\relax
     \or               \global\n@raise=\fl@raise\pl@llap{\df@lat}\relax
     \else \message{Impossible to flatten the note !
                          \noexpand\Fl #1 }\showthe\n@ii
     \fi            
}%
%\check
\def\bigNa#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\global\n@raise=\sh@raise\pl@llap{\s@harp}\relax
     \or              \global\n@raise=\na@raise\pl@llap{\n@at}\relax
     \or              \global\n@raise=\fl@raise\pl@llap{\f@lat}\relax
     \else \message{Impossible to reset natural the note !
                          \noexpand\Na #1 }\showthe\n@ii
     \fi            
}%
\def\bigSh#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\global\n@raise=\z@\pl@llap{\ds@harp}\relax
     \or               \global\n@raise=\sh@raise\pl@llap{\s@harp}\relax
     \or               \global\n@raise=\na@raise\pl@llap{\n@at}\relax
     \else \message{Impossible to sharpen the note !
                          \noexpand\Sh #1 }\showthe\n@ii
     \fi            
}%
\def\bigdSh#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\message{Impossible to double sharpen the note !
                          \noexpand\dSh #1 }\showthe\n@ii
     \or               \global\n@raise=\z@\pl@llap{\ds@harp}\relax
     \or               \global\n@raise=\sh@raise\pl@llap{\s@harp}\relax
     \else \message{Impossible to double sharpen the note !
                          \noexpand\dSh #1 }\showthe\n@ii
     \fi
}%
%     
\def\smalldFl#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\global\n@raise=\sh@raise\pl@llap{\smallf@lat}\relax
     \or               \global\n@raise=\fl@raise\pl@llap{\smalldf@lat}\relax
     \else \message{Impossible to double flatten the note !
                        \noexpand\Fl #1 }\showthe\n@ii
     \fi            
}%
%\check
%     
\def\smallFl#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\global\n@raise=\na@raise\pl@llap{\smalln@at}\relax
     \or               \global\n@raise=\fl@raise\pl@llap{\smallf@lat}\relax
     \or               \global\n@raise=\fl@raise\pl@llap{\smalldf@lat}\relax
     \else \message{Impossible to flatten the note !
                          \noexpand\Fl #1 }\showthe\n@ii
     \fi            
}%
%\check
\def\smallNa#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\global\n@raise=\sh@raise\pl@llap{\smalls@harp}\relax
     \or              \global\n@raise=\na@raise\pl@llap{\smalln@at}\relax
     \or              \global\n@raise=\fl@raise\pl@llap{\smallf@lat}\relax
     \else \message{Impossible to reset natural the note !
                          \noexpand\Na #1 }\showthe\n@ii
     \fi            
}%
\def\smallSh#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\global\n@raise=\z@\pl@llap{\smallds@harp}\relax
     \or               \global\n@raise=\sh@raise\pl@llap{\smalls@harp}\relax
     \or               \global\n@raise=\na@raise\pl@llap{\smalln@at}\relax
     \else \message{Impossible to sharpen the note !
                          \noexpand\Sh #1 }\showthe\n@ii
     \fi            
}%
\def\smalldSh#1{\getn@i{#1}\sign@diff
     \ifcase\n@ii\relax\message{Impossible to double sharpen the note !
                          \noexpand\dSh #1 }\showthe\n@ii
     \or               \global\n@raise=\z@\pl@llap{\smallds@harp}\relax
     \or               \global\n@raise=\sh@raise\pl@llap{\smalls@harp}\relax
     \else \message{Impossible to double sharpen the note !
                          \noexpand\dSh #1 }\showthe\n@ii
     \fi
}%
\def\pl@hbox{\pl@note\raise\y@i\hbox to}%
\def\upperFl#1{\getn@i{#1}\sign@diff\global\n@raise=3\internote
     \ifcase\n@ii\relax
        \pl@hbox\qd@skip{\hss\smalln@at\hss}\relax
     \or
        \pl@hbox\qd@skip{\hss\smallf@lat\hss}\relax
     \or
        \pl@hbox\qd@skip{\hss\smalldf@lat\hss}\relax
     \else \message{Impossible to sharpen the note !
                          \noexpand\Sh #1 }\showthe\n@ii
     \fi            
}%
\def\upperNa#1{\getn@i{#1}\sign@diff\global\n@raise=3\internote
     \ifcase\n@ii\relax
        \pl@hbox\qd@skip{\hss\smalls@harp\hss}\relax
     \or
        \pl@hbox\qd@skip{\hss\smalln@at\hss}\relax
     \or
        \pl@hbox\qd@skip{\hss\smallf@lat\hss}\relax
     \else \message{Impossible to sharpen the note !
                          \noexpand\Sh #1 }\showthe\n@ii
     \fi            
}%
\def\upperSh#1{\getn@i{#1}\sign@diff\global\n@raise=3\internote
     \ifcase\n@ii\relax
        \pl@hbox\qd@skip{\hss\smallds@harp\hss}\relax
     \or
        \pl@hbox\qd@skip{\hss\smalls@harp\hss}\relax
     \or
        \pl@hbox\qd@skip{\hss\smalln@at\hss}\relax
     \else \message{Impossible to sharpen the note !
                          \noexpand\Sh #1 }\showthe\n@ii
     \fi            
}%
\def\relativeaccidentals{\def\Xna{\Na}\def\Xsh{\Sh}\def\Xfl{\Fl}%
\def\Xdsh{\dSh}\def\Xdfl{\dFl}}%



