with Gtk.Frame; use Gtk.Frame; with Gtk.Label; use Gtk.Label; with Gtk.Box; use Gtk.Box; with Gtk.Spin_Button; use Gtk.Spin_Button; with Gtk.Check_Button; use Gtk.Check_Button; with Gtk.GEntry; use Gtk.GEntry; with Gtk.Button; use Gtk.Button; with Gtk.Combo_Box_Text; use Gtk.Combo_Box_Text; with Gtkada.File_Selection; use Gtkada.File_Selection; with Libsens.Common; use Libsens.Common; with Libsens.Virtual; use Libsens.Virtual; with Libsens.Virtual.Arp_Sequencer; use Libsens.Virtual.Arp_Sequencer; with Libsens.Virtual.Work_Class; use Libsens.Virtual.Work_Class; with Libsens.Gtk_Plugins_Specifications;use Libsens.Gtk_Plugins_Specifications; package Libsens.Gtk_Arpegiator is type GTK_Note is tagged record Note_Vbox : Gtk_Vbox; Key_Spin_Button : Gtk_Spin_Button; Sens_Spin_button : Gtk_Spin_Button; end record; type Gtk_Note_Access is access all GTK_Note; type GTK_Note_Table is array (Positive range <>) of Gtk_Note_Access; procedure Initialize (Note : in out Gtk_Note_Access; The_note : in note_Access; Plugin : in Abstract_Plugin_Access); type GTK_Step is tagged record Step_Vbox : Gtk_Vbox; Step_Label : Gtk_Label; Set_Check_button : Gtk_Check_Button; Length_Spin_button : Gtk_Spin_Button; end record; type Gtk_Step_Access is access all GTK_Step; procedure Init_step (Step : in out Gtk_Step_Access; The_Step : in step_Access; Label : in String; Plugin : in Abstract_Plugin_Access); type GTK_Step_Table is array (Positive range <>) of Gtk_Step_Access; type GTK_Intelligence is tagged record Network_Parameters : Gtk_Vbox; Filename_Label : Gtk_Label; Filename_Gentry : Gtk_Gentry; File_Selection_button : Gtk_Button; --File_Selection : Gtkada_File_Selection; Reuse : Gtk_Combo_Box_text; Converged : Gtk_Spin_Button; Max_Epoch : Gtk_Spin_Button; Last_Label : Gtk_Label; -- Last_Spin_Button : Gtk_Spin_Button; Transpose_Label : Gtk_Label; -- Transpose_Spin_Button : Gtk_Spin_Button; Resolution : Gtk_Combo_Box_text; Main_Frame : Gtk_Frame; -- Main_Vbox : Gtk_Vbox; Main_Hbox : Gtk_Hbox; Parameters : Gtk_Vbox; Key_Label : Gtk_Label; Sens_Label : Gtk_Label; Label_Vbox : Gtk_Vbox; -- Chord : GTK_Note_Table(1..3); Chord_Hbox : Gtk_Hbox; Step_Table : Gtk_Step_Table(1..32); Stepseq_Hbox : Gtk_Hbox; Step_Parameters : Gtk_Vbox; end record; type Intelligence_Access is access all Gtk_Intelligence; procedure Init_intel (Intelligence : out Intelligence_Access; Plugin : in Abstract_Plugin_access); type Arpegiator_Specifications is new Abstract_Plugin_Specifications(Arp_Seq) with record Intel : Intelligence_Access; end record; procedure Initialize (Spec : in out Arpegiator_Specifications; Plugin : in Abstract_Plugin_Access); end Libsens.Gtk_Arpegiator;