summaryrefslogtreecommitdiff
path: root/src/audio.cpp
blob: c3f152eb904d3cbb0a2e7125ba8d5c02f7150e68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#define PKE_AUDIO_IMPL_PIPEWIRE

#include "audio.hpp"

#include "audio-impl-pw.hpp"

struct pke_audio_master pke_audio_mstr{};

void pke_audio_init() {
	pke_audio_mstr.channel_count = 2;
#ifdef PKE_AUDIO_IMPL_PIPEWIRE
	pke_audio_pw_init();
#endif
}
void pke_audio_teardown() {
#ifdef PKE_AUDIO_IMPL_PIPEWIRE
	pke_audio_pw_teardown();
#endif
}
void pke_audio_tick(double delta) {
	(void)delta;
#ifdef PKE_AUDIO_IMPL_PIPEWIRE
	if (pke_audio_pw.is_needing_output_remapped == true) {
		pke_audio_pw.is_needing_output_remapped = !pke_audio_pw_remap_outputs();
	}
#endif
}

float pke_audio_get_volume(pke_audio_source source) {
	return pke_audio_mstr.source_volumes[static_cast<pke_audio_source_T>(source)];
}

void  pke_audio_set_volume(pke_audio_source source, float volume) {
	pke_audio_mstr.source_volumes[static_cast<pke_audio_source_T>(source)] = volume;
}

void pke_audio_play(AssetHandle handle, pke_audio_source audio_source, pke_audio_flags flags);
void pke_audio_stop_all();