2024-07-12 21:11:47 +02:00
- Audio
2024-07-15 21:40:27 +02:00
- Avoid playing identical audio at the same time
2024-07-19 16:45:58 +02:00
- Allow audio programming
- Inject mixer proc per player
- Inject a mixer proc before and after filling output buffer
- Better spacialization
2024-07-15 21:40:27 +02:00
- Fix vorbis >FILE< streaming (#StbVorbisFileStream)
- Handle audio sources which had their format defaulted to update when default device changes
For streamed audio sources this should be easy enough, because the conversion happens from raw format to source format as we stream it.
For loaded sources though, we would need to convert the source->pcm_frames.
2024-07-16 13:31:33 +02:00
- Optimize
- Spam simd
- Concurrent jobs for players?
- Mega buffer for contiguous intermediate buffers
We definitely also want a limit to how much memory we want allocated to intermediate buffers.
2024-07-15 21:40:27 +02:00
- Bugs:
- Small fadeout on pause is slightly noisy
- Setting time stamp/progression causes noise (need fade transition like on pause/play)
- End of clip also causes noise if audio clip does not end smoothly
- Setting audio source to a format which differs from audio output format in both channels and bit_width at the same time will produce pure loud noise.
- 24-Bit audio conversion doesn't really work
2024-07-19 16:45:58 +02:00
- Converting 24-bit audio files doesn't really work
2024-07-17 13:34:52 +02:00
2024-07-15 21:40:27 +02:00
- General bugs & issues
- Release freeze in run_tests
2024-07-19 16:45:58 +02:00
- Window width&height is zero when minimized (and we make a 0x0 swap chain)
- Window positioning & sizing is fucky wucky
2024-07-15 21:40:27 +02:00
2024-07-17 13:34:52 +02:00
- Renderer
- Still compile a default that's set by default and we can set with set_shader_for_basic_2d
2024-07-19 16:45:58 +02:00
// with screen space coords too (i.e, Vector2 instead of Matrix4)
void draw_outline_rect_xform(Matrix4 xform, Vector2 size, float thickness, Vector4 color); // maybe have draw_rect_xform just be an outline and have another one for draw_filled_rect_xform or something
void draw_rounded_rect_xform(Matrix4 xform, Vector2 size, float rounding, Vector4 color);
void draw_circle_xform(Matrix4 xform, float radius, int segments, Vector4 color);
void draw_line_xform(Matrix4 from, Matrix4 to, float thickness, Vector4 color);
// purely for screen space coords (scissor rect shit)
void push_clip_rect(Vector2 position, Vector2 size);
void pop_clip_rect();
2024-07-17 14:16:23 +02:00
- Fonts
- Atlases are way too big, render atlases with size depending on font_height (say, 128 codepoints per atlas)
2024-07-17 13:34:52 +02:00
2024-07-19 16:45:58 +02:00
- OS
Window::bool is_minimized
don't set window.width & window.height to 0
2024-07-15 21:40:27 +02:00
- Needs testing:
- Audio format channel conversions
- sample rate downsampling
2024-07-16 10:00:04 +02:00
- non stereo or mono audio
- Audio spacialization on anything that's not stereo