Re: Mac Monterey 12.3 and Lilypond 2.2.2
> On 17 Mar 2022, at 23:39, Hans Aikema wrote: > > >> On 17 Mar 2022, at 23:18, Hans Åberg wrote: >> >> >>> On 17 Mar 2022, at 23:06, Hans Aikema wrote: >>> >>> I also prefer to run development releases alongside stable, but any music I >>> try to write for stable (unless there is something I neer for it that only >>> works in the development version). Development I only run from time >>> to time to see that nothing I use is breaking on it. >> >> In the past I used support for irregular meters and microtonality with >> support slowly coming along in the development version, but that has now >> moved to the stable version. Unfortunately, one cannot install both the >> development version and the stable one side by side in the standard >> MacPorts, I think, because they have the same name, unless one makes a >> separate installation of MacPorts in a different location than /opt/local/, >> which is also possible. > > You cannot have both active indeed, but you can install them both (one > active, one inactive). The recipe to end up with stable, but have current > development version at hand for activation: > > sudo port install lilypond-devel > sudo port deactivate lilypond-devel > sudo port install lilypond > > then when you want to try develop: > sudo port deactivate lilypond > sudo port activate lilypond-devel > > and the other way around to switch back to stable: > sudo port deactivate lilypond-devel > sudo port activate lilypond This seems simpler than having a separate MacPorts installation. —To avoid having to write 'sudo' all the time, one can start 'sudo -s'. > only the active one will be upgraded with a sudo port upgrade outdated (over > time you can even have multiple historical versions side by side at hand for > activation by specifying the explicit version) This is something that should be remembered.
Re: Wildly different horizontal spacing in two similar scores.
Let’s take a look at what’s happening here: if we add \override Score.SpacingSpanner.common-shortest-duration = #(grob-transformer 'common-shortest-duration (lambda (grob orig) (display orig) (newline) orig)) at the beginning we will have the value of common-shortest duration ouput. For 1-1 this is 1/32, for 1-4 this is 1/8. To understand why this is happening you need to understand how Lilypond calculates the common-shortest duration. Basically Lilypond takes the smallest duration for each measure, and then counts for each one how many measures have it as smallest duration. Then Lilypond simply finds the duration with the highest count and returns the minimum of that one and base-shortest duration. Now this algorithm is kind of unstable. In your case you have many measures with 1/8th notes as shortest duration and many measures with 1/32nd notes as shortest duration. So if you have slightly more measures of the first type you will get the dense result, if you have slightly more of the second type you get the wide result. So in some sense this is "working as intended", it is just that the algorithm for common-shortest-duration is probably not optimal. It might be better to take some sort of weighted average, which would be much more stable in such situations. I’ll do some experimenting for this. Cheers, Valentin Am Freitag, 18. März 2022, 10:39:10 CET schrieb Richard Shann: > Attached are two scores which have quite similar music in them but > LilyPond typesets one them with about twice as much horizontal space as > the other. > The documentation gives an overview of the algorithm for horizontal > spacing but eyeballing this music I can't see any shortest-note > differences that could trigger this. > Any idea what might be going on? > > Richard Shann signature.asc Description: This is a digitally signed message part.
Re: Wildly different horizontal spacing in two similar scores.
On Fri, 2022-03-18 at 12:11 +0100, Valentin Petzel wrote: > Let’s take a look at what’s happening here: > > if we add > \override Score.SpacingSpanner.common-shortest-duration = > #(grob-transformer 'common-shortest-duration > (lambda (grob orig) (display orig) (newline) > orig)) Many thanks - it sounds like it will worth experimenting with setting common-shortest-duration manually to common-up the appearamce of the parts. Would some syntax along the lines \override Score.SpacingSpanner.common-shortest-duration = #(make- moement '(1 . 8)) do this? (I'm doubtful because I didn't see an example in the manual - rather the statement "There is no convenient mechanism to manually override spacing. " at https://lilypond.org/doc/v2.22/Documentation/notation/horizontal-spacing-overview ) Richard > > at the beginning we will have the value of common-shortest duration > ouput. For > 1-1 this is 1/32, for 1-4 this is 1/8. To understand why this is > happening you > need to understand how Lilypond calculates the common-shortest > duration. > Basically Lilypond takes the smallest duration for each measure, and > then > counts for each one how many measures have it as smallest duration. > Then > Lilypond simply finds the duration with the highest count and returns > the > minimum of that one and base-shortest duration. > > Now this algorithm is kind of unstable. In your case you have many > measures > with 1/8th notes as shortest duration and many measures with 1/32nd > notes as > shortest duration. So if you have slightly more measures of the first > type you > will get the dense result, if you have slightly more of the second > type you > get the wide result. > > So in some sense this is "working as intended", it is just that the > algorithm > for common-shortest-duration is probably not optimal. It might be > better to > take some sort of weighted average, which would be much more stable > in such > situations. I’ll do some experimenting for this. > > Cheers, > Valentin > > Am Freitag, 18. März 2022, 10:39:10 CET schrieb Richard Shann: > > Attached are two scores which have quite similar music in them but > > LilyPond typesets one them with about twice as much horizontal > > space as > > the other. > > The documentation gives an overview of the algorithm for horizontal > > spacing but eyeballing this music I can't see any shortest-note > > differences that could trigger this. > > Any idea what might be going on? > > > > Richard Shann >
Grace after break spacing
Hi all, I've run into -- maybe not a defect, but an "ugly" engraving problem in LilyPond. If there is a grace note after a break, the last measure before the break does not leave enough room for the last note. Here's a MWE: %%% \version "2.23.6" \relative { c''4 c c c \break \time 3/4 % not necessary, but makes the spacing issue more obvious \grace c8 c2. } \layout { ragged-right = ##t } %%% In this example, the last c'' in the first measure is too close to the time signature change. (The change in time is not necessary to produce the problem, but it makes it easier to see.) If you comment out the grace note you can see the "proper" spacing. I'll post this to the bug list if it's not already a known issue (I searched but could not find it). In the meantime, does anyone know of a work-around? I tried changing NoteColumn.X-offset but this just changed the spacing between the last and second-to-last note and not the spacing from the end of the measure. -- Knute Snortum
Re: Mac Monterey 12.3 and Lilypond 2.2.2
On Fri 18 Mar 2022 at 10:34:08 (+0100), Hans Åberg wrote: > On 17 Mar 2022, at 23:39, Hans Aikema wrote: > > You cannot have both active indeed, but you can install them both (one > > active, one inactive). The recipe to end up with stable, but have current > > development version at hand for activation: > > > > sudo port install lilypond-devel > > sudo port deactivate lilypond-devel > > sudo port install lilypond > > > > then when you want to try develop: > > sudo port deactivate lilypond > > sudo port activate lilypond-devel > > > > and the other way around to switch back to stable: > > sudo port deactivate lilypond-devel > > sudo port activate lilypond > > This seems simpler than having a separate MacPorts installation. —To avoid > having to write 'sudo' all the time, one can start 'sudo -s'. It might be safer to use, say, an alias, a shell function, or a script for each version, so that you can just type "lpdev" or "lpprod" to switch. And if you collect a number of versions, "lp", "lp2236", … , maybe? > > only the active one will be upgraded with a sudo port upgrade outdated > > (over time you can even have multiple historical versions side by side at > > hand for activation by specifying the explicit version) > > This is something that should be remembered. Cheers, David.
Re: Wildly different horizontal spacing in two similar scores.
On Fri, 2022-03-18 at 12:27 +, Richard Shann wrote: > On Fri, 2022-03-18 at 12:11 +0100, Valentin Petzel wrote: > > Let’s take a look at what’s happening here: > > > > if we add > > \override Score.SpacingSpanner.common-shortest-duration = > > #(grob-transformer 'common-shortest-duration > > (lambda (grob orig) (display orig) (newline) > > orig)) > > Many thanks - it sounds like it will worth experimenting with setting > common-shortest-duration manually to common-up the appearamce of the > parts. Would some syntax along the lines > > \override Score.SpacingSpanner.common-shortest-duration = #(make- > moement '(1 . 8)) > > do this? (I'm doubtful because I didn't see an example in the manual > - > rather the statement > "There is no convenient mechanism to manually override spacing. " > at > https://lilypond.org/doc/v2.22/Documentation/notation/horizontal-spacing-overview > ) To answer my own question (I looked further down in the docs quoted) \override Score.SpacingSpanner.common-shortest-duration = #(ly:make- moment 1/8) does the needed tweak. I wonder what "There is no convenient mechanism to manually override spacing. " means ... Richard > > Richard > > > > at the beginning we will have the value of common-shortest duration > > ouput. For > > 1-1 this is 1/32, for 1-4 this is 1/8. To understand why this is > > happening you > > need to understand how Lilypond calculates the common-shortest > > duration. > > Basically Lilypond takes the smallest duration for each measure, > > and > > then > > counts for each one how many measures have it as smallest duration. > > Then > > Lilypond simply finds the duration with the highest count and > > returns > > the > > minimum of that one and base-shortest duration. > > > > Now this algorithm is kind of unstable. In your case you have many > > measures > > with 1/8th notes as shortest duration and many measures with 1/32nd > > notes as > > shortest duration. So if you have slightly more measures of the > > first > > type you > > will get the dense result, if you have slightly more of the second > > type you > > get the wide result. > > > > So in some sense this is "working as intended", it is just that the > > algorithm > > for common-shortest-duration is probably not optimal. It might be > > better to > > take some sort of weighted average, which would be much more stable > > in such > > situations. I’ll do some experimenting for this. > > > > Cheers, > > Valentin > > > > Am Freitag, 18. März 2022, 10:39:10 CET schrieb Richard Shann: > > > Attached are two scores which have quite similar music in them > > > but > > > LilyPond typesets one them with about twice as much horizontal > > > space as > > > the other. > > > The documentation gives an overview of the algorithm for > > > horizontal > > > spacing but eyeballing this music I can't see any shortest-note > > > differences that could trigger this. > > > Any idea what might be going on? > > > > > > Richard Shann > > > > >
Re: Mac Monterey 12.3 and Lilypond 2.2.2
> On 18 Mar 2022, at 17:23, David Wright wrote: > > On Fri 18 Mar 2022 at 10:34:08 (+0100), Hans Åberg wrote: >> On 17 Mar 2022, at 23:39, Hans Aikema wrote: > >>> You cannot have both active indeed, but you can install them both (one >>> active, one inactive). The recipe to end up with stable, but have current >>> development version at hand for activation: >>> >>> sudo port install lilypond-devel >>> sudo port deactivate lilypond-devel >>> sudo port install lilypond >>> >>> then when you want to try develop: >>> sudo port deactivate lilypond >>> sudo port activate lilypond-devel >>> >>> and the other way around to switch back to stable: >>> sudo port deactivate lilypond-devel >>> sudo port activate lilypond >> >> This seems simpler than having a separate MacPorts installation. —To avoid >> having to write 'sudo' all the time, one can start 'sudo -s'. > > It might be safer to use, say, an alias, a shell function, or a script > for each version, so that you can just type "lpdev" or "lpprod" to switch. > And if you collect a number of versions, "lp", "lp2236", … , maybe? For fun, here is a script 'lilypond-select'; I haven't tried it. Use it with 'sudo'. -- #!/bin/bash # Select MacPorts LilyPond version lilypond or lilypond-devel. if [ "$1" = "dev" ] then port deactivate lilypond port activate lilypond-devel elif [ "$1" = "stb" ] then port deactivate lilypond-devel port activate lilypond else echo "lilypond-select selects MacPorts ." echo "Takes one argument, \"dev\" for lilypond-devel, \"stb\" for lilypond." fi --
Re: Wildly different horizontal spacing in two similar scores.
From: Richard Shann I wonder what "There is no convenient mechanism to manually override spacing. " means ... I take it to mean that adjusting spacing on a smaller scale, like within a bar, is not so easy. The tricks I tend to use are: (1) specify the number of systems and pages (LilyPond then spreads the notation out appropriately); (2) specify line and page breaks (which can force LilyPond to stretch or compress a line); and (3) in desperation, when a single bar needs adjustment, adding parallel music in smaller notes and hiding it can do the job without resorting to tweaking individual notes (which I guess is option 4). Sometimes LilyPond gets the calculations about vertical spacing wrong (as in too pessimistic), and forcing the number of systems and pages may produce a good result even while LilyPond is complaining that I should have twice as many pages! This no longer irritates me - I'm used to it, and understand the difficulties involved in automating the spacing. In the specific case of the example that this thread is about, I would probably have simply specified the number of systems without another thought. Paul
Re: Grace after break spacing
Hi Knute, > I've run into -- maybe not a defect, but an "ugly" engraving problem Yeah… non-optimal for sure. > In the meantime, does anyone know of a work-around? c''4 c c \tweak extra-spacing-width #'(0 . 1.5) c Hope that helps! Kieren.
Re: Wildly different horizontal spacing in two similar scores.
Le 18/03/2022 à 18:30, Paul Hodges a écrit : *From: * Richard Shann I wonder what "There is no convenient mechanism to manually override spacing. " means ... I take it to mean that adjusting spacing on a smaller scale, like within a bar, is not so easy. Yes. In particular, while there are loads of ways you can make room for some grobs in a specific measure (http://lilypond.org/doc/v2.23/Documentation/notation/adjusting-horizontal-spacing-for-specific-layout-objects), there is no super convenient single-setting way to *reduce* spacing at a given point since you have to identify and override all parameters that set ideal and minimum distances -- often there are several of them at play. Jean
Re: Grace after break spacing
On Fri, Mar 18, 2022 at 10:47 AM Kieren MacMillan wrote: > > Hi Knute, > > > I've run into -- maybe not a defect, but an "ugly" engraving problem > > Yeah… non-optimal for sure. > > > In the meantime, does anyone know of a work-around? > > c''4 c c \tweak extra-spacing-width #'(0 . 1.5) c > > Hope that helps! It does! Thank you so much! Spacing in LilyPond is an area I'm only now beginning to broach. -- Knute Snortum
Re: Wildly different horizontal spacing in two similar scores.
On Fri, 2022-03-18 at 17:30 +, Paul Hodges wrote: > From: Richard Shann > > > > I wonder what "There is no convenient mechanism to manually > > override > > spacing. " means ... > > > I take it to mean that adjusting spacing on a smaller scale, like > within a bar, is not so easy. ah, I see, thank you. However: > > [...] > In the specific case of the example that this thread is about, I > would > probably have simply specified the number of systems without another > thought. I've tried adding \paper { systems-per-page = 20 } (to take an extreme case) but it doesn't change the horizontal spacing at all it just forces more systems onto the page causing them to collide as you request more. The problem I am facing is that one part is spaced horizontally much more loosely than another seemingly similar part. Richard
Fwd: Mac Monterey 12.3 and Lilypond 2.2.2
-- Forwarded message - From: Hans Åberg Date: Fri, 18 Mar 2022 at 15:33 Subject: Re: Mac Monterey 12.3 and Lilypond 2.2.2 To: Miguel Abrams Please cc the list so that others can follow and tune in. > On 18 Mar 2022, at 20:28, Miguel Abrams wrote: > > > Hi Hans: > > I wondered if you could suggest the next steps I should take. I have completed the following successfully. > > MacPorts was installed successfully, after Xcode install completed > > Both appear operational > > I followed the instructions displayed at : > > https://ports.macports.org/port/lilypond/ > > To Install Lilypond, run the following command in macOS Terminal > > sudo port install Lilypond > > Lilypond version 2.22.2 Updated 3 weeks ago approx > > The install appears to have been completed without error. > > Please understand that I have limited knowledge of Terminal use. > > My question for you is how do you launch Lilypond? > Does it always have to be launched through the terminal? I > > have yet, therefore, been able to confirm if this install will work in Mac Monterey OS Version 12.3. > > Your input in this regard would be most appreciated. > > Michael Abrams > miguelabram...@gmail.com > > On Fri, 18 Mar 2022 at 13:13, Hans Åberg wrote: > > > On 18 Mar 2022, at 17:23, David Wright wrote: > > > > On Fri 18 Mar 2022 at 10:34:08 (+0100), Hans Åberg wrote: > >> On 17 Mar 2022, at 23:39, Hans Aikema wrote: > > > >>> You cannot have both active indeed, but you can install them both (one active, one inactive). The recipe to end up with stable, but have current development version at hand for activation: > >>> > >>> sudo port install lilypond-devel > >>> sudo port deactivate lilypond-devel > >>> sudo port install lilypond > >>> > >>> then when you want to try develop: > >>> sudo port deactivate lilypond > >>> sudo port activate lilypond-devel > >>> > >>> and the other way around to switch back to stable: > >>> sudo port deactivate lilypond-devel > >>> sudo port activate lilypond > >> > >> This seems simpler than having a separate MacPorts installation. —To avoid having to write 'sudo' all the time, one can start 'sudo -s'. > > > > It might be safer to use, say, an alias, a shell function, or a script > > for each version, so that you can just type "lpdev" or "lpprod" to switch. > > And if you collect a number of versions, "lp", "lp2236", … , maybe? > > For fun, here is a script 'lilypond-select'; I haven't tried it. Use it with 'sudo'. > > -- > #!/bin/bash > > # Select MacPorts LilyPond version lilypond or lilypond-devel. > > > if [ "$1" = "dev" ] > then > port deactivate lilypond > port activate lilypond-devel > elif [ "$1" = "stb" ] > then > port deactivate lilypond-devel > port activate lilypond > else > echo "lilypond-select selects MacPorts ." > echo "Takes one argument, \"dev\" for lilypond-devel, \"stb\" for lilypond." > fi > -- > > > >
Re: Mac Monterey 12.3 and Lilypond 2.2.2
> On 18 Mar 2022, at 20:28, Miguel Abrams wrote: > > Hi Hans: > > I wondered if you could suggest the next steps I should take. I have > completed the following successfully. > > MacPorts was installed successfully, after Xcode install completed > > Both appear operational > > I followed the instructions displayed at : > > https://ports.macports.org/port/lilypond/ > > To Install Lilypond, run the following command in macOS Terminal > > sudo port install Lilypond > > Lilypond version 2.22.2 Updated 3 weeks ago approx > > The install appears to have been completed without error. > > Please understand that I have limited knowledge of Terminal use. > > My question for you is how do you launch Lilypond? I use a script, called 'lilypond' and put in /usr/local/bin/: export LC_CTYPE=en_US.UTF-8 export LANG=en_US.UTF-8 exec /opt/local/bin/lilypond "$@" MacOS have these set to the value UTF-8 without the 'en_US.' part which is causing problems for some components that LilyPond relies on. Then it can be used as 'lilypond' in Terminal. Otherwise, one can call '/opt/local/bin/lilypond' directly. To create the script, in Terminal: touch lilypond chmod a+x Then to edit it in an editor say TextEdit use 'open -a TextEdit lilypond' or the text editor that opens .txt files 'open -t lilypond'. After saving, in Terminal use sudo cp lilypond /usr/local/bin/ to get the above mentioned copy. Use 'which lilypond' to see which lilypond you are calling. If the environmental variable PATH is not set properly, you may get the MacPorts one, and not the script. Then 'rm lilypond' if you do not want the working copy anymore. This can be used for other lilypond programs as well, convert-ly, midi2ly, etc. > Does it always have to be launched through the terminal? All programs will call this program 'lilypond' but for example Frescobaldi will do it for you so you don't have to use Terminal. > I have yet, therefore, been able to confirm if this install will work in > Mac Monterey OS Version 12.3. Just try, on some test file test.ly, /opt/local/bin/lilypond test.ly
Re: Mac Monterey 12.3 and Lilypond 2.2.2
> On 18 Mar 2022, at 20:28, Miguel Abrams wrote: > > Hi Hans: > > I wondered if you could suggest the next steps I should take. I have > completed the following successfully. > > MacPorts was installed successfully, after Xcode install completed > > Both appear operational > > I followed the instructions displayed at : > > https://ports.macports.org/port/lilypond/ > > To Install Lilypond, run the following command in macOS Terminal > > sudo port install Lilypond > > Lilypond version 2.22.2 Updated 3 weeks ago approx > > The install appears to have been completed without error. > > Please understand that I have limited knowledge of Terminal use. > > My question for you is how do you launch Lilypond? I think that MacPorts writes a line to change the PATH variable to include the stuff in /opt/local/bin/, where alos lilypond is. So on a test file test.ly, in Terminal, just try lilypond test.ly or /opt/local/bin/lilypond/test.ly You might install Frescobaldi and typeset it from there. It knwos about MacPorts so should work automatically. If you have some problems with the language that lilypond writes, then you might try the script I gave. Type echo $PATH If /usr/local/bin is not before /opt/local/bin, then it means that MacPorts programs are chosen over those in /usr/local/bin. Then file ~/.zshrc may have to be edited. All this may be complicated and a bit confusing at first, but not really difficult compared to music. :-)
Re: Grace after break spacing
Le 18/03/2022 à 19:16, Knute Snortum a écrit : On Fri, Mar 18, 2022 at 10:47 AM Kieren MacMillan wrote: Hi Knute, I've run into -- maybe not a defect, but an "ugly" engraving problem Yeah… non-optimal for sure. In the meantime, does anyone know of a work-around? c''4 c c \tweak extra-spacing-width #'(0 . 1.5) c Hope that helps! It does! Thank you so much! Spacing in LilyPond is an area I'm only now beginning to broach. As its author, I am obviously biased regarding its usefulness, but I do want to note that the documentation in version 2.23 has a new section explaining extra-spacing-width and extra-spacing-height as well as other details (the documentation was added in 2.23 but the methods themselves are applicable in earlier versions). https://lilypond.org/doc/v2.23/Documentation/notation/adjusting-horizontal-spacing-for-specific-layout-objects Jean
Re: Inter-staff bar line for ChoirStaff?
Hello Valentin, Awesome. I've been wanting to learn more Scheme! I just need to figure out OR statements to get a final bar! Many thanks, mattfong On Thu, Mar 17, 2022 at 7:11 PM Valentin Petzel wrote: > Hello Matthew, > > if you want you can even automatise this: > > \version "2.22.2" > > \layout { >\context { > \ChoirStaff > \consists Span_bar_engraver > \override BarLine.allow-span-bar = > #(lambda (grob) > (equal? (ly:grob-property grob 'glyph) > "||")) >} > } > > > \new ChoirStaff << >\new Staff { 1 1 \bar "||" 1 } >\new Staff { 1 1 1 } > >> > > Cheers, > Valentin > > Am Freitag, 18. März 2022, 00:44:46 CET schrieb Matthew Fong: > > Dear Jean, > > > > Grazie mille! This is exactly what I was looking for: > > [image: Screen Shot 2022-03-17 at 16.43.13.png] > > > > Many thanks, > > mattfong > > > > On Thu, Mar 17, 2022 at 3:55 PM Jean Abou Samra > wrote: > > > Le 17/03/2022 à 23:22, Matthew Fong a écrit : > > > > Hello Jean, > > > > > > > > I only want the bar lines interstaff at the double bar, and not at > > > > every measure. The purpose is this helps better visually mark the end > > > > of a phrase. > > > > > > > > I'm also trying to avoid Mensurstriche layout, since the choir > doesn't > > > > seem to like it very much. > > > > > > > > > > > > Many thanks, > > > > mattfong > > > > > > Ah, sorry, I misread completely. You could do > > > > > > \version "2.22.2" > > > > > > \layout { > > > > > >\context { > > > > > > \ChoirStaff > > > \consists Span_bar_engraver > > > \override BarLine.allow-span-bar = ##f > > > > > >} > > > > > > } > > > > > > spanBarHere = \once \override ChoirStaff.BarLine.allow-span-bar = ##t > > > > > > > > > \new ChoirStaff << > > > > > >\new Staff { 1 1 \spanBarHere \bar "||" 1 } > > >\new Staff { 1 1 1 } > >
Re: Inter-staff bar line for ChoirStaff?
Le 18/03/2022 à 22:57, Matthew Fong a écrit : Hello Valentin, Awesome. I've been wanting to learn more Scheme! I just need to figure out OR statements to get a final bar! \version "2.22.2" \layout { \context { \ChoirStaff \consists Span_bar_engraver \override BarLine.allow-span-bar = #(lambda (grob) (let ((glyph (ly:grob-property grob 'glyph))) (or (equal? glyph "||") (equal? glyph "|." } } \new ChoirStaff << \new Staff { 1 1 \bar "||" 1 \bar "|." } \new Staff { 1 1 1 } >> Have a look at https://scheme-book.ursliska.de/scheme/conditionals/logical.html Jean
Re: Inter-staff bar line for ChoirStaff?
Hello Matthew, and or can be done by (or ...), like (or somthing1 somthing2) (though you can have any amount of arguments). But at some points you might want to do something like this: \version "2.22.2" #(define spanbars '("||" "|." ":|." ".|:" ":|.|:")) \layout { \context { \ChoirStaff \consists Span_bar_engraver \override BarLine.allow-span-bar = #(lambda (grob) (member (ly:grob-property grob 'glyph) spanbars)) } } \new ChoirStaff << \new Staff { 1 1 \bar "||" 1 \bar ":|." 1 \bar ".|:" 1 \bar ":|.|:" 1 \bar "|." } \new Staff { \repeat unfold 6 c'1 } >> or if you want to span anything BUT a normal barline you might want to use (not (equal? (ly:grob-property grob 'glyph) "|")) instead. Cheers, Valentin Am Freitag, 18. März 2022, 22:57:33 CET schrieb Matthew Fong: > Hello Valentin, > > Awesome. I've been wanting to learn more Scheme! I just need to figure out > OR statements to get a final bar! > > > Many thanks, > mattfong > > On Thu, Mar 17, 2022 at 7:11 PM Valentin Petzel wrote: > > Hello Matthew, > > > > if you want you can even automatise this: > > > > \version "2.22.2" > > > > \layout { > > > >\context { > > > > \ChoirStaff > > \consists Span_bar_engraver > > \override BarLine.allow-span-bar = > > #(lambda (grob) > > > > (equal? (ly:grob-property grob 'glyph) > > > > "||")) > > > >} > > > > } > > > > > > \new ChoirStaff << > > > >\new Staff { 1 1 \bar "||" 1 } > >\new Staff { 1 1 1 } > > > > Cheers, > > Valentin > > > > Am Freitag, 18. März 2022, 00:44:46 CET schrieb Matthew Fong: > > > Dear Jean, > > > > > > Grazie mille! This is exactly what I was looking for: > > > [image: Screen Shot 2022-03-17 at 16.43.13.png] > > > > > > Many thanks, > > > mattfong > > > > > > On Thu, Mar 17, 2022 at 3:55 PM Jean Abou Samra > > > > wrote: > > > > Le 17/03/2022 à 23:22, Matthew Fong a écrit : > > > > > Hello Jean, > > > > > > > > > > I only want the bar lines interstaff at the double bar, and not at > > > > > every measure. The purpose is this helps better visually mark the > > > > > end > > > > > of a phrase. > > > > > > > > > > I'm also trying to avoid Mensurstriche layout, since the choir > > > > doesn't > > > > > > > seem to like it very much. > > > > > > > > > > > > > > > Many thanks, > > > > > mattfong > > > > > > > > Ah, sorry, I misread completely. You could do > > > > > > > > \version "2.22.2" > > > > > > > > \layout { > > > > > > > >\context { > > > > > > > > \ChoirStaff > > > > \consists Span_bar_engraver > > > > \override BarLine.allow-span-bar = ##f > > > > > > > >} > > > > > > > > } > > > > > > > > spanBarHere = \once \override ChoirStaff.BarLine.allow-span-bar = ##t > > > > > > > > > > > > \new ChoirStaff << > > > > > > > >\new Staff { 1 1 \spanBarHere \bar "||" 1 } > > > >\new Staff { 1 1 1 } signature.asc Description: This is a digitally signed message part.
Re: Inter-staff bar line for ChoirStaff?
Dear Valentine and Jean, Many thanks for the help and documentation. I think once upon a time Aaron or someone else gave me the link. Good to have it again. mattfong On Fri, Mar 18, 2022 at 3:08 PM Valentin Petzel wrote: > Hello Matthew, > > and or can be done by (or ...), like (or somthing1 somthing2) (though you > can > have any amount of arguments). > > But at some points you might want to do something like this: > > \version "2.22.2" > > #(define spanbars >'("||" "|." ":|." ".|:" ":|.|:")) > > \layout { >\context { > \ChoirStaff > \consists Span_bar_engraver > \override BarLine.allow-span-bar = > #(lambda (grob) > (member (ly:grob-property grob 'glyph) > spanbars)) >} > } > > \new ChoirStaff << >\new Staff { 1 1 \bar "||" 1 \bar ":|." 1 \bar ".|:" 1 \bar ":|.|:" 1 > \bar > "|." } >\new Staff { \repeat unfold 6 c'1 } > >> > > or if you want to span anything BUT a normal barline you might want to use > > (not (equal? (ly:grob-property grob 'glyph) "|")) > > instead. > > Cheers, > Valentin > > Am Freitag, 18. März 2022, 22:57:33 CET schrieb Matthew Fong: > > Hello Valentin, > > > > Awesome. I've been wanting to learn more Scheme! I just need to figure > out > > OR statements to get a final bar! > > > > > > Many thanks, > > mattfong > > > > On Thu, Mar 17, 2022 at 7:11 PM Valentin Petzel > wrote: > > > Hello Matthew, > > > > > > if you want you can even automatise this: > > > > > > \version "2.22.2" > > > > > > \layout { > > > > > >\context { > > > > > > \ChoirStaff > > > \consists Span_bar_engraver > > > \override BarLine.allow-span-bar = > > > #(lambda (grob) > > > > > > (equal? (ly:grob-property grob 'glyph) > > > > > > "||")) > > > > > >} > > > > > > } > > > > > > > > > \new ChoirStaff << > > > > > >\new Staff { 1 1 \bar "||" 1 } > > >\new Staff { 1 1 1 } > > > > > > Cheers, > > > Valentin > > > > > > Am Freitag, 18. März 2022, 00:44:46 CET schrieb Matthew Fong: > > > > Dear Jean, > > > > > > > > Grazie mille! This is exactly what I was looking for: > > > > [image: Screen Shot 2022-03-17 at 16.43.13.png] > > > > > > > > Many thanks, > > > > mattfong > > > > > > > > On Thu, Mar 17, 2022 at 3:55 PM Jean Abou Samra > > > > > > wrote: > > > > > Le 17/03/2022 à 23:22, Matthew Fong a écrit : > > > > > > Hello Jean, > > > > > > > > > > > > I only want the bar lines interstaff at the double bar, and not > at > > > > > > every measure. The purpose is this helps better visually mark the > > > > > > end > > > > > > of a phrase. > > > > > > > > > > > > I'm also trying to avoid Mensurstriche layout, since the choir > > > > > > doesn't > > > > > > > > > seem to like it very much. > > > > > > > > > > > > > > > > > > Many thanks, > > > > > > mattfong > > > > > > > > > > Ah, sorry, I misread completely. You could do > > > > > > > > > > \version "2.22.2" > > > > > > > > > > \layout { > > > > > > > > > >\context { > > > > > > > > > > \ChoirStaff > > > > > \consists Span_bar_engraver > > > > > \override BarLine.allow-span-bar = ##f > > > > > > > > > >} > > > > > > > > > > } > > > > > > > > > > spanBarHere = \once \override ChoirStaff.BarLine.allow-span-bar = > ##t > > > > > > > > > > > > > > > \new ChoirStaff << > > > > > > > > > >\new Staff { 1 1 \spanBarHere \bar "||" 1 } > > > > >\new Staff { 1 1 1 } > >