And here’s the debug output from triggering a sound. Again noting that calls to GetSamples from the fmod audio thread appear to stall immediately, whereas the audio link source pushes samples from the metasound for the full duration and the event/programmer sound are not cleaned up until that is done.
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkFactory::CreateSourcePushedAudioLink: Create AudioLink SourcePushed.
LogFMODAudioLink: Verbose: FFMODAudioLinkSourcePushed::Ctor() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, p2c%=2.00, PlayEvent=AudioLink3D, TotalFramesForSource=479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=-1, RecievedFrames=-1/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: Verbose: FFMODAudioLinkInputClient::Start: SelSP = 981617273856, LinkEvent = 䫰릺Ȋ, InComponent = 981617273920.
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=255/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=511/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=767/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=1023/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=1279/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=1535/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=1791/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: Verbose: FFMODAudioLinkInputClient::GetSamples: (post-pop), SamplesPopped=512, SamplesNeeded=512, ZeroFrames=0, This=0x000005F7C3466D90
LogFMODAudioLink: Verbose: Sound Created: MSS_ElectricPiano , Consumer = 6561691233680.
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=2047/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=2303/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=2559/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=2815/479952000, This=0x000005F7B293FEB0
[Trimmed additional OnNewBuffer() calls]
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=97023/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=97279/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=97535/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: VeryVerbose: FFMODAudioLinkSourcePushed::OnNewBuffer() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, SourceID=1, RecievedFrames=97791/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: Verbose: FFMODAudioLinkSourcePushed::OnSourceDone() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, RecievedFrames=98047/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: Verbose: FFMODAudioLinkSourcePushed::OnSourceReleased() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, RecievedFrames=98047/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: Verbose: FFMODAudioLinkSourcePushed::Dtor() Name=MSS_ElectricPiano, Producer=0x000005F74C01DE58, Consumer=0x000005F7C3466D90, RecievedFrames=98047/479952000, This=0x000005F7B293FEB0
LogFMODAudioLink: Verbose: FFMODAudioLinkInputClient::Stop: Stopping EventInstance.
LogFMODAudioLink: Verbose: Sound Release: 6561229458696.
LogFMODAudioLink: Verbose: Event Destroyed: ClientRef = 6561268696880.
LogFMODAudioLink: Verbose: FFMODAudioLinkInputClient::Unregister.