X-Git-Url: https://scm.cri.mines-paristech.fr/git/Faustine.git/blobdiff_plain/a891a827a9bad83d44164ffdd7b28f070c439e46..f3ad8b46ca1621f4a90db91ed6f9c1eceac96c4c:/interpretor/process.ml?ds=sidebyside diff --git a/interpretor/process.ml b/interpretor/process.ml index 31cc6c9..f094b7b 100644 --- a/interpretor/process.ml +++ b/interpretor/process.ml @@ -89,7 +89,8 @@ class proc_const : faust_exp -> process_type = method eval : beam_type -> beam_type = fun (input : beam_type) -> if input#get = [||] then - new beam [| new signal 0 (fun t -> new value self#const)|] + new beam [| new signal (new rate 0 1) + (fun t -> new value self#const)|] else raise (Process_error "proc_const accepts no input.") end;; @@ -164,6 +165,10 @@ class proc_ident : faust_exp -> process_type = ((input#get.(0))#larger input#get.(1)) | Smaller -> self#beam_of_ident n ((input#get.(0))#smaller input#get.(1)) + | Max -> self#beam_of_ident n + ((input#get.(0))#max input#get.(1)) + | Min -> self#beam_of_ident n + ((input#get.(0))#min input#get.(1)) | Prefix -> self#beam_of_ident n ((input#get.(1))#prefix input#get.(0)) | Select2 -> self#beam_of_ident n @@ -261,7 +266,7 @@ and proc_rec : faust_exp -> process_type = method eval : beam_type -> beam_type = fun (input : beam_type) -> let memory = Hashtbl.create self#delay in - let rates = ref (Array.make self#dim#output 0) in + let rates = ref (Array.make self#dim#output (new rate 0 1)) in let split : (time -> value_type array) -> (time -> value_type) array = fun beam_at ->