with Gmface.Gm_MIdi.Instruments; use Gmface.Gm_Midi.Instruments; with Gmface.Gm_Processing.Gm_Work_Processing; use Gmface.Gm_Processing.Gm_Work_Processing; with Gmface.Gm_Virtual.Gmface.Gmface_Work; use Gmface.Gm_Virtual.Gmface.Gmface_Work; with Gmface.Gm_Processing.Gmface.Gm_Plugin_Processing; use Gmface.Gm_Processing.Gmface.Gm_Plugin_Processing; package Gmface.Gm_Processing.Gmface.Work_Processing is function Process_Initialize(Class : in Plugin_Enum; Plugin : in Abstract_Plugin_Access) return Gm_Plugin_Processing_Access; type Gmface_Work_Processing; task type Work_Process(Processing : access Gmface_Work_Processing) is entry Initialize; entry Start; entry Stop; entry Mod_Rec(Status : in Boolean); entry Mod_Play(Status : in Boolean); entry Mod_Reset; entry End_Of_Process; entry Halt; end Work_Process; type Gmface_Work_Processing is new Work_Processing_Record with record Work : Gmface_Work_Access; Process : Work_Process(Gmface_Work_Processing'Access); end record; procedure Initialize(Processing : in out Gmface_Work_Processing; Work : in Work_Access; Insts : access Bandmaster_record); end Gmface.Gm_Processing.Gmface.Work_Processing;