react-client
react-client copied to clipboard
ChordPro notation format support
I would like to suggest support for the ChordPro notation format.
Describe the solution you'd like ChordPro could be supported in a similar way to the existing ABC notation support. For example
```chordpro
[Am]What shall we do with a drunken sailor? [G]What shall we do with a drunken sailor?
[Am]What shall we do with a drunken sailor? [G]Ear-lye in the [Am]mornin'?
```
would be rendered somehow like this (but with the regular variable-width font!):
Am G
What shall we do with a drunken sailor? What shall we do with a drunken sailor?
Am G
What shall we do with a drunken sailor? Ear-lye in the [Am]mornin'?
I believe there are a couple of JS implementations for the ChordPro format out there, that could be used, for example ChordSheetJS or js-chordpro. (I haven’t tested any of those, though.)
Describe alternatives you've considered The only alternative is to use the 2-line-notation and a block enclosed by triple quotes (like above), which results in a text displayed with fixed-width font.
Additional context
The ChordPro format supports a multitude of ’tags’/keywords to structure the output, like {soc}...{eoc}
for the chorus (which is usually displayed indented) and for headings like {title: The drunken sailor}
. Support for those tags varies between implementations. For Hedgedoc however, tags like {title: ...}
, {subtitle: ...}
, {composer: ...}
etc. are probably not even necessary, because they could be written in Markdown. This could faciliate the search for a suitable JS library.