From 7f9b9fdb392d99953f6679085cb43f9149225b5d Mon Sep 17 00:00:00 2001 From: Jared Johnson Date: Sun, 23 Feb 2025 08:30:18 -0500 Subject: [PATCH 1/3] render metronome symbols only for the first part and first stave --- site/src/examples | 1 - src/rendering/stave.ts | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) delete mode 120000 site/src/examples diff --git a/site/src/examples b/site/src/examples deleted file mode 120000 index b8613c2f9..000000000 --- a/site/src/examples +++ /dev/null @@ -1 +0,0 @@ -../../tests/integration/__data__/ \ No newline at end of file diff --git a/src/rendering/stave.ts b/src/rendering/stave.ts index 0af00f704..da2d5e9c0 100644 --- a/src/rendering/stave.ts +++ b/src/rendering/stave.ts @@ -353,7 +353,9 @@ export class Stave { const isFirstSystem = this.document.isFirstSystem(this.key); const isFirstMeasure = this.document.isFirstMeasure(this.key); const isFirstFragment = this.document.isFirstFragment(this.key); - const isAbsolutelyFirst = isFirstSystem && isFirstMeasure && isFirstFragment; + const isFirstPart = this.document.isFirstPart(this.key); + const isFirstStave = this.document.isFirstStave(this.key); + const isAbsolutelyFirst = isFirstSystem && isFirstMeasure && isFirstFragment && isFirstPart && isFirstStave; const currentMetronome = this.document.getFragment(this.key).signature.metronome; const previousMetronome = this.document.getPreviousFragment(this.key)?.signature.metronome; From f761a35deed5dfca5fd8d0eb4f1ebd4db38c1198 Mon Sep 17 00:00:00 2001 From: Jared Johnson Date: Sun, 23 Feb 2025 08:31:47 -0500 Subject: [PATCH 2/3] fix site/src/examples symlink --- site/src/examples | 1 + 1 file changed, 1 insertion(+) create mode 120000 site/src/examples diff --git a/site/src/examples b/site/src/examples new file mode 120000 index 000000000..341ca691e --- /dev/null +++ b/site/src/examples @@ -0,0 +1 @@ +../../tests/__data__ \ No newline at end of file From d950f0b8de7ad77522f2c3c81ddd9120e6882582 Mon Sep 17 00:00:00 2001 From: Jared Johnson Date: Sun, 23 Feb 2025 08:38:34 -0500 Subject: [PATCH 3/3] require the previous metronome to be specified to be considered a change --- src/rendering/stave.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/rendering/stave.ts b/src/rendering/stave.ts index da2d5e9c0..89d500520 100644 --- a/src/rendering/stave.ts +++ b/src/rendering/stave.ts @@ -361,10 +361,11 @@ export class Stave { const previousMetronome = this.document.getPreviousFragment(this.key)?.signature.metronome; const didMetronomeChange = - currentMetronome.displayBpm !== previousMetronome?.displayBpm || - currentMetronome.dots !== previousMetronome?.dots || - currentMetronome.dots2 !== previousMetronome?.dots2 || - currentMetronome.duration !== previousMetronome?.duration; + previousMetronome && + (currentMetronome.displayBpm !== previousMetronome.displayBpm || + currentMetronome.dots !== previousMetronome.dots || + currentMetronome.dots2 !== previousMetronome.dots2 || + currentMetronome.duration !== previousMetronome.duration); const hasMetronome = currentMetronome.displayBpm || currentMetronome.dots || currentMetronome.dots2 || currentMetronome.duration;