[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Replace with red dot
From: |
Valentin Petzel |
Subject: |
Re: Replace with red dot |
Date: |
Tue, 03 Oct 2023 09:15:51 +0200 |
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 } } }
signature.asc
Description: This is a digitally signed message part.