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);
40 bool mayBeStolen(
void* thingNotToStealFrom = NULL)
final;
41 void steal(
char const* errorCode)
final;
42 StealableQueue getAppropriateQueue()
override;
46 const AudioFileType type;
47 uint8_t numChannels{};
48 String loadedFromAlternatePath;
51 int32_t numReasonsToBeLoaded{};
53 constexpr static bool isSample(
const AudioFile* file) {
return file->type == AudioFileType::SAMPLE; }
54 constexpr static bool isWaveTable(
const AudioFile* file) {
return file->type == AudioFileType::WAVETABLE; }
57 virtual void numReasonsIncreasedFromZero() {}
58 virtual void numReasonsDecreasedToZero(
char const* errorCode) {}