diff --git a/src/rendering/EffectBand.ts b/src/rendering/EffectBand.ts index 001708dd0..f58a70d43 100644 --- a/src/rendering/EffectBand.ts +++ b/src/rendering/EffectBand.ts @@ -110,10 +110,13 @@ export class EffectBand extends Glyph { // load the effect from the previous renderer if possible. let previousRenderer: EffectBarRenderer = this.renderer .previousRenderer as EffectBarRenderer; - let previousBand: EffectBand = previousRenderer.getBand(this.voice, this.info.effectId)!; - let voiceGlyphs: Map = previousBand._effectGlyphs[b.voice.index]; - if (voiceGlyphs.has(prevBeat.index)) { - prevEffect = voiceGlyphs.get(prevBeat.index)!; + let previousBand = previousRenderer.getBand(prevBeat.voice, this.info.effectId); + // it can happen that we have an empty voice and then we don't have an effect band + if(previousBand) { + let voiceGlyphs: Map = previousBand._effectGlyphs[prevBeat.voice.index]; + if (voiceGlyphs.has(prevBeat.index)) { + prevEffect = voiceGlyphs.get(prevBeat.index)!; + } } } // if the effect cannot be expanded, create a new glyph diff --git a/test-data/visual-tests/issues/let-ring-empty-voice.gp b/test-data/visual-tests/issues/let-ring-empty-voice.gp new file mode 100644 index 000000000..c685455d2 Binary files /dev/null and b/test-data/visual-tests/issues/let-ring-empty-voice.gp differ diff --git a/test-data/visual-tests/issues/let-ring-empty-voice.png b/test-data/visual-tests/issues/let-ring-empty-voice.png new file mode 100644 index 000000000..71c3ba037 Binary files /dev/null and b/test-data/visual-tests/issues/let-ring-empty-voice.png differ diff --git a/test/visualTests/issues/BrokenRenders.test.ts b/test/visualTests/issues/BrokenRenders.test.ts new file mode 100644 index 000000000..354f96d96 --- /dev/null +++ b/test/visualTests/issues/BrokenRenders.test.ts @@ -0,0 +1,7 @@ +import { VisualTestHelper } from "../VisualTestHelper"; + +describe('BrokenRendersTests', () => { + it('let-ring-empty-voice', async () =>{ + await VisualTestHelper.runVisualTest('issues/let-ring-empty-voice.gp'); + }) +}) \ No newline at end of file