From da860f84c63e0287f8fab9b2e2fe359923d3d366 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Sun, 1 Dec 2024 13:42:50 -0700 Subject: [PATCH] Audio: less error-prone object update Signed-off-by: Stephen Gutekanst --- src/Audio.zig | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Audio.zig b/src/Audio.zig index 943f0415..5e0868f6 100644 --- a/src/Audio.zig +++ b/src/Audio.zig @@ -155,8 +155,9 @@ pub fn tick(audio: *Audio, audio_mod: mach.Mod(Audio)) !void { var buffers = audio.buffers.slice(); while (buffers.next()) |buf_id| { - var buffer = buffers.get(buf_id); + var buffer = audio.buffers.getValue(buf_id); if (!buffer.playing) continue; + defer audio.buffers.setValue(buf_id, buffer); const channels_diff = player_channels - buffer.channels + 1; const to_read = (@min(buffer.samples.len - buffer.index, mixing_buffer.items.len) / channels_diff) + @rem(@min(buffer.samples.len - buffer.index, mixing_buffer.items.len), channels_diff); @@ -177,9 +178,6 @@ pub fn tick(audio: *Audio, audio_mod: mach.Mod(Audio)) !void { buffer.playing = false; buffer.index = 0; } else buffer.index = buffer.index + to_read; - - // Save changes to the buffer object - buffers.set(buf_id, buffer); } } if (did_state_change) if (audio.on_state_change) |f| audio_mod.run(f);