For ChordNames, to eliminate all the "add" whatevers, I use an exceptions list which is documented, or search the archive for "jazzychord". I've had my exceptions list for some time now and just use it routinely, there are also cases where I'll call a chord a 6th vs a 13th, a sus4th an 11th, a sus2 a 9th, etc and my exceptions list can override what LP comes up with for a given note stack, depending on the context of the music.
If a specific string is named then FretBoards context should select the note on that string, otherwise it only expects the bass string to be named and it will determine the fretting dots for the other notes using minimal, (humanly do-able), hand stretch on the upper strings. I have not to date found a chord that I could not make come out properly. As for finger numbers and barres... I generally dont bother depicting the barre because given enough dots it's easy to figure that out, I'm not sure that barres even work on FretBoards context. Your D chord example would just show all dots on what were the open strings of the C chord and yes you would have to redefine the finger numbers (if you are using finger numbers). I generally dont bother with finger numbers or barre depictions on the fretboards, just the dots. Short of any change to LP I suppose the barred versions (in a library) could just be defined separately with different fingers than when the chord is moved out of open position. But, since most chords dont involve open strings, I would probably make the non-barred chords the exceptions with a different name maybe "_o" for open position, and all others the rule because they are moveable without refingering. Maybe a future sponsor can request barre symbols be added to FretBoards, that should be easy as the markup already supports it, it's just a matter of the music (chord) expression passing it through where it is coded. As for alternate fingerings, again I would have the presence of any OPEN string in the chord trigger the use of the alternative finger numbers, as opposed to looking for the presence of a barre which the user may not have even coded. (IOW the presence of an open string means that the guitar nut has become the barre so use the alternate finger numbers) Rick seb-g wrote: > > On Thu, Dec 21, 2006 at 12:45:52PM -0800, [EMAIL PROTECTED] > wrote: >> Here is an example of my "non-programmers" approach to forming a chord >> library: (note this example can only be run in version 2.11.4 or better >> due >> to a crash issue) > > With this solution, fingering and notation will cause a problem. > > A basic C Major chord might be strung like: > > C Major > x o o > +=+=+=+=+=+ > | | | | X | > +-+-+-+-+-+ > | | X | | | > +-+-+-+-+-+ > | X | | | | > +-+-+-+-+-+ > 3 2 1 > > So like: \tag #'M {\relative c { < c\5-3 e\4-2 g\3 c\2-1 e\1> } } > > And a D Major can be see as a 2nd fret barre of the C Major: > > D Major > x > +-+-+-+-+-+ > XXXXXXXXXXX II > +-+-+-+-+-+ > | | | | X | > +-+-+-+-+-+ > | | X | | | > +-+-+-+-+-+ > | X | | | | > +-+-+-+-+-+ > 4 3 1 2 1 > > As you can see the fingering changes from a chord to its barre > declinaison. > > Then we should define the base (the C form) like: > \tag #'M_b {\relative c { < c\5-4 e-3 g-1 c-2 e-1> } } > > "_b" would stands for barre > > to make it work with the barre form (even if the barre is not shown on > the diagram). > Maybe the Fretboard context could detect if a finger is used on several > strings and then show a barre. > > Is it possible to define a fingering like: > \tag #'M {\relative c { < c\5-3:4 e\4-2:3 g\3-o:1 c\2-1:2 e\1-o:1> } } > Which could be interpreted as: > - use 3, 2, o, 1, o fingers if there is an open string (o would > stand for "open string") > - use 4, 3, 1, 2, 1 fingers if there is no open string > this would factorise previous declarations in one. > But maybe the "-x:y" notation is confusing? > > Then we would need to define chords twice. > > In an other hand, the ChordNames would name chords as: > "C add8 add10" and "D add8 add10". This is due to the C and E repetition > one octave higer (1st and 2nd string). > For same reason if you string C/E (add the open 6th string) you will > get: "E b6/b10/addb13/add15" > Maybe this is parametable ? > > cheers > > -- > Sebastien Gross > > > _______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-user > > -- View this message in context: http://www.nabble.com/Chord-library-tf2866120.html#a8019913 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user