with Libsens.Common; use Libsens.Common; with Libsens.Virtual; use Libsens.Virtual; with Libsens.MIDI.Messages; use Libsens.MIDI.Messages; with Libsens.Virtual.Plugins; use Libsens.Virtual.Plugins; package Libsens.Virtual.Prgm_Change is type Prgm_Change_Type is record MSB_Select : Value_Type := 0; LSB_Select : Value_Type := 0; Prgm_Num : Program_Type := 0; Id : Positive := 1; Bar : Positive := 1; Number : Time_Number_Type := 1; Step : Time_Unit_Type := 1; Played : Boolean := False; Note : String_Access := new String ' (""); In_Loop : Boolean := False; end record; type PC_Array is array (Positive range <>) of Prgm_Change_Type; type Prgm_Change_Plugin_Record is new Plugin_Class(PC_List) with record Sequencer : Pc_Array(1..128); Bars_Max : Positive := 128; end record; procedure Print (Filename : in String; Plug : in Prgm_Change_Plugin_Record); end Libsens.Virtual.Prgm_Change;