Re: How to work with large orchestral1 projects

2016-02-20 Thread Urs Liska


Am 21. Februar 2016 08:25:22 MEZ, schrieb Carl-Henrik Buschmann 
:
>I found that it was 
>\slashedGrace {b8}
>that caused the whole double time signature thing. I can only assume it
>is a bug. I still need a acciaccatura though. Any thoughts?

This is one of the *oldest* and most embarassing bugs, yes.

What you need to do is put a grace construct in *every* context, using spacer 
tests to make it invisible. E.g. \grace s8

HTH
Urs
>
>
>Med vennlig hilsen,
>Carl-Henrik Buschmann
>Lektor
>
>
>> 20. feb. 2016 kl. 22.02 skrev Carl-Henrik Buschmann
>:
>> 
>> Hi guys,
>> 
>> I'm trying to learn how to use lilypond to typeset orchestral
>material. Handling large projects is fun but good documentation
>regarding this is hard to come by. I'm still a lilypond novice and my
>Google-Fu has let me down, I need help. 
>> 
>> I'm using my own orchestration which i engraved in Sibelius a while
>back.
>> 
>> This is my original sibelius score i.e.: the "ideal":
>> http://i.imgur.com/fIQJN8v.png 
>> 
>> And this is my lilypond output so far:
>> http://i.imgur.com/g2OL258.png 
>> 
>> 2) This is the wierdest thing. Double up of time, clef and tempo,
>what is on earth have i done wrong? 
>> 
>
>
>
>
>
>___
>lilypond-user mailing list
>lilypond-user@gnu.org
>https://lists.gnu.org/mailman/listinfo/lilypond-user

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to work with large orchestral1 projects

2016-02-20 Thread Carl-Henrik Buschmann
I found that it was 
\slashedGrace {b8}
that caused the whole double time signature thing. I can only assume it is a 
bug. I still need a acciaccatura though. Any thoughts?


Med vennlig hilsen,
Carl-Henrik Buschmann
Lektor


> 20. feb. 2016 kl. 22.02 skrev Carl-Henrik Buschmann :
> 
> Hi guys,
> 
> I'm trying to learn how to use lilypond to typeset orchestral material. 
> Handling large projects is fun but good documentation regarding this is hard 
> to come by. I'm still a lilypond novice and my Google-Fu has let me down, I 
> need help. 
> 
> I'm using my own orchestration which i engraved in Sibelius a while back.
> 
> This is my original sibelius score i.e.: the "ideal":
> http://i.imgur.com/fIQJN8v.png 
> 
> And this is my lilypond output so far:
> http://i.imgur.com/g2OL258.png 
> 
> 2) This is the wierdest thing. Double up of time, clef and tempo, what is on 
> earth have i done wrong? 
> 

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


How to work with large orchestral1 projects

2016-02-20 Thread Carl-Henrik Buschmann
Hi guys,

I'm trying to learn how to use lilypond to typeset orchestral material. 
Handling large projects is fun but good documentation regarding this is hard to 
come by. I'm still a lilypond novice and my Google-Fu has let me down, I need 
help. 

I'm using my own orchestration which i engraved in Sibelius a while back.

This is my original sibelius score i.e.: the "ideal":
http://i.imgur.com/fIQJN8v.png 

And this is my lilypond output so far:
http://i.imgur.com/g2OL258.png 

Since this is a rather large project i use git to track my learning curve. 
Source files: 
https://github.com/chbuschmann/Nordlandsk.git 



%%I've circled and numbered things in my lilypond output that i need help with.
1) The title. Is there a sensibale way to adjust font/fontsize and placement of 
the title? (this is most likely an easy thing, but it would be nice to hear how 
you guys deal with it)

2) This is the wierdest thing. Double up of time, clef and tempo, what is on 
earth have i done wrong? 

3) I want the beams to and from rests, with stemlets, like so: 
http://i.imgur.com/62wXphp.png  

4) I want the beams to stretch 4 8ths and break if necessary. My puny attempt 
thus far looks bonkers. 

5) I tried making a scordatura using a snippet from LRS. Perhaps my eyes are 
playing tricks with me, the font size seems off, to large?

%%General questions
6) I also wonder about parts creation. How do i set it up? 

7) When i did the Sibelius engraving, i came to the conclution that A3 was the 
proper page format. Once i've entered my music, will lilypond scale the score 
to fill the entire page, like it does with A4, OR; do i need to make 
adjustments to font and/or staff sizes?

8) I've searched far and wide but have not found a way to make large/huge time 
signatures. This is what i really want (from Adler): 
http://i.imgur.com/Jn971jP.png  

9) Where to i place system wide events, like repetitions, time and tempo? In a 
single voice, all the voices or something else? As of now i use the top 
instrument as a "global master", but my gut keeps telling me there has to be a 
better way. 


Thank you for your time.



Med vennlig hilsen,
Carl-Henrik Buschmann

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Accessing header information for use in a Scheme script

2016-02-20 Thread Thomas Morley
2016-02-17 23:35 GMT+01:00 Rafael Ramirez Morales
:

> A couple of follow-up questions:
> Is there a cleaner approach to my second hack (for the copyright notice)?

It's not really clear to me what you want to achieve, so no proposal
currently ..

> Is there a Scheme way to set the header variables?

There is a certain problem.
$defaultheader will be #f if no \header is set before called.

See the terminal-output (in a fresh and blank file) of:

\version "2.19.36"
#(write-me "\n$defaultheader is: " $defaultheader)
\header {}

opposed to the output of (again in a fresh and blank file):

\version "2.19.36"
\header {}
#(write-me "\n$defaultheader is: " $defaultheader)

So you have to take care when you call $defaultheader...


Otoh, you can do like below, play around with it.

%% snippet-start

#(define $defaultheader (make-module))

#(module-define! $defaultheader 'composer "J.S.Bach")

#(newline)
#(pretty-print (list "test-1:" (ly:module->alist $defaultheader)))

%{
\header {
  arranger = "ARRANGER"
}

#(pretty-print (list "test-2" (ly:module->alist $defaultheader)))
%}

%{
#(module-define! $defaultheader 'subtitle "SUBTITLE")

#(pretty-print (list "test-3" (ly:module->alist $defaultheader)))
%}

%{
my-header-entries =
#'((title . "MY-TITLE")
   (subtitle . "MY-SUBTITLE")
   (dedication . "MY-DEDICATION")
   (composer . "MYSELF")
   )

#(for-each
  (lambda (e)
(module-define! $defaultheader (car e) (cdr e)))
  my-header-entries)

#(pretty-print (list "test-4" (ly:module->alist $defaultheader)))
%}

%% some output to print
\markup \fill-line { \center-column { \draw-hline TEST } }

%% snippet-end


Though, I can't find any documentation about:
make-module, module-define! and the like.

Although, they must been defined in guile.
Try in guile:

(use-modules (ice-9 pretty-print))
(for-each
  (lambda (e)
(pretty-print
  (cons (string-upcase (symbol->string (procedure-name e)))
(procedure-source e
  (list make-module module-define!))

Regarding the output I also see even more undocumented procedures, eg.
`and-map', etc, etc.

>
> Oh, and one last thing...
> Is this code you wrote snippet worthy?
> I obviously find it most useful, but I'm personally convinced it could be of
> interest to others as well.

Nothing in it requires 2.19.-features, so no reason not to put it in the LSR.
You know, you can do it youself ;)
And I may approve it ;)

Cheers,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re:help needed with project notation strategy

2016-02-20 Thread Peter Gentry
It may be just me but I have found midi2ly a bit of a monster. Trying to 
re-input a score midi previously produced by Lily gives
very strange output.
 
For myself using a second program such as NoteWorthyComposer to input a midi 
and then using Phil's NWCTXT2Ly.exe on a Noteworthy
text file gives better results.
 
A certain amount of editing will still be required for trills , triplets etc.
 

regards 
Peter Gentry 

 
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: help needed with project notation strategy

2016-02-20 Thread David Kastrup
Dave Phillips  writes:

> Since every note was hand-entered into the sequencer - I'm a guitarist
> with no music keyboard skills - I think it's a safe bet that
> everything's quantized, i.e. all durations are exactly as I wanted
> them.

Oh.  Have you thought about a chromatic button accordion or keyboard?
It's just like a 16-string guitar tuned in minor thirds and with 2-4
frets (corresponding to 3-5 button rows).  Namely, chords have shapes
you can move all over the place and transposing by one semitone means
just sliding one fret, excuse me, button row up.  Transpose by a minor
third by moving one string, pardon, button column to the side.  Nice
keyboard instrument to play by ear.

At any rate: if you have hand-entered your Midi in a grid (not relying
on mouse precision), I should think that you should find
settings/options where midi2ly's interpretation does not suck horribly.

> Thanks for the reminder re: Rosegarden, I'll try the MIDI file there
> to see how it shows up in the notation page.

It might help.  With input of that size, wasting some time on converters
before making a decision is certainly warranted.  Personally, I'd not
worry too much over durations and would be prepared to hand-edit them.
I think it's more important that you get polyphony dealt with sensibly,
or you'll likely be better off retyping from scratch.

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: help needed with project notation strategy

2016-02-20 Thread Dave Phillips

On 02/20/2016 09:15 AM, David Kastrup wrote:

Dave Phillips  writes:


Greetings,

I wrote a piece for piano that I want to notate with LilyPond. The
piece has some difficult aspects regarding which I need some advice or
just confirmation that my strategy is sound (or not).

The piece is long, 848 measures of varying textures, styles, tempi,
and time signatures, with a playing time of about 34 minutes. I plan
to cut the file into manageable sections and hand-enter the notation
in LP code. There are unplayable parts that I'll assign to a recorded
part, though I also want to notate them.

What's your current relation to Emacs?  I'm asking because I have
half-workable text entry tools for it but they are in a state where
you'd likely also invest time in the code and its use rather than just
whatever you are going to input with it.


Thanks for that offer, David, but I'm a vi kind of guy. :)  Alas, my 
knowledge of emacs is too slim to be useful.



Other than that, there is also "rumor" for automatic pitch detection.
It does not split polyphonic stuff though.

With regard to splitting Midi tracks at split points _and_ doing Midi
quantizing/notation it might also be an idea to look at Midi sequencers
like Rosegarden.  I think that midi2ly sucks less when already dealing
with quantized Midi, so even just running stuff through Rosegarden for
quantization might help.



Since every note was hand-entered into the sequencer - I'm a guitarist 
with no music keyboard skills - I think it's a safe bet that 
everything's quantized, i.e. all durations are exactly as I wanted them.


Thanks for the reminder re: Rosegarden, I'll try the MIDI file there to 
see how it shows up in the notation page.


Best,

dp


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Text Spanner problem at break

2016-02-20 Thread Pierre Perol-Schneider
I also tried:
\alterBroken bound-details.left.text #'("ritar" "dando") TextSpanner
whithout success...


2016-02-20 15:24 GMT+01:00 Pierre Perol-Schneider <
pierre.schneider.pa...@gmail.com>:

> Or even:
>
> \textSpannerDown
> \once\override TextSpanner.bound-details.left.text = "ritar"
> \once\override TextSpanner.bound-details.left-broken.text = "dando"
> \once\override TextSpanner.bound-details.right-broken.text = ##f
> \once\override TextSpanner.bound-details.right.text = " a Tempo"
>
> Cheers,
> Pierre
>
> 2016-02-20 15:21 GMT+01:00 Kieren MacMillan  >:
>
>> Hi JM,
>>
>> > I’m trying to achieve the following, with « ritardando » split on two
>> bars (Louis Spohr, Concerto #1 for Clarinet):
>>
>>   \textSpannerDown
>>   \once \override TextSpanner.bound-details.left.text = "ritar"
>>   \once \override TextSpanner.bound-details.left-broken.text = "dando"
>>   s4 \startTextSpan |
>>   s2 |
>>   s2  |
>>   s4
>>   \stopTextSpan
>>   s4 -\markup{\italic "a Tempo"} |
>>   \textSpannerNeutral
>>
>> Hope this helps!
>> Kieren.
>>
>> 
>>
>> Kieren MacMillan, composer
>> ‣ website: www.kierenmacmillan.info
>> ‣ email: i...@kierenmacmillan.info
>>
>>
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Text Spanner problem at break

2016-02-20 Thread Pierre Perol-Schneider
Or even:

\textSpannerDown
\once\override TextSpanner.bound-details.left.text = "ritar"
\once\override TextSpanner.bound-details.left-broken.text = "dando"
\once\override TextSpanner.bound-details.right-broken.text = ##f
\once\override TextSpanner.bound-details.right.text = " a Tempo"

Cheers,
Pierre

2016-02-20 15:21 GMT+01:00 Kieren MacMillan :

> Hi JM,
>
> > I’m trying to achieve the following, with « ritardando » split on two
> bars (Louis Spohr, Concerto #1 for Clarinet):
>
>   \textSpannerDown
>   \once \override TextSpanner.bound-details.left.text = "ritar"
>   \once \override TextSpanner.bound-details.left-broken.text = "dando"
>   s4 \startTextSpan |
>   s2 |
>   s2  |
>   s4
>   \stopTextSpan
>   s4 -\markup{\italic "a Tempo"} |
>   \textSpannerNeutral
>
> Hope this helps!
> Kieren.
>
> 
>
> Kieren MacMillan, composer
> ‣ website: www.kierenmacmillan.info
> ‣ email: i...@kierenmacmillan.info
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Text Spanner problem at break

2016-02-20 Thread Kieren MacMillan
Hi JM,

> I’m trying to achieve the following, with « ritardando » split on two bars 
> (Louis Spohr, Concerto #1 for Clarinet):

  \textSpannerDown
  \once \override TextSpanner.bound-details.left.text = "ritar"
  \once \override TextSpanner.bound-details.left-broken.text = "dando"
  s4 \startTextSpan |
  s2 |
  s2  |
  s4
  \stopTextSpan
  s4 -\markup{\italic "a Tempo"} |
  \textSpannerNeutral

Hope this helps!
Kieren.



Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Text Spanner problem at break

2016-02-20 Thread Menu Jacques
Hello Ham,

Thanks for this solution!

I was totally unaware of TextSpanner.bound-details.left-broken.text, and 
left-broken itself is not much documented it turns out.

Maybe it’s worth more advertisement?

JM

> Le 20 févr. 2016 à 14:57, Thomas Morley  a écrit :
> 
> 
> 
> 2016-02-20 8:50 GMT+01:00 Menu Jacques  >:
> Hello folks,
> 
> I’m trying to achieve the following, with « ritardando » split on two bars 
> (Louis Spohr, Concerto #1 for Clarinet):
> 
> 
> 
> The trouble is that « ritar » is duplicated and shows up again at the 
> beginning of the new system.
> 
> Simplified test :
> 
> 
> 
> Removing the break avoids the problem, but I find it handy to keep the same 
> breaks as the original until the score is cross-checked.
> 
> The code is below.
> 
> Thanks for your help!
> 
> JM
> 
> 
> 
> %
> 
> \version "2.19.33"
> 
> \header {
>   title = "Clarinet concerto #1"
>   composer = "Louis Spohr"
>   instrument = "Bassoon I"
> }
> 
> Bassoon_I_Rondo = \relative c' {
>   \clef "bass"
> 
>   \key ees \major
>   \time 2/4
>   \tempo "Rondo Vivace"
> 
>   \partial 8*1
>   r8 ^"Solo" |
> 
>   e4
> 
>   <<
> \new CueVoice {
>   \set instrumentCueName = "Clar."
>   \cueClef "tenor"
>   \stemUp
>   b16 [ d f a ] |
>   g4 b,16 [ d f aes ] |
>   g4 d16 [ f aes ces ] |
>   bes4
>   \stemNeutral
>   c!16 ^\markup{\smaller "Flauto"} [ bes g ees ] |
> }
> 
> {
>   r4 |
>   \break |
>   \tweak staff-position #-2 R2 |
>   \tweak staff-position #-2 R2 |
>   \tweak staff-position #-2 R2
> }
> 
> {
>   \textSpannerDown
>   \once\override TextSpanner.bound-details.left.text = "ritar"
>   \once\override TextSpanner.bound-details.left-broken.text = "dando"
>   s4 \startTextSpan |
>   s2 |
>   s2  |
>   s4
>   \stopTextSpan
>   s4 -\markup{\italic "a Tempo"} |
>   \textSpannerNeutral
> }
>  
>   >>
> 
>   \bar "|."
> }
> 
> \score {
>   {
> \Bassoon_I_Rondo
>   }
> 
>   \layout {}
> 
>   \midi {}
> }
> 
> %
> 
> HTH,
>   Harm 
> 

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: help needed with project notation strategy

2016-02-20 Thread David Kastrup
Dave Phillips  writes:

> Greetings,
>
> I wrote a piece for piano that I want to notate with LilyPond. The
> piece has some difficult aspects regarding which I need some advice or
> just confirmation that my strategy is sound (or not).
>
> The piece is long, 848 measures of varying textures, styles, tempi,
> and time signatures, with a playing time of about 34 minutes. I plan
> to cut the file into manageable sections and hand-enter the notation
> in LP code. There are unplayable parts that I'll assign to a recorded
> part, though I also want to notate them.

What's your current relation to Emacs?  I'm asking because I have
half-workable text entry tools for it but they are in a state where
you'd likely also invest time in the code and its use rather than just
whatever you are going to input with it.

Other than that, there is also "rumor" for automatic pitch detection.
It does not split polyphonic stuff though.

With regard to splitting Midi tracks at split points _and_ doing Midi
quantizing/notation it might also be an idea to look at Midi sequencers
like Rosegarden.  I think that midi2ly sucks less when already dealing
with quantized Midi, so even just running stuff through Rosegarden for
quantization might help.

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


help needed with project notation strategy

2016-02-20 Thread Dave Phillips

Greetings,

I wrote a piece for piano that I want to notate with LilyPond. The piece 
has some difficult aspects regarding which I need some advice or just 
confirmation that my strategy is sound (or not).


The piece is long, 848 measures of varying textures, styles, tempi, and 
time signatures, with a playing time of about 34 minutes. I plan to cut 
the file into manageable sections and hand-enter the notation in LP 
code. There are unplayable parts that I'll assign to a recorded part, 
though I also want to notate them.


I haven't had a lot of luck with midi2ly, though I'm sure I need to 
learn how to fine-tune its output. Odd groups (7:4, 5:3, 11:4, etc) 
occur frequently, and I'm not sure how to specify their correct 
conversion with midi2ly. Also, the original sequence has both hands on a 
single track. Is there any handy way to indicate a split point for 
switching staves, i.e. a way to recognize right and left hand passages ? 
(I think I might be asking for an impossibility, would love to learn 
otherwise).


I can hand-enter it to manuscript, no trouble, but I need a digital 
publication-ready score. I figure the work will take many months, hence 
my desire to find the most efficient working method, any useful advice 
will be hugely appreciated.


Btw, I'll likely use Frescobaldi as front-end for LP.

The piece is here is anyone wants to check it out, but please understand 
I'm not advertising my music on this list. This recording sucks anyway 
sound-wise, I hadn't purchased Pianoteq then. I also plan to re-record 
the piece with that software.


https://soundcloud.com/davephillips69/piano-zero

Thanks in advance for any advice and/or suggestions for an improved 
working method.


Best regards,

Dave Phillips


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Multi-rest with automatic bar number before and after it

2016-02-20 Thread Thomas Morley
2016-02-19 4:23 GMT+01:00 Craig Dabelstein :
> Hi Harm,
>
> I discovered a problem. It works perfectly with 4/4 time but it doesn't work
> with other time signatures. Can you suggest to me how I can make it work for
> different time signatures?
>
> All the best,
>
> Craig



I found no way to make it work with all possible \time-settings via \applyOutput

Hence the engraver below. (Also attached.)
Formating is done in a scheme-function `formatMMRNumber'. Thanks David
for the hint to `translated-scale'
Printing of the range may be enabled/disabled by setting the new
defined context-property `printMmrRange'.

Some remarks/TODOs, especially:
Why I cannot _create_ a MultiMeasureRestText-grob via `ly:engraver-make-grob'?
It works for TextScript ...

\version "2.19.36"

%% define the custom context-property `printMmrRange'
#(define (define-translator-property symbol type? description)
  (if (not (and (symbol? symbol)
(procedure? type?)
(string? description)))
  (ly:error "error in call of define-translator-property"))
  (if (not (equal? (object-property symbol 'translation-doc) #f))
  (ly:error (_ "symbol ~S redefined") symbol))

  (set-object-property! symbol 'translation-type? type?)
  (set-object-property! symbol 'translation-doc description)
  symbol)

#(for-each
  (lambda (x)
(apply define-translator-property x))
`((printMmrRange
   ,boolean?
   "Print range of a MultiMeasureRest")))

%% define how to format `start' and `stop'
%% for `MultiMeasureRestNumber' in the engraver
%% TODO find a method to set the values for `translate-scaled'
formatMMRNumber =
#(define-scheme-function (start stop)(integer? integer?)
#{
  \markup
\center-column {
   #(number->string (- stop start))
   %% value found by try and error
   \translate-scaled #'(0 . -6.5)
   \with-dimensions #empty-interval #empty-interval
   \halign #CENTER
   \normal-text
   \fontsize #-2
   \line {
 #(number->string (1+  start))
 " - "
 #(number->string stop)
   }
}
#})

%% TODO
%% I didn't manage to _create_ a MultiMeasureRestText-grob via
%% `ly:engraver-make-grob'
%% How to do?
%% It worked with simple TextScript ...
#(define (mmr-range-engraver context)
"Print the range of a @code{MultiMeasureRest}, if the context-property
@code{printMmrRange} is set @code{#t}."
  (let ((m-m-r-print '()))
`((acknowledgers
(multi-measure-interface
 . ,(lambda (engraver grob source-engraver)
(if (eq? (grob::name grob) 'MultiMeasureRestNumber)
(set! m-m-r-print
  (cons
(cons grob (ly:context-property context 'printMmrRange))
m-m-r-print))
  (finalize
.
,(lambda (trans)
  (let* ((timeSignatureFraction
   (ly:context-property context 'timeSignatureFraction))
 (fraction
   (/ (car timeSignatureFraction) (cdr timeSignatureFraction
  (for-each
(lambda (mmr)
  (if (and (cdr mmr) (not (null? (cdr mmr
  (let* ((m-m-r-start
   (/ (ly:moment-main
(grob::when (ly:spanner-bound (car mmr) LEFT)))
  fraction))
 (m-m-r-stop
   (/ (ly:moment-main
(grob::when (ly:spanner-bound (car mmr) RIGHT)))
  fraction)))
(ly:grob-set-property! (car mmr) 'text
  (formatMMRNumber m-m-r-start m-m-r-stop)
m-m-r-print)
  (set! m-m-r-print '(

%%
%% EXAMPLES
%%

\layout {
  \override Score.BarNumber.break-visibility = ##(#t #t #t)
}

\score {
  {
\time 3/4
c'2.
\compressFullBarRests
R2.*14
c'2.
\once \unset printMmrRange
R2.*15
c'2.
R2.*15
c'2.
  }
  \layout {
\context {
  \Voice
  \consists #mmr-range-engraver
  printMmrRange = ##t
}
  }
}

\score {
  {
\time 3/4
c'2.
\compressFullBarRests
R2.*14
c'2.
\once \set printMmrRange = ##t
R2.*15
c'2.
R2.*15
c'2.
  }
  \layout {
\context {
  \Voice
  \consists #mmr-range-engraver
  printMmrRange = ##f
}
  }
}

\score {
  {
\time 3/4
c'2.
\compressFullBarRests
R1*3/4*14
c'2.
  }
  \layout {
\context {
  \Voice
  \consists #mmr-range-engraver
  printMmrRange = ##t
}
  }
}

\score {
  {
c'1
\compressFullBarRests
R1*14
c'1
  }
  \layout {
\context {
  \Voice
  \consists #mmr-range-engraver
  printMmrRange = ##t
}
  }
}

\score {
  {
\time 5/8
c'2 c'8
\compressFullBarRests
R1*5/8*14
c'2 c'8
R1*5/8*13
c'2 c'8
  }
  \layout {
\context {
  \Voice
  \consists #mmr-range-engraver