Ryujinx/Ryujinx.Audio/IAalOutput.cs
Ac_K c17e1f99f0 audout:u: Implement SetAudioOutVolume and GetAudioOutVolume (#781)
* audout:u: Implement SetAudioOutVolume and GetAudioOutVolume

- Implementation of `audout:u` SetAudioOutVolume and GetAudioOutVolume (checked with RE).
- Add Get and Set for Volume into audio backends.
- Cleanup of all audio backends to follow the `IAalOutput` structure and .NET standard.
- Split OpenAL backend into 2 files for consistency.

* Address comments

* Fix the volume calculation
2019-10-11 17:54:29 +02:00

27 lines
610 B
C#

using System;
namespace Ryujinx.Audio
{
public interface IAalOutput : IDisposable
{
int OpenTrack(int sampleRate, int channels, ReleaseCallback callback);
void CloseTrack(int trackId);
bool ContainsBuffer(int trackId, long bufferTag);
long[] GetReleasedBuffers(int trackId, int maxCount);
void AppendBuffer<T>(int trackId, long bufferTag, T[] buffer) where T : struct;
void Start(int trackId);
void Stop(int trackId);
float GetVolume();
void SetVolume(float volume);
PlaybackState GetState(int trackId);
}
}