with Text_Io;                           use Text_Io;
package body Libsens.Virtual.Prgm_Change is
   procedure Print (Filename : in String; Plug : in Prgm_Change_Plugin_Record) is
      
      File : File_Type;
   begin
      
      Put_line("Prgm Change : ");
      Print(Filename, Plugin_Class(Plug));
      
      Open(File, Append_File, Filename);      
      Put_Line(File, Positive'Image(Plug.Bars_Max));
      for Voice_Id in Plug.Sequencer'Range loop
	 Put_Line(File, Positive'Image(Plug.Sequencer(Voice_Id).Id));
	 Put_Line(File, Value_Type'Image(Plug.Sequencer(Voice_Id).MSB_select));
	 Put_Line(File, Value_Type'Image(Plug.Sequencer(Voice_Id).LSB_select));
	 Put_Line(File, Program_Type'Image(Plug.Sequencer(Voice_Id).Prgm_num));
	 Put_Line(File, Positive'Image(Plug.Sequencer(Voice_Id).Bar));
	 Put_Line(File, Time_Number_Type'Image(Plug.Sequencer(Voice_Id).Number));
	 Put_Line(File, Time_Unit_Type'Image(Plug.Sequencer(Voice_Id).Step));
	 Put_Line(File, boolean'Image(Plug.Sequencer(Voice_Id).Played));	    
	 Put_Line(File, Plug.Sequencer(Voice_Id).Note.all);	 
	 Put_Line(File, boolean'Image(Plug.Sequencer(Voice_Id).In_Loop));	 
      end loop;
      Close(File);
      
      
   end Print;
end Libsens.Virtual.Prgm_Change;