Skip to content

Commit

Permalink
indent startX for notes depending on key signatures
Browse files Browse the repository at this point in the history
  • Loading branch information
AaronDavidNewman committed Jan 30, 2024
1 parent c9fe94e commit 24f1589
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/render/vex/toVex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -367,16 +367,28 @@ function createStaveNote(renderInfo: VexNoteRenderInfo, key: string, row: number
}
function createColumn(groups: Record<string, VexStaveGroupMusic>, strs: string[]) {
const groupKeys = Object.keys(groups);
let maxXAdj = 0;
groupKeys.forEach((groupKey) => {
const music = groups[groupKey];
// Need to create beam groups before formatting
strs.push(`// create beam groups and tuplets for format grp ${groupKey} before formatting`);
music.measures.forEach((smoMeasure) => {
maxXAdj = Math.max(maxXAdj, smoMeasure.svg.adjX);
createBeamGroups(smoMeasure, strs);
createTuplets(smoMeasure, strs);
});
strs.push(' ');
strs.push(`// formatting measures in staff group ${groupKey}`);
// set x offset for alignment before format
music.measures.forEach((smoMeasure) => {
smoMeasure.voices.forEach((vv) => {
vv.notes.forEach((nn) => {
const id = nn.attrs.id;
const offset = maxXAdj - smoMeasure.svg.adjX;
strs.push(`${id}.setXShift(${offset});`);
});
});
});
const joinVoiceStr = '[' + music.voiceStrings.join(',') + ']';
const widthMeasure = music.measures[0];
const staffWidth = Math.round(widthMeasure.staffWidth -
Expand Down

0 comments on commit 24f1589

Please sign in to comment.