Change of RehearsalMark behaviour
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
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?
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?
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?
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
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
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
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
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
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
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
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
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
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?
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?
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
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?
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?
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?
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