diff --git a/src/rendering/beam.ts b/src/rendering/beam.ts index e64dd81b5..0ed33bd92 100644 --- a/src/rendering/beam.ts +++ b/src/rendering/beam.ts @@ -8,7 +8,7 @@ import { SpannerMap } from './spannermap'; export type BeamRendering = { type: 'beam'; vexflow: { - beam: vexflow.Beam; + beam: vexflow.Beam | null; }; }; @@ -81,7 +81,7 @@ export class Beam { /** Renders the beam. */ render(): BeamRendering { const vfStemmableNotes = this.fragments.map((fragment) => fragment.vexflow.stemmableNote); - const beam = new vexflow.Beam(vfStemmableNotes); + const beam = vfStemmableNotes.length > 1 ? new vexflow.Beam(vfStemmableNotes) : null; return { type: 'beam', diff --git a/src/rendering/score.ts b/src/rendering/score.ts index 12e208293..9cc3ead81 100644 --- a/src/rendering/score.ts +++ b/src/rendering/score.ts @@ -162,7 +162,7 @@ export class Score { // Draw vexflow.Beam elements. spannersRendering.beams.forEach((beam) => { - beam.vexflow.beam.setContext(vfContext).draw(); + beam.vexflow.beam?.setContext(vfContext).draw(); }); // Draw vexflow.StaveTie elements.