summaryrefslogtreecommitdiffstats
path: root/super_saw.ads
diff options
context:
space:
mode:
Diffstat (limited to 'super_saw.ads')
-rw-r--r--super_saw.ads19
1 files changed, 19 insertions, 0 deletions
diff --git a/super_saw.ads b/super_saw.ads
new file mode 100644
index 0000000..676c0bf
--- /dev/null
+++ b/super_saw.ads
@@ -0,0 +1,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;
+