Re: Sending around contexts

2020-11-21 Thread Valentin Petzel
I’d say though that this is usually not very meaningful in this specific 
example, because different contexts might need a completely different 
treatment.

Valentin

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


Re: Sending around contexts

2020-11-21 Thread Kieren MacMillan
Hi again!

> As Lukas has pointed out

That guy’s smart…  =)

> you can actually specify the name of the Context.

Really nice. v3:


\version "2.20"

\layout {
  \context {
\name "Notes"
\type "Engraver_group"
  }
  \context {
\Voice
\accepts "Notes"
  }
  \context {
\name "Container"
\type "Engraver_group"
\accepts "Notes"
\accepts "Voice"
  }
  \context {
\Staff
\accepts "Container"
  }
  \context {
\Dynamics
\accepts "Container"
  }
}

send =
#(define-music-function (cname context music1 music2) (string? string? 
ly:music? ly:music?)
   #{
 << #music1 \new Container \new Notes { \change #cname = #context #music2 } 
>>
   #})

pfdyn = \send Container "piano_dynamics" \etc

piano_upper = {
  c'4\p d' e' f'
  \pfdyn g'1 <>\mp
  g'4\f f' e' d'
  c'1
}

piano_lower = {
  \clef bass
  c1
  g,1
  g,1
  c1
}

\score {
  <<
\new PianoStaff <<
  \new Staff \piano_upper
  \new Dynamics \new Container = "piano_dynamics" s1
  \new Staff \piano_lower
>>
  >>
  %%%  layout mod to show the centred dynamics
  \layout {
\context {
  \PianoStaff
  \override VerticalAxisGroup.staff-staff-spacing.padding = #10
}
  }
}


Wonderful!
Kieren.


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




Re: Sending around contexts

2020-11-21 Thread Valentin Petzel
As Lukas has pointed out you can even do something like this

toDyn =
#(define-music-function (music1 music2 context cname) (ly:music? ly:music? 
markup? string?)
   #{
 << #music1 \new #"Container" \new Notes { \change #cname = #context 
#music2 } >>
   #})

So you can actually specify the name of the Context.

This kindof makes my Tab example obsolete, as you can simply do that.

Valentin\version "2.20"
\language "deutsch"


music =
#(define-music-function (Voice) (string?)
   #{
\relative c'' {
 c4 h8 a h4 a8 g
  << 
{ \voiceOne a4 g8 f g2 a8 c e g a2 }
\new #Voice { \voiceTwo f,2 h,2 c4 h a2 }
  >>
}
   #})

\score {
  <<
\new Staff \music #"Voice"
\new TabStaff \music #"TabVoice"
  >>
  \layout { }
}

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


Re: Sending around contexts

2020-11-21 Thread Valentin Petzel
I managed to do an example where I feed the same stuff into a Staff and a 
TabStaff, splitting in two Voices for the Staff, and remaining in one for the 
TabStaff (the automatic string selection cannot handle different voices, so 
this gives some warnings but saves the effort of specifying that myself).

This shows an interesting property:
If multiple Contexts have the same name, Lilypond switches to the one that’s 
closest so if we have

ContextA {
→ ContextB [ change to ContextC ]
→ ContextC
}
Context D {
→ ContextB
→ ContextC
}

We change to ContextC in ContextA. If we have

ContextA {
→ ContextB [ change to ContextC ]
→ ContextE
}
Context D {
→ ContextB
→ ContextC
}

We change to ContextC in ContextD.

So in this case we only need to specify to switch to Container 2, and both 
Staves will automatically switch to the right container.

Valentin\version "2.20"
\language "deutsch"


\layout {
  \context {
\Voice
\accepts "Notes"
\accepts "Container"
  }
  \context {
\TabVoice
\accepts "Notes"
\accepts "Container"
  }
  \context {
\name "Notes"
\type "Engraver_group"
  }
  \context {
\Staff
\accepts "Container"
  }
  \context {
\TabStaff
\accepts "Container"
  }
  \context {
\Dynamics
\accepts "Container"
  }
  \context {
\name "Container"
\type "Engraver_group"
\accepts "Notes"
  }
}



music = \relative c'' {
 c4 h8 a h4 a8 g
  << 
{ \voiceOne a4 g8 f g2 a8 c e g a2 }
\new Container \new Notes { \change Container="2" \voiceTwo f,2 h,2 c4 h a2 }
  >>
}

\score {
  <<
\new Staff <<
  \new Voice \new Container="1" \new Notes { \music }
  \new Voice \new Container="2" \new Notes { #(skip-of-length music) }
>>
\new TabStaff \new TabVoice <<
  \new Container="1" \new Notes { \music }
  \new Container="2" \new Notes { #(skip-of-length music) }
>>
  >>
  \layout { }
}

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


Re: Sending around contexts

2020-11-21 Thread Lukas-Fabian Moser

Hi Kieren,


Question: Can the interface be made into a \tweak-able function, where the 
parameters are [only] the name of the target context and the music being sent 
there?


Probably this is too simple, but: In your definition

toDyn =
#(define-music-function (music1 music2) (ly:music? ly:music?)
   #{
 << #music1 \new Container \new Notes { \change Container = "piano_dynamics" 
#music2 } >>
   #})

both "Container" and "piano_dynamics" can be replaced by variables (e.g. 
string?'s passed to a function).


Lukas




Re: Sending around contexts

2020-11-21 Thread Kieren MacMillan
Hi Valentin,

> Specifiying the context name is easy, that’s just a markup:
> toDyn =
> #(define-music-function (music1 music2 context) (ly:music? ly:music? markup?)
>   #{
> << #music1 \new Container \new Notes { \change Container = #context 
> #music2 } >>
>   #})

Excellent!

An improved/expanded snippet:


\version "2.20"

\layout {
  \context {
\name "Notes"
\type "Engraver_group"
  }
  \context {
\Voice
\accepts "Notes"
  }
  \context {
\name "Container"
\type "Engraver_group"
\accepts "Notes"
\accepts "Voice"
  }
  \context {
\Staff
\accepts "Container"
  }
  \context {
\Dynamics
\accepts "Container"
  }
}

send =
#(define-music-function (contextname music1 music2) (string? ly:music? 
ly:music?)
   #{
 << #music1 \new Container \new Notes { \change Container = #contextname 
#music2 } >>
   #})

pd = \send "piano_dynamics" \etc

piano_upper = {
  c'4\p d' e' f'
  \pd g'1 <>\mp
  g'4\f f' e' d'
  c'1
}

piano_lower = {
  \clef bass
  c1
  g,1
  g,1
  c1
}

\score {
  <<
\new PianoStaff <<
  \new Staff \piano_upper
  \new Dynamics \new Container = "piano_dynamics" s1
  \new Staff \piano_lower
>>
  >>
  %%%  layout mod to show the centred dynamics
  \layout {
\context {
  \PianoStaff
  \override VerticalAxisGroup.staff-staff-spacing.padding = #10
}
  }
}


> For the other thing I do not think it is possible. Tweaking would tweak a 
> property of the music, and Lilypond only allows for post events, but not for 
> postscript functions. So I do no think it would be possible to get both music 
> parts into parallel.

Perhaps David K can see a way to get around this?  =)

Thanks again!
This function will REALLY change (read: improve) the way I can code my music.

Best,
Kieren.


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




Re: Sending around contexts

2020-11-21 Thread Valentin Petzel
Hi Kieren,

Specifiying the context name is easy, that’s just a markup:
toDyn =
#(define-music-function (music1 music2 context) (ly:music? ly:music? markup?)
   #{
 << #music1 \new Container \new Notes { \change Container = #context 
#music2 } >>
   #})

For the other thing I do not think it is possible. Tweaking would tweak a 
property of the music, and Lilypond only allows for post events, but not for 
postscript functions. So I do no think it would be possible to get both music 
parts into parallel.

Valentin

Am Samstag, 21. November 2020, 21:14:24 CET schrieb Kieren MacMillan:
> Hi Valentin (et al.),
> 
> Oh, this is so great…!!  =)
> 
> FAIRLY MINIMAL EXAMPLE:
> 
> %%%
> \version "2.20"
> 
> \layout {
>   \context {
> \name "Notes"
> \type "Engraver_group"
>   }
>   \context {
> \Voice
> \accepts "Notes"
>   }
>   \context {
> \name "Container"
> \type "Engraver_group"
> \accepts "Notes"
> \accepts "Voice"
>   }
>   \context {
> \Staff
> \accepts "Container"
>   }
>   \context {
> \Dynamics
> \accepts "Container"
>   }
> }
> 
> toDyn =
> #(define-music-function (music1 music2) (ly:music? ly:music?)
>#{
>  << #music1 \new Container \new Notes { \change Container =
> "piano_dynamics" #music2 } >> #})
> 
> piano_upper = {
>   c'4\p d' e' f'
>   \toDyn g'1 s1\mp
>   g'4\f f' e' d'
>   c'1
> }
> 
> piano_lower = {
>   \clef bass
>   c1
>   g,1
>   g,1
>   c1
> }
> 
> \score {
>   <<
> \new PianoStaff <<
>   \new Staff \piano_upper
>   \new Dynamics \new Container = "piano_dynamics" s1
>   \new Staff \piano_lower
> 
> 
>   %%%  layout mod to show the centred dynamics
>   \layout {
> \context {
>   \PianoStaff
>   \override VerticalAxisGroup.staff-staff-spacing.padding = #10
> }
>   }
> }
> %%%
> 
> Question: Can the interface be made into a \tweak-able function, where the
> parameters are [only] the name of the target context and the music being
> sent there?
> 
> Very exciting!
> Kieren.
> 
> 
> Kieren MacMillan, composer (he/him/his)
> ‣ website: www.kierenmacmillan.info
> ‣ email: kie...@kierenmacmillan.info

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


Re: Sending around contexts

2020-11-21 Thread Martín Rincón Botero
Nice! Perhaps in the realms of Dynamics contexts this could be the seed for
a future centered dynamics "style" —where dynamics are sent "behind the
scenes" to a Dynamics context— that's activated with a simple \override
command.

Am Sa., 21. Nov. 2020 um 21:16 Uhr schrieb Kieren MacMillan <
kieren_macmil...@sympatico.ca>:

> Hi Valentin (et al.),
>
> Oh, this is so great…!!  =)
>
> FAIRLY MINIMAL EXAMPLE:
>
> %%%
> \version "2.20"
>
> \layout {
>   \context {
> \name "Notes"
> \type "Engraver_group"
>   }
>   \context {
> \Voice
> \accepts "Notes"
>   }
>   \context {
> \name "Container"
> \type "Engraver_group"
> \accepts "Notes"
> \accepts "Voice"
>   }
>   \context {
> \Staff
> \accepts "Container"
>   }
>   \context {
> \Dynamics
> \accepts "Container"
>   }
> }
>
> toDyn =
> #(define-music-function (music1 music2) (ly:music? ly:music?)
>#{
>  << #music1 \new Container \new Notes { \change Container =
> "piano_dynamics" #music2 } >>
>#})
>
> piano_upper = {
>   c'4\p d' e' f'
>   \toDyn g'1 s1\mp
>   g'4\f f' e' d'
>   c'1
> }
>
> piano_lower = {
>   \clef bass
>   c1
>   g,1
>   g,1
>   c1
> }
>
> \score {
>   <<
> \new PianoStaff <<
>   \new Staff \piano_upper
>   \new Dynamics \new Container = "piano_dynamics" s1
>   \new Staff \piano_lower
> >>
>   >>
>   %%%  layout mod to show the centred dynamics
>   \layout {
> \context {
>   \PianoStaff
>   \override VerticalAxisGroup.staff-staff-spacing.padding = #10
> }
>   }
> }
> %%%
>
> Question: Can the interface be made into a \tweak-able function, where the
> parameters are [only] the name of the target context and the music being
> sent there?
>
> Very exciting!
> Kieren.
> 
>
> Kieren MacMillan, composer (he/him/his)
> ‣ website: www.kierenmacmillan.info
> ‣ email: kie...@kierenmacmillan.info
>
>
>

-- 
www.martinrinconbotero.com


Re: Sending around contexts

2020-11-21 Thread Kieren MacMillan
Hi Valentin (et al.),

Oh, this is so great…!!  =)

FAIRLY MINIMAL EXAMPLE:

%%%
\version "2.20"

\layout {
  \context {
\name "Notes"
\type "Engraver_group"
  }
  \context {
\Voice
\accepts "Notes"
  }
  \context {
\name "Container"
\type "Engraver_group"
\accepts "Notes"
\accepts "Voice"
  }
  \context {
\Staff
\accepts "Container"
  }
  \context {
\Dynamics
\accepts "Container"
  }
}

toDyn =
#(define-music-function (music1 music2) (ly:music? ly:music?)
   #{
 << #music1 \new Container \new Notes { \change Container = 
"piano_dynamics" #music2 } >>
   #})

piano_upper = {
  c'4\p d' e' f'
  \toDyn g'1 s1\mp
  g'4\f f' e' d'
  c'1
}

piano_lower = {
  \clef bass
  c1
  g,1
  g,1
  c1
}

\score {
  <<
\new PianoStaff <<
  \new Staff \piano_upper
  \new Dynamics \new Container = "piano_dynamics" s1
  \new Staff \piano_lower
>>
  >>
  %%%  layout mod to show the centred dynamics
  \layout {
\context {
  \PianoStaff
  \override VerticalAxisGroup.staff-staff-spacing.padding = #10
}
  }
}
%%%

Question: Can the interface be made into a \tweak-able function, where the 
parameters are [only] the name of the target context and the music being sent 
there?

Very exciting!
Kieren.


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




Re: Sending around contexts

2020-11-21 Thread Kieren MacMillan
Hi Valentin,

> A while ago I sent an example of how you can use custom contexts to send 
> music 
> to different Voices in different Staves. I have done some experimenting and 
> found a way to send anything pretty much anywhere.



This has been one of my main feature requests for many, many years.
I can’t wait to try it out!!

Thanks,
Kieren.


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




Re: [OpenLilyLib] looking for collaborator(s) on stylesheet package/system

2020-11-21 Thread Kieren MacMillan
Hello again,

I got a few private responses to this post — which were appreciated — but was 
really hoping to get a discussion going about how such a system could be 
implemented.

Perhaps the word “collaborator(s)” in the subject is too strong and scary?  ;)

To be clear: my “problem” is never about not knowing how to [potentially] solve 
a given puzzle. My “problem” is my ability to come up with TOO MANY ways to 
[potentially] solve a given puzzle. I’m hoping one or more (!) Excellent Minds™ 
out there in the ’Pond is willing to help me separate the wheat from the chaff 
in my possible approaches/solutions, so that (a) I don’t get paralyzed by the 
choices, and (b) there’s an outside chance this project will actually move 
forward towards the goal line. Anyone up for such a discussion?

Thanks,
Kieren.

> Hi all,
> 
> Now that OLL is settling into its new home, and my own life has settled 
> enough 
> that I can focus on something other than mere survival, I wanted to revive 
> this 
> thread, and hopefully move the idea forward significantly in the near future.
> 
> The intention of a stylesheet package/system would be to allow a Lilypond 
> (or, 
> at the very least, OLL) user to apply preset styles to their scores with 
> minimal effort. Say I want my piano music to look like mid-20th Century Henle 
> Beethoven scores. I want to put something like
>\include "stylesheets.instrument.solo.piano.Henle.Beethoven.1952"
> in my score and VOILA! it automagically looks like the attached (which I 
> generated in Lilypond).
> 
> To whatever extent possible:
> 
> 1. Stylesheets should handle notation fonts, sizes, tweaks, etc. (a.k.a. 
> Every 
> Possible Thing™).
> 
> 2. Stylesheets should be modular (e.g., one should be able to easily choose 
> the 
> Peters 1940 choral format, but use a custom text font set).
> 
> 3. Stylesheets should be able to include functions, macros, and other “active 
> code”.
> 
> So…
> 
> The first big question [thank you, Urs!] is:
> > How could such a stylesheet system be organized a) in the ways e.g. CSS
> > is organized and how a "publisher" might organize house styles (e.g.
> > aesthetic styles, score types etc.)
> 
> I would love to discuss this on-list with anyone who has good ideas to offer, 
> even if you’re not keen on being involved in working out the implementation.
> 
> Thanks!
> Kieren.


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




Interaction between Tags and partCombine

2020-11-21 Thread Marc Shepherd
Tags are used to conditionally include music expressions in multiple scores
prepared from the same source text. partCombine is used to merge separate
parts onto a single staff. These two features interact in ways I found
surprising.

There are musical expressions that I want printed only in the full score. I
preface these with \tag #'score. Other expressions I want printed only in
the parts. I preface these with \tag #'parts.

The full score contains many staffs in parallel, all of which are enclosed
in a << >> pair. Before the first <<, I put \keepWithTag #'score. This
*mostly* has the expected result: it prints everything that is either
untagged or tagged score, and omits everything tagged parts.

The exception is...any pair of instruments for which partCombine was used.
For instance, the piece has a pair of clarinets. In the score, I want the
clarinets on one staff. In the parts, I want the clarinets on separate
staves. This is precisely the situation partCombine is meant to handle.

But the single \keepWithTag #'score before the first << does not work for
staves where partCombine was used. For only those staves, I need to
re-state  \keepWithTag #'score before each of the separate music
expressions that is input to partCombine.

I was able to discover this by trial and error, but there probably ought to
be a warning about it in the manual.

-- 
Marc Shepherd


Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Hans Åberg


> On 21 Nov 2020, at 16:14, Kieren MacMillan  
> wrote:
> 
> I don’t think that solves the OP’s problem, as I understand it to be… I think 
> the OP wants a compressed visual representation of a whole bunch of 4/4+3/4 
> two-measure chunks, without actually seeing them written out.

I think the rule is that multi-measure rests indicate the number of measures 
regardless of their meter. But LilyPond does not seem able to handle that.




Re: LilyPond v2.20.0 on Raspberry Pi OS (Debian buster)

2020-11-21 Thread David Wright
On Sat 21 Nov 2020 at 16:20:55 (+0100), Jean Bréfort wrote:
> Le samedi 21 novembre 2020 à 15:57 +0100, renyhp a écrit :
> > On 21/11/20, 15:08 > > Jean Bréfort  wrote:
> > > Le samedi 21 novembre 2020 à 10:52 +0100, renyhp a écrit :
> > > > I have installed LilyPond v2.18.2 on my Raspberry Pi 4 from the
> > > > repositories, and I now would like to upgrade the current stable
> > > > version.
> > > > 
> > > > The arm architecture of the Raspberry Pi does not make it possible
> > > > to use the installer on the website.
> > > > 
> > > > The repositories for Raspbian and Debian do include arm builds, but
> > > > the buster repositories are still on v2.18.2.  
> > > 
> > > but the ones for testing do include 2.20.0
> > > (https://packages.debian.org/bullseye/lilypond)
> > 
> > Yes, they do, but I can't just download the deb file from there and
> > install it, can I? In my understanding, there will be some dependencies
> > and my software will try to resolve them by looking at the buster
> > repository, and will most likely fail (as, for example, the
> > lilypond-data package is required to be 2.20.0-2 which is still not in
> > the buster repositories). Besides, I don't think it would be wise to
> > change my system-wide apt source just for LilyPond.
> > 
> > But I hope someone can prove me wrong on anything I've just said.
> 
> Download the .deb and install it with dpkg. That will give you the list
> of missing dependencies that you'll need to download manually and
> install. This is somewhat time consuming and even might fail but it's
> the only way I know.

Whoa, don't do that: it puts you on the path to a Frankendebian.
https://wiki.debian.org/DontBreakDebian
Do this instead:

axis!david ~ $ apt -s install /home/debian/bullseye/lilypond_2.20.0-2_amd64.deb¹
NOTE: This is only a simulation!
  apt needs root privileges for real execution.
  Keep also in mind that locking is deactivated,
  so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree   
Reading state information... Done
Note, selecting 'lilypond' instead of 
'/home/debian/bullseye/lilypond_2.20.0-2_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 lilypond : Depends: lilypond-data (= 2.20.0-2) but 
2.19.81+really-2.18.2-13+deb10u1 is to be installed
Depends: libc6 (>= 2.29) but 2.28-10 is to be installed²
Depends: libcrypt1 (>= 1:4.1.0) but it is not installable
Depends: libgcc-s1 (>= 3.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
100 axis!david ~ $ 

Note that this can be done as a user ($) rather than root (#).
The kicker is libc6 of course. Looking at its reverse dependencies:

axis!david ~ $ apt rdepends --installed libc6 2>/dev/null | grep 'Depends: ' | 
wc -l
1350
axis!david ~ $ 

That's 1350 packages, out of 2064 in total, that depend on libc6.

My own solution would be to consider either dual-booting the Pi4
with buster and bullseye (I always set my disks up with two root
filesystems), or acquiring a second Pi.



Notes:

¹ The install command must have an argument starting with
  / or ./ or ../ to make apt recognise it as a *file* name
  rather than a package name. This form is not well
  documented.

² "is to be installed" might be confusing in this context:
  it includes packages already installed.

Cheers,
David.



Re: Partially formatting syllables in lyrics

2020-11-21 Thread Xavier Scheuer
On Sat, 21 Nov 2020 at 17:45, Fr. Samuel Springuel 
wrote:
>
> How can I apply italics to part of a syllable in the lyrics context?
When I use the method I usually use to apply italics, it automatically
creates a new syllable:
>
> #(ly:set-option 'relative-includes #t)
> \version "2.20.0"
>
> \new Staff
> <<
> \new Voice = "mel" { c' c' }
> \new Lyrics \lyricsto "mel" { \lyricmode { hat\override
Lyrics.LyricText.font-shape = #'italic (s) \revert
Lyrics.LyricText.font-shape show } }
> >>

Hello,

As the doc says: "Markup mode may be used to format individual syllables in
lyrics".
NR 2.1.1 Common notation for vocal music > Entering lyrics
https://lilypond.org/doc/v2.21/Documentation/notation/common-notation-for-vocal-music.html#entering-lyrics

Hence you can use \concat and \italic.
\markup { \concat { hat \italic (s) } } show

Cheers,
Xavier

-- 
Xavier Scheuer 


Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Maximilian Marcoll
And to make it more challenging, measure numbers should be correct afterwards, 
too...

A tagged measure attached spanner would be a workaround I guess, if there’s an 
easy way to hide (but count) the remaining but unnecessary measures. 

Thanks to you all,

Max

__
http://www.marcoll.de
http://www.stock11.de


> On Nov 21, 2020, at 17:50, Maximilian Marcoll  wrote:
> 
> Precisely! :)
> 
> 
>> On Nov 21, 2020, at 16:16, Kieren MacMillan  
>> wrote:
>> 
>> I think the OP wants a compressed visual representation of a whole bunch of 
>> 4/4+3/4 two-measure chunks, without actually seeing them written out.
> 




Re: Partially formatting syllables in lyrics

2020-11-21 Thread Aaron Hill

On 2020-11-21 8:44 am, Fr. Samuel Springuel wrote:

How can I apply italics to part of a syllable in the lyrics context?
When I use the method I usually use to apply italics, it automatically
creates a new syllable:

#(ly:set-option 'relative-includes #t)
\version "2.20.0"

\new Staff
<<
\new Voice = "mel" { c' c' }
\new Lyrics \lyricsto "mel" { \lyricmode { hat\override
Lyrics.LyricText.font-shape = #'italic (s) \revert
Lyrics.LyricText.font-shape show } }




Use \markup for the entire syllable:


\version "2.20.0"

{ a'4 b'2 }
\addlyrics {
  \markup { \bold a \italic b }
  \markup { \box c \circle d }
}



-- Aaron Hill



Re: Partially formatting syllables in lyrics

2020-11-21 Thread Kieren MacMillan
Hi there,

> How can I apply italics to part of a syllable in the lyrics context?

Does this work for what you need?


\version "2.20.0"

\new Staff <<
   \new Voice = "mel" { c' c' }
   \new Lyrics \lyricsto "mel" { \lyricmode { hat -- \tweak font-shape #'italic 
(s) show } }
>>


Hope that helps!
Kieren.


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




Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Maximilian Marcoll
Precisely! :)


> On Nov 21, 2020, at 16:16, Kieren MacMillan  
> wrote:
> 
> I think the OP wants a compressed visual representation of a whole bunch of 
> 4/4+3/4 two-measure chunks, without actually seeing them written out.




Partially formatting syllables in lyrics

2020-11-21 Thread Fr. Samuel Springuel
How can I apply italics to part of a syllable in the lyrics context?  When I 
use the method I usually use to apply italics, it automatically creates a new 
syllable:

#(ly:set-option 'relative-includes #t)
\version "2.20.0"

\new Staff
<<
\new Voice = "mel" { c' c' }
\new Lyrics \lyricsto "mel" { \lyricmode { hat\override 
Lyrics.LyricText.font-shape = #'italic (s) \revert Lyrics.LyricText.font-shape 
show } }
>>


✝✝
Fr. Samuel, OSB
(R. Padraic Springuel)
St. Anselm’s Abbey
4501 South Dakota Ave, NE
Washington, DC, 20017
202-269-2300
(c) 202-853-7036

PAX ☧ ΧΡΙΣΤΟΣ




Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Kieren MacMillan
> Compound meter, perhaps?

p.s. Gould explicitly notes that compound meter and strictly alternating meter 
are two distinct things.  :)

Best,
Kieren.


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




Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Kieren MacMillan
Hi Tim,

> As far as I can tell from looking at the docs, the only way to do this using 
> multi-measure rests will be in 7/4. It will count out the same, assuming the 
> right number of measures is chosen.

Yes… That’s why I suggested a measure-attached "x" spanner. (n.b. Gould doesn’t 
explicitly address this situation, so there’s no “gospel” that I know of.) I 
really can’t think of a more elegant way, but would love to see what others 
come up with!

Cheers,
Kieren.


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




Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Kieren MacMillan
Hi Aaron,

> Compound meter, perhaps?

I don’t know whether the OP is willing to use compound meter…?
Let’s wait to hear OP’s response.

Thanks!
Kieren.


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




Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Tim McNamara



> On Nov 21, 2020, at 9:14 AM, Kieren MacMillan  
> wrote:
> 
> I don’t think that solves the OP’s problem, as I understand it to be… I think 
> the OP wants a compressed visual representation of a whole bunch of 4/4+3/4 
> two-measure chunks, without actually seeing them written out.

As far as I can tell from looking at the docs, the only way to do this using 
multi-measure rests will be in 7/4. It will count out the same, assuming the 
right number of measures is chosen.



Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Aaron Hill

On 2020-11-21 7:14 am, Kieren MacMillan wrote:

Hi Phil,

I don’t think that solves the OP’s problem, as I understand it to be…
I think the OP wants a compressed visual representation of a whole
bunch of 4/4+3/4 two-measure chunks, without actually seeing them
written out.

Of course, I might be wrong!  =)


Compound meter, perhaps?


\version "2.20.0"

\compressMMRests <<
  \new Staff {
\compoundMeter #'(4 3 4)
\repeat unfold 2
{ a'4 4 b'2 a'4 b'2 }
R4*7*14
  }
  \new Staff {
R4*7*14
\repeat unfold 2
{ b'2 2 a'4 4 4 }
  }






-- Aaron Hill

Re: LilyPond v2.20.0 on Raspberry Pi OS (Debian buster)

2020-11-21 Thread Jean Bréfort
Le samedi 21 novembre 2020 à 15:57 +0100, renyhp a écrit :
> On 21/11/20, 15:08
> Jean Bréfort  wrote:
> 
> > Le samedi 21 novembre 2020 à 10:52 +0100, renyhp a écrit :
> > > Hello everyone,
> > > 
> > > I have installed LilyPond v2.18.2 on my Raspberry Pi 4 from the
> > > repositories, and I now would like to upgrade the current stable
> > > version.
> > > 
> > > The arm architecture of the Raspberry Pi does not make it possible
> > > to use the installer on the website.
> > > 
> > > The repositories for Raspbian and Debian do include arm builds, but
> > > the buster repositories are still on v2.18.2.  
> > 
> > but the ones for testing do include 2.20.0
> > (https://packages.debian.org/bullseye/lilypond)
> > 
> 
> Yes, they do, but I can't just download the deb file from there and
> install it, can I? In my understanding, there will be some dependencies
> and my software will try to resolve them by looking at the buster
> repository, and will most likely fail (as, for example, the
> lilypond-data package is required to be 2.20.0-2 which is still not in
> the buster repositories). Besides, I don't think it would be wise to
> change my system-wide apt source just for LilyPond.
> 
> But I hope someone can prove me wrong on anything I've just said.

Download the .deb and install it with dpkg. That will give you the list
of missing dependencies that you'll need to download manually and
install. This is somewhat time consuming and even might fail but it's
the only way I know.

Regards,
Jean




Re: Multi-measure rests with alternating time signatures

2020-11-21 Thread Kieren MacMillan
Hi Phil,

I don’t think that solves the OP’s problem, as I understand it to be… I think 
the OP wants a compressed visual representation of a whole bunch of 4/4+3/4 
two-measure chunks, without actually seeing them written out.

Of course, I might be wrong!  =)

Best,
Kieren.


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




Re: LilyPond v2.20.0 on Raspberry Pi OS (Debian buster)

2020-11-21 Thread renyhp
On 21/11/20, 15:08
Jean Bréfort  wrote:

> Le samedi 21 novembre 2020 à 10:52 +0100, renyhp a écrit :
> > Hello everyone,
> > 
> > I have installed LilyPond v2.18.2 on my Raspberry Pi 4 from the
> > repositories, and I now would like to upgrade the current stable
> > version.
> > 
> > The arm architecture of the Raspberry Pi does not make it possible
> > to use the installer on the website.
> > 
> > The repositories for Raspbian and Debian do include arm builds, but
> > the buster repositories are still on v2.18.2.  
> 
> but the ones for testing do include 2.20.0
> (https://packages.debian.org/bullseye/lilypond)
> 

Yes, they do, but I can't just download the deb file from there and
install it, can I? In my understanding, there will be some dependencies
and my software will try to resolve them by looking at the buster
repository, and will most likely fail (as, for example, the
lilypond-data package is required to be 2.20.0-2 which is still not in
the buster repositories). Besides, I don't think it would be wise to
change my system-wide apt source just for LilyPond.

But I hope someone can prove me wrong on anything I've just said.

Thanks again!
  renyhp



Re: LilyPond v2.20.0 on Raspberry Pi OS (Debian buster)

2020-11-21 Thread Jean Bréfort
Le samedi 21 novembre 2020 à 10:52 +0100, renyhp a écrit :
> Hello everyone,
> 
> I have installed LilyPond v2.18.2 on my Raspberry Pi 4 from the
> repositories, and I now would like to upgrade the current stable
> version.
> 
> The arm architecture of the Raspberry Pi does not make it possible to
> use the installer on the website.
> 
> The repositories for Raspbian and Debian do include arm builds, but the
> buster repositories are still on v2.18.2.

but the ones for testing do include 2.20.0
(https://packages.debian.org/bullseye/lilypond)

> I found some old thread on the very same topic here, but the only arm
> deb package I could find is the one for v2.21.0.
> 
> I am now wondering whether the deb file I'm searching for exists on the
> internet. If it doesn't, does that mean I will have to compile it
> myself? I'm not sure I will be able to do that. Also, if I manage to,
> I am willing to contribute to the community by sharing the build, but
> again, I don't really know how.
> 
> Thank you all in advance for your help!
>   renyhp
> 
Hope this helps,
Jean





LilyPond v2.20.0 on Raspberry Pi OS (Debian buster)

2020-11-21 Thread renyhp
Hello everyone,

I have installed LilyPond v2.18.2 on my Raspberry Pi 4 from the
repositories, and I now would like to upgrade the current stable
version.

The arm architecture of the Raspberry Pi does not make it possible to
use the installer on the website.

The repositories for Raspbian and Debian do include arm builds, but the
buster repositories are still on v2.18.2.

I found some old thread on the very same topic here, but the only arm
deb package I could find is the one for v2.21.0.

I am now wondering whether the deb file I'm searching for exists on the
internet. If it doesn't, does that mean I will have to compile it
myself? I'm not sure I will be able to do that. Also, if I manage to,
I am willing to contribute to the community by sharing the build, but
again, I don't really know how.

Thank you all in advance for your help!
  renyhp