diff --git a/src/ornament.ts b/src/ornament.ts index 9d6580b2..ebf3acb0 100644 --- a/src/ornament.ts +++ b/src/ornament.ts @@ -10,7 +10,6 @@ import { ModifierContextState } from './modifiercontext'; import { Note } from './note'; import { StemmableNote } from './stemmablenote'; import { Tables } from './tables'; -import { TickContext } from './tickcontext'; import { Category } from './typeguard'; import { log } from './util'; @@ -243,11 +242,13 @@ export class Ornament extends Modifier { if (this.delayXShift !== undefined) { delayXShift = this.delayXShift; } else { - const nextContext = TickContext.getNextContext(note.getTickContext()); + const tickables = note.getVoice().getTickables(); + const index = tickables.indexOf(note); + const nextContext = index + 1 < tickables.length ? tickables[index + 1].checkTickContext() : undefined; if (nextContext) { delayXShift += (nextContext.getX() - startX) * 0.5; } else { - delayXShift += (stave.getX() + stave.getWidth() - startX) * 0.5; + delayXShift += (stave.getX() + stave.getWidth() - glyphX) * 0.5; } this.delayXShift = delayXShift; }