projects
/
Faustine.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Completing Faustine by adding following primitives : float, power, &, |, xor, >=...
[Faustine.git]
/
interpretor
/
process.ml
diff --git
a/interpretor/process.ml
b/interpretor/process.ml
index
31cc6c9
..
f094b7b
100644
(file)
--- 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
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;;
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))
((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
| 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
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 ->
let split : (time -> value_type array) -> (time -> value_type) array =
fun beam_at ->