It turns out I was wrong, duration-log can be accessed for the stems. The code now is really simple:
turnStemOff = #(lambda (grob) (let* ((dur (ly:grob-property grob 'duration-log))) (if (> dur 1) (ly:stem::print grob)))) And thanks to Mats' snippet, I can (almost) automatically produce void 3/2 and 'normal' 3/2 from the same input. Thanks all! On Mon, Sep 28, 2009 at 10:20 AM, Rodolfo Zitellini <xhero...@gmail.com> wrote: > Yes, but I would not have correct crotchets - in this type of void > notation crotchets are written out as quavers, with connected stems > and all, but with a white notehead. > I think I can: > 1) write out everything in 3/2 and then alter manually every note <= > than a quarter to transform it in an eight > 2) Halve all the values of the original, writing it in 3/4, then > blanking out all the noteheads (with duration-log). In this case all > the quarters are displayed corretly - they effectively become eights > with white noteheads - but (obviously) all the whole notes in the > original now are written as minims. I then manually turn off their > stem to make them wholes again. This is because I am faking 3/2 using > 3/4 (for the abovementioned eigths). > I can do this all manually, but it is quite tedious and long, and in > clutters my code (since I have to torn off stems almost every 2 notes) > - a way of turning off stems for all minims would be much more simple. > > Thanks, > Rodolfo > > On Sat, Sep 26, 2009 at 9:54 PM, Mats Bengtsson > <mats.bengts...@ee.kth.se> wrote: >> Isn't it simplest to first use the trick described in >> http://lsr.dsi.unimi.it/LSR/Item?id=305 to modify the duration of each note >> to the double, and then alter the note heads. This should give you correct >> stems. >> >> /Mats >> >> Rodolfo Zitellini wrote: >>> >>> Hello list, >>> I am trying to typeset a piece in 3/2 void notation. I entered all the >>> music in 3/4 and altered the noteheads with #'duration-log = 1 to make >>> all notes white. This fakes 3/2 ok, but all notes bigger than a minim >>> (in 3/2) now have stem, which requires me to turn on and off all the >>> stems manually for every note that should not have one (i.e. all the >>> semibreves in 3/2). >>> I understand that in scheme it is possible to access the value of >>> duration-log to conditionally change the notehead stencil, it it >>> possible to do the same for the stem? I would just need to hide the >>> stem for all notes with value >= 2 (as entered in lilypond). >>> Regards >>> Rodolfo >>> >>> >>> _______________________________________________ >>> lilypond-user mailing list >>> lilypond-user@gnu.org >>> http://lists.gnu.org/mailman/listinfo/lilypond-user >>> >> >> >> -- >> ============================================= >> Mats Bengtsson >> Signal Processing >> School of Electrical Engineering >> Royal Institute of Technology (KTH) >> SE-100 44 STOCKHOLM >> Sweden >> Phone: (+46) 8 790 8463 >> Fax: (+46) 8 790 7260 >> Email: mats.bengts...@ee.kth.se >> WWW: http://www.s3.kth.se/~mabe >> ============================================= >> >> > _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user