no-chris / chord-mark

Chord Charts. Evolved.
https://chordmark.netlify.app
MIT License
57 stars 2 forks source link

Is this package functional? #255

Closed ecstrema closed 2 years ago

ecstrema commented 4 years ago

I see no documentation on it, but it is already available through npm, and has been downloaded a few times already. So is this package functional? If not, is there anything I can do to help?

no-chris commented 4 years ago

ups, sorry, need to get better on issues notifications ;-)

It is fully functional but lacks documentation. You can have a demo here: https://chord-charts-studio.netlify.app/

chord-mark is only the parsing/rendering lib, everything else around is part of a private repo.

The main driver behind this lib is that I wanted an easy way to write chords charts that would hold bar information, instead of the classic way "put the chord name on top of the word where you are supposed to play it" that is painful when the chord changes are not obvious. So this use case is not supported (yet).

Of course, I could manually write something like: | A | D / E. | but this is even more painful to write and maintain.

If you want to get an idea of the syntax, I will paste here a few meaningful examples of songs that are written in chord-mark. To see how it works, open the link above, create a new song, open the Edit tab and paste one of the following songs. Use the options on the right to tweak the rendering. There is a bug in Chrome (white screen) when you change a few of them but you can use firefox and it disappears.

The idea of the app is, once you are happy with your tab you can:

Thanks for checking this out, I'm really looking forward for any kind of feedback!

no-chris commented 4 years ago

Gregory porter - Water under bridges

4/4
Eb
Cm 
Eb
Cm

#A
Eb2 
Somebody told me "Get 
Bb/C. Cm. Ab/C. Eb/Bb.
over it", It's like water under 
Ab6. G+7. Abm6. Abm6/Bb. 
Bridges That have already 
Eb.. Ab. Bbsus4.
Burned 

#B
Eb 
They say "It gets better, It gets 
Cm.. Ab2/C. Eb/Bb.
easier", The memories start to 
2/4
Ab. Eb/G.
fade And sad 
4/4
Ab6. Eb2/G. Fm7b5. Abm6/B.
songs that always play
You start to hate

#b
Ab
Do you remember 
Bb2/D.. Eb. Gm/Bb.
The days we used to spend?
Ab6.. Eb2/G. Eb°/Gb.
Memories so strong
Bb7sus/F.. Bb..
It keeps me from moving on
AbM7.. Bb/Ab..
If I could go back
G7sus4. G7. Cm. Cm/Bb.
I'd take our worst days 
Am7b5. Abm6. Eb/G. Ebm/Gb.
Even our worst days are better
F.. Bbsus4. Bb7.
Than loneliness

#C
Eb
Somebody told me
Bb/C. Cm. Ab/C. Eb/Bb.
"Get over it"
Ab. Eb/G. F°/Ab. Bb7sus4.
It's like water under bridges
That have already burned 
Eb.. Ab/C. Eb/Bb.
It's like water under bridges
Ab6. Eb/G. Fm7b5. Abm6/Bb.
That have already burned

#u
Eb
Cm
Eb
Cm.. Cm2. Cm.

#b
Do you remember 
The days we used to spend?
Memories so strong
It keeps me from moving on
If I could go back
I'd take our worst days 
Even our worst days are better
Than loneliness

#C
Somebody told me
"Get over it"
It's like water under bridges
That have already burned 
It's like water under bridges
That have already burned 
Eb.. Ab/C. Eb/Bb.
It's like water under bridges
Ab6. Eb/G. Fm7b5. Abm6/Bb.
That have already burned
Eb 
no-chris commented 4 years ago

Stevie Wonder - Don't you worry bout a thing


#i
Ebm.. EbmM7.. Ebm7.. Ebm6..

#v
Ebm.. EbmM7.. Ebm7.. Ab7..
Everybody's got a thing
Dbm7.. Gb9.. BM7.. Bb+..
But some don't know how to handle it
Ebm.. EbmM7.. Ebm7.. Ab7..
Always reachin' out in vain
Dbm7.. Gb9.. BM7.. E9..
Accepting the things not worth having but

#b
F# F#7
Don't you worry 'bout a thing
Bb7 BM7
Don't you worry 'bout a thing, mama
Ab7 Db11
Cause I'll be standing on the side
Gb7 Bb+
When you check it out

#v
They say your style of life's a drag
And that you must go other places
But just don't you feel too bad
When you get fooled by smiling faces but

#b
Don't you worry 'bout a thing
Don't you worry 'bout a thing, mama
Cause I'll be standing on the side
Gb.. F.. E.. Eb.. 
D.. Db.. Gb7
When you check it out...Yeah
Gb.. F.. E.. Eb.. 
D.. Db.. Gb7.. Bb+7..
When you get it off...your trip

#c
Ebm.. EbmM7.. Ebm7.. Ebm6.. EM7 EM7
Don't you worry 'bout a thing...Yeah
/
Don't you worry 'bout a thing...Yeah

#v
Bababa baba baba
Bababa ba bababa ba
Bababa baba baba
Bababa ba bababa ba

#b
Don't you worry 'bout a thing
Don't you worry 'bout a thing, mama
Cause I'll be standing on the side
Gb.. F.. E.. Eb.. 
D.. Db.. Gb7
When you check it out...Yeah
Gb.. F.. E.. Eb.. 
D.. Db.. Gb7.. Bb+7..
When you get it off...your trip

#v
Everybody needs a change
A chance to check out the new
But you're the only one to see
The changes you take yourself through

#b
Don't you worry 'bout a thing
Don't you worry 'bout a thing, mama
Cause I'll be standing on the side
When you check it out...Yeah

#a
Ebm.. EbmM7.. Ebm7.. Ebm6.. EM7 EM7
Don't you worry 'bout a thing 
(To' do' 'stá bien chévere)
no-chris commented 4 years ago

I think most of the syntax is there, otherwise, you can dig a bit into the unit tests to check other functionality.

Focus is really on writability: when I transcribe a song, I want to write the chords in a DRY and easy way. Thus the resulting source file is less readable than with, say, chordPro, but I can do a lot more with it, since I create a model of the song with the chords and bar information. Down the road it would be easily possible to playback a grid written in chord-mark (especially since chord-symbol gives you all the intervals to play :p)

ecstrema commented 4 years ago

Wow! Great work here! Looking forward to using it!

no-chris commented 4 years ago

Did you get the chance to play around with it? Any feedback?

ecstrema commented 4 years ago

I did! But it works so well there's not much to say about it... Here's a few things: 1) under print/pdf, if you use let's say 3 columns, then a lot of the output goes too much to the right: image 2) I love the fact that once you have entered the chord changes for let's say the A section, then you can only write the lyrics the second time. 3) I would love it if under edit mode, the main widget's scrollbars could scroll together. 4) Create a new lead and try to enter some new text: It is hard to get focus into the text area since it only spans a text row, and is not clearly visible. You have to click on the very top to give focus to it. 5) Of course the documentation is still missing. That would be a great plus. The examples give the idea though.

no-chris commented 4 years ago

Thanks for the feedback! Greatly appreciated :D

  1. Yes... you need to somehow find something that makes sense for the current song, with this one you can either set to 2 columns or disable the bar alignment... I agree this should be handled better
  2. I love it too... it's probably one of the main reasons I wrote this lib ;-)
  3. Me too
  4. Yes... I know, will add that as a priority
  5. Well you have kind of spot all the top issues I have on my list ;-)

Another one would be the "chordPro" formatting compatibility. So you could also give indications on lyrics placement, something like

Ebm.. EbmM7.. Ebm7.. Ab7..
_Every_body's _got a _thing

And one could render it the usual way:

Ebm  EbmM7   Ebm7   Ab7
Everybody's  got a  thing

Again, thanks for checking it out!

no-chris commented 2 years ago

Closing this issue as documentation is now available https://chordmark.netlify.app/

3 & 4 have been fixed as well in the latest release of Chord Charts Studio https://chord-charts-studio.netlify.app/