From 12276f0a7c676496bdf482205f143559b7be22d6 Mon Sep 17 00:00:00 2001 From: Natameme <60371038+Natameme@users.noreply.github.com> Date: Sat, 13 Sep 2025 15:46:44 -0400 Subject: [PATCH 1/4] added naiive velocity implementation --- Source/Operator.cpp | 8 ++++++-- Source/Operator.h | 5 +++-- Source/VoiceProcessor.cpp | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Source/Operator.cpp b/Source/Operator.cpp index 5c01b46..741eff0 100644 --- a/Source/Operator.cpp +++ b/Source/Operator.cpp @@ -35,7 +35,11 @@ void FMOperator::setNoteNumber(float noteNumber) { noteFrequency = juce::MidiMessage::getMidiNoteInHertz(noteNumber); } - +void FMOperator::setVelocity(float velocity) +{ + noteVelocity = velocity; + noteVelocitySmoothed.setTargetValue(noteVelocity); +} void FMOperator::setOperator(float ratio, float fixed, bool isFixed, float amplitude, float phase, float globalModIndex) { ratioSmoothed.setTargetValue(ratio); @@ -57,7 +61,7 @@ float FMOperator::processOperator(float phase1, float phase2, float phase3, floa float modulatorPhase = phase1 + phase2 + phase3 + phase4; float twopi = juce::MathConstants::twoPi; - float envelope = ampEnvelope.getNextSample(); + float envelope = ampEnvelope.getNextSample() * noteVelocitySmoothed.getNextValue();//multiple amp envelope by velocity float phaseOffset = phaseSmoothed.getNextValue(); float modIndex = std::pow(2.0f, globalModIndexSmoothed.getNextValue() / 100.0f) * 8.0f; float waveform = std::sin((operatorPhase + phaseOffset) * twopi + (modulatorPhase * modIndex)) * envelope; // 8 is the mod index diff --git a/Source/Operator.h b/Source/Operator.h index a432544..321b287 100644 --- a/Source/Operator.h +++ b/Source/Operator.h @@ -13,6 +13,7 @@ class FMOperator void setEnvelope(float attack, float decay, float sustain, float release, bool isLooping); void setNoteNumber(float noteNumber); + void setVelocity(float velocity); void setOperator(float ratio, float fixed, bool isFixed, float amplitude, float phase, float globalModIndex); float processOperator(float phase1, float phase2, float phase3, float phase4); @@ -23,7 +24,7 @@ class FMOperator double operatorPhase = 0.0, operatorAngle = 0.0; double prevInputSum = 0.0; float modulationIndex = 1.0f; - float noteFrequency, frequency, ratio, fixed; + float noteFrequency, frequency, ratio, fixed, noteVelocity; bool isFixed = false; float targetFrequency = 0.0f; @@ -32,5 +33,5 @@ class FMOperator float frequencySmoothingCoeff = 0.0f; - juce::SmoothedValue ratioSmoothed, fixedSmoothed, amplitudeSmoothed, phaseSmoothed, sustainSmoothed, globalModIndexSmoothed; + juce::SmoothedValue ratioSmoothed, fixedSmoothed, amplitudeSmoothed, phaseSmoothed, sustainSmoothed, globalModIndexSmoothed, noteVelocitySmoothed; }; diff --git a/Source/VoiceProcessor.cpp b/Source/VoiceProcessor.cpp index 313733d..fd6c39e 100644 --- a/Source/VoiceProcessor.cpp +++ b/Source/VoiceProcessor.cpp @@ -31,6 +31,7 @@ void SynthVoice::startNote(int midiNoteNumber, float velocity, juce::Synthesiser { op[i].startNote(); op[i].setNoteNumber(midiNoteNumber); + op[i].setVelocity(velocity); } } From bd4a5c84068d41ab2c34fe2776048937aec40c33 Mon Sep 17 00:00:00 2001 From: Natameme <60371038+Natameme@users.noreply.github.com> Date: Tue, 16 Sep 2025 19:35:11 -0400 Subject: [PATCH 2/4] added pitchbend and naiive channel pressure implementations --- Source/Operator.cpp | 29 ++++++++++++++++++++++++----- Source/Operator.h | 9 +++++++-- Source/PluginProcessor.cpp | 4 ++-- Source/VoiceProcessor.cpp | 2 ++ Source/VoiceProcessor.h | 27 +++++++++++++++++++++++++-- 5 files changed, 60 insertions(+), 11 deletions(-) diff --git a/Source/Operator.cpp b/Source/Operator.cpp index 741eff0..dd3b115 100644 --- a/Source/Operator.cpp +++ b/Source/Operator.cpp @@ -1,5 +1,6 @@ #include "Operator.h" +#include "VoiceProcessor.h" void FMOperator::prepareToPlay(double sampleRate, float samplesPerBlock, int numChannels) { @@ -15,6 +16,8 @@ void FMOperator::prepareToPlay(double sampleRate, float samplesPerBlock, int num globalModIndexSmoothed.reset(sampleRate, 0.001); } +MidiProcessor midi; + void FMOperator::startNote() { ampEnvelope.noteOn(); @@ -25,7 +28,6 @@ void FMOperator::stopNote() ampEnvelope.noteOff(); } - void FMOperator::setEnvelope(float attackInMs, float decayInMs, float sustainInFloat, float releaseInMs, bool isLooping) { ampEnvelope.setEnvelopeParameters(attackInMs, decayInMs, sustainInFloat, releaseInMs); @@ -33,13 +35,30 @@ void FMOperator::setEnvelope(float attackInMs, float decayInMs, float sustainInF void FMOperator::setNoteNumber(float noteNumber) { - noteFrequency = juce::MidiMessage::getMidiNoteInHertz(noteNumber); + noteNumberCents = noteNumber * 100.0f; + setPlayedFrequency(); +} +void FMOperator::setPitchbend(int pitchWheelPosition) +{ + float pitchWheelFloat = pitchWheelPosition * 1.0f; + pitchWheelCents = juce::jmap(pitchWheelFloat, 0.0f, 16383.0f, -4800.0f, 4800.0f); + setPlayedFrequency(); +} +void FMOperator::setPlayedFrequency() +{ + playedFrequency = midi.getMidiFrequencyCents(noteNumberCents + pitchWheelCents); + noteFrequencySmoothed.setTargetValue(playedFrequency); } void FMOperator::setVelocity(float velocity) { - noteVelocity = velocity; + noteVelocity = std::pow(velocity, 2); noteVelocitySmoothed.setTargetValue(noteVelocity); } +void FMOperator::setPressure(float pressure) +{ + channelPressure = (std::tanh(pressure * juce::MathConstants::pi) * 0.25f) + 0.75f;//this still produces some truncation distortion, needs reworking, 7 bits just isnt alot of resolution + channelPressureSmoothed.setTargetValue(channelPressure); +} void FMOperator::setOperator(float ratio, float fixed, bool isFixed, float amplitude, float phase, float globalModIndex) { ratioSmoothed.setTargetValue(ratio); @@ -55,13 +74,13 @@ float FMOperator::processOperator(float phase1, float phase2, float phase3, floa envParameters.sustain = sustainSmoothed.getNextValue(); // ampEnvelope.setParameters(envParameters); - frequency = noteFrequency * ratioSmoothed.getNextValue(); + frequency = noteFrequencySmoothed.getNextValue() * ratioSmoothed.getNextValue(); if (isFixed) frequency = fixedSmoothed.getNextValue(); operatorAngle = frequency/sampleRate; float modulatorPhase = phase1 + phase2 + phase3 + phase4; float twopi = juce::MathConstants::twoPi; - float envelope = ampEnvelope.getNextSample() * noteVelocitySmoothed.getNextValue();//multiple amp envelope by velocity + float envelope = ampEnvelope.getNextSample() * noteVelocitySmoothed.getNextValue() * channelPressureSmoothed.getNextValue();//multiple amp envelope by velocity float phaseOffset = phaseSmoothed.getNextValue(); float modIndex = std::pow(2.0f, globalModIndexSmoothed.getNextValue() / 100.0f) * 8.0f; float waveform = std::sin((operatorPhase + phaseOffset) * twopi + (modulatorPhase * modIndex)) * envelope; // 8 is the mod index diff --git a/Source/Operator.h b/Source/Operator.h index 321b287..ecc97f8 100644 --- a/Source/Operator.h +++ b/Source/Operator.h @@ -13,7 +13,10 @@ class FMOperator void setEnvelope(float attack, float decay, float sustain, float release, bool isLooping); void setNoteNumber(float noteNumber); + void setPitchbend(int PitchWheelPostion); + void setPlayedFrequency(); void setVelocity(float velocity); + void setPressure(float pressure); void setOperator(float ratio, float fixed, bool isFixed, float amplitude, float phase, float globalModIndex); float processOperator(float phase1, float phase2, float phase3, float phase4); @@ -24,7 +27,9 @@ class FMOperator double operatorPhase = 0.0, operatorAngle = 0.0; double prevInputSum = 0.0; float modulationIndex = 1.0f; - float noteFrequency, frequency, ratio, fixed, noteVelocity; + float playedFrequency, noteNumberCents, frequency, ratio, fixed, noteVelocity; + float channelPressure = 1.0f; + float pitchWheelCents = 0.0f; bool isFixed = false; float targetFrequency = 0.0f; @@ -33,5 +38,5 @@ class FMOperator float frequencySmoothingCoeff = 0.0f; - juce::SmoothedValue ratioSmoothed, fixedSmoothed, amplitudeSmoothed, phaseSmoothed, sustainSmoothed, globalModIndexSmoothed, noteVelocitySmoothed; + juce::SmoothedValue ratioSmoothed, fixedSmoothed, noteFrequencySmoothed, amplitudeSmoothed, phaseSmoothed, sustainSmoothed, globalModIndexSmoothed, noteVelocitySmoothed, channelPressureSmoothed; }; diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index 7b7583b..43ceab3 100644 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -96,7 +96,7 @@ void FledgeAudioProcessor::changeProgramName (int index, const juce::String& new void FledgeAudioProcessor::prepareToPlay (double sampleRate, int samplesPerBlock) { - for (int v = 0; v < 8; v++) + for (int v = 0; v < 16; v++) synth.addVoice(new SynthVoice()); synth.addSound(new SynthSound()); @@ -142,7 +142,7 @@ bool FledgeAudioProcessor::isBusesLayoutSupported (const BusesLayout& layouts) c void FledgeAudioProcessor::processBlock (juce::AudioBuffer& buffer, juce::MidiBuffer& midiMessages) { juce::ScopedNoDenormals noDenormals; - synth.setVoiceCount(params->voiceCount->get()); + synth.setVoiceCount(8); for (int oper = 0; oper < 4; oper++){ for (int v = 0; v < synth.getNumVoices(); v++) { diff --git a/Source/VoiceProcessor.cpp b/Source/VoiceProcessor.cpp index fd6c39e..480fc5d 100644 --- a/Source/VoiceProcessor.cpp +++ b/Source/VoiceProcessor.cpp @@ -32,6 +32,8 @@ void SynthVoice::startNote(int midiNoteNumber, float velocity, juce::Synthesiser op[i].startNote(); op[i].setNoteNumber(midiNoteNumber); op[i].setVelocity(velocity); + op[i].setPitchbend(currentPitchWheelPosition);//init pitchWheel position + op[i].setPressure(1.0f);//init pressure value for no channel pressure } } diff --git a/Source/VoiceProcessor.h b/Source/VoiceProcessor.h index b26d46d..18ddb00 100644 --- a/Source/VoiceProcessor.h +++ b/Source/VoiceProcessor.h @@ -59,7 +59,7 @@ class Synthesizer : public juce::Synthesiser } int nextVoiceIndex = 0; - int voiceCount = 8; + int voiceCount = 16; }; class SynthSound : public juce::SynthesiserSound @@ -84,7 +84,21 @@ class SynthVoice : public juce::SynthesiserVoice, AlgorithmHelper void setFMParameters(int index, float ratio, float fixed, bool isFixed, float amplitude, float phase, float globalModIndex, float gainInDecibel); //============================================================================== - void pitchWheelMoved(int newPitchWheelValue) override {} + void pitchWheelMoved(int newPitchWheelValue) override + { + for (int i = 0; i < 4; i++) + { + op[i].setPitchbend(newPitchWheelValue); + } + } + void channelPressureChanged (int newChannelPressureValue) override + { + channelPressureFloat = newChannelPressureValue / 127.0f; + for (int i = 0; i < 4; i++) + { + op[i].setPressure(channelPressureFloat); + } + } void controllerMoved(int controllerNumber, int newControllerValue) override {} void renderNextBlock(juce::AudioBuffer &outputBuffer, int startSample, int numSamples) override; @@ -96,6 +110,7 @@ class SynthVoice : public juce::SynthesiserVoice, AlgorithmHelper double sampleRate; juce::AudioBuffer synthBuffer; float outputSample; + float channelPressureFloat; float gainInAmp; float op0 = 0.0f, op1 = 0.0f, op2 = 0.0f, op3 = 0.0f, feedback = 0.0f; // unit delays for algorithm @@ -108,3 +123,11 @@ class SynthVoice : public juce::SynthesiserVoice, AlgorithmHelper std::array op; }; +class MidiProcessor : public juce::MidiMessage +{ +public: + float getMidiFrequencyCents(float midiNoteCents) + { + return std::pow(2, (midiNoteCents-6900.0f)/1200.0f) * 440.0f; + } +}; From 2631cadf6b019dae0fa78a249ea5110b077d1a48 Mon Sep 17 00:00:00 2001 From: Natameme <60371038+Natameme@users.noreply.github.com> Date: Thu, 18 Sep 2025 19:54:53 -0400 Subject: [PATCH 3/4] fixed memory allocation issues that prevented VST and AU runtimes from executing properly. Added test logs from Pluginval in new Tests/ directory --- Fledge.jucer | 12 +- Source/Operator.cpp | 12 +- Source/Operator.h | 8 +- Source/VoiceProcessor.cpp | 10 +- Source/VoiceProcessor.h | 7 + Test/pluginval_logs_AU_9_16_2025.txt | 147 ++++++++++++++ Test/pluginval_logs_AU_9_18_2025.txt | 192 ++++++++++++++++++ Test/pluginval_logs_VST_9_16_2025.txt | 278 ++++++++++++++++++++++++++ Test/pluginval_logs_VST_9_18_2025.txt | 257 ++++++++++++++++++++++++ 9 files changed, 906 insertions(+), 17 deletions(-) create mode 100644 Test/pluginval_logs_AU_9_16_2025.txt create mode 100644 Test/pluginval_logs_AU_9_18_2025.txt create mode 100644 Test/pluginval_logs_VST_9_16_2025.txt create mode 100644 Test/pluginval_logs_VST_9_18_2025.txt diff --git a/Fledge.jucer b/Fledge.jucer index 95bafed..144aede 100644 --- a/Fledge.jucer +++ b/Fledge.jucer @@ -1,8 +1,10 @@ - + - - + + diff --git a/Source/Operator.cpp b/Source/Operator.cpp index dd3b115..dadcb7e 100644 --- a/Source/Operator.cpp +++ b/Source/Operator.cpp @@ -78,12 +78,12 @@ float FMOperator::processOperator(float phase1, float phase2, float phase3, floa if (isFixed) frequency = fixedSmoothed.getNextValue(); operatorAngle = frequency/sampleRate; - float modulatorPhase = phase1 + phase2 + phase3 + phase4; - float twopi = juce::MathConstants::twoPi; - float envelope = ampEnvelope.getNextSample() * noteVelocitySmoothed.getNextValue() * channelPressureSmoothed.getNextValue();//multiple amp envelope by velocity - float phaseOffset = phaseSmoothed.getNextValue(); - float modIndex = std::pow(2.0f, globalModIndexSmoothed.getNextValue() / 100.0f) * 8.0f; - float waveform = std::sin((operatorPhase + phaseOffset) * twopi + (modulatorPhase * modIndex)) * envelope; // 8 is the mod index + modulatorPhase = phase1 + phase2 + phase3 + phase4; + twopi = juce::MathConstants::twoPi; + envelope = ampEnvelope.getNextSample() * noteVelocitySmoothed.getNextValue() * channelPressureSmoothed.getNextValue();//multiple amp envelope by velocity + phaseOffset = phaseSmoothed.getNextValue(); + modIndex = std::pow(2.0f, globalModIndexSmoothed.getNextValue() / 100.0f) * 8.0f; + waveform = std::sin((operatorPhase + phaseOffset) * twopi + (modulatorPhase * modIndex)) * envelope; // 8 is the mod index // accumulate and wrap operatorPhase += operatorAngle; diff --git a/Source/Operator.h b/Source/Operator.h index ecc97f8..835a04e 100644 --- a/Source/Operator.h +++ b/Source/Operator.h @@ -37,6 +37,12 @@ class FMOperator float frequencySmoothingTimeMs = 100.0f; float frequencySmoothingCoeff = 0.0f; - + float modulatorPhase; + float twopi; + float envelope;//multiple amp envelope by velocity + float phaseOffset; + float modIndex; + float waveform; // 8 is the mod index + juce::SmoothedValue ratioSmoothed, fixedSmoothed, noteFrequencySmoothed, amplitudeSmoothed, phaseSmoothed, sustainSmoothed, globalModIndexSmoothed, noteVelocitySmoothed, channelPressureSmoothed; }; diff --git a/Source/VoiceProcessor.cpp b/Source/VoiceProcessor.cpp index 480fc5d..86927ac 100644 --- a/Source/VoiceProcessor.cpp +++ b/Source/VoiceProcessor.cpp @@ -48,11 +48,11 @@ void SynthVoice::stopNote(float velocity, bool allowTailOff) void SynthVoice::setEnvelope(int index, float attack, float decay, float sustain, float release, float globalAttack, float globalDecay, float globalSustain, float globalRelease) { - float attackScaled = std::pow(2.0f, globalAttack / 100.0f) * attack; - float decayScaled = std::pow(2.0f, globalDecay / 100.0f) * decay; + attackScaled = std::pow(2.0f, globalAttack / 100.0f) * attack; + decayScaled = std::pow(2.0f, globalDecay / 100.0f) * decay; - float sustainScaled = juce::jlimit(0.0f, 1.0f, (globalSustain / 100.0f) * (sustain/100.0f)); - float releaseScaled = std::pow(2.0f, globalRelease / 100.0f) * release; + sustainScaled = juce::jlimit(0.0f, 1.0f, (globalSustain / 100.0f) * (sustain/100.0f)); + releaseScaled = std::pow(2.0f, globalRelease / 100.0f) * release; op[index].ampEnvelope.setEnvelopeParameters(attackScaled, decayScaled, sustainScaled, releaseScaled); } @@ -90,7 +90,7 @@ void SynthVoice::renderNextBlock(juce::AudioBuffer &outputBuffer, int sta op2 * op0Gain[2], op3 * op0Gain[3]); - float output = op0 * outputGain[0] + + output = op0 * outputGain[0] + op1 * outputGain[1] + op2 * outputGain[2] + op3 * outputGain[3]; diff --git a/Source/VoiceProcessor.h b/Source/VoiceProcessor.h index 18ddb00..069fd9a 100644 --- a/Source/VoiceProcessor.h +++ b/Source/VoiceProcessor.h @@ -121,6 +121,13 @@ class SynthVoice : public juce::SynthesiserVoice, AlgorithmHelper std::array outputGain = { 0.0f, 0.0f, 0.0f, 0.0f }; std::array op; + + float attackScaled; + float decayScaled; + float sustainScaled; + float releaseScaled; + float output; + }; class MidiProcessor : public juce::MidiMessage diff --git a/Test/pluginval_logs_AU_9_16_2025.txt b/Test/pluginval_logs_AU_9_16_2025.txt new file mode 100644 index 0000000..6c2005d --- /dev/null +++ b/Test/pluginval_logs_AU_9_16_2025.txt @@ -0,0 +1,147 @@ +Started validating: AudioUnit:Synths/aumu,Hewo,Manu +2025-09-16 21:03:29.662 pluginval[14757:16378606] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:. +Started validating: AudioUnit:Synths/aumu,Hewo,Manu +Random seed: 0x5848bd4 +Validation started +Strictness level: 5 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: AudioUnit:Synths/aumu,Hewo,Manu... +JUCE v8.0.9 +Num plugins found: 1 + +Testing plugin: AudioUnit-Fledge-c8716b5a-6471746f +Rainbow Circuit: Fledge v1.0.0 +Completed tests in pluginval / Scan for plugins located in: AudioUnit:Synths/aumu,Hewo,Manu +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Fledge +Alternative names: Fledge +SupportsDoublePrecision: no +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 1 +All program names checked + +Changing program +!!! WARNING: Current program is -1... Is this correct? +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +auval exited with code: 0 +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: None + Discrete layouts: None +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: None +Main bus num input channels: 0 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 0 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +SUCCESS + +Finished validating: AudioUnit:Synths/aumu,Hewo,Manu +ALL TESTS PASSED + +Finished batch validation diff --git a/Test/pluginval_logs_AU_9_18_2025.txt b/Test/pluginval_logs_AU_9_18_2025.txt new file mode 100644 index 0000000..967073d --- /dev/null +++ b/Test/pluginval_logs_AU_9_18_2025.txt @@ -0,0 +1,192 @@ +Started validating: AudioUnit:Synths/aumu,Hewo,Manu +2025-09-18 19:53:55.300 pluginval[32575:16860061] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:. +Started validating: AudioUnit:Synths/aumu,Hewo,Manu +Random seed: 0x36 +Validation started +Strictness level: 10 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: AudioUnit:Synths/aumu,Hewo,Manu... +JUCE v8.0.9 +Num plugins found: 1 + +Testing plugin: AudioUnit-Fledge-c8716b5a-6471746f +Rainbow Circuit: Fledge v1.0.0 +Completed tests in pluginval / Scan for plugins located in: AudioUnit:Synths/aumu,Hewo,Manu +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Fledge +Alternative names: Fledge +SupportsDoublePrecision: no +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 1 +All program names checked + +Changing program +!!! WARNING: Current program is -1... Is this correct? +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Non-releasing audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Non-releasing audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state restoration... +Completed tests in pluginval / Plugin state restoration +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Y upon getInput: 256.5 +Y upon getInput: 256.5 +Y upon getInput: 256.5 +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / Parameters... +Completed tests in pluginval / Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / Background thread state... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Y upon getInput: 256.5 +Completed tests in pluginval / Background thread state +----------------------------------------------------------------- +Starting tests in: pluginval / Parameter thread safety... +Completed tests in pluginval / Parameter thread safety +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +auval exited with code: 0 +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: None + Discrete layouts: None +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: None +Main bus num input channels: 0 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 0 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +----------------------------------------------------------------- +Starting tests in: pluginval / Fuzz parameters... +Completed tests in pluginval / Fuzz parameters +SUCCESS + +Finished validating: AudioUnit:Synths/aumu,Hewo,Manu +ALL TESTS PASSED + +Finished batch validation diff --git a/Test/pluginval_logs_VST_9_16_2025.txt b/Test/pluginval_logs_VST_9_16_2025.txt new file mode 100644 index 0000000..cf8e184 --- /dev/null +++ b/Test/pluginval_logs_VST_9_16_2025.txt @@ -0,0 +1,278 @@ +Started validating: /Users/gnat/Library/Audio/Plug-Ins/VST3/Fledge.vst3 +2025-09-16 21:02:58.298 pluginval[14739:16378040] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:. +Started validating: /Users/gnat/Library/Audio/Plug-Ins/VST3/Fledge.vst3 +Random seed: 0x666e268 +Validation started +Strictness level: 5 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: /Users/gnat/Library/Audio/Plug-Ins/VST3/Fledge.vst3... +Num plugins found: 1 + +Testing plugin: VST3-Fledge-259bf348-f599e924 +Rainbow Circuit: Fledge v1.0.0 +Completed tests in pluginval / Scan for plugins located in: /Users/gnat/Library/Audio/Plug-Ins/VST3/Fledge.vst3 +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +JUCE v8.0.9 +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Fledge +Alternative names: Fledge +SupportsDoublePrecision: no +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 0 +All program names checked +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +!!! Test 31 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 34 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 37 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 40 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 43 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 46 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 49 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 52 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 55 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 58 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +Testing with sample rate [44100] and block size [256] +!!! Test 61 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 64 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 67 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 70 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 73 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 76 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 79 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 82 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 85 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 88 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +Testing with sample rate [44100] and block size [512] +!!! Test 91 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 94 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 97 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 100 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 103 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 106 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 109 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 112 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 115 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 118 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +Testing with sample rate [44100] and block size [1024] +!!! Test 121 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 124 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 127 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 130 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 133 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 136 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 139 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 142 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 145 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 148 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +!!! Test 211 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 214 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 217 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 220 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 223 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 226 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 229 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 232 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 235 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 238 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +Testing with sample rate [48000] and block size [512] +!!! Test 241 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 244 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 247 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 250 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 253 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 256 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 259 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 262 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 265 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +!!! Test 268 failed: NaNs found in buffer -- Expected value: 0, Actual value: 3 +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +!!! Test 391 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 394 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 397 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 400 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 403 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 406 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 409 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 412 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 415 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +!!! Test 418 failed: NaNs found in buffer -- Expected value: 0, Actual value: 57 +Testing with sample rate [96000] and block size [1024] +!!! Test 421 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 424 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 427 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 430 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 433 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 436 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 439 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 442 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 445 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +!!! Test 448 failed: NaNs found in buffer -- Expected value: 0, Actual value: 56 +FAILED!! 80 tests failed, out of a total of 450 +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Y upon getInput: 256.5 +y upon being retrieved284 +y upon being saved: 284 +Y upon getInput: 256.5 +y upon being saved: 284 +y upon being saved: 284 +y upon being saved: 284 +Y upon getInput: 256.5 +Y upon getInput: 256.5 +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +INFO: Skipping vst3 validator as validator path hasn't been set +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: None + Discrete layouts: None +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: Discrete #1 +Main bus num input channels: 0 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 0 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +FAILURE +*** FAILED + + +Finished validating: /Users/gnat/Library/Audio/Plug-Ins/VST3/Fledge.vst3 +*** FAILED WITH EXIT CODE: 1 + +Finished batch validation diff --git a/Test/pluginval_logs_VST_9_18_2025.txt b/Test/pluginval_logs_VST_9_18_2025.txt new file mode 100644 index 0000000..0fbbcd7 --- /dev/null +++ b/Test/pluginval_logs_VST_9_18_2025.txt @@ -0,0 +1,257 @@ +2025-09-18 19:52:59.382 pluginval[32539:16858517] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:. +Started validating: /Library/Audio/Plug-Ins/VST3/Fledge.vst3 +Random seed: 0x36 +Validation started +Strictness level: 10 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: /Library/Audio/Plug-Ins/VST3/Fledge.vst3... +Num plugins found: 1 + +Testing plugin: VST3-Fledge-703552b8-f599e924 +Rainbow Circuit: Fledge v1.0.0 +Completed tests in pluginval / Scan for plugins located in: /Library/Audio/Plug-Ins/VST3/Fledge.vst3 +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Fledge +Alternative names: Fledge +SupportsDoublePrecision: no +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 0 +All program names checked +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +!!! Test 31 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 34 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 37 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 40 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 43 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 46 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 49 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 52 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 55 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +!!! Test 58 failed: NaNs found in buffer -- Expected value: 0, Actual value: 6 +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +!!! Test 91 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 94 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 97 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 100 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 103 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 106 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 109 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 112 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 115 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +!!! Test 118 failed: NaNs found in buffer -- Expected value: 0, Actual value: 114 +Testing with sample rate [44100] and block size [1024] +!!! Test 121 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 124 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 127 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 130 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 133 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 136 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 139 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 142 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 145 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 148 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +!!! Test 181 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 184 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 187 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 190 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 193 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 196 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 199 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 202 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 205 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 208 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +!!! Test 241 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 244 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 247 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 250 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 253 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 256 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 259 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 262 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 265 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +!!! Test 268 failed: NaNs found in buffer -- Expected value: 0, Actual value: 18 +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +!!! Test 331 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 334 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 337 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 340 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 343 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 346 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 349 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 352 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 355 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 358 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +Testing with sample rate [96000] and block size [256] +!!! Test 361 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 364 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 367 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 370 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 373 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 376 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 379 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 382 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 385 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 388 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +FAILED!! 70 tests failed, out of a total of 450 +----------------------------------------------------------------- +Starting tests in: pluginval / Non-releasing audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +!!! Test 61 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 64 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 67 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 70 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 73 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 76 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 79 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 82 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 85 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +!!! Test 88 failed: NaNs found in buffer -- Expected value: 0, Actual value: 5 +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +!!! Test 181 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 184 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 187 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 190 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 193 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 196 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 199 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 202 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 205 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 208 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +!!! Test 331 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 334 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 337 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 340 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 343 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 346 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 349 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 352 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 355 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +!!! Test 358 failed: NaNs found in buffer -- Expected value: 0, Actual value: 1 +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +FAILED!! 30 tests failed, out of a total of 450 +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state restoration... +Completed tests in pluginval / Plugin state restoration +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / Parameters... +Completed tests in pluginval / Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / Background thread state... +Completed tests in pluginval / Background thread state +----------------------------------------------------------------- +Starting tests in: pluginval / Parameter thread safety... +Completed tests in pluginval / Parameter thread safety +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +INFO: Skipping vst3 validator as validator path hasn't been set +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: None + Discrete layouts: None +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: Discrete #1 +Main bus num input channels: 0 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 0 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +----------------------------------------------------------------- +Starting tests in: pluginval / Fuzz parameters... +Completed tests in pluginval / Fuzz parameters +FAILURE +*** FAILED + + +Finished validating: /Library/Audio/Plug-Ins/VST3/Fledge.vst3 +*** FAILED WITH EXIT CODE: 1 + +Finished batch validation From d30790c0d2253d9625be2e488ffdf432307509fd Mon Sep 17 00:00:00 2001 From: Natameme <60371038+Natameme@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:49:46 -0400 Subject: [PATCH 4/4] added Presets/ added simple_sine, pan_drum and Taco_Hell --- Presets/Taco Hell.preset | 55 +++++++++++++++++++++++++++++++++ Presets/pan_drum keys.preset | 60 ++++++++++++++++++++++++++++++++++++ Presets/simple_sine.preset | 60 ++++++++++++++++++++++++++++++++++++ 3 files changed, 175 insertions(+) create mode 100644 Presets/Taco Hell.preset create mode 100644 Presets/pan_drum keys.preset create mode 100644 Presets/simple_sine.preset diff --git a/Presets/Taco Hell.preset b/Presets/Taco Hell.preset new file mode 100644 index 0000000..8e2842b --- /dev/null +++ b/Presets/Taco Hell.preset @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Presets/pan_drum keys.preset b/Presets/pan_drum keys.preset new file mode 100644 index 0000000..b27d3dd --- /dev/null +++ b/Presets/pan_drum keys.preset @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Presets/simple_sine.preset b/Presets/simple_sine.preset new file mode 100644 index 0000000..9ccaad6 --- /dev/null +++ b/Presets/simple_sine.preset @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +