New Faustine tested by sin.dsp and fft.dsp.
[Faustine.git] / interpretor / beam.ml
index 7726e95..c4c3b9e 100644 (file)
@@ -103,7 +103,11 @@ class beam : signal_type array -> beam_type =
 
       method frequency : int array = 
        let each_rate : signal -> int = 
 
       method frequency : int array = 
        let each_rate : signal -> int = 
-         fun (s : signal) -> s#frequency in
+         fun (s : signal) -> 
+           let rate = s#frequency in
+           if rate > 0 then rate
+           else if rate = 0 then 44100
+           else raise (Beam_matching "frequency error.") in    
        Array.map each_rate self#get 
 
     end
        Array.map each_rate self#get 
 
     end