Hi Carl,

nice work.

A general thought:
As far as I understand the code will work automatically. Though, I
foresee some users wanting to switch it off (ofcourse not the majority,
but there is always somebody with different wishes).
Any chance to create an option for it?

Some inline remarks below.


https://codereview.appspot.com/294570043/diff/1/scm/translation-functions.scm
File scm/translation-functions.scm (right):

https://codereview.appspot.com/294570043/diff/1/scm/translation-functions.scm#newcode258
scm/translation-functions.scm:258: (let* ((barres (make-array 0 5 4)) ;
5 fingers, 4 elements/barre
Afaik, this will be the first use of make-array in our source,
so I'd love some more explanations in the comments, especially about 5
and 4 bounds.
5 is obviously the amount of possible fingers, as you stated already.
About 4: this will be filled lateron with
(barre-symbol
 from-higher-string, p.e. 1
 to-lower-string, p.e. 6
 fret-number)

Why this order for second/third element?
I'm aware it makes no programmatical difference, but all NR examples do
it the other way round, something like:
(barre 5 1 3) and not (barre 1 5 3)

Probably exchange those to be consistent with the NR.
Here, while doing array-set! and in the filtering-condition later.

https://codereview.appspot.com/294570043/diff/1/scm/translation-functions.scm#newcode278
scm/translation-functions.scm:278: (not (= (list-ref l 3 ) 0))
Why not use (second/third/fourth l) instead of (list-ref l 1/2/3)?

https://codereview.appspot.com/294570043/diff/1/scm/translation-functions.scm#newcode289
scm/translation-functions.scm:289: (have-fingers (not (null? (filter
(lambda (sf)
Why (have-fingers (not ...))
and as predicate in line 306 as
(not have-fingers)
Couldn't both (not ...) be deleted?

https://codereview.appspot.com/294570043/

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to