making all grobs breakable (for easier polymetric scores)

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

making all grobs breakable (for easier polymetric scores)

Kieren MacMillan
Hi all,

In the attached snippet, I must adjust the [non-visual] duration of the whole note and manually add an explicit \bar "" command in order to break the line where I want it.

Is there any way to avoid this? I'd like to say, in effect, "during this passage, every (e.g.) eighth note should be considered a breakable point for the purposes of layout calculations". All notes would maintain their original duration (at least visually), all beaming would stay as expected, etc. — it would just allow breaking "everywhere". A command like

   \override Score.NonMusicalPaperColumn.line-break-interval = #(ly:make-moment 1/8)

would be amazing. I do a lot of polymetric passages, some with mixed meters on each staff, so doing layout work becomes a challenge when you have to keep adjusting durations, adding \bar-s, etc.

Any thoughts/comments would be appreciated — code that solves my problem, even more so!

Thanks,
Kieren.

%%%  SNIPPET BEGINS
\version "2.19"

\layout {
  line-width = 3\in
  ragged-right = ##f
  indent = 0
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
}

<<
  \new Staff { \time 3/2 c''1 2 }
  \new Staff { \time 3/4 c''4 4 4 \break 4 4 4}
>>

<<
  \new Staff { \time 3/2 c''1*3/4 \bar "" s4 c''2 }
  \new Staff { \time 3/4 c''4 4 4 \break 4 4 4}
>>
%%%  SNIPPET ENDS
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: making all grobs breakable (for easier polymetric scores)

Malte Meyn-3


Am 04.08.2017 um 19:33 schrieb Kieren MacMillan:
> Is there any way to avoid this? I'd like to say, in effect, "during this passage, every (e.g.) eighth note should be considered a breakable point for the purposes of layout calculations".

\set Staff.barAlways = ##t
\set Staff.defaultBarType = ""

This sets a "" barline after every rhythmical event that occurs in the
score (not only the current staff). You then need to set the “real”
barlines by hand, something like:

\new Staff <<
   { \time 3/2 c''1 2 1 2 }
   \repeat unfold 2 { s1. \bar "|" }
 >>

> All notes would maintain their original duration (at least visually), all beaming would stay as expected, etc. — it would just allow breaking "everywhere". A command like

Hm … the solution from above breaks beaming because autobeaming never
sets beams across barlines.

> Any thoughts/comments would be appreciated — code that solves my problem, even more so!

The code above just inserts "" barlines; to allow breaking in the middle
of sounding notes you’ll need

\remove Forbid_line_break_engraver

in the Voice context(s).

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: making all grobs breakable (for easier polymetric scores)

Kieren MacMillan
Hi Malte,

> \set Staff.barAlways = ##t
> \set Staff.defaultBarType = ""
>
> This sets a "" barline after every rhythmical event that occurs in the score (not only the current staff). You then need to set the “real” barlines by hand, something like:
>
> \new Staff <<
>  { \time 3/2 c''1 2 1 2 }
>  \repeat unfold 2 { s1. \bar "|" }
> >>

OOH! All of this is quite helpful!

> to allow breaking in the middle of sounding notes you’ll need
> \remove Forbid_line_break_engraver
> in the Voice context(s).

Is there a way to turn that engraver on and off at will, rather than removing it entirely? Using

  \set Voice.forbidBreak = ##f

doesn't seem to work.

Thanks!
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Loading...