summaryrefslogtreecommitdiff
path: root/src/audio-types.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-07-11 11:41:21 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-07-11 11:41:21 -0400
commitf88ca0bc946bae086e02eacdc6c129f00e2e07e3 (patch)
treeeb8975ec505315e7f53a15ded32fb0cfd6b57731 /src/audio-types.hpp
parent1fd2b900a5f97379e80adc411d3763f9ba811570 (diff)
pke: audio: fx boilerplate, low-pass spatial
Diffstat (limited to 'src/audio-types.hpp')
-rw-r--r--src/audio-types.hpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/audio-types.hpp b/src/audio-types.hpp
index aeba5db..a0ab3fb 100644
--- a/src/audio-types.hpp
+++ b/src/audio-types.hpp
@@ -2,6 +2,7 @@
#define PKE_AUDIO_TYPES_INTERNAL_HPP
#include "asset-manager.hpp"
+#include "components.hpp"
#include "pk.h"
#include "vendor-glm-include.hpp"
@@ -20,9 +21,23 @@ const pke_audio_source pke_audio_source_ambient = pke_audio_source{0x01};
const pke_audio_source pke_audio_source_voices = pke_audio_source{0x02};
const pke_audio_source pke_audio_source_sfx = pke_audio_source{0x03};
+struct pke_audio_fx_params_reverb {
+ float reverb_strength;
+};
+
+struct pke_audio_fx_params_delay {
+ uint64_t delay_frames;
+};
+
+struct pke_audio_fx_params_low_pass_filter {
+ float cutoff_freq;
+ float prev_output;
+};
+
struct pke_audio_obj {
AssetHandle handle; // key
pke_audio_source source; // key
+ InstanceHandle instance_handle[PKE_AUDIO_MAX_CONCURRENT_COUNT];
glm::vec3 position_source[PKE_AUDIO_MAX_CONCURRENT_COUNT];
pke_audio_flags flags[PKE_AUDIO_MAX_CONCURRENT_COUNT];
uint32_t play_heads[PKE_AUDIO_MAX_CONCURRENT_COUNT];