Skip to content

Cross-beat glides ​

A meend or ghaseet often starts in one beat and ends in another. The renderer only ever sees one beat, so it draws what that beat knows: an opening hook on the note the glide leaves, a bar through a beat it passes, a closing hook on the note it arrives at. swarlipi/bridge joins those fragments into one line once the host says where the beat cells are and which beats pair. The samples below are bridged by that module, live, from the spans each sample declares — uncheck Join the fragments to see what the renderer emitted on its own.

w — plain continuation
ਸqs
w
ਰੇer
W — stroke on a lone continuation beat
ਸqs
W
ਰੇer
W on a note, with a taar dot

The tick must clear the dot.

ਸqs
ਰੇWru
ਰੇer
W on Ni with a taar dot

Bengali's Ni takes a dot line higher than every other letter. The bar does not move for a tick, so the ticked-Ni rule drops that dot back to the normal line to keep the dash off it.

ਸqs
ਨੀWnu
ਰੇer
Two continuations
ਸqs
w
w
ਰੇer
W then w
ਸqs
ਰੇWr
w
ਰੇer
Adjacent beats — no w needed
ਸsq
ਰੇer
Unmarked gap — does not pair, so no bridge
ਸsq
ਮm
ਰੇer
Ghaseet across beats
ਸQs
w
ਰੇEr
Two spans sharing a boundary beat — only the first is ticked

The middle beat closes the first span and opens the second. The two bars must read as two unbroken lines: a step, if any, only between the spans, never inside one.

ਸqs
ਰੇWru
ਗgeq
w
ਪpe

Which beats pair ​

That is the host's rule. The notation app pairs an opener with a closer when the beats are adjacent, or when every beat between them carries a dangling w or W continuation; an unmarked gap does not pair, so a stray marker forty beats away cannot connect. A later opener replaces a pending one. A beat can close one glide and open the next, in which case both bridges meet on that beat and must read as two unbroken lines.

Drawing the bridge ​

measureBridges runs a bar from the right edge of each zone to the left edge of the next along the span, at the zone's height, with the band's thickness from MEEND_BAR_RATIO, and anchor-pins it to both zones so print re-derives the geometry. The Integration page shows the call.

Code MIT · Fonts OFL 1.1 · Inspired by the Omenad Bhatkhande fonts