Re: Custon MMR engraver - another issue

2020-01-10 Thread Thomas Morley
Am Sa., 11. Jan. 2020 um 07:51 Uhr schrieb Thomas Morley
:
>
> Hi Crag,

Ooops,
Hi Craig,
ofcourse

> Am Sa., 11. Jan. 2020 um 07:29 Uhr schrieb Craig Dabelstein 
> :
>>
>> Hi all,
>>
>> Harm, I'm getting the below error when I use the MMR. When I switch  the 
>> \override MultiMeasureRestNumber.details.print-range to false the error goes 
>> away. I tried to make a MWE but couldn't reproduce the problem.
>>
>> Any ideas?
>
>
> Not without the code triggering the problem.
>
> Could you send me the whole file privately?
>
>
> Cheers,
>   Harm



Re: Custon MMR engraver - another issue

2020-01-10 Thread Thomas Morley
Hi Crag,

Am Sa., 11. Jan. 2020 um 07:29 Uhr schrieb Craig Dabelstein <
craig.dabelst...@gmail.com>:

> Hi all,
>
> Harm, I'm getting the below error when I use the MMR. When I switch  the
> \override MultiMeasureRestNumber.details.print-range to false the error
> goes away. I tried to make a MWE but couldn't reproduce the problem.
>
> Any ideas?
>

Not without the code triggering the problem.

Could you send me the whole file privately?


Cheers,
  Harm


Re: Custon MMR engraver - another issue

2020-01-10 Thread Craig Dabelstein
Hi all,

Harm, I'm getting the below error when I use the MMR. When I switch  the
\override MultiMeasureRestNumber.details.print-range to false the error
goes away. I tried to make a MWE but couldn't reproduce the problem.

Any ideas?

Craig


/Applications/LilyPond
2.19.83.app/Contents/Resources/share/lilypond/current/ly/init.ly:56:2 <0>:
error: wrong type for argument 1. Expecting integer, found 65/4

#

(let ((book-handler (if (defined? 'default-toplevel-book-handler)

/Applications/LilyPond
2.19.83.app/Contents/Resources/share/lilypond/current/ly/init.ly:56:2 <1>:
error: wrong type for argument 2. Expecting integer, found 53/4

#

(let ((book-handler (if (defined? 'default-toplevel-book-handler)

On Wed, 8 Jan 2020 at 15:26, Craig Dabelstein 
wrote:

> Brilliant work! Thanks Harm.
>
> Craig
>
> On Wed, 8 Jan 2020 at 07:21, Thomas Morley 
> wrote:
>
>> Am Di., 7. Jan. 2020 um 16:25 Uhr schrieb Kieren MacMillan
>> :
>> >
>> > Hi Harm,
>> >
>> > As always, great work — thanks for this fabulous addition to the ’Pond!
>> >
>> > Best,
>> > Kieren.
>>
>>
>> Glad you like it :)
>>
>> Probably I should put it into LSR, if I can solve the remaining problems:
>> grob::name doesn't exist in 2.18.2 (could be replaced by the older
>> custom `grob-name´, which is somewhere in LSR already)
>> Solve the TODO
>>
>> Cheers,
>>  Harm
>>
>
>
> --
> Craig Dabelstein
> Owner
> Maxime's Music
> M: 0404884173
> A: 19 Twelfth Ave,  Kedron QLD 4031, Australia
> W: concertbandmusicstore.com E:
> cr...@concertbandmusicstore.com 
> 
> 
>
> 
>
>


-- 
Craig Dabelstein
Owner
Maxime's Music
M: 0404884173
A: 19 Twelfth Ave,  Kedron QLD 4031, Australia
W: concertbandmusicstore.com E:
cr...@concertbandmusicstore.com 






Re: Custon MMR engraver - another issue

2020-01-07 Thread Craig Dabelstein
Brilliant work! Thanks Harm.

Craig

On Wed, 8 Jan 2020 at 07:21, Thomas Morley  wrote:

> Am Di., 7. Jan. 2020 um 16:25 Uhr schrieb Kieren MacMillan
> :
> >
> > Hi Harm,
> >
> > As always, great work — thanks for this fabulous addition to the ’Pond!
> >
> > Best,
> > Kieren.
>
>
> Glad you like it :)
>
> Probably I should put it into LSR, if I can solve the remaining problems:
> grob::name doesn't exist in 2.18.2 (could be replaced by the older
> custom `grob-name´, which is somewhere in LSR already)
> Solve the TODO
>
> Cheers,
>  Harm
>


-- 
Craig Dabelstein
Owner
Maxime's Music
M: 0404884173
A: 19 Twelfth Ave,  Kedron QLD 4031, Australia
W: concertbandmusicstore.com E:
cr...@concertbandmusicstore.com 






Re: Custon MMR engraver - another issue

2020-01-07 Thread Thomas Morley
Am Di., 7. Jan. 2020 um 16:25 Uhr schrieb Kieren MacMillan
:
>
> Hi Harm,
>
> As always, great work — thanks for this fabulous addition to the ’Pond!
>
> Best,
> Kieren.


Glad you like it :)

Probably I should put it into LSR, if I can solve the remaining problems:
grob::name doesn't exist in 2.18.2 (could be replaced by the older
custom `grob-name´, which is somewhere in LSR already)
Solve the TODO

Cheers,
 Harm



Re: Custon MMR engraver - another issue

2020-01-07 Thread Kieren MacMillan
Hi Harm,

As always, great work — thanks for this fabulous addition to the ’Pond!

Best,
Kieren.


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info




Re: Custon MMR engraver - another issue

2020-01-07 Thread Thomas Morley
Hi Craig,

Am Mo., 6. Jan. 2020 um 11:05 Uhr schrieb Thomas Morley
:
>
> Am Mo., 6. Jan. 2020 um 04:16 Uhr schrieb Craig Dabelstein 
> :
>>
>> Hi again,
>>
>> When using lilypond on the command line, and trying to engrave multiple 
>> files, the multi measure rest engraver is giving this error when it moves to 
>> the second file on the list:
>>
>> /Applications/LilyPond\ 2.19.83.app/Contents/Resources/bin/lilypond 
>> -dpoint-and-click -ddelete-intermediate-files --pdf *.ly
>>
>> fatal error: symbol printMmrRange redefined
>>
>> I've been using trial and error to try to find the problem but I really 
>> don't know where to look. Anh ideas?
>
> Well, I defined a custom context-property for this engraver and implemented a 
> fatal error, if this property is redefined  Following the method in 
> define-context-properties.scm.
> You trigger this error if you compile multiple files containing the 
> definition.
> This is a security-net, we shouldn't throw it away.
> We could avoid it, if we actually reset `all-translation-properties´, though, 
> some time ago David K. warned to do so, iirc.
> I have to admit I don't remember the reasoning, though usually he has good 
> ones...
>
> I'll think about how to circumvent the problem.
>
> Cheers,
>   Harm
>

below you'll find an improved version.
Instead of defining a context-property, I use 'print-range as
subproperty of 'details of MultiMeasureRestNumber

You can now switch on/off by setting
\override MultiMeasureRestNumber.details.print-range = ##t or ##f
Of course you could define some shortcuts for them.

HTH,
  Harm

%% 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
\column {
   \halign #0 #(number->string (- stop start))
%   %% value found by try and error
   \translate-scaled #'(0 . -6.5)
   \with-dimensions #empty-interval #empty-interval
   \halign #0
   \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)
(let* ((details (ly:grob-property grob 'details))
   (print-range? (assoc-get 'print-range details)))
  (set! m-m-r-print
(cons (cons grob print-range?) 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 \override MultiMeasureRestNumber.details.print-range = ##f
R2.*15
c'2.
R2.*15
c'2.
  }
  \layout {
\context {
  \Voice
  \consists #mmr-range-engraver
  \override MultiMeasureRestNumber.details.print-range = ##t
}
  }
}

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

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

Re: Custon MMR engraver - another issue

2020-01-06 Thread Craig Dabelstein
Ok Harm. Thanks for the engraver. It's brilliant.

All the best,

Craig


On Mon, 6 Jan 2020 at 20:05, Thomas Morley  wrote:

> Am Mo., 6. Jan. 2020 um 04:16 Uhr schrieb Craig Dabelstein <
> craig.dabelst...@gmail.com>:
>
>> Hi again,
>>
>> When using lilypond on the command line, and trying to engrave multiple
>> files, the multi measure rest engraver is giving this error when it moves
>> to the second file on the list:
>>
>> /Applications/LilyPond\ 2.19.83.app/Contents/Resources/bin/lilypond
>> -dpoint-and-click -ddelete-intermediate-files --pdf *.ly
>>
>> fatal error: symbol printMmrRange redefined
>>
>>
>> I've been using trial and error to try to find the problem but I really
>> don't know where to look. Anh ideas?
>>
>>
>> Many thanks,
>>
>>
>> Craig
>>
>>
>>
> Well, I defined a custom context-property for this engraver and
> implemented a fatal error, if this property is redefined  Following the
> method in define-context-properties.scm.
> You trigger this error if you compile multiple files containing the
> definition.
> This is a security-net, we shouldn't throw it away.
> We could avoid it, if we actually reset `all-translation-properties´,
> though, some time ago David K. warned to do so, iirc.
> I have to admit I don't remember the reasoning, though usually he has good
> ones...
>
> I'll think about how to circumvent the problem.
>
> Cheers,
>   Harm
>
>
>
>

-- 
Craig Dabelstein
Owner
Maxime's Music
M: 0404884173
A: 19 Twelfth Ave,  Kedron QLD 4031, Australia
W: concertbandmusicstore.com E:
cr...@concertbandmusicstore.com 






Re: Custon MMR engraver - another issue

2020-01-06 Thread Thomas Morley
Am Mo., 6. Jan. 2020 um 04:16 Uhr schrieb Craig Dabelstein <
craig.dabelst...@gmail.com>:

> Hi again,
>
> When using lilypond on the command line, and trying to engrave multiple
> files, the multi measure rest engraver is giving this error when it moves
> to the second file on the list:
>
> /Applications/LilyPond\ 2.19.83.app/Contents/Resources/bin/lilypond
> -dpoint-and-click -ddelete-intermediate-files --pdf *.ly
>
> fatal error: symbol printMmrRange redefined
>
>
> I've been using trial and error to try to find the problem but I really
> don't know where to look. Anh ideas?
>
>
> Many thanks,
>
>
> Craig
>
>
>
Well, I defined a custom context-property for this engraver and implemented
a fatal error, if this property is redefined  Following the method in
define-context-properties.scm.
You trigger this error if you compile multiple files containing the
definition.
This is a security-net, we shouldn't throw it away.
We could avoid it, if we actually reset `all-translation-properties´,
though, some time ago David K. warned to do so, iirc.
I have to admit I don't remember the reasoning, though usually he has good
ones...

I'll think about how to circumvent the problem.

Cheers,
  Harm