Okay, here we go ...
Thomas Morley-2 wrote > from your initial posts I expected you'd rewrite the current > noteToFretFunction, i.e. 'determine-frets'. Instead your 'chTab' is a > music-function, still relying on 'determine-frets'. For the moment, this is easier to do. I didn't want to wreck my copy of Lilypond, and I didn't particularly like the idea of rewriting determine-frets, and not changing what works already. And, as I mentioned, it's only a beta. > Up to now I took only a very quick glance over the code. That said, we > have context-properties for some of those settings. I'd recommend to use > them. This is my first big Lilypond project. I'm also learning Scheme for the first time. I agree about the context settings. There are too many ways to tweak this, and the user might want tab that does certain things. > Others are not documented sufficiently, like 'track-tabs'. (I don't > understand what "best tabs" are.) Those are Scheme variable names. Seriously, though, "track-tabs" is the number of tablatures to create; if it's set to 4, that means chTab actually finds the four best ways to tab the music. > In general I'd prefer more comments why you do what inline. Otherwise > you'll likely find not many people diving deeper into it. This is based on the algorithm in Chuanjun He's doctoral thesis: "An Expert System for Guitar Sheet Music to Guitar Tablature". Most of the whys are following what he did there. > It fails for ... Okay, I'll do a walk-through in about a week (which is why I posted it; it works for my examples). Final Exams are coming up here at ASU. > Even if I set 'use-open-strings' true. Since chTab doesn't refer to that property, I'm not surprised. > With this example: > > mus = { > f4\1 f\2 f\3 f' > } > > My settings for the strings are simply ignored. I went back and forth about this, and I decided that chTab would just ignore the strings that are already set. There's no guarantee that they will produce usable tablature, like in: { f16\1 f'\1 f\1 } In a future edition, chTab might generate about a dozen tablatures and look to see if one matches the strings already selected, and then ignores them if there isn't one. > Too many errors This occurred to me while coding. For instance, it does no error-checking. There might not be any suitable tablatures for a particular piece, or notes that are too high or too low to play, where an error message should be returned (along with a graceful (?) exit). Once again, it's a beta. And will probably remain a beta for a while. One last question. You aren't by chance the Thomas Morley who used to teach at Georgia Tech, are you? -- View this message in context: http://lilypond.1069038.n5.nabble.com/Is-Anyone-Working-on-a-Better-Tablature-Algorithm-tp196422p197611.html Sent from the Dev mailing list archive at Nabble.com. _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel