wavetable/plugin/Source/App.cpp
Roland Rabien 1278476a3d Update juce
2025-11-19 17:15:05 -08:00

60 lines
1.7 KiB
C++

#include <JuceHeader.h>
#include "PluginProcessor.h"
#if 0
static void profile (juce::PropertiesFile& settings)
{
WavetableAudioProcessor proc;
proc.setRateAndBufferSizeDetails (44100, 512);
proc.prepareToPlay (44100, 512);
juce::MemoryBlock data;
if (data.fromBase64Encoding (settings.getValue ("filterState")) && data.getSize() > 0)
proc.setStateInformation (data.getData(), (int) data.getSize());
proc.reset();
juce::AudioSampleBuffer buffer (2, 512);
juce::MidiBuffer midiOn;
juce::MidiBuffer midiOff;
juce::MidiBuffer midiEmpty;
auto start = juce::Time::getMillisecondCounterHiRes();
for (int i = 0; i < 20000; i++)
{
buffer.clear();
if (i % 100 == 0)
{
midiOn.clear();
midiOn.addEvent (juce::MidiMessage::noteOn (1, 60, 0.5f), 0);
midiOn.addEvent (juce::MidiMessage::noteOn (1, 70, 0.5f), 0);
midiOn.addEvent (juce::MidiMessage::noteOn (1, 80, 0.5f), 0);
proc.processBlock (buffer, midiOn);
}
else if (i % 100 == 90)
{
midiOff.clear();
midiOff.addEvent (juce::MidiMessage::noteOff (1, 60, 0.5f), 0);
midiOff.addEvent (juce::MidiMessage::noteOff (1, 70, 0.5f), 0);
midiOff.addEvent (juce::MidiMessage::noteOff (1, 80, 0.5f), 0);
proc.processBlock (buffer, midiOff);
}
else
{
midiEmpty.clear();
proc.processBlock (buffer, midiEmpty);
}
}
auto end = juce::Time::getMillisecondCounterHiRes();
printf ("Elapsed time: %.2fs\n", (end - start) / 1000);
}
#endif