mirror of
https://github.com/citra-emu/citra.git
synced 2025-05-12 21:20:18 +00:00
37 lines
696 B
C++
37 lines
696 B
C++
#pragma once
|
|
|
|
#include "AL/al.h"
|
|
#include "AL/alc.h"
|
|
#include "AL/alext.h"
|
|
|
|
#include "common/common_types.h"
|
|
|
|
#include <tuple>
|
|
|
|
namespace Audio {
|
|
|
|
void Init();
|
|
void Shutdown();
|
|
|
|
enum Format : u16 {
|
|
FORMAT_PCM8 = 0,
|
|
FORMAT_PCM16 = 1,
|
|
FORMAT_ADPCM = 2
|
|
};
|
|
|
|
void UpdateFormat(int chanid, int mono_or_stereo, Format format);
|
|
void UpdateAdpcm(int chanid, s16 coeffs[16]);
|
|
|
|
void Play(int chanid, bool play);
|
|
|
|
void EnqueueBuffer(int chanid, u16 buffer_id, void* data, int sample_count, bool is_looping);
|
|
|
|
void Tick(int chanid);
|
|
|
|
// Return values:
|
|
// <1>: is_enabled
|
|
// <2>: prev buffer_id
|
|
// <3>: current sample position in current buffer
|
|
std::tuple<bool, u16, u32> GetStatus(int chanid);
|
|
|
|
}; |