ChordSheetJS
ChordSheetJS copied to clipboard
European notation support
Hi! Thanks for your work.
I was wondering if you were planning to introduce support to the European notation (DO, RE, MI, FA, SOL, LA, SI). To my knowledge this isn't yet a feature of this library.
Do you think this is feasible?
I could make a pull request and implement it myself if needed, but I think I'm going to require some tips on which files to modify.
Hey @mgiacopu
Thanks for submitting your issue and for offering your help!
I'm currently finishing quite a thorough refactor that should make this feature easier to implement: #391. When that PR is merged, changes are required in the Chord
and Key
classes to make this work. You may want to watch that PR in order to be notified when it's merged.
Please reach out if you need more info at that time.
Hi @martijnversluis
I've seen that #391 has been merged. I was trying to setup the repo on my machine in order to start developing this feature, but I'm having quite an hard time getting it up and running.
What should the setup look like?
Hey @mgiacopu. Thanks for asking, I realised there is no contribution guide in the README. The requirements to get started are as follows:
- you need NodeJS running on your system, version 14 or higher. If assume you already have that running, but if you don't installation instructions are here
- you need to have Yarn installed, this is an alternative to NPM. Instructions are here
- you need to have Git installed. If you don't, you can download it here
- download the source code using
git clone https://github.com/martijnversluis/ChordSheetJS.git
orgit clone [email protected]:martijnversluis/ChordSheetJS.git
(more info on which one to use) - the
src/
folder contains the actual code, thetest/
folder contains the tests that check the working of the code - if you have made changes you can run
yarn test
to check.
Please reach out with more info about your system if you need more details, because installation differs greatly among operating systems, version managers etc.
Hi @martijnversluis
I think I explained myself wrongly.
What i meant was like having a local installation of the package: I know something similar can be achieved using npm link
but as I said I'm finding it tricky.
Besides that, I've started watching the code. In addition to changing Chord
and Key
I think also Note
should be modified.
Maybe adding another constant other than SYMBOL
and NUMERIC
(something like LATIN
) and then adding specific behavior to the new type of note or perhaps leveraging on the logic behind NUMERIC
?
Sorry for the late follow-up. I guess having the extra constant makes sense. I recently merged in support for numerals. I think that PR will be a great guide in implementing european notation: https://github.com/martijnversluis/ChordSheetJS/pull/459
I'm coming late and maybe I did not understand all of the discussion but here are some thoughts:
- To my knowledge there is no such thing as "European notation". "Do ré (or re) mi fa sol la si" are the latin notation of the notes. I speak french and I know that we use this notation in France, Italy, Spain,... I would not name this as "solfege" because the word "solfège" is used to describe a specific way to learn music.
- There is also the german notation with a H instead of B. But I don't think is a good idea to go there. Even in french I force my students to learn to read the english notation because that's what you will see everywhere. And for what I saw on some forums, it seems to be the same for german teachers that are using the english notation instead of the german notation.
- About the movable Do, I'm not sure a lot of people are using this. It also always needs the key of the song to work.