struct

(**

Description

L'unique fonction de ce module enregistre les messages MIDI.

Copyright Stéphane Grognet
IREM des Pays de la Loire - Université de Nantes
Laboratoire de mathématiques Jean Leray UMR 6629 CNRS
version 0.8
@version 0.8 @author Stéphane Grognet @since 2014 *)


let gravure = fun (adresse:string) ->
 let date = ref 0.
 and estampille = ref 0.
 and depart = Unix.gettimeofday ()
 and oc = open_out adresse
 and c = ref 0 in
  try
   while true do
    c := input_byte stdin ;
    date := Unix.gettimeofday () ;
    estampille := !date -. depart ;
    output_string oc ( "*\n" ^ ( string_of_float !estampille ) ^ "\n" ) ;
    output_string oc ( ( string_of_int !c ) ^ "\n" ) ;
    output_byte stdout !c ;
    flush_all () ;
   done ;
  with _ ->
   close_out_noerr oc ;;

gravure Sys.argv.(1) ;;

end