%% -*-TeX-*-
 % ###################################################################
 % 
 %  FILE: "harmonie.sty"
 %                                    created: 2006-01-08 15:07:19 
 %                                last update: 2008-01-09 17:40:27 
 %  Author: Frederic Boulanger
 %  E-mail: frederic.boulanger@supelec.fr
 %    mail: Supelec - Departement Informatique
 %          3 rue Joliot-Curie, 91192 Gif-sur-Yvette, France
 %     www: http://wwwdi.supelec.fr/fb/
 %  
 %  Description: 
 % 
 %  Define abcm2ps decorations for annotating chorals.
 %  
 %  History
 % 
 %  modified   by  rev reason
 %  ---------- --- --- -----------
 %  2006-01-08 FBO 1.0 original
 %  2006-02-07 FBO 1.1 
 %  2006-05-23 FBO 1.2 
 % ###################################################################
 %%
\ProvidesPackage{harmonie}[2006/05/23 v1.2]
\RequirePackage{abcintex}

\begin{abcprefix}{\default}
  %%beginps
  /AccFont{/Times 12 selectfont}!
  /AccIndFont{/Times 10 selectfont}!
  /AccOffset{0 0 RM}!
  /lowstar{M -5 -15 RM AccOffset /Helvetica 24 selectfont (*) show}!
  /AccDep{M -5 -15 RM AccOffset AccFont show}!
  /AccIndices{
    AccIndFont currentpoint 2 5 RM 3 -1 roll show M 2 -3 RM show
  }!
  /AccIndicesDim{
    AccIndFont currentpoint 2 5 RM 3 -1 roll show M
    2 -3 RM currentpoint 3 -1 roll show M
    -1 -1 RM 7 8 RL stroke
  }!
  /AccParf{
    AccDep
    () (5) AccIndices
  }!
  /TierceQuinte{
    () 3 1 roll AccDep
    (3) (5) AccIndices
  }!
  /AccSixte{
    AccDep
    ( ) (6) AccIndices
  }!
  /AccSeconde{
    AccDep
    ( ) (2) AccIndices
  }!
  /AccSeconde{
    AccDep
    (+2) ( ) AccIndices
  }!
  /AccQuarteSixte{
    AccDep
    (4) (6) AccIndices
  }!
  /AccQuinteSixte{
    AccDep
    (5) (6) AccIndices
  }!
  /AccTierceQuarte{
    AccDep
    (3) (4) AccIndices
  }!
  /AccTceQrteAug{
    AccDep
    (+4) (3) AccIndices
  }!
  /QuarteSixte{
    () 3 1 roll AccDep
    (4) (6) AccIndices
  }!
  /AccSeptieme{
    AccDep
    (+) (7) AccIndices
  }!
  /AccSept{
    AccDep
    ( ) (7) AccIndices
  }!
  /AccSeptDim{
    AccDep
    (7) ( ) AccIndicesDim
  }!
  /AccSeptQDim{
    AccDep
    (5) (7) AccIndicesDim
  }!
  /AccQuarteAug{
    AccDep
    () (+4) AccIndices
  }!
  /AccQteAugSixte{
    AccDep
    (+4) (6) AccIndices
  }!
  /AccSixteAug{
    AccDep
    () (+6) AccIndices
  }!
  /AccQnteSxteAug{
    AccDep
    (5) (+6) AccIndices
  }!
  /AccQuinteDim{
    AccDep
    (5) (6) AccIndicesDim
  }!
  /AccQDim{
    AccDep
    (5) ( ) AccIndicesDim
  }!
  %%
  /AccNeuf{
    AccDep
    (7) (9) AccIndices
  }!
  /AccNeufRenv{
    AccDep
    (6) (7) AccIndices
  }!
  /AccNeufRSixte{
    AccDep
    (5) (+6) AccIndices
  }!
  /AccNeufRQuinte{
    AccDep
    (4) (5) AccIndices
  }!
  /AccNeufRRenv{
    AccDep
    (3) (+4) AccIndices
  }!
  %%endps
  %%deco * 6 lowstar 0 0 0
  %
  %%deco 53 6 TierceQuinte 0 0 0  
  %%deco 64 6 QuarteSixte 0 0 0  
  %
  %%deco I 6 AccDep 0 0 0 I
  %%deco I5 6 AccParf 0 0 0 I
  %%deco I6 6 AccSixte 0 0 0 I
  %%deco I64 6 AccQuarteSixte 0 0 0 I
  %%deco I7 6 AccSept 0 0 0 I
  %%deco I65 6 AccQuinteSixte 0 0 0 I
  %%deco I43 6 AccTierceQuarte 0 0 0 I
  %%deco I2 6 AccSeconde 0 0 0 I
  %
  %%deco II 6 AccDep 0 0 0 II
  %%deco II5 6 AccParf 0 0 0 II
  %%deco II6 6 AccSixte 0 0 0 II
  %%deco II64 6 AccQuarteSixte 0 0 0 II
  %%deco II7 6 AccSept 0 0 0 II
  %%deco II65 6 AccQuinteSixte 0 0 0 II
  %%deco II43 6 AccTierceQuarte 0 0 0 II
  %%deco II2 6 AccSeconde 0 0 0 II
  %
  %%deco IV 6 AccDep 0 0 0 IV
  %%deco IV5 6 AccParf 0 0 0 IV
  %%deco IV6 6 AccSixte 0 0 0 IV
  %%deco IV64 6 AccQuarteSixte 0 0 0 IV
  %%deco IV7 6 AccSept 0 0 0 IV
  %%deco IV65 6 AccQuinteSixte 0 0 0 IV
  %%deco IV43 6 AccTierceQuarte 0 0 0 IV
  %%deco IV2 6 AccSeconde 0 0 0 IV
  %
  %%deco V 6 AccDep 0 0 0 V
  %%deco V5 6 AccParf 0 0 0 V
  %%deco V6 6 AccSixte 0 0 0 V
  %%deco V64 6 AccQuarteSixte 0 0 0 V
  %
  %%deco V+7 6 AccSeptieme 0 0 0 V
  %%deco V+4 6 AccQuarteAug 0 0 0 V
  %%deco V56 6 AccQuinteDim 0 0 0 V
  %%deco V+6 6 AccSixteAug 0 0 0 V
  %
  %%deco V97 6 AccNeuf 0 0 0 V
  %%deco V76 6 AccNeufRenv 0 0 0 V
  %%deco V65 6 AccNeufRSixte 0 0 0 V
  %%deco V45 6 AccNeufRQuinte 0 0 0 V
  %%deco V34 6 AccNeufRRenv 0 0 0 V
  %
  %%deco VI 6 AccDep 0 0 0 VI
  %%deco VI5 6 AccParf 0 0 0 VI
  %%deco VI6 6 AccSixte 0 0 0 VI
  %%deco VI64 6 AccQuarteSixte 0 0 0 VI
  %%deco VI7 6 AccSept 0 0 0 VI
  %%deco VI65 6 AccQuinteSixte 0 0 0 VI
  %%deco VI43 6 AccTierceQuarte 0 0 0 VI
  %%deco VI2 6 AccSeconde 0 0 0 VI
  %
  %%deco VII 6 AccDep 0 0 0 VII
  %%deco VII5 6 AccQDim 0 0 0 VII
  %%deco VII6 6 AccSixte 0 0 0 VII
  %%deco VII+6 6 AccSixteAug 0 0 0 VII
  %%deco VII64 6 AccQuarteSixte 0 0 0 VII
  %%deco VII6+4 6 AccQteAugSixte 0 0 0 VII
  %
  %%deco VII7 6 AccSeptQDim 0 0 0 VII
  %%deco VII-7 6 AccSeptDim 0 0 0 VII
  %%deco VII+65 6 AccQnteSxteAug 0 0 0 VII
  %%deco VII+43 6 AccTceQrteAug 0 0 0 VII
  %%deco VII2 6 AccSecondeAug 0 0 0 VII
  %
  %%deco III 6 AccDep 0 0 0 III
  %%deco III5 6 AccParf 0 0 0 III
  %%deco III6 6 AccSixte 0 0 0 III
  %%deco III64 6 AccQuarteSixte 0 0 0 III
  %%deco III7 6 AccSept 0 0 0 III
  %%deco III65 6 AccQuinteSixte 0 0 0 III
  %%deco III43 6 AccTierceQuarte 0 0 0 III
  %%deco III2 6 AccSeconde 0 0 0 III
 %
  %%vocalfont Helvetica 12
  %%staffsep 2cm
\end{abcprefix}

\begin{abcprefix}{\choral}
  V:S clef=treble stem=up dyn=up
  V:A clef=treble stem=down dyn=up
  V:T clef=bass stem=up dyn=down octave=-2
  I:  clef=bass octave=-2
  V:B clef=bass stem=down dyn=down octave=-2
  I:  clef=bass octave=-2
  %%staves {(S A) (T B)}
\end{abcprefix}

\begin{abcprefix}{\piano}
  V:D clef=treble stem=up dyn=up
  V:G clef=bass stem=down dyn=down
  %%staves {D G}
\end{abcprefix}

\newcommand{\accord}[3]{%
  \textrm{#1}\({\,}_{#2}^{#3}\)%
}
\newcommand{\annot}{}
\def\annot(#1,#2){%
 \@ifnextchar[{%
   \annot@(#1,#2)%
  }{%
    \annot@@(#1,#2)%
  }%
}
\newcommand{\annot@}{}
\def\annot@(#1,#2)[#3]#4{%
  \rput(#1,#2){\makebox(0,0)[#3]{\sffamily#4}}%
}
\newcommand{\annot@@}{}
\def\annot@@(#1,#2)#3{%
  \rput(#1,#2){\makebox(0,0){\sffamily#3}}%
}

\newcommand{\pbox}[1]{%
  \hbox to 0pt{\hss\parbox[b]{\linewidth}{\sffamily\centering#1}\hss}%
}
\newcommand{\rcrochet}[1]{%
  \begin{picture}(0,0)(0,0)
    \put(0,0){\line(1,0){5}}
    \put(5,0){\line(0,-1){#1}}
    \put(5,-#1){\line(-1,0){5}}
  \end{picture}
}
\newcommand{\lcrochet}[1]{%
  \begin{picture}(0,0)(0,0)
    \put(0,0){\line(-1,0){5}}
    \put(-5,0){\line(0,-1){#1}}
    \put(-5,-#1){\line(1,0){5}}
  \end{picture}
}

\endinput