looper/backends/playback/vgmstream/vgmstream.hpp
Zachary Hall 8fdf30878b
Some checks failed
Build / build-gentoo (push) Successful in 1m22s
Build / download-system-deps (push) Successful in 1m37s
Build / get-source-code (push) Successful in 4m30s
Build / build-appimage (push) Successful in 1m15s
Build / build-android (push) Failing after 4m34s
Build / build-windows (push) Failing after 4m33s
Add Haiku frontend
2024-11-12 14:53:44 -08:00

29 lines
788 B
C++

#pragma once
#include "playback_backend.hpp"
extern "C" {
#include "vgmstream.h"
}
#include <stddef.h>
#include <stdint.h>
#include "file_backend.hpp"
class VgmStreamBackend : public PlaybackBackend {
STREAMFILE *sf;
VGMSTREAM *vf;
File *file;
public:
inline std::string get_id() override {
return "vgmstream";
}
inline std::string get_name() override {
return "VGMStream";
}
void seek(double position) override;
void load(const char *filename) override;
void switch_stream(int idx) override;
void cleanup() override;
int get_stream_idx() override;
size_t render(void *buf, size_t maxlen) override;
double get_position() override;
void add_licenses() override;
inline ~VgmStreamBackend() override { }
};