Han-Wen Nienhuys <hanw...@gmail.com> writes: > On Thu, Jul 21, 2011 at 10:01 PM, David Kastrup <d...@gnu.org> wrote: >> Anyway, this is not particularly complex either. Could possibly pave >> the way for a nicer function for setting up strings for tabulatures. >> Also stuff like \transpose can be implemented by users with a >> straightforward syntax accepting just pitches where pitches are asked >> for, without the user needing to disassemble music in order to get at >> the pitch somewhere in the center of the mess. > > It would be awesome to implement \transpose (and relative, for that > matter) as a music function.
Not likely a speed gain. But it might be nice to have this available for other user-defined material. >> What do people think? I've not yet bothered with markup, though things >> like \note would be better off taking a duration argument rather than an >> integer. > > The patch looks neat. I don't see any obvious problems, but are you > sure it compiles? Yes. The error message I quoted for a bad signature was not invented. > It seems to be missing the init for the _proc variables you added, > though. No. They are created by the existing calls of IMPLEMENT_TYPE_P in pitch.cc and duration.cc and initialized there. > Can you use ly_lily_module_constant? It memoizes, so it is efficient. Where is the point? The respective variables _are_ initialized and set with the pristine values of the type checking functions. Memoization can't be faster than that, I should think. It could conceivably make a difference when the user masks the definitions of ly:pitch? or ly:duration? (merely setting them to different values should not be a problem) but that's not really something I want to think about too much. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel