MRFausti -> Faustine in Makefile.in.
[Faustine.git] / interpretor / main.ml
index 082fba3..e214802 100644 (file)
@@ -5,6 +5,7 @@
        Created: 15/05/2013     Modified: 14/08/2013
 *)
 
+open Aux;;
 open Process;;
 open Faustio;;
 
@@ -62,16 +63,36 @@ let main () =
        let () = Arg.parse speclist option_unknown option_usage in
 
        let wave = new waveio in
-       let input = wave#read (Array.of_list !inwavs) in
+       let csv = new csvio in
+       let input_wave = wave#read (Array.of_list !inwavs) in
+       let input_csv = csv#read (Array.of_list !incsvs) in
+       let input = input_wave#append input_csv in
+
+       let () = print_string("    Faustine -> Preprocessing...") in
+       let tic1 = Sys.time () in
        let faust_core = Preprocess.preprocess !path_dsp in
+       let toc1 = Sys.time () in
+       let () = print_endline(" Done. (duration: " ^ (string_of_float (toc1 -. tic1)) ^ "s.)") in
+
+
+       let () = print_string("    Faustine -> Interpretation...") in
+       let tic2 = Sys.time () in
        let faust_exp = exp_of_string faust_core in
        let proc = (new proc_factory)#make faust_exp in
+       let toc2 = Sys.time () in
+       let () = print_endline(" Done. (duration: " ^ (string_of_float (toc2 -. tic2)) ^ "s.)") in
+
+
        let output = proc#eval input in
        let data = output#output time_maximum in
        let rates = output#frequency in
 
-       let output_paths = wave#write rates data in
-       let _ = Array.map print_endline output_paths in
+       let output_wave_paths = wave#write rates data in
+       let output_csv_paths = csv#write rates data in
+       let _ = Array.map print_endline 
+           (Array.map decorate output_wave_paths) in
+       let _ = Array.map print_endline 
+           (Array.map decorate output_csv_paths) in
        ();;