Removed debug messages in the hot path
This commit is contained in:
parent
6d53619d71
commit
eb0b84a7a6
3 changed files with 10 additions and 33 deletions
|
|
@ -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<sfz::Synth*>(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<sfz::Synth*>(arg);
|
||||
DBG("Sample rate changed to " << nframes);
|
||||
// DBG("Sample rate changed to " << nframes);
|
||||
synth->setSampleRate(nframes);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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<float>(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<uint32_t>(region->getDelay() * sampleRate);
|
||||
baseFrequency = midiNoteFrequency(number) * pitchRatio;
|
||||
prepareEGEnvelope(initialDelay, value);
|
||||
|
|
@ -430,7 +418,6 @@ void sfz::Voice::fillWithData(AudioSpan<float> 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<float> 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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue