46 if (!buffersModifiable.empty() && !sampleRatesModifiable.empty())
50 else if (buffersModifiable.size() != sampleRatesModifiable.size())
52 buffersModifiable.clear();
53 sampleRatesModifiable.clear();
57 juce::AudioFormatManager formatMgr;
58 formatMgr.registerBasicFormats();
60 for (
int i = 0; i < BinaryData::namedResourceListSize; ++i)
66 data = BinaryData::getNamedResource(BinaryData::namedResourceList[i], dataSize);
67 auto dataStream =
new juce::MemoryInputStream(data, dataSize,
false);
70 std::unique_ptr<juce::AudioFormatReader> reader(formatMgr.createReaderFor(dataStream));
75 int numChannels = reader->numChannels;
76 int numSamples = (
int)reader->lengthInSamples;
78 buffersModifiable[BinaryData::namedResourceList[i]] = juce::AudioSampleBuffer(numChannels, numSamples);
79 reader->read(&buffersModifiable[BinaryData::namedResourceList[i]], 0, numSamples, 0,
true,
true);
81 sampleRatesModifiable[BinaryData::namedResourceList[i]] = reader->sampleRate;
IRBank()
Construct IR bank.
float getParam(const juce::AudioProcessorValueTreeState ¶ms, const juce::String &blockId) const
Internal method used to get (and check) a parameter's value.
static const IRBank & getInstance()
void build()
Build IR bank from binary data.