Zero response from the list, but for the record I was able to do both of these things. I made my own copy of the Scheme ambitus-engraver code and put a couple of ly:message calls in to print the notes into the progress output, and I was able to mark certain notes as not counting in the ambitus calculation just by putting them inside a \new Voice.
On Mon, Dec 8, 2025 at 12:37 PM Eric Benson <[email protected]> wrote: > I have a bunch of sheets that I'm transposing on demand for specific > instrument or voice ranges. For that purpose I need to build a database > with the melody range of each sheet, so I can tell if it fits in the target > range of the transposition. I've been trying to figure out how to piggyback > on the ambitus functionality, which extracts the range and adds it at the > very beginning of the output, before or right after the clef. Instead of > putting it in the output, I'd like to just print something out that > specifies the low note and the high note in LilyPond absolute format, e.g. > > Low note: c' > High note: a'' > > I don't think this will be too difficult, especially since I can probably > modify the Scheme version of ambitus-engraver that's included with > documentation, to print something on the terminal output instead of > engraving it in the sheet. > > However, I would also like to mark certain notes in the input as not being > included in this calculation. Sometimes there are snippets of accompaniment > that are in the same staff, but don't count in the melody range. I want > these notes to be engraved as usual, but I want to mark them with a > property that I can query in order to exclude them from the range. I'm > hoping this could be something simple to add to the input files, so that a > sequence of notes could be bracketed with a command to indicate that they > don't count in the melody range. > > Any and all advice is welcome! >
