Re: Mac Monterey 12.3 and Lilypond 2.2.2

2022-03-18 Thread Hans Åberg


> 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.

2022-03-18 Thread Valentin Petzel
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.

2022-03-18 Thread Richard Shann
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

2022-03-18 Thread Knute Snortum
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

2022-03-18 Thread David Wright
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.

2022-03-18 Thread Richard Shann
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

2022-03-18 Thread Hans Åberg


> 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.

2022-03-18 Thread Paul Hodges

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

2022-03-18 Thread Kieren MacMillan
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.

2022-03-18 Thread Jean Abou Samra

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

2022-03-18 Thread Knute Snortum
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.

2022-03-18 Thread Richard Shann
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

2022-03-18 Thread Miguel Abrams
-- 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

2022-03-18 Thread Hans Åberg


> 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

2022-03-18 Thread Hans Åberg


> 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

2022-03-18 Thread Jean Abou Samra

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?

2022-03-18 Thread 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 }
>
>


Re: Inter-staff bar line for ChoirStaff?

2022-03-18 Thread Jean Abou Samra




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?

2022-03-18 Thread Valentin Petzel
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?

2022-03-18 Thread Matthew Fong
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 }
>
>