Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OnSong parser #458

Closed
bkeepers opened this issue Feb 16, 2022 · 5 comments · May be fixed by #461
Closed

OnSong parser #458

bkeepers opened this issue Feb 16, 2022 · 5 comments · May be fixed by #461

Comments

@bkeepers
Copy link
Contributor

The OnSong format is loosely based on ChordPro, and after looking at it more closely over the last few days, I really like it. It's more human-readable (no more { and }) and has a number of improvements, especially with regard to how chordsheets are typically structured (metadata, sections, and Flow).

I'm looking for a preferred format for https://github.com/bkeepers/chordbook (chordbook/chordbook#130) and would like to try OnSong.

Would you be open to accepting a Pull Request for an pegjs-based parser for OnSong?

@martijnversluis
Copy link
Owner

Hey @bkeepers. Yeah, that would be a great addition! Would that also include the formatting part?

@bkeepers
Copy link
Contributor Author

Awesome, I'll get a PR open soon. I'm about 50% done with the grammar.

We'll have a lot to talk about. OnSong is basically a superset of both ChordPro and ChordSheet formats. The AST will need to be structured differently than ChordPro to get the Flow metatag to work. It might still be able to be deserialized into the same Song model, but there may need to be some modifications.

@bkeepers bkeepers mentioned this issue Feb 17, 2022
17 tasks
@mfuentesg
Copy link

Hey @martijnversluis do you know if this PR has been completed?

@bkeepers
Copy link
Contributor Author

@mfuentesg Not yet, but for now I extracted this to its own package: https://github.com/chordbook/onsong

I'd love to see OnSong support get added to ChordSheetJS eventually, but it's not a priority for me right now.

@mfuentesg
Copy link

Thanks @bkeepers, great package btw

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants