Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | core: fix: bad offset of tuplet numbers and slurs |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | trunk |
| Files: | files | file ages | folders |
| SHA1: |
9b86c1620139f891e8e50cab04aa4c2c |
| User & Date: | jef 2026-07-16 08:56:36.833 |
Context
|
2026-07-16
| ||
| 08:56 | core: fix: bad offset of tuplet numbers and slurs ... (Leaf check-in: 9b86c16201 user: jef tags: trunk) | |
|
2026-07-14
| ||
| 06:52 | core: fix: put the dots (staccato) at the x offset of the stems in beam sequences ... (check-in: 0d30353697 user: jef tags: trunk) | |
Changes
Changes to core/draw.js.
| ︙ | ︙ | |||
2522 2523 2524 2525 2526 2527 2528 | while (s3 && !s3.stem) // (may have tuplets of rests!) s3 = s3.next dir = (s3 && s3.stem < 0) ? C.SL_BELOW : C.SL_ABOVE } set_dscale(dir == C.SL_ABOVE ? stu : std) if (s1 == s2 // tuplet with 1 note (!) | | < < < | 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 |
while (s3 && !s3.stem) // (may have tuplets of rests!)
s3 = s3.next
dir = (s3 && s3.stem < 0) ? C.SL_BELOW : C.SL_ABOVE
}
set_dscale(dir == C.SL_ABOVE ? stu : std)
if (s1 == s2 // tuplet with 1 note (!)
|| tp.f[1] >= 1) { // 'with' == nothing or slur
nb_only = true
} else {
/* search if a bracket is needed */
if (tp.f[0] != 2 // if 'when' != always
&& s1.type == C.NOTE && s2.type == C.NOTE) {
nb_only = true
for (s3 = s1; ; s3 = s3.next) {
|
| ︙ | ︙ | |||
2579 2580 2581 2582 2583 2584 2585 |
}
}
}
}
/* if number only, draw it */
if (nb_only) {
| | | > | | > | > | 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 |
}
}
}
}
/* if number only, draw it */
if (nb_only) {
if (tp.f[2] == 1) /* if 'what' == none */
return
set_font("tuplet")
xm = (s2.x + s1.x) / 2
if (dir == C.SL_ABOVE) // 8 = width around the middle
ym = y_get(stu, 1, xm - 4, 8)
else
ym = y_get(std, 0, xm - 4, 8) -
gene.curfont.size
if (s1.stem * s2.stem > 0) {
if (s1.stem > 0) {
if (dir == C.SL_ABOVE)
xm += 3
} else {
if (dir != C.SL_ABOVE)
xm -= 3
}
}
yy = ym + gene.curfont.size * .22
if (tp.f[2] == 0) // if 'which' == number
xy_str(xm, yy, tp.p.toString(), 'c')
else
xy_str(xm, yy, tp.p + ':' + tp.q, 'c')
|
| ︙ | ︙ | |||
2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 |
s3.ymx = ym;
y_set(stu, 1, xm - 3, 6, ym)
} else {
if (s3.ymn > ym)
s3.ymn = ym;
y_set(std, 0, xm - 3, 6, ym)
}
return
}
| > > > > | | 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 |
s3.ymx = ym;
y_set(stu, 1, xm - 3, 6, ym)
} else {
if (s3.ymn > ym)
s3.ymn = ym;
y_set(std, 0, xm - 3, 6, ym)
}
// if any, draw the slur now
if (tp.f[1] == 1) // 'with' == slur
draw_slur([s1, s3, s2], {ty: dir})
return
}
// here, 'with' is square bracket
/*fixme: two staves not treated*/
/*fixme: to optimize*/
// first, get the x offsets
x1 = s1.x - 4
|
| ︙ | ︙ |