with Libsens.Common; use Libsens.Common; with Libsens.Virtual; use Libsens.Virtual; with Libsens.Virtual.Plugins; use Libsens.Virtual.Plugins; package Libsens.Virtual.Step_Sequencer is type Voice_Type is tagged record Id : Positive := 1; Key : Key_Type := 36; Sens : Sens_Type := 95; Length : Length_Type := 2; Bar : Positive := 1; Number : Time_Number_Type := 1; Step : Time_Unit_Type := 1; Played : Boolean := False; Note : String_Access := new String ' (""); Octave : Octave_num := 0; In_Loop : Boolean := False; end record; type Step_Array_Type is array (Positive range <>) of Voice_Type; type Step_Seq_Plugin_Record is new Plugin_Class(Step_seq) with record Sequencer : Step_Array_Type(1..128); Bars_Max : Positive := 8; end record; procedure Print (Filename : in String; Plug : in Step_Seq_Plugin_record); end Libsens.Virtual.Step_Sequencer;