Giter VIP home page Giter VIP logo

desbeers / chord-provider Goto Github PK

View Code? Open in Web Editor NEW
62.0 7.0 9.0 22.89 MB

A ChordPro file parser and editor for macOS, iPadOS and visionOS. Show the song with the chords for guitar, guitalele or ukulele and export them to PDF.

Home Page: https://desbeers.github.io/Chord-Provider/

License: GNU General Public License v3.0

Swift 78.41% HTML 0.12% SCSS 3.12% JavaScript 16.47% Mustache 1.88%
chords chordpro swiftui macos swift ios guitar guitar-chords visionos guitar-tab

chord-provider's People

Contributors

desbeers avatar saschamzh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

chord-provider's Issues

end_of_xxx not used

It seams that there is a little bit magic because the end_of_xxx statements are not implemented.
This should be implemented to be more specific and ChordPro conform.

PDF export separates chords and text

When exporting a PDF, one of the lines is cut off right in the middle of text.

Might be nice if the export tried to be smart about where it breaks so that chords always appear on the same page as lyrics. Or, even better, perhaps trying to keep whole sections on a page.

File attached showing where I observed the issue.

Joshua Breeden - Fireflies.pdf

Installation?

Not in Mac App Store - no releases or packages on GitHub - how would I install this?

Show unrecognized chord name instead of mangling the name with '?'

(I'm not sure if this is more of an issue with the SwiftlyChordUtilities dependency or Chord Provider itself, so feel free to move the issue)

I have a chordpro file which contains a Gadd4 chord (also known as Gadd11).

Since Chord Provider doesn't recognize this chord, I defined a chord chart + fingering for it:

{define: Gadd4 base-fret 1 frets 3 2 0 0 1 3 fingers 3 2 0 0 1 4}

Some [Gadd4]lyrics here

This rendered as:

G?*

in both the display and PDF output which was a surprise, since I expected this to display the chord name I wrote.

A quick fix might be just to add support for add4 chords. Looking at the way add9 is supported in SwiftlyChordUtilities, it appears like you explicitly added a case for Chord.Quality to cover addNine. Should there also be an addFour/addEleven?

Although thinking about this some more, add chords are just the major triad with an "added" interval above the root, so theoretically it would be possible to construct arbitrary add chords with intervals over the entire octave. However, the number of such chords is bounded if we assume we’re naming chords by “normalizing” the added interval within the octave (so add11 would be written as add4). So perhaps the path forward is to generalize add to allow for arbitrary intervals?

It seems reasonable that the chord database may not be exhaustive, but my main issue is that the name gets mangled in the display (and also PDF output). For chords that aren't recognized, could the original name be kept as-is instead of mangling the name?

German Chord names

In Germany the notes are CDEFGAH. It should be possible to translate this based on the system language to German automatically or to implement a settings screen.

Support SongPro Format

I'd love to see this app support the SongPro format. I tried making my own (songpro-editor-swiftui but never got around to finishing.

Is there any interest in supporting the SongPro format? If so, I might be inclined to take a stab at it in a fork.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.