summaryrefslogtreecommitdiff
path: root/src/audio.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-06-25 17:50:44 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-06-25 17:50:44 -0400
commit9e791d26560b566bb21b5cd39d9042a41f29714c (patch)
tree7e95ca82423feb1009b6916bca82142d1326a94a /src/audio.cpp
parent3c73b503330eb67ad9489da6941ae3b28a686780 (diff)
audio: first-pass, pipewire
Diffstat (limited to 'src/audio.cpp')
-rw-r--r--src/audio.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/audio.cpp b/src/audio.cpp
new file mode 100644
index 0000000..002d1be
--- /dev/null
+++ b/src/audio.cpp
@@ -0,0 +1,32 @@
+#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() {
+}
+
+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();