#pragma once #include "playback_backend.hpp" #include #include "file_backend.hpp" class SDLMixerXBackend : public PlaybackBackend { Mix_Music *music; Mix_CommonMixer_t mixer; File *file; bool initial = false; public: inline std::string get_id() override { return "sdl_mixer_x"; } inline std::string get_name() override { return "SDL Mixer X"; } std::optional get_max_samples() override; void seek(double position) override; double get_position() override; void load(const char *filename) override; void switch_stream(int idx) override; void cleanup() override; size_t render(void *buf, size_t maxlen) override; SDLMixerXBackend(); ~SDLMixerXBackend() override; };