X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/a891a827a9bad83d44164ffdd7b28f070c439e46..e5b0e8bee502e61dfaaf2a5bc4b4d9d4938a9a2a:/interpretor/process.ml 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 ->