using System; using BizHawk.Emulation.Common; namespace BizHawk.Emulation.Cores.WonderSwan { public partial class WonderSwan : ISoundProvider { private readonly short[] sbuff = new short[1536]; private int sbuffcontains = 0; public bool CanProvideAsync => false; public void GetSamplesSync(out short[] samples, out int nsamp) { samples = sbuff; nsamp = sbuffcontains; } public void DiscardSamples() { sbuffcontains = 0; } public void SetSyncMode(SyncSoundMode mode) { if (mode == SyncSoundMode.Async) { throw new NotSupportedException("Async mode is not supported."); } } public SyncSoundMode SyncMode => SyncSoundMode.Sync; public void GetSamplesAsync(short[] samples) { throw new InvalidOperationException("Async mode is not supported."); } } }