abcjs icon indicating copy to clipboard operation
abcjs copied to clipboard

Support for GABC-notation

Open PurgingPanda opened this issue 2 years ago • 1 comments

Not quite sure if this is the correct way to ask about it.

Has there every been interest in adding support for the GABC-notation variant. It is a modified version of ABC notation for gregorian chant.

Link with more info: https://gregorio-project.github.io/gabc/

Kind Regards

PurgingPanda avatar Aug 19 '23 11:08 PurgingPanda

At a glance, I think an interpreter could be written - that is, you could convert the GABC notation to regular ABC as a first step. Like this:

const gabcString = "etc..."
const abcString = convertFromGregorian(gabcString)
abcjs.renderAbc(paper, abcString)

That would be the best way to render it as standard notation.

If you wanted all the special note heads, that would be more work and would require post-processing. It is possible and is probably easier than starting from scratch.

That would require the first step above, then after the renderAbc call something like:

const gNotes = document.querySelectorAll('[data-name="G"]')
gNotes.forEach(note => {
  note.setAttribute('d', 'the-path-definition')
}

(untested code above)

paulrosen avatar Sep 04 '23 14:09 paulrosen