with Text_Io;                           use Text_Io;
package body Libsens.Virtual.Gen_Plugin is
   procedure Print (Filename : in String; Plug : in Gen_Drums_Plugin_Record) is
      
      File : File_Type;
   begin
      
      Put_Line("Genetic Drums plugin : ");
      Print(Filename, Plugin_Class(Plug));
      
      
      Open(File, Append_File, Filename);      
      Put_Line(File, Positive'Image(Plug.Max_B_Inf));
      Put_Line(File, Positive'Image(Plug.Max_B_Sup));
      Put_Line(File, Positive'Image(Plug.Min_Class_Id));
      Put_Line(File, Positive'Image(Plug.Min_Value_Id));
      Put_Line(File, Positive'Image(Plug.Min_Data_Id));
      Put_Line(File, Positive'Image(Plug.Max_Class_Id));
      Put_Line(File, Positive'Image(Plug.Max_Value_Id));
      Put_Line(File, Positive'Image(Plug.Max_Data_Id));
      Close(File);
      
      
   end Print;
   
   procedure Print (Filename : in String; Plug : in Gen_Synth_Plugin_Record) is
      
      File : File_Type;
   begin
      
      Put_Line("Genetic synth plugin : ");
      Print(Filename, Plugin_Class(Plug));
      
      Open(File, Append_File, Filename);      
      Put_Line(File, Positive'Image(Plug.Max_B_Inf));
      Put_Line(File, Positive'Image(Plug.Max_B_Sup));
      Put_Line(File, Positive'Image(Plug.Min_Class_Id));
      Put_Line(File, Positive'Image(Plug.Min_Value_Id));
      Put_Line(File, Positive'Image(Plug.Min_Data_Id));
      Put_Line(File, Positive'Image(Plug.Max_Class_Id));
      Put_Line(File, Positive'Image(Plug.Max_Value_Id));
      Put_Line(File, Positive'Image(Plug.Max_Data_Id));
      Close(File);
      
      
      
   end Print;
   
   procedure Print (Filename : in String; Plug : in Gen_Bass_Plugin_Record) is
      
      File : File_Type;
   begin
      
      Put_Line("Genetic bass plugin : ");
      Print(Filename, Plugin_Class(Plug));
      
      Open(File, Append_File, Filename);      
      Put_Line(File, Positive'Image(Plug.Max_B_Inf));
      Put_Line(File, Positive'Image(Plug.Max_B_Sup));
      Put_Line(File, Positive'Image(Plug.Min_Class_Id));
      Put_Line(File, Positive'Image(Plug.Min_Value_Id));
      Put_Line(File, Positive'Image(Plug.Min_Data_Id));
      Put_Line(File, Positive'Image(Plug.Max_Class_Id));
      Put_Line(File, Positive'Image(Plug.Max_Value_Id));
      Put_Line(File, Positive'Image(Plug.Max_Data_Id));
      Close(File);
      
      
   end Print;
end Libsens.Virtual.Gen_Plugin;