diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-07-14 16:35:32 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-07-14 16:35:32 -0400 |
| commit | 7f0b0a59425321dcc880ddc0f4b479bce85e0bb0 (patch) | |
| tree | c5c10d187faf26a248d859deac68ba83bbe26e97 /src/audio-types.hpp | |
| parent | f88ca0bc946bae086e02eacdc6c129f00e2e07e3 (diff) | |
pke: audio: process each tick, impl buffer copy
Diffstat (limited to 'src/audio-types.hpp')
| -rw-r--r-- | src/audio-types.hpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/audio-types.hpp b/src/audio-types.hpp index a0ab3fb..c573f2b 100644 --- a/src/audio-types.hpp +++ b/src/audio-types.hpp @@ -9,6 +9,8 @@ #define PKE_AUDIO_MAX_CONCURRENT_COUNT 8 #define PKE_AUDIO_MAX_SPATIAL_DISTANCE 256.f +#define PKE_AUDIO_BITRATE 48000 +#define PKE_AUDIO_BUFFER_FRAMES 2048 TypeSafeInt_constexpr(pke_audio_flags, uint8_t, 0xFF); TypeSafeInt_constexpr(pke_audio_source, uint8_t, 0x40); @@ -26,7 +28,7 @@ struct pke_audio_fx_params_reverb { }; struct pke_audio_fx_params_delay { - uint64_t delay_frames; + int64_t delay_frames; }; struct pke_audio_fx_params_low_pass_filter { @@ -46,11 +48,16 @@ struct pke_audio_obj { struct pke_audio_master { pk_arr_t<pke_audio_obj> playing_objects; - pk_membucket *bkt_transient; + pk_membucket *bkt; float master_volume; float source_volumes[pke_audio_source_T_MAX]; uint32_t channel_count; // mono, stereo, 7.1 + float *buffer; + int64_t buffer_size; + int64_t buffer_frames; + int64_t elapsed_ns; std::mutex mtx_buffer; + std::chrono::time_point<std::chrono::steady_clock> last_tick_tp{}; }; extern struct pke_audio_master pke_audio_mstr; |
