26class AudioFile :
public Stealable {
28 AudioFile(AudioFileType newType) : type(newType) {}
29 ~AudioFile()
override =
default;
31 Error loadFile(
AudioFileReader* reader,
bool isAiff,
bool makeWaveTableWorkAtAllCosts);
32 virtual void finalizeAfterLoad(uint32_t fileSize) {}
35 void removeReason(
char const* errorCode);
39 [[nodiscard]] StealableQueue getAppropriateQueue()
const override;
43 const AudioFileType type;
44 uint8_t numChannels{};
45 String loadedFromAlternatePath;
48 int32_t numReasonsToBeLoaded{};
50 constexpr static bool isSample(
const AudioFile* file) {
return file->type == AudioFileType::SAMPLE; }
51 constexpr static bool isWaveTable(
const AudioFile* file) {
return file->type == AudioFileType::WAVETABLE; }
54 virtual void numReasonsIncreasedFromZero() {}
55 virtual void numReasonsDecreasedToZero(
char const* errorCode) {}