On Fri, Nov 10, 2023 at 11:56 AM Knute Snortum <ksnor...@gmail.com> wrote:

> I'm engraving a Scriabin piano etude that starts with common time in the
> right hand and 12/8 in the left.   ...
>

I think I have a better solution now.  It's attached.

--
Knute Snortum
\version "2.24.2"

\paper {
  ragged-right = ##t
}

% tsMarkup.128 = \markup {
%   \override #'(baseline-skip . 0.5)
%   \column { \concat { \number 1 \number 2 } \translate #'(0.6 . 0) \number 8 }
% }

tsMarkup.128 = \markup {
  \override #'(baseline-skip . 0.5)
  \column { \translate #'(-0.6 . 0) \concat { \number 1 \number 2 } \number 8 }
}

tsMarkup.C = \markup {
  \override #'(baseline-skip . 0.5)
  \column { \musicglyph "timesig.C44" }
}

fakeTimeSignature = 
#(define-music-function (tsMarkup) (markup?)
  #{
    \override Staff.TimeSignature.style = #'default
    \override Staff.TimeSignature.stencil = #(lambda (grob)
      (grob-interpret-markup grob tsMarkup))
  #})

rightHand = \relative {
  \time 4/4
  c'8^"left hand 12/8"
  \repeat unfold 7 { c8 } \break
  \bar "||"
  c8^"show time sig again" 
  \repeat unfold 7 { c8 } \break
  \bar "||"
  c8^"original time signature"
  \repeat unfold 7 { c8 }
}

leftHand = \relative {
  \clef bass
  \fakeTimeSignature \tsMarkup.128
  \time 4/4
  \scaleDurations 2/3 { 
    \repeat unfold 12 { c8 } 
  }
  \bar "||"
  \fakeTimeSignature \tsMarkup.C
  \time 4/4
  \repeat unfold 8 { c8 } 
  \fakeTimeSignature \tsMarkup.128
  \time 4/4
  \scaleDurations 2/3 { 
    \repeat unfold 12 { c8 } 
  }
}

\score {
  \new PianoStaff <<
    \new Staff \rightHand
    \new Staff \leftHand
  >>
}

Reply via email to