Change of RehearsalMark behaviour

2021-12-20 Thread David Sumbler
I set a piece a while ago using Lilypond 2.19.48.  It consists of 2
staves, and I used \mark for some annotations that I wanted to appear
above or on barlines - mostly the "crotchet - dotted crotchet" type of
thing.  Sometimes these only applied to one of the staves, so I would
specify the mark in the music for the appropriate staff.  I added:
  \layout {
\context { \Score
   \remove Mark_engraver }
\context { \Staff
   \consists Mark_engraver }
  }
and it all worked just as intended.

I was recently asked to make a new version of the piece.  The main
change is from a male voice to a female one, but this necessitated a
few changes in the other (instrumental) staff.  I ran convert-ly on
copies of the original files as I now had Lilypond 2.23.4 installed.  I
then edited these to produce the new version

Unfortunately the behaviour of RehearsalMark seems to have changed.
 Whereas previously a mark only appeared over the staff whose music it
was specified in, I find that now all of the marks appear in both
staves, regardless of which staff they are intended for.

Is this a bug or an intentional change?  And is there another way I can
use marks to get the result I want and previously had?

David


Re: Change of RehearsalMark behaviour

2021-12-20 Thread Jean Abou Samra




Le 20/12/2021 à 16:18, David Sumbler a écrit :
I set a piece a while ago using Lilypond 2.19.48.  It consists of 2 
staves, and I used \mark for some annotations that I wanted to appear 
above or on barlines - mostly the "crotchet - dotted crotchet" type of 
thing.  Sometimes these only applied to one of the staves, so I would 
specify the mark in the music for the appropriate staff.  I added:

      \layout {
\context { \Score
   \remove Mark_engraver }
\context { \Staff
   \consists Mark_engraver }
  }
and it all worked just as intended.

I was recently asked to make a new version of the piece.  The main 
change is from a male voice to a female one, but this necessitated a 
few changes in the other (instrumental) staff.  I ran convert-ly on 
copies of the original files as I now had Lilypond 2.23.4 installed. 
 I then edited these to produce the new version


Unfortunately the behaviour of RehearsalMark seems to have changed. 
 Whereas previously a mark only appeared over the staff whose music it 
was specified in, I find that now all of the marks appear in both 
staves, regardless of which staff they are intended for.


Is this a bug or an intentional change?  And is there another way I 
can use marks to get the result I want and previously had?



This change was intended, see the top entry at

http://lilypond.org/doc/v2.23/Documentation/changes/index.html

To get the old behaviour, also move the
Mark_tracking_translator, like this:


\version "2.22.1"

\layout {
  \context {
    \Score
    \remove Mark_engraver
    \remove Mark_tracking_translator
  }
  \context {
    \Staff
    \consists Mark_engraver
    \consists Mark_tracking_translator
  }
}

<<
  \new Staff { \mark \default c'1 }
  \new Staff { c'1 \mark \default }
>>


Regards,
Jean



5/16 of 4/4 as a partial? How?

2021-12-20 Thread Kenneth Wolcott
Hi;

  I'm engraving a piece in 4/4 which has a partial of one sixteenth
note, followed by a dotted eighth and another sixteenth note.

How to engrave this?

My sloppy workaround was to use spacer notes (s2 s8.) to proceed the
aforementioned which completes the measure, but looks awful :-)

Thanks,
Ken Wolcott



Re: 5/16 of 4/4 as a partial? How?

2021-12-20 Thread Christian
Hi Kenneth!

You might just wanna try:
\partial 16*5

All the best,
Christian

Am Mo., 20. Dez. 2021 um 21:22 Uhr schrieb Kenneth Wolcott <
kennethwolc...@gmail.com>:

> Hi;
>
>   I'm engraving a piece in 4/4 which has a partial of one sixteenth
> note, followed by a dotted eighth and another sixteenth note.
>
> How to engrave this?
>
> My sloppy workaround was to use spacer notes (s2 s8.) to proceed the
> aforementioned which completes the measure, but looks awful :-)
>
> Thanks,
> Ken Wolcott
>
>


Re: 5/16 of 4/4 as a partial? How?

2021-12-20 Thread Kenneth Wolcott
Hi Christian;

  AWESOME!  Thank you very much!

Ken

On Mon, Dec 20, 2021 at 12:44 PM Christian  wrote:
>
> Hi Kenneth!
>
> You might just wanna try:
> \partial 16*5
>
> All the best,
> Christian
>
> Am Mo., 20. Dez. 2021 um 21:22 Uhr schrieb Kenneth Wolcott 
> :
>>
>> Hi;
>>
>>   I'm engraving a piece in 4/4 which has a partial of one sixteenth
>> note, followed by a dotted eighth and another sixteenth note.
>>
>> How to engrave this?
>>
>> My sloppy workaround was to use spacer notes (s2 s8.) to proceed the
>> aforementioned which completes the measure, but looks awful :-)
>>
>> Thanks,
>> Ken Wolcott
>>



Combining notes and articualtions

2021-12-20 Thread Leo Correia de Verdier
Dear list!

Could you help me with a clever way to copy/clone the articulations from 
simultaneous notes in one sequential expression to another?
So that I could for instance enter the total articulations of a phrase as

\version "2.23.3"

<<
 \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 } 
<< { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  s8_- s16_. }
  { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>

% but also apply the first sequential expressions, with the articulations, to 
for instance

\new RhythmicStaff { c'8. 16 8. 16 8 r8 8. 16 }

% so that the result would be 

\new RhythmicStaff { c'8._> 16-. 8._- 16_! 8__  r8 8.-. 16-. }

% or to 

\new RhythmicStaff {c'16 16 16 16 r8. 16 r8 16 16 r16 8. }

% getting

\new RhythmicStaff {c'16_> 16_> 16 16_. r8. 16_! r8 16__ 16 r16 8._- }
>> 

Thanks a lot!
/Leo


Re: Combining notes and articualtions

2021-12-20 Thread Jean Abou Samra

Le 20/12/2021 à 22:28, Leo Correia de Verdier a écrit :

Dear list!

Could you help me with a clever way to copy/clone the articulations from 
simultaneous notes in one sequential expression to another?
So that I could for instance enter the total articulations of a phrase as

\version "2.23.3"

<<
  \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 }
<< { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  s8_- s16_. }
   { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>

% but also apply the first sequential expressions, with the articulations, to 
for instance

\new RhythmicStaff { c'8. 16 8. 16 8 r8 8. 16 }

% so that the result would be

\new RhythmicStaff { c'8._> 16-. 8._- 16_! 8__  r8 8.-. 16-. }

% or to

\new RhythmicStaff {c'16 16 16 16 r8. 16 r8 16 16 r16 8. }

% getting

\new RhythmicStaff {c'16_> 16_> 16 16_. r8. 16_! r8 16__ 16 r16 8._- }
Thanks a lot!
/Leo



I'd do this:

\version "2.22.1"

\layout {
  \override Voice.Script.before-line-breaking =
    #(lambda (grob)
   (let ((parent (ly:grob-parent grob X)))
 (if (or (not (grob::has-interface parent 'note-column-interface))
 (not (null? (ly:grob-object parent 'rest
   (ly:grob-suicide! grob
}

articulations = { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ 
s16_.  s8_- s16_. }


\new RhythmicStaff \with { \override Script.Y-offset = #-1.7 }
\new Voice << \articulations { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>

\new RhythmicStaff \new Voice << \articulations { c'8. 16 8. 16 8 r8 8. 
16 } >>


\new RhythmicStaff \new Voice << \articulations { c'16 16 16 16 r8. 16 
r8 16 16 r16 8. } >>



Best,
Jean




very large text "To Coda" and "D.S. al Coda" above the staff, but not like "rit.", "dim.", etc

2021-12-20 Thread Kenneth Wolcott
Hi;

  I know how to engrave small directives (such as "rit.", "dim.", etc;
but I don't know how to create huge text directives like "To Coda" and
"D.S. al Coda".



Re: Combining notes and articualtions

2021-12-20 Thread Leo Correia de Verdier
Thanks a lot!

It’s a perfect solution for the typesetting, but I wonder if it would be 
possible to process them earlier, so I could have them work with the articulate 
script or at least consistently affect midi playback.

Best wishes 
/Leo


> 20 dec. 2021 kl. 23:36 skrev Jean Abou Samra :
> 
> Le 20/12/2021 à 22:28, Leo Correia de Verdier a écrit :
>> Dear list!
>> 
>> Could you help me with a clever way to copy/clone the articulations from 
>> simultaneous notes in one sequential expression to another?
>> So that I could for instance enter the total articulations of a phrase as
>> 
>> \version "2.23.3"
>> 
>> <<
>>  \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 }
>> << { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  s8_- s16_. }
>>   { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>
>> 
>> % but also apply the first sequential expressions, with the articulations, 
>> to for instance
>> 
>> \new RhythmicStaff { c'8. 16 8. 16 8 r8 8. 16 }
>> 
>> % so that the result would be
>> 
>> \new RhythmicStaff { c'8._> 16-. 8._- 16_! 8__  r8 8.-. 16-. }
>> 
>> % or to
>> 
>> \new RhythmicStaff {c'16 16 16 16 r8. 16 r8 16 16 r16 8. }
>> 
>> % getting
>> 
>> \new RhythmicStaff {c'16_> 16_> 16 16_. r8. 16_! r8 16__ 16 r16 8._- }
>> Thanks a lot!
>> /Leo
> 
> 
> I'd do this:
> 
> \version "2.22.1"
> 
> \layout {
>   \override Voice.Script.before-line-breaking =
> #(lambda (grob)
>(let ((parent (ly:grob-parent grob X)))
>  (if (or (not (grob::has-interface parent 'note-column-interface))
>  (not (null? (ly:grob-object parent 'rest
>(ly:grob-suicide! grob
> }
> 
> articulations = { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  
> s8_- s16_. }
> 
> \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 }
> \new Voice << \articulations { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>
> 
> \new RhythmicStaff \new Voice << \articulations { c'8. 16 8. 16 8 r8 8. 16 } 
> >>
> 
> \new RhythmicStaff \new Voice << \articulations { c'16 16 16 16 r8. 16 r8 16 
> 16 r16 8. } >>
> 
> 
> Best,
> Jean
> 




Re: Combining notes and articualtions

2021-12-20 Thread Valentin Petzel
Hello Leo,

Maybe something like this? Here we create a time table of articulations, and 
then apply these articulations on music. This method does only handle flat 
music for now. If there are nested constructs of consecutive music we’d need 
to modify the function to basically walk the full music tree.

Cheers,
Valentin#(define (moment->number mom)
   (let ((frac (moment->fraction mom)))
 (/ (car frac) (cdr frac

#(define (make-time-table music)
   (define (make-pairs list-of-music current-time)
 (if (null? list-of-music)
 '()
 (let* ((next (car list-of-music))
(mom (ly:music-length next))
(duration (moment->number mom))
(articulations (ly:music-property next 'articulations)))
   (cons (cons current-time articulations)
 (make-pairs (cdr list-of-music) (+ current-time duration))
   (make-pairs
(ly:music-property music 'elements)
0))

applyTable =
#(define-music-function (timetable music) (list? ly:music?)
   (define (apply-table list-of-music current-time current-timetable)
 (if (and (not (null? list-of-music)) (not (null? current-timetable)))
 (let* ((next-table-pair (car current-timetable))
(table-time (car next-table-pair))
(table-articulations (cdr next-table-pair))
(current-music (car list-of-music))
(current-articulations (ly:music-property current-music 'articulations))
(current-elements (ly:music-property current-music 'elements))
(current-mom (ly:music-length current-music))
(current-mom-num (moment->number current-mom))
(next-time (+ current-time current-mom-num))
(next-table current-timetable))
   (while (and (not (null? next-table)) (< (caar next-table) next-time))
  (set! next-table (cdr next-table)))
   (if (and (= current-time table-time)
(music-is-of-type? current-music 'note-event))
   (ly:music-set-property! current-music
   'articulations
   (append current-articulations table-articulations)))
   (if (and (= current-time table-time)
(music-is-of-type? current-music 'event-chord))
   (ly:music-set-property! current-music
   'elements
   (append current-elements table-articulations)))
   (apply-table (cdr list-of-music) next-time next-table
   (apply-table
(ly:music-property music 'elements)
0
timetable)
   music)

articulations = { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  s8_- s16_. }
#(define myTable (make-time-table articulations))
%#(display myTable)

<<
 \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 } 
<< { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  s8_- s16_. }
  { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>

% but also apply the first sequential expressions, with the articulations, to for instance

\new RhythmicStaff { c'8. 16 8. 16 8 r8 8. 16 }

% so that the result would be 

\new RhythmicStaff \with { instrumentName = "this method" }
\applyTable #myTable { c'8. 16 8. 16 8 r8 8. 16 }

\new RhythmicStaff { c'8._> 16-. 8._- 16_! 8__  r8 8.-. 16-. }

% or to 

\new RhythmicStaff {c'16 16 16 16 r8. 16 r8 16 16 r16 8. }

\new RhythmicStaff \with { instrumentName = "this method" }
\applyTable #myTable {c'16 16 16 16 r8. 16 r8 16 16 r16 8. }

% getting

\new RhythmicStaff {c'16_> 16_> 16 16_. r8. 16_! r8 16__ 16 r16 8._- }
>>

signature.asc
Description: This is a digitally signed message part.


Re: Change of RehearsalMark behaviour

2021-12-20 Thread David Sumbler

On Mon, 2021-12-20 at 18:20 +0100, Jean Abou Samra wrote:
> Le 20/12/2021 à 16:18, David Sumbler a écrit :
> > I set a piece a while ago using Lilypond 2.19.48.  It consists of 2
> > staves, and I used \mark for some annotations that I wanted to
> > appear above or on barlines - mostly the "crotchet - dotted
> > crotchet" type of thing.  Sometimes these only applied to one of
> > the staves, so I would specify the mark in the music for the
> > appropriate staff.  I added:  \layout {\context {
> > \Score   \remove Mark_engraver }\context { \Staff   \consists
> > Mark_engraver }  }and it all worked just as intended.
> > I was recently asked to make a new version of the piece.  The main
> > change is from a male voice to a female one, but this necessitated
> > a few changes in the other (instrumental) staff.  I ran convert-ly
> > on copies of the original files as I now had Lilypond 2.23.4
> > installed.  I then edited these to produce the new version
> > Unfortunately the behaviour of RehearsalMark seems to have changed.
> >  Whereas previously a mark only appeared over the staff whose music
> > it was specified in, I find that now all of the marks appear in
> > both staves, regardless of which staff they are intended for.
> > Is this a bug or an intentional change?  And is there another way I
> > can use marks to get the result I want and previously had?
> 
> This change was intended, see the top entry at
> http://lilypond.org/doc/v2.23/Documentation/changes/index.html
> 
> To get the old behaviour, also move theMark_tracking_translator, like
> this:
> 
> \version "2.22.1"
> \layout {   \context { \Score \remove Mark_engraver
> \remove Mark_tracking_translator   }   \context { \Staff
> \consists Mark_engraver \consists Mark_tracking_translator   }}
> <<   \new Staff { \mark \default c'1 }   \new Staff { c'1 \mark
> \default } >>
> 
> Regards,Jean

Thank you for that.  A nice, simple fix to implement.  I must say,
though, that I'm having a bit of difficulty getting my head around the
new behaviour!

David


Re: Change of RehearsalMark behaviour

2021-12-20 Thread Valentin Petzel
Hello David,

It’s not very complicated: The old behaviour uses one Mark_engraver to handle 
mark events and place marks. The new behaviour has the 
Mark_tracking_translator which handles the mark events and decides to whether 
to have the Mark_engraver create a mark.

So when the Mark_engraver is at Staff level and the Mark_tracking_translator 
is at Staff level each mark event will be handles in the respective staff and 
sent to the corresponding Mark_engraver. But if the Mark_tracking_translator 
is on Score level it will handle all mark events that appear within the score 
and send them to all Mark_engravers within the score, which means that each 
Staff will get every Mark.

Cheers,
Valentin

Am Dienstag, 21. Dezember 2021, 00:15:56 CET schrieb David Sumbler:
> On Mon, 2021-12-20 at 18:20 +0100, Jean Abou Samra wrote:
> > Le 20/12/2021 à 16:18, David Sumbler a écrit :
> > > I set a piece a while ago using Lilypond 2.19.48.  It consists of 2
> > > staves, and I used \mark for some annotations that I wanted to
> > > appear above or on barlines - mostly the "crotchet - dotted
> > > crotchet" type of thing.  Sometimes these only applied to one of
> > > the staves, so I would specify the mark in the music for the
> > > appropriate staff.  I added:  \layout {\context {
> > > \Score   \remove Mark_engraver }\context { \Staff   \consists
> > > Mark_engraver }  }and it all worked just as intended.
> > > I was recently asked to make a new version of the piece.  The main
> > > change is from a male voice to a female one, but this necessitated
> > > a few changes in the other (instrumental) staff.  I ran convert-ly
> > > on copies of the original files as I now had Lilypond 2.23.4
> > > installed.  I then edited these to produce the new version
> > > Unfortunately the behaviour of RehearsalMark seems to have changed.
> > > 
> > >  Whereas previously a mark only appeared over the staff whose music
> > > 
> > > it was specified in, I find that now all of the marks appear in
> > > both staves, regardless of which staff they are intended for.
> > > Is this a bug or an intentional change?  And is there another way I
> > > can use marks to get the result I want and previously had?
> > 
> > This change was intended, see the top entry at
> > http://lilypond.org/doc/v2.23/Documentation/changes/index.html
> > 
> > To get the old behaviour, also move theMark_tracking_translator, like
> > this:
> > 
> > \version "2.22.1"
> > \layout {   \context { \Score \remove Mark_engraver
> > \remove Mark_tracking_translator   }   \context { \Staff
> > \consists Mark_engraver \consists Mark_tracking_translator   }}
> > <<   \new Staff { \mark \default c'1 }   \new Staff { c'1 \mark
> > \default } >>
> > 
> > Regards,Jean
> 
> Thank you for that.  A nice, simple fix to implement.  I must say,
> though, that I'm having a bit of difficulty getting my head around the
> new behaviour!
> 
> David

signature.asc
Description: This is a digitally signed message part.


Re: very large text "To Coda" and "D.S. al Coda" above the staff, but not like "rit.", "dim.", etc

2021-12-20 Thread Valentin Petzel
Hello Kenneth,

You can use markup commands like \larger (font size +1), \large (font size 1), 
\huge (font size 2) or directly \fontsize #number text.

The advantage of \larger is that it is relative to the previous size.

Cheers,
Valentin

Am Dienstag, 21. Dezember 2021, 00:12:17 CET schrieb Kenneth Wolcott:
> Hi;
> 
>   I know how to engrave small directives (such as "rit.", "dim.", etc;
> but I don't know how to create huge text directives like "To Coda" and
> "D.S. al Coda".

signature.asc
Description: This is a digitally signed message part.


Re: very large text "To Coda" and "D.S. al Coda" above the staff, but not like "rit.", "dim.", etc

2021-12-20 Thread Kenneth Wolcott
Thank you!

I used \fontsize #5; it works great!

On Mon, Dec 20, 2021 at 3:29 PM Valentin Petzel  wrote:
>
> Hello Kenneth,
>
> You can use markup commands like \larger (font size +1), \large (font size 1),
> \huge (font size 2) or directly \fontsize #number text.
>
> The advantage of \larger is that it is relative to the previous size.
>
> Cheers,
> Valentin
>
> Am Dienstag, 21. Dezember 2021, 00:12:17 CET schrieb Kenneth Wolcott:
> > Hi;
> >
> >   I know how to engrave small directives (such as "rit.", "dim.", etc;
> > but I don't know how to create huge text directives like "To Coda" and
> > "D.S. al Coda".



How to get huge text (ie: "To Coda") above a volta bracket?

2021-12-20 Thread Kenneth Wolcott
Hi;

  How to get huge text (ie: "To Coda") above a volta bracket?

Thanks,
Ken Wolcott



Re: How to get huge text (ie: "To Coda") above a volta bracket?

2021-12-20 Thread Aaron Hill

On 2021-12-20 3:48 pm, Kenneth Wolcott wrote:

Hi;

  How to get huge text (ie: "To Coda") above a volta bracket?


Set outside-staff-priority as needed.  The default for 
VoltaBracketSpanner is 600.



\repeat volta 2 { b'4 a' g'2 }
\alternative { { a'4 b' a'2 }
{ fis'1
  -\tweak outside-staff-priority #599
  ^\markup \bold "Below!"
  -\tweak outside-staff-priority #601
  ^\markup \bold "Above!"
} }


-- Aaron Hill



Re: Combining notes and articualtions

2021-12-20 Thread Valentin Petzel
Hello Jean!

That is a nice solution, but it has some issues. For one thing this will case 
problem if we have a Script on a skip that is used for something like spacing 
a markup (resulting in a compile error if a skip has both a script and for 
example a markup). I rather suggest to perform the check at stencil level.

Also this will affect each script in the score. I rather suggest to have a 
function tag each Script to be handled to make sure only these are handled.

Cheers,
Valentin

Am Montag, 20. Dezember 2021, 23:36:39 CET schrieb Jean Abou Samra:

> 
> I'd do this:
> 
> \version "2.22.1"
> 
> \layout {
>\override Voice.Script.before-line-breaking =
>  #(lambda (grob)
> (let ((parent (ly:grob-parent grob X)))
>   (if (or (not (grob::has-interface parent 'note-column-interface))
>   (not (null? (ly:grob-object parent 'rest
> (ly:grob-suicide! grob
> }
> 
> articulations = { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__
> s16_.  s8_- s16_. }
> 
> \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 }
> \new Voice << \articulations { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>
> 
> \new RhythmicStaff \new Voice << \articulations { c'8. 16 8. 16 8 r8 8.
> 16 } >>
> 
> \new RhythmicStaff \new Voice << \articulations { c'16 16 16 16 r8. 16
> r8 16 16 r16 8. } >>
> 
> 
> Best,
> Jean#(define (moment->number mom)
   (let ((frac (moment->fraction mom)))
 (/ (car frac) (cdr frac

#(define (make-time-table music)
   (define (make-pairs list-of-music current-time)
 (if (null? list-of-music)
 '()
 (let* ((next (car list-of-music))
(mom (ly:music-length next))
(duration (moment->number mom))
(articulations (ly:music-property next 'articulations)))
   (cons (cons current-time articulations)
 (make-pairs (cdr list-of-music) (+ current-time duration))
   (make-pairs
(ly:music-property music 'elements)
0))

applyTable =
#(define-music-function (timetable music) (list? ly:music?)
   (define (apply-table list-of-music current-time current-timetable)
 (if (and (not (null? list-of-music)) (not (null? current-timetable)))
 (let* ((next-table-pair (car current-timetable))
(table-time (car next-table-pair))
(table-articulations (cdr next-table-pair))
(current-music (car list-of-music))
(current-articulations (ly:music-property current-music 'articulations))
(current-elements (ly:music-property current-music 'elements))
(current-mom (ly:music-length current-music))
(current-mom-num (moment->number current-mom))
(next-time (+ current-time current-mom-num))
(next-table current-timetable))
   (while (and (not (null? next-table)) (< (caar next-table) next-time))
  (set! next-table (cdr next-table)))
   (if (and (= current-time table-time)
(music-is-of-type? current-music 'note-event))
   (ly:music-set-property! current-music
   'articulations
   (append current-articulations table-articulations)))
   (if (and (= current-time table-time)
(music-is-of-type? current-music 'event-chord))
   (ly:music-set-property! current-music
   'elements
   (append current-elements table-articulations)))
   (apply-table (cdr list-of-music) next-time next-table
   (apply-table
(ly:music-property music 'elements)
0
timetable)
   music)


%% DOES NOT NEED TO BE SKIPS!
articulations = { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  s8_- s16_. }
#(define myTable (make-time-table articulations))
%#(display myTable)

<<
 \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 } 
<< { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  s8_- s16_. }
  { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>

% but also apply the first sequential expressions, with the articulations, to for instance

\new RhythmicStaff { c'8. 16 8. 16 8 r8 8. 16 }

% so that the result would be 

\new RhythmicStaff \with { instrumentName = "this method" }
\applyTable #myTable { c'8. 16 8. 16 8 r8 8. 16 }

\new RhythmicStaff { c'8._> 16-. 8._- 16_! 8__  r8 8.-. 16-. }

% or to 

\new RhythmicStaff {c'16 16 16 16 r8. 16 r8 16 16 r16 8. }

\new RhythmicStaff \with { instrumentName = "this method" }
\applyTable #myTable {c'16 16 16 16 r8. 16 r8 16 16 r16 8. }

% getting

\new RhythmicStaff {c'16_> 16_> 16 16_. r8. 16_! r8 16__ 16 r16 8._- }
>>

signature.asc
Description: This is a digitally signed message part.


Re: How to get huge text (ie: "To Coda") above a volta bracket?

2021-12-20 Thread Kenneth Wolcott
Hello Aaron;

  Thank you so much.  It works!

Ken

On Mon, Dec 20, 2021 at 4:00 PM Aaron Hill  wrote:
>
> On 2021-12-20 3:48 pm, Kenneth Wolcott wrote:
> > Hi;
> >
> >   How to get huge text (ie: "To Coda") above a volta bracket?
>
> Set outside-staff-priority as needed.  The default for
> VoltaBracketSpanner is 600.
>
> 
> \repeat volta 2 { b'4 a' g'2 }
> \alternative { { a'4 b' a'2 }
> { fis'1
>-\tweak outside-staff-priority #599
>^\markup \bold "Below!"
>-\tweak outside-staff-priority #601
>^\markup \bold "Above!"
> } }
> 
>
> -- Aaron Hill



Guile V1 vs. V2?

2021-12-20 Thread Mike Andrews
Greetings. This is intended primarily for the folks who build packages for 
FreeBSD.

I recently installed the current LilyPond on FreeBSD 12, using the pkg command 
to install a precompiled set of binaries and other files. One of the 
prerequisites was GNU Guile V1. I had some other packages installed which used 
Guile V2; those packages and Guile v2 were deinstalled, which was inconvenient 
at best.

Is there a particular reason to specify Guile V1, and to not use Guile V2.* ?

Best,

Mike Andrews
Tired old sysadmin


Re: Guile V1 vs. V2?

2021-12-20 Thread Valentin Petzel
Hello Mike,

Guile 1 to Guile 2 did change some syntax and some mechanics, which means that 
guile code must be reworked for guile 2 and using guile 2 makes the program 
much slower. There is ongoing long time effort to port Lilypond to guile 2 and 
eventually 3 which does make progress, but for the time being using Lilypond 
with guile 2 is not recommended.

The way FreeBSD handles this seems to be a bit bad. One can very well have 
different guile versions one one system, and Lilypond can be compiled with it's 
own embedded guile version.

So you should probably report this to the system/package maintainers.

Cheers,
Valentin

21.12.2021 05:48:20 Mike Andrews :

> Greetings. This is intended primarily for the folks who build packages for 
> FreeBSD. 
> 
> I recently installed the current LilyPond on FreeBSD 12, using the pkg 
> command to install a precompiled set of binaries and other files. One of the 
> prerequisites was GNU Guile V1. I had some other packages installed which 
> used Guile V2; those packages and Guile v2 were deinstalled, which was 
> inconvenient at best. 
> 
> Is there a particular reason to specify Guile V1, and to not use Guile V2.* ?
> 
> Best,
> 
> Mike Andrews
> Tired old sysadmin