소스 검색

Fix ladder filter resonance when input turns off

dds
PaulStoffregen 3 년 전
부모
커밋
f902f747d4
1개의 변경된 파일13개의 추가작업 그리고 2개의 파일을 삭제
  1. +13
    -2
      filter_ladder.cpp

+ 13
- 2
filter_ladder.cpp 파일 보기

@@ -68,8 +68,19 @@ void HNMoog::update(void)
blocka = receiveWritable(0);
blockb = receiveReadOnly(1);
if (!blocka) {
if (blockb) release(blockb);
return;
blocka = allocate();
if (!blocka) {
if (blockb) release(blockb);
return;
}
// When no data arrives, we must treat it as if zeros had
// arrived. Because of resonance, we need to keep computing
// output. Perhaps we could examine the filter state here
// and just return without any work when it's below some
// threshold we know produces no more sound/resonance?
for (int i=0; i < AUDIO_BLOCK_SAMPLES; i++) {
blocka->data[i] = 0;
}
}
if (!blockb) FCmodActive = false;
for (int i=0; i < AUDIO_BLOCK_SAMPLES; i++) {

Loading…
취소
저장