From eb0b84a7a6ca9d97f72233caeabc0cd4bc00e52d Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Sun, 8 Dec 2019 17:10:46 +0100 Subject: [PATCH] Removed debug messages in the hot path --- clients/jack_client.cpp | 20 ++++++++++---------- src/sfizz/Synth.cpp | 6 ------ src/sfizz/Voice.cpp | 17 ----------------- 3 files changed, 10 insertions(+), 33 deletions(-) diff --git a/clients/jack_client.cpp b/clients/jack_client.cpp index 619cb9d7..71ac5fe3 100644 --- a/clients/jack_client.cpp +++ b/clients/jack_client.cpp @@ -88,31 +88,31 @@ int process(jack_nframes_t numFrames, void* arg [[maybe_unused]]) switch (midi::status(event.buffer[0])) { case midi::noteOff: - DBG("[MIDI] Note " << +event.buffer[1] << " OFF at time " << event.time); + // DBG("[MIDI] Note " << +event.buffer[1] << " OFF at time " << event.time); synth->noteOff(event.time, midi::channel(event.buffer[0]) + 1, event.buffer[1], event.buffer[2]); break; case midi::noteOn: - DBG("[MIDI] Note " << +event.buffer[1] << " ON at time " << event.time); + // DBG("[MIDI] Note " << +event.buffer[1] << " ON at time " << event.time); synth->noteOn(event.time, midi::channel(event.buffer[0]) + 1, event.buffer[1], event.buffer[2]); break; case midi::polyphonicPressure: - DBG("[MIDI] Polyphonic pressure on at time " << event.time); + // DBG("[MIDI] Polyphonic pressure on at time " << event.time); break; case midi::controlChange: - DBG("[MIDI] CC " << +event.buffer[1] << " at time " << event.time); + // DBG("[MIDI] CC " << +event.buffer[1] << " at time " << event.time); synth->cc(event.time, midi::channel(event.buffer[0]) + 1, event.buffer[1], event.buffer[2]); break; case midi::programChange: - DBG("[MIDI] Program change at time " << event.time); + // DBG("[MIDI] Program change at time " << event.time); break; case midi::channelPressure: - DBG("[MIDI] Channel pressure at time " << event.time); + // DBG("[MIDI] Channel pressure at time " << event.time); break; case midi::pitchBend: - DBG("[MIDI] Pitch bend at time " << event.time); + // DBG("[MIDI] Pitch bend at time " << event.time); break; case midi::systemMessage: - DBG("[MIDI] System message at time " << event.time); + // DBG("[MIDI] System message at time " << event.time); break; } } @@ -130,7 +130,7 @@ int sampleBlockChanged(jack_nframes_t nframes, void* arg [[maybe_unused]]) return 0; auto synth = reinterpret_cast(arg); - DBG("Sample per block changed to " << nframes); + // DBG("Sample per block changed to " << nframes); synth->setSamplesPerBlock(nframes); return 0; } @@ -141,7 +141,7 @@ int sampleRateChanged(jack_nframes_t nframes, void* arg [[maybe_unused]]) return 0; auto synth = reinterpret_cast(arg); - DBG("Sample rate changed to " << nframes); + // DBG("Sample rate changed to " << nframes); synth->setSampleRate(nframes); return 0; } diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index bc3a0b07..68ca29d1 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -287,7 +287,6 @@ sfz::Voice* sfz::Synth::findFreeVoice() noexcept return freeVoice->get(); // Find voices that can be stolen - DBG("No free voice, trying to steal"); voiceViewArray.clear(); for (auto& voice : voices) if (voice->canBeStolen()) @@ -295,15 +294,12 @@ sfz::Voice* sfz::Synth::findFreeVoice() noexcept absl::c_sort(voices, [](const auto& lhs, const auto& rhs) { return lhs->getSourcePosition() > rhs->getSourcePosition(); }); for (auto* voice : voiceViewArray) { - DBG("Average voice power: " << voice->getMeanSquaredAverage()); if (voice->getMeanSquaredAverage() < config::voiceStealingThreshold) { - DBG("Stealing voice..."); voice->reset(); return voice; } } - DBG("Voices are overloaded, can't start a new note"); return {}; } @@ -372,7 +368,6 @@ void sfz::Synth::noteOn(int delay, int channel, int noteNumber, uint8_t velocity { ASSERT(noteNumber < 128); ASSERT(noteNumber >= 0); - // DBG("Received note " << noteNumber << "/" << +velocity << " ON at time " << delay); midiState.noteOn(noteNumber, velocity); @@ -402,7 +397,6 @@ void sfz::Synth::noteOff(int delay, int channel, int noteNumber, uint8_t velocit { ASSERT(noteNumber < 128); ASSERT(noteNumber >= 0); - // DBG("Received note " << noteNumber << "/" << +velocity << " OFF at time " << delay); AtomicGuard callbackGuard { inCallback }; if (!canEnterCallback) diff --git a/src/sfizz/Voice.cpp b/src/sfizz/Voice.cpp index 62c79437..a68745ce 100644 --- a/src/sfizz/Voice.cpp +++ b/src/sfizz/Voice.cpp @@ -50,21 +50,15 @@ void sfz::Voice::startVoice(Region* region, int delay, int channel, int number, if (delay < 0) delay = 0; - // DBG("Starting voice with " << region->sample); - if (!region->isGenerator()) { currentPromise = resources.filePool.getFilePromise(region->sample); if (currentPromise == nullptr) { - DBG("[Voice] Could not fetch the file promise for sample " << region->sample); reset(); return; } speedRatio = static_cast(currentPromise->sampleRate / this->sampleRate); - DBG("[Voice] Sample rate for " << region->sample << " is " << currentPromise->sampleRate); - DBG("[Voice] Speed ratio set to " << speedRatio); } pitchRatio = region->getBasePitchVariation(number, value); - DBG("[Voice] Pitch ratio set to " << pitchRatio); baseVolumedB = region->getBaseVolumedB(number); @@ -72,7 +66,6 @@ void sfz::Voice::startVoice(Region* region, int delay, int channel, int number, if (region->volumeCC) volumedB += normalizeCC(midiState.cc[region->volumeCC->first]) * region->volumeCC->second; volumeEnvelope.reset(db2mag(volumedB)); - // DBG("Base volume: " << baseVolumedB << " dB - with modifier: " << volumedB << " dB"); baseGain = region->getBaseGain(); baseGain *= region->getCrossfadeGain(midiState.cc); @@ -83,31 +76,26 @@ void sfz::Voice::startVoice(Region* region, int delay, int channel, int number, if (region->amplitudeCC) gain *= normalizeCC(midiState.cc[region->amplitudeCC->first]) * normalizePercents(region->amplitudeCC->second); amplitudeEnvelope.reset(gain); - // DBG("Base gain: " << baseGain << " - with modifier: " << gain); basePan = normalizeNegativePercents(region->pan); auto pan { basePan }; if (region->panCC) pan += normalizeCC(midiState.cc[region->panCC->first]) * normalizeNegativePercents(region->panCC->second); panEnvelope.reset(pan); - // DBG("Base pan: " << basePan << " - with modifier: " << pan); basePosition = normalizeNegativePercents(region->position); auto position { basePosition }; if (region->positionCC) position += normalizeCC(midiState.cc[region->positionCC->first]) * normalizeNegativePercents(region->positionCC->second); positionEnvelope.reset(position); - // DBG("Base position: " << basePosition << " - with modifier: " << position); baseWidth = normalizeNegativePercents(region->width); auto width { baseWidth }; if (region->widthCC) width += normalizeCC(midiState.cc[region->widthCC->first]) * normalizeNegativePercents(region->widthCC->second); widthEnvelope.reset(width); - // DBG("Base width: " << baseWidth << " - with modifier: " << width); sourcePosition = region->getOffset(); - DBG("Offset: " << sourcePosition); initialDelay = delay + static_cast(region->getDelay() * sampleRate); baseFrequency = midiNoteFrequency(number) * pitchRatio; prepareEGEnvelope(initialDelay, value); @@ -430,7 +418,6 @@ void sfz::Voice::fillWithData(AudioSpan buffer) noexcept floatPositionOffset = rightCoeffs.back(); if (state != State::release && !region->shouldLoop() && sourcePosition == sampleEnd) { - DBG("Releasing " << region->sample); auto last = std::distance(indices.begin(), absl::c_find(indices, sampleEnd)); release(last); buffer.subspan(last).fill(0.0f); @@ -459,7 +446,6 @@ void sfz::Voice::fillWithGenerator(AudioSpan buffer) noexcept bool sfz::Voice::checkOffGroup(int delay, uint32_t group) noexcept { if (region != nullptr && triggerType == TriggerType::NoteOn && region->offBy && *region->offBy == group) { - DBG("Off group of sample " << region->sample); release(delay); return true; } @@ -490,9 +476,6 @@ sfz::Voice::TriggerType sfz::Voice::getTriggerType() const noexcept void sfz::Voice::reset() noexcept { state = State::idle; - if (region != nullptr) { - DBG("Reset voice with sample " << region->sample); - } region = nullptr; currentPromise.reset(); sourcePosition = 0;