
[01;34mpackage[m [01;34mbody[m Libsens[31m.[mCommon [01;34mis[m
   [01;34mfunction[m [01;30mimage[m[31m([mSignature [31m:[m [01;34min[m Time_Signature_Type[31m)[m [01;34mreturn[m [32mString[m [01;34mis[m
      
   [01;34mbegin[m      
      
      [01;34mreturn[m 
	Positive[31m'Image(Signature.Number) & '[m[31m/[m' [31m&[m
	Positive'[01;30mImage[m[31m([msignature[31m.[mUnit[31m);[m
   [01;34mend[m Image[31m;[m      
   
   
   [01;34mfunction[m [01;30mImage[m[31m([mBar_Beat [31m:[m [01;34min[m Bar_Beat_Type[31m)[m [01;34mreturn[m [32mString[m [01;34mis[m
      
   [01;34mbegin[m
      
      [01;34mreturn[m Positive[31m'Image(Bar_Beat.Bar) & '[m[31m.[m' [31m&[m
	Positive[31m'Image(Bar_Beat.Time_Number) & '[m[31m.[m' [31m&[m
	Positive'[01;30mImage[m[31m([mBar_Beat[31m.[mTime_unit[31m);[m
   [01;34mend[m Image[31m;[m
   
   [01;34mprocedure[m [01;30mNext[m[31m([mBar_Beat    [31m:[m [01;34min[m [01;34mout[m Bar_Beat_Type[31m;[m
		  Bar         [31m:[m [01;34min[m Natural[31m;[m
		  Number      [31m:[m [01;34min[m Time_Number_Type[31m;[m
		  Unit        [31m:[m [01;34min[m Time_Unit_Type[31m)[m [01;34mis[m
      
   [01;34mbegin[m
      
      [01;34mif[m Bar_Beat[31m.[mTime_Unit [31m+[m [35m1[m [31m>[m Unit [01;34mthen[m
	 Bar_Beat[31m.[mTime_Unit [31m:=[m [35m1[m[31m;[m
	 [01;34mif[m Bar_Beat[31m.[mTime_Number [31m+[m [35m1[m [31m>[m Number [01;34mthen[m
	    Bar_Beat[31m.[mTime_Number [31m:=[m [35m1[m[31m;[m
	    [01;34mif[m Bar_Beat[31m.[mBar [31m<[m Bar [01;34mthen[m
	       Bar_Beat[31m.[mBar [31m:=[m Bar_Beat[31m.[mBar [31m+[m [35m1[m[31m;[m
	    [01;34melse[m
	       Bar_Beat[31m.[mBar [31m:=[m [35m1[m[31m;[m
	    [01;34mend[m [01;34mif[m[31m;[m
	 [01;34melse[m
	    Bar_Beat[31m.[mTime_Number [31m:=[m Bar_Beat[31m.[mTime_Number [31m+[m [35m1[m[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34melse[m
	 Bar_Beat[31m.[mTime_Unit [31m:=[m Bar_Beat[31m.[mTime_Unit [31m+[m [35m1[m[31m;[m
      [01;34mend[m [01;34mif[m[31m;[m      
   [01;34mend[m Next[31m;[m
   
   [01;34mfunction[m [01;30mBpm_To_Duration[m[31m([mBpm [31m:[m Tempo_Type[31m;[m
                            figure [31m:[m T_figure[31m)[m [01;34mreturn[m [32mDuration[m [01;34mis[m
   [01;34mbegin[m
      [01;34mcase[m figure [01;34mis[m
         [01;34mwhen[m Quadruple [31m=>[m
            [01;34mreturn[m [32mduration[m[31m([m[32mduration[m[31m([m[35m60000.0[m[31m/[mBpm[31m)/[m[35m16.0[m[31m)/[m[35m1000.0[m[31m;[m
         [01;34mwhen[m Triple [31m=>[m
            [01;34mreturn[m [32mduration[m[31m([m[32mduration[m[31m([m[35m60000.0[m[31m/[mBpm[31m)/[m[35m8.0[m[31m)/[m[35m1000.0[m[31m;[m
         [01;34mwhen[m Double [31m=>[m
            [01;34mreturn[m [32mduration[m[31m([m[32mduration[m[31m([m[35m60000.0[m[31m/[mBpm[31m)/[m[35m4.0[m[31m)/[m[35m1000.0[m[31m;[m
         [01;34mwhen[m Simple [31m=>[m
            [01;34mreturn[m [32mduration[m[31m([m[32mduration[m[31m([m[35m60000.0[m[31m/[mBpm[31m)/[m[35m2.0[m[31m)/[m[35m1000.0[m[31m;[m
         [01;34mwhen[m Noire [31m=>[m
            [01;34mreturn[m  [32mduration[m[31m([m[35m60000.0[m[31m/[mBpm[31m)/[m[35m1000.0[m[31m;[m
         [01;34mWhen[m Blanche [31m=>[m
            [01;34mreturn[m [32mDuration[m[31m([m[32mduration[m[31m([m[35m60000.0[m[31m/[mBpm[31m)*[m[35m2.0[m[31m)/[m[35m1000.0[m[31m;[m
         [01;34mwhen[m Ronde [31m=>[m
            [01;34mreturn[m [32mDuration[m[31m([m[32mduration[m[31m([m[35m60000.0[m[31m/[mBpm[31m)*[m[35m4.0[m[31m)/[m[35m1000.0[m[31m;[m
      [01;34mend[m [01;34mcase[m[31m;[m
   [01;34mend[m Bpm_To_Duration[31m;[m

   [01;34mfunction[m [01;30mTo_Figure[m[31m([mValue [31m:[m [01;34min[m Value_Type[31m)[m [01;34mreturn[m T_Figure [01;34mIs[m
   [01;34mbegin[m
      [01;34mcase[m Value [01;34mis[m
         [01;34mwhen[m [35m0[m[31m..[m[35m18[m [31m=>[m
            [01;34mreturn[m Quadruple[31m;[m
         [01;34mwhen[m [35m19[m[31m..[m[35m36[m [31m=>[m
            [01;34mreturn[m Triple[31m;[m
         [01;34mwhen[m [35m37[m[31m..[m[35m54[m [31m=>[m
            [01;34mreturn[m Double[31m;[m
         [01;34mwhen[m [35m55[m[31m..[m[35m72[m [31m=>[m
            [01;34mreturn[m Simple[31m;[m
         [01;34mwhen[m [35m73[m[31m..[m[35m91[m [31m=>[m
            [01;34mreturn[m Noire[31m;[m
         [01;34mwhen[m [35m92[m[31m..[m[35m107[m [31m=>[m
            [01;34mreturn[m Blanche[31m;[m
         [01;34mwhen[m [35m108[m[31m..[m[35m127[m [31m=>[m
            [01;34mreturn[m Ronde[31m;[m
      [01;34mend[m [01;34mcase[m[31m;[m
   [01;34mend[m To_Figure[31m;[m
[01;34mend[m Libsens[31m.[mCommon[31m;[m
