How much would this cost to sponsor? I've tried to describe it as best I could below, and provided a sample of what the proposed source code might look like and a description of what the output would be, please let me know if there is any confusion about what I'm describing:
Begin: % PROPOSED SAMPLE SOURCE CODE BEGIN twoWays = \transpose c c' { % C7b5 <gf\6 e' bf' c>1 % FMaj7 <f'\4 c' e a>1 } << \new FretBoards \twoWays \new Voice \twoWays >> % PROPOSED SAMPLE SOURCE CODE END The above source code example would generate a PDF with normal staff of whole note chords and the following fretboards painted above it in the newly proposed "FretBoards" context: \markup \fret-diagram-terse #"2;x;2;3;1;x;" \markup \fret-diagram-terse #"x;x;3;5;5;5;" Note that the new "FretBoards" context ascertained the fret markup by mapping the octivised notes in the chords specified, to an array of the fretboard with a certain tuning and number of strings. Additionally it "windowed" into that array based on a "maximum-stretch" of 5 frets, meaning that it will only search for frets that give the desired note within that stretch range. (most guitar chords do not exceed a 5 fret stretch so that is a good default). It would move up the strings and "drop a dot" onto whatever frets produce the desired notes (after transpose). Other Method and Specification notes: 0) A new context will be developed called FretBoards, it will generate fretboards based upon the provided chords. 1) The user would code the notes as chords for their fretted instrument using standard lilypond chord syntax of <note note note>duration (including octaves, octive jump behaviour follows lowest note of previous chord just like today) 2) At a minimum the lowest note in each chord will have a string number specified in standard string number notation of: \n where n is the string number. This will indicate to the algorithm where to start looking on the fretboard for the notes of the chord to generate the fret dots. (Note it is important that no more than one string number be required, so that people can re-use their notes without having string numbers printing all over the place) 3) The new fretboards context will generate the fretboard diagrams of the specified chords 4) It will ascertain the fret dots based on a maximum-stretch parameter and tunings parameter. Maximum stretch shall default to 5 frets, this is the "window" in which the algorithm shall look for the desired notes on the strings within the fret range determined by the on mandatory string number named to generate the dots. 5) Additionally FretBoards will have properties to set tuning, number of strings, number of frets, if unspecified standard guitar tuning (e a d g b e) and 6 strings will take effect. 6) The generated fretboards will only contain dot markers, (most guitarists can figure out intuitively what needs to be barred). Internally the terse fretboards can be used, however neck position should indicate the lowest fret number (in arabic numerals please). So barre indication and finger number indication is BEYOND THE SCOPE OF THIS ENHANCEMENT, (just the dots are good enough). More than one dot on a string should not occur or be allowed. 7) The FretBoards chords will participate in transposition and the generated fret boards will reflect that transpose. 8) NO CHORD NAMES will be generated above the fretboards because any musical chord can theoretically have many different names. Generating chord names above the fretboards is BEYOND THE SCOPE OF THIS ENHANCEMENT, people can use \markup for that. Additionally root names, bass names, or anything theoretical is not being requested, this enhancement is meant to be a simple mapping of lilypond notated chord stacks to a fretboard, so that fretboards can now participate in transpose and be entered "by note" which is more natural for most musicians. 9) The FretBoards staff will accept \markup attached to the chords specified, this markup will be generated relative/glued to the generated fret diagram 10) A boolean shall be included to suppress adjacent duplicate fretboards, just like duplicate ChordNames can be suppressed today 11) The FretBoards staff additionally will inherit many of the same properties as Lyrics and ChordNames do for positioning, fonts, etc. Thanks Rick -- View this message in context: http://www.nabble.com/Another-sponsorship%2C-hopefully-can-be-done-cheaply--tf2462195.html#a6863919 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