summaryrefslogtreecommitdiffstats
path: root/super_saw.ads
blob: 676c0bfd901d3649eb868ac09a59c792461c905c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
with Interfaces.C;
use Interfaces.C;
package Super_Saw is
   type Mix_Level_Type is record
      Master : Float;
      Slave : Float;
   end record;
   type Offset_Array_Type is array (1..3) of Float;
   function Saw(Time : Float; Pitch : Float; Sample_Rate : Float) return Float;
   function Compute_Detune(Amount : Float) return Float;
   function Compute_Mix(Level : Float) return Mix_Level_Type;
   function Super_Saw(Time : Interfaces.C.C_Float;
                      Pitch : Interfaces.C.C_Float;Detune : Interfaces.C.C_Float;
                                                  Mix : Interfaces.C.C_Float
                                                    ;Sample_Rate : Interfaces.C.C_Float)
                     return Interfaces.C.C_Float;
   pragma Export(CPP,Super_Saw,"Super_Saw");
end Super_Saw;