BizHawk/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.ISoundProvider.cs

40 lines
817 B
C#

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.");
}
}
}