Oh yes. Thank you so much Valentin. Also I will remember to format the code better next time.

On 10/3/2023 12:15 AM, Valentin Petzel wrote:
You are doing

<< { c'2. } \new Voice { \redDotMultiMeasureRest R1 } >>

but a 3/4 measure only has length 2. . So do

<< { c'2. } \new Voice { \redDotMultiMeasureRest R2. } >>

instead.

While you are at it: You can directly boxify the stencil using box-stencil
without going the extra way over a markup. Also you could format your code in
a more readable manner (which helps understanding problems) like this:

\version "2.22.0"
\language english
boxify =
#(define-music-function
   (grob-path) (key-list?)
   (define proc
     (grob-transformer 'stencil
                       (lambda (grob orig) (box-stencil orig 0.1 1.25))))
   #{ \override $grob-path . stencil = #proc #})

#(define (center-stencil stil)
    (ly:stencil-aligned-to (ly:stencil-aligned-to stil X CENTER) Y CENTER))

redDotMultiMeasureRest = {
   \override MultiMeasureRest.stencil =
   #(grob-transformer
     'stencil
     (lambda (grob default)
       (ly:stencil-translate-axis
        (center-stencil (ly:text-interface::print grob))
        (interval-center (ly:stencil-extent default X))
        X)))

   \override MultiMeasureRest.text = "."
   \override MultiMeasureRest.font-size = 10
   \override MultiMeasureRest.color = "#FF0000"
}

\header { tagline = ##f }

\score {
   \new RhythmicStaff {
     \override Score.SpacingSpanner.strict-note-spacing = ##t
     \set Score.proportionalNotationDuration = #(ly:make-moment 1/8)
     \set Timing.beamHalfMeasure = ##f
     \override Staff.MeasureCounter.staff-padding = #4.5
     \set Staff.midiInstrument = #"acoustic grand" \key c \major
     \numericTimeSignature \time 3/4 \clef treble
     \startMeasureCount \hideNotes
     << { c'2. } \new Voice { \redDotMultiMeasureRest R2. } >>
     << { 4 4 4 } \new Voice { \redDotMultiMeasureRest R2. } >>
     \stopMeasureCount \bar "||"
   }
   \layout {
     \context {
       \RhythmicStaff
       \consists Measure_counter_engraver
       \boxify MeasureCounter
     }
   }
}

Cheers,
Valentin

Am Dienstag, 3. Oktober 2023, 05:39:53 CEST schrieb Rajesh Baskar:
Hi,

Can someone please help me? I'm trying to hide the notes and display a
red dot in the middle. This below should have only 2 measure but it
prints 3 and there are some errors.

Thanks,
Raj

\version "2.22.0" \language english
boxify = #(define-music-function (grob-path) (key-list?) (define proc
(grob-transformer 'stencil (lambda (grob orig)
              (grob-interpret-markup grob
                #{ \markup \override #'(box-padding . 1.25) \override
#'(thickness . 1)
                   \box \stencil #orig #})))) #{ \override $grob-path .
stencil = #proc #})
#(define (center-stencil stil) (ly:stencil-aligned-to
(ly:stencil-aligned-to stil X CENTER) Y CENTER))
redDotMultiMeasureRest = { \override MultiMeasureRest.stencil =
#(grob-transformer 'stencil (lambda (grob default)
                             (ly:stencil-translate-axis (center-stencil
(ly:text-interface::print grob)) (interval-center (ly:stencil-extent
default X)) X)))
                             \override MultiMeasureRest.text = "."
                             \override MultiMeasureRest.font-size = 10
                             \override MultiMeasureRest.color = "#FF0000" }
\header {tagline = ##f } \score {\new RhythmicStaff { \override
Score.SpacingSpanner.strict-note-spacing = ##t
                                                        \set
Score.proportionalNotationDuration = #(ly:make-moment 1/8)
                                                        \set
Timing.beamHalfMeasure = ##f
                                                        \override
Staff.MeasureCounter.staff-padding = #4.5
                                                        \set
Staff.midiInstrument = #"acoustic grand" \key c \major
\numericTimeSignature \time 3/4 \clef treble
\startMeasureCount \hideNotes
                                                        << { c'2. } \new
Voice { \redDotMultiMeasureRest R1 } >>
                                                        << { 4 4 4 } \new
Voice { \redDotMultiMeasureRest R1 } >>
\stopMeasureCount \bar "||"}
                                   \layout { \context { \RhythmicStaff
\consists Measure_counter_engraver \boxify MeasureCounter } } }

Reply via email to