with Libsens.Virtual.Plugins; use Libsens.Virtual.Plugins; package Libsens.Virtual.Gen_Plugin is type Genetic_Context_Type is record Population_Size : Positive := 100; Max_Generations : Positive := 1000; Num_No_Change_Generations : Positive := 10; Mutation_Probability : Float := 0.13; Num_Elite_Saved : Natural := 10; end record; type Gen_Bass_Plugin_Record is new Plugin_Class(Gen_Bass) with record Max_B_Inf : Positive := 1; Max_B_Sup : Positive := 2; Min_Class_Id : Positive := 24; Min_Value_Id : Positive := 48; Min_Data_Id : Positive := 2; Max_Class_Id : Positive := 48; Max_Value_Id : Positive := 127; Max_Data_Id : Positive := 127; Context : Genetic_Context_Type; end record; procedure Print (Filename : in String; Plug : in Gen_Bass_Plugin_Record); type Gen_Synth_Plugin_Record is new Plugin_Class(Gen_Synth) with record Max_B_Inf : Positive := 1; Max_B_Sup : Positive := 4; Min_Class_Id : Positive := 36; Min_Value_Id : Positive := 48; Min_Data_Id : Positive := 2; Max_Class_Id : Positive := 76; Max_Value_Id : Positive := 127; Max_Data_Id : Positive := 127; Context : Genetic_Context_Type; end record; procedure Print (Filename : in String; Plug : in Gen_Synth_Plugin_Record); type Gen_Drums_Plugin_Record is new Plugin_Class(Gen_Drums) with record Max_B_Inf : Positive := 1; Max_B_Sup : Positive := 4; Min_Class_Id : Positive := 36; Min_Value_Id : Positive := 48; Min_Data_Id : Positive := 2; Max_Class_Id : Positive := 48; Max_Value_Id : Positive := 64; Max_Data_Id : Positive := 127; Context : Genetic_Context_Type; end record; procedure Print (Filename : in String; Plug : in Gen_Drums_Plugin_Record); end Libsens.Virtual.Gen_Plugin;