> > decide to add a lot of this type of macro, lily will be too big / slow ? > > I don't know how it's work, but can't it be possible too add a second > > "package" with this type of extra feature ? > > > > In spite of, thank's for this trick. > > nemo. > > It's not difficult to add a feature in ly2dvi to first run the > input files through a preprocessor like m4 or cpp, if there's > a public demand for it. Adding another macro language within > Lilypond, on the other hand, sounds like a silly idea.
Absolutely. *For sequences* you don't want a macro in lilypond, you want a macro in emacs or a bash script or whatever to run on an .ly file to produce the necessary notes in the .ly file. I thought this was discussed before. This would also be the best way to implement the sort of easy tablature that Rune suggested long ago. \strings ebgdam % list of open strings which are tab lines from top to bottom. \tab { a3 d 2 3 g 2 b 1 } % a C major scale. String = letter, number = fret This could produce, if there were not chords in the voice(s): ------------------------------ -T---------------------0--1--- -A--------------0--2---------- -B-----0--2--3---------------- ----3------------------------- ------------------------------ To write it descending: \tab { b1 b g2 g d3 2 d a3 } The only problem is to put the numbers on the correct beats, which have to be grabbed from the voices desired (included in the tab staff), each for each, up and then right. That is the programming part. \tabstaff < \tabclef % bars, volte, etc come from the music % staff or staves, but you need this. \strings ebgdam \ptA \ptB \tab { a3 d2 g 2 b 1 } > This might produce, if the music began with 3 simultaneous notes distributed in whatever way between the voices ptA and ptB: ----------------- -T--------0--1--- -A--0--2--------- -B--2------------ ----3------------ ----------------- Understand that the string designations are arbitrary. This would make sense on guitar but it could be for anything with strings and frets. For Baroque (five course) guitar: \strings ebgda for banjo d tuning: \strings dbgpk because p looks like d and k sounds like g. Any unique letter will do. For samisen: \strings xrv or whatever is convenient for the names of the strings in Japanese. It is totally counterproductive to put grace notes, ties, slurs or anything such in the tab, because it would be merely clutter duplicating what's in the music staff (or staves). And you ignore rests completely. Remember that *Tab is fingering*, not music notation. Someone who wanted a more limited or cumbersome way of entering the data could write a macro that would process a .ly file from the score according to the tuning of the instrument and the fretting, but it should produce another .ly file. Nothing like that is necessary to implement tablature for *any* fretted instrument with *any* tuning in lilypond. A script that would write the notation from tab could also be easily implemented outside lilypond without hacking it. In fact, that could be done now, but I don't see the point. Of course your source would be somewhat more complicated, and it would amount to nothing more than substituting the pitch for the string-fret combination. Making tab for any particular instrument or doing sequences is a *composition* problem, not a notation problem, and it would be best to do those with bash or emacs macros or python or whatever floats your boat first so that the lilypond notes syntax would not be affected in the final .ly file that is to be processed by ly2dvi or lilypond, or even to be read by humans. Even transposition when used for composition rather than for scoring transposing instruments is better done this way. Otherwise, you could be transposing the same parts twice or more times in the same score, which seems to me to be a very confusing thing. So can we have the tab now? Please? Also fingering in front of notes is somewhat overdue. :-) ------------------------------------------------------------ Information is not knowledge. Belief is not truth. Indoctrination is not teaching. Tradition is not evidence. David Raleigh Arnold [EMAIL PROTECTED] _______________________________________________ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user