You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm learning to play guitar and I now have a rather large number of chords to learn. I started writing a thing to randomly generate chords and show me the tab diagrams, but then I figured someone probably already did.
I found FlashChord and the only thing that would make it better is to add chord diagrams. There are a few JS libraries that will do this (I thought https://github.com/0xfe/vexchords looked good). Your About page says you'd prefer to collaborate before it's time for a pull request, so I figured I'd reach out here. I'd like to write the feature. I'm normally a Java and Python guy, so if you have a particular build and deployment workflow that works for you, I'd need to understand it.
The text was updated successfully, but these errors were encountered:
Hey, @thaen! Thanks for reaching out. vexchords looks interesting. I have a couple thoughts about this:
I'm in the process (active off and on) of rearchitecting Flash Chord to make the code more modular and easier to follow. I'm juggling some other things, so it's not my focus right now, but I need to finish the rearchitecture before adding any new features.
I have mixed feelings about adding chord diagrams for guitar for a couple of reasons. It's a cool idea, however...
I want Flash Chord to work for all instruments, not just guitar, so I don't want to make it too guitar-centric.
I don't want to be too prescriptive about how people should play along with the chords provided. That is, you wouldn't want to be playing a chord up the neck and then be suddenly directed to shift to a chord down by the nut. The player should determine which chord shape makes sense to play next.
If I'm playing a D13 up on the 10th fret, I wouldn't want the next Gmaj7 to be down by the nut, but rather the root-6 Gmaj7 on the 10th fret.
However, I certainly don't want to discourage learning and contribution, so I'd suggest that you fork the project and work on this in parallel. If you come up with some great design solutions for how to make chord shape suggestions unobtrusive for non-guitarists in a way that makes sense for neck position, I'd love to see it. Here are some points for acceptance criteria that I'd like to see:
Acceptance Criteria
Guitar chord diagrams are disabled by default (for non-guitar instruments) but can be enabled via the UI
Suggested chord shapes make sense for position on the neck*
Guitar chord shapes are available all of the chords suggested by Flash Chord*
Notes
*One option to make this a lot more simple is to limit the chord types and position for chord suggestions, such as chord diagrams only work for Major, Minor, Dominant 7, Major 7, Minor 7, Diminished, Diminished 7, Half-diminished (m7b5) chords in the first position. Another option might be to have a second parameter to specify the area of the neck (1-5 fret position, 5-10 fret position, 8-12 fret position, etc.).
I don't have a great build and deployment workflow right now, but I'm hoping to improve that with the rearchitecture. Don't worry about deployment for now. Just see if you can get this working in your fork and then we can see how it might fit into the v2 rearchitecture. If you want to use my local development Docker config that I've started using, I've just committed the files here: e04c141
I'm learning to play guitar and I now have a rather large number of chords to learn. I started writing a thing to randomly generate chords and show me the tab diagrams, but then I figured someone probably already did.
I found FlashChord and the only thing that would make it better is to add chord diagrams. There are a few JS libraries that will do this (I thought https://github.com/0xfe/vexchords looked good). Your About page says you'd prefer to collaborate before it's time for a pull request, so I figured I'd reach out here. I'd like to write the feature. I'm normally a Java and Python guy, so if you have a particular build and deployment workflow that works for you, I'd need to understand it.
The text was updated successfully, but these errors were encountered: