with Text_Io;                           use Text_Io;

package body Gmface.Gm_Virtual.Gmface.Ctrl_Change is
   
   procedure Print (Filename : in String; Plug : in Ctrl_Change_Plugin_Record) is
      File : File_Type;
   begin
      
      Put_Line("Ctrl 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, Plug.Sequencer(Voice_Id).Ctrl_Name.all);
	 Put_Line(File, Value_Type'Image(Plug.Sequencer(Voice_Id).Ctrl_num));
	 Put_Line(File, value_Type'Image(Plug.Sequencer(Voice_Id).Ctrl_val));
	 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 Gmface.Gm_Virtual.Gmface.Ctrl_Change;