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 } } }