with Gtk.Spin_Button; use Gtk.Spin_Button; with Libsens.Virtual; use Libsens.Virtual; with Libsens.Virtual.Work_Class; use Libsens.Virtual.Work_Class; with Libsens.Gtk_Plugins_Specifications;use Libsens.Gtk_Plugins_Specifications; package Libsens.Gtk_Genetical is type Context_Record is tagged record Population_Size : Gtk_Spin_Button; Max_Generations : Gtk_Spin_Button; Num_No_Change_Generations : Gtk_Spin_Button; Mutation_Probability : Gtk_Spin_Button; Num_Elite_Saved : Gtk_Spin_Button; end record; type Frame_Config_Record is tagged record Max_B_Inf : Gtk_Spin_Button; Max_B_Sup : Gtk_Spin_Button; Min_Class_Id : Gtk_Spin_Button; Min_Value_Id : Gtk_Spin_Button; Min_Data_Id : Gtk_Spin_Button; Max_Class_Id : Gtk_Spin_Button; Max_Value_Id : Gtk_Spin_Button; Max_Data_Id : Gtk_Spin_Button; end record; type Genetical_Bass_Specifications is new Abstract_Plugin_Specifications(Gen_Bass) with record Context : Context_Record; Config : Frame_Config_Record; end record; procedure Initialize (Spec : in out Genetical_Bass_Specifications; Plugin : in Abstract_Plugin_Access); type Genetical_Synth_Specifications is new Abstract_Plugin_Specifications(Gen_Synth) with record Context : Context_Record; Config : Frame_Config_Record; end record; procedure Initialize (Spec : in out Genetical_Synth_Specifications; Plugin : in Abstract_Plugin_Access); type Genetical_Drums_Specifications is new Abstract_Plugin_Specifications(Gen_Drums) with record Context : Context_Record; Config : Frame_Config_Record; end record; procedure Initialize (Spec : in out Genetical_Drums_Specifications; Plugin : in Abstract_Plugin_Access); end Libsens.Gtk_Genetical;