lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Line breaks in polymetric music


From: Thomas Morley
Subject: Re: Line breaks in polymetric music
Date: Mon, 1 Jun 2020 14:35:20 +0200

Am Mo., 1. Juni 2020 um 12:32 Uhr schrieb Sami Amiris <sami.amiris@gmail.com>:
>
> A great thank you to all!
>
> I will implement these solutions to my piece. Thank you all once again!
>
> -S.A.

Hi,

here my own take of it, using David K's \at

\layout {
  indent = 0\cm
  ragged-last = ##f
  \context {
    \Score
    \remove "Timing_translator"
      \remove "Default_bar_line_engraver"
      \remove "Metronome_mark_engraver"
  }

  \context {
    \StaffGroup
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
      \consists "Metronome_mark_engraver"
  }
  \context {
    \Voice
    % Permit line breaks within tuplets
    \remove "Forbid_line_break_engraver"
    % Allow beams to be broken at line breaks
    \override Beam.breakable = ##t
    }
  }

at =
#(define-music-function (time event music)
  (ly:duration? ly:music? ly:music?)
"Place @var{event} at a relative duration @var{time} in relation
to @var{music}."
  #{ \context Bottom << { \skip $time <>$event } $music >> #})

<<
\new StaffGroup {
  \new RhythmicStaff \with { \remove "Forbid_line_break_engraver" }
  {
    \override TupletNumber.text = #tuplet-number::calc-fraction-text

    \override TextSpanner.style = #'line
    \override TextSpanner.bound-details.left.text =
      \markup { \draw-line #'(0 . -1) }
    \override TextSpanner.bound-details.right.text =
      \markup { \draw-line #'(0 . -1) }
    \override TextSpanner.bound-details.right-broken.text = ##f
    \override TextSpanner.bound-details.left-broken.text = ##f
    \override TextSpanner.bound-details.right.padding = #-2
    \override TextSpanner.bound-details.left.padding = #-1
    \override TextSpanner.bound-details.right-broken.padding = #0
    \override TextSpanner.bound-details.left-broken.padding = #0

    \at 2 { \break \once \set Staff.whichBar = "" }
          {
            \time 2/5
            \scaleDurations 4/5 {
              c4^\markup \tiny \italic "2 of 5:4"\startTextSpan c\stopTextSpan
            }
            |
            \time 5/7
            \scaleDurations 4/7 {
              c4\startTextSpan c c^\markup \tiny \italic "5 of 7:4"
              c c\stopTextSpan
            }
            |
          }
  }
}

\new StaffGroup
  \new RhythmicStaff \with {\remove "Forbid_line_break_engraver"}
    {
     \time 4/8

     \at 2*4/5 { \break \once \set Staff.whichBar = "" }
       {
          c16[ c16] c16[ c16] c16[ c16] c16[ c16] |
         c16[ c16] c16[ c16] c16[ c16] c16[ c16] |
       }
    }
>>

Cheers,
  Harm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]