with Gmface.Gm_Common; use Gmface.Gm_Common; with Gmface.Gm_Virtual; use Gmface.Gm_Virtual; with Gmface.Gm_Virtual.Gmface.Gmface_Plugins; use Gmface.Gm_Virtual.Gmface.Gmface_Plugins; with Gmface.Gm_Processing.Gmface.Gm_Plugin_Processing; use Gmface.Gm_Processing.Gmface.Gm_Plugin_Processing; with Gmface.Gm_Processing; use Gmface.Gm_Processing; with Ada.Calendar; use Ada.Calendar; package Gmface.Gm_Processing.Gmface.Gm_Prgm_Change is type Prgm_Change_Processing(Plugin : Abstract_Plugin_Access); task type Prgm_Change_Process (Prgm_Change : access Prgm_Change_Processing) is entry Initialize(Options : in Work_Options_Access); entry Start(Start_time : in Time; Tempo : in Tempo_Type; Signature : in Time_Signature_Type); entry Stop; entry Halt; end Prgm_Change_Process; type Prgm_Change_Processing(Plugin : Abstract_Plugin_Access) is new Plugin_Processing(Pc_List) with record Process : Prgm_Change_Process(Prgm_Change_Processing'Access); end record; procedure Initialize(Plugin_Process : in Prgm_Change_Processing; Options : in Work_Options_Access); procedure Start(Plugin_Process : in Prgm_Change_Processing;Start_Time : in Time; Tempo : in Tempo_Type; Signature : in Time_Signature_Type); procedure Stop(Plugin_Process : in Prgm_Change_Processing); procedure Halt(Plugin_Process : in Prgm_Change_Processing); end Gmface.Gm_Processing.Gmface.Gm_Prgm_Change;