<div dir="ltr"><div>Hello Group,</div><div><br></div><div>Finale 27.3 has added Special Tools edits to Voiced Parts, which means that the Voiced Parts feature is now a usable feature instead of a curiosity. However, Voiced Parts present a challenge to plugins (including Lua scripts) in that Finale implements Voiced Parts in the drawing phase. That means with certain options, the entry data the plugin sees does not match what is drawn in the part.</div><div><br></div><div>It turns out that one can find out if a specific note is visible by searching the note metrics for it, but the most pathological edge cases can lead to entire sequences of notes being represented in the part as a single rest. I don't think that rest can be isolated in an FCNoteEntry instance.</div><div><br></div><div>Much as I would like to implement a global fix that requires no changes to scripts, I don't think that is possible. But I could at least</div><div><br></div><div>- add an FCNote::CalcVisibleInCurrentPart method</div><div>- change FCNoteEntry::CalcHighest/Lowest methods to take note visibility into account</div><div><br></div><div>But if I do change the calc highest/lowest methods, then they could potentially return null if there aren't any visible notes. So that's a potential breaking change.</div><div><br></div><div>I would welcome suggestions as to how much of this to build into RGP Lua and how much to leave to Lua programmers.</div><div><br></div></div>