react-client icon indicating copy to clipboard operation
react-client copied to clipboard

ChordPro notation format support

Open rsplaul opened this issue 2 years ago • 0 comments

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.

rsplaul avatar Jun 20 '22 12:06 rsplaul