Re: Help with String Orchestra Template Please

2019-10-05 Thread Simon Albrecht

Hi Ben,

On 05.10.19 14:24, Ben wrote:


Does your approach allow for clean part-printing? I put together a 
quick test and it looks like they all get included for violin 1. I 
don't know a straightforward way to accomplish one divisi per violin 1 
part in this special situation.


It wouldn't be the end of the world if you had to include all 6 parts 
on every file but the players may have some frustrations about having 
to highlight their part or something (assuming this 6-part divisi goes 
on for several pages of the full score).




as far as I know usually all subdivisions of the first violins would be 
contained in one part, though of course at some point that stops making 
sense. Printing individual parts for each subdivision is easy with the 
approach I demonstrated in demo-string-divisi.ly (see my previous post 
in this thread). Either set it up so that \RemoveAllEmptyStaves is 
effective only for the score in the first place, or use something like


\score {
  \vlIB
  \layout {
    \context {
  \Staff
  \override VerticalAxisGroup.remove-empty = ##f
    }
  }
}

for the part.

Best, Simon


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Snippet for aligning markup inside another markup

2019-10-05 Thread Michael Käppler

Oops, here the missing snippet image...


Am 01.10.2019 um 01:45 schrieb Kieren MacMillan:



Hi Aaron,


Here's my take:

Nice work!
This should be part of the base distro, IMO.

Thanks,
Kieren.


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


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Snippet for aligning markup inside another markup

2019-10-05 Thread Michael Käppler

Hi Aaron and Kieren,
very nice!
(I really should have read how the markup commands make use of 
ly:stencil-aligned-to...)
Here my variant of the code with tweakable alignment. Personally I 
prefer the "scheme only-style" but

I agree that the mixed style Aaron used would be shorter.


\version "2.19.80"

#(define-markup-command (aligned-overlay layout props xdir ydir args)
   (number? number? markup-list?)
   (let* ((stencils (interpret-markup-list layout props args))
  (align (lambda (stencil)
   (ly:stencil-aligned-to
  (ly:stencil-aligned-to stencil X xdir)
  Y ydir)))
  (stencils-aligned-merged (apply ly:stencil-add (map align 
stencils
 (ly:stencil-aligned-to (ly:stencil-aligned-to 
stencils-aligned-merged X LEFT)

   Y DOWN)))

boxone = \markup \with-color #yellow \filled-box #'(0 . 10) #'(0 . 10) #0
boxtwo = \markup \with-color #green \filled-box #'(3 . 9) #'(5 . 11) #0
boxthree = \markup \with-color #red \filled-box #'(2 . 5) #'(3 . 6) #0

\markup \column {
  "Without alignment"
  \overlay { \boxone \boxtwo \boxthree }
  \line {
  \column {
    "Everything centered "
    \aligned-overlay #CENTER #CENTER { \boxone \boxtwo \boxthree }
  }
  \column {
    "Everything aligned to bottom-left "
    \aligned-overlay #LEFT #DOWN { \boxone \boxtwo \boxthree }
  }
  \column {
    "Different alignments "
    \aligned-overlay #CENTER #UP {
  \boxone
  \aligned-overlay #LEFT #CENTER { \boxtwo \boxthree }
    }
  }
  \column {
    "Values in-between"
    \aligned-overlay #-0.8 #-0.5 {
  \boxone
  \aligned-overlay #0.5 #-0.2 { \boxtwo \boxthree }
    }
  }
  }
}


Cheers,
Michael

Am 01.10.2019 um 01:45 schrieb Kieren MacMillan:

Hi Aaron,


Here's my take:

Nice work!
This should be part of the base distro, IMO.

Thanks,
Kieren.


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


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Relative distance of other contexts in stencil callback

2019-10-05 Thread David Kastrup
"Urs Liska"  writes:

> Hi all,
>
> is it possible from a stencil callback to retrieve the relative Y
> distance from the grob's staff to another staff given the other
> staff's name?
>
> We want to create frames spanning multiple staves without having to do
> so in separate slices (see
> https://github.com/openlilylib/analysis/wiki/Frames for the general
> description and https://github.com/openlilylib/analysis/issues/3 for
> the context of the current discussion).
>
> If I know the relative position of another staff I can adjust the
> Y-Extent of the frame to include the other staff.
>
> Any suggestions?

Take a look at ly:grob-common-refpoint and ly:grob-relative-coordinate
.  Do they help?

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Relative distance of other contexts in stencil callback

2019-10-05 Thread Urs Liska
Hi all,

is it possible from a stencil callback to retrieve the relative Y distance from 
the grob's staff to another staff given the other staff's name?

We want to create frames spanning multiple staves without having to do so in 
separate slices (see https://github.com/openlilylib/analysis/wiki/Frames for 
the general description and https://github.com/openlilylib/analysis/issues/3 
for the context of the current discussion).

If I know the relative position of another staff I can adjust the Y-Extent of 
the frame to include the other staff.

Any suggestions?
Thanks
Urs

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Canon à 3 voix et Psalmodie

2019-10-05 Thread Martial R
En reprenant la psalmodie comme la tienne,


Le sam. 5 oct. 2019 à 09:13, Martial R  a écrit :

> Bonjour,
>
> voici le canon et la psalmodie en piece jointe.
>
> Pour info les versions de LilyPond 2.18.2 et 2.19.83 ont de nouvelles
> fonctions bien pratiques par rapport à la 2.14.0.
> la 2.19.83 est maintenant stabilisé.
> Supprimer l'ancienne version avant d'installer la nouvelle.
>
> Cordialment,
>
> --
> Martial Rameaux
>
> Le sam. 5 oct. 2019 à 00:15, arnaud.gazagnes 
> a écrit :
>
>> Bonjour !
>> Merci pour les pistes. Comment puis-je avoir sur la même page le canon
>> (de la solution 1) et la psalmodie (la mienne, a priori, car je n ai pas d
>> indication de 8 1 sur ce qui m a été donné) ?
>> Arnaud
>> agnes
>>
>>>
>
>
>

-- 
Martial Rameaux
\version "2.19.83"

\language "italiano"
#(set-default-paper-size "a4landscape")
#(set-global-staff-size 20)

%--ENTETE
\header {
  title = "Psaume 132"
  subtitle = "(Canon)"
  tagline = ##f
}

%--PAPIER
\paper {
  top-margin = 15\mm
  bottom-margin = 15\mm
  left-margin = 15\mm
  right-margin = 15\mm
  indent = 0\mm
  ragged-right = ##f
}

%CANON--
CanonI =  {
  \key re \major
  \cadenzaOn
  \mark \markup \circle "1"
  fad'4 re' la' si'8[ dod''] re''4 dod''8[ si'] la'2 \bar "|"
  la'4 la'8[ si'] la'4 sol'8[ fad'] sol'4 la' fad'2 \bar "|" \break
}

CanonII =  {
  \key re \major
  \cadenzaOn
  \mark \markup \circle "2"
  re''4 re'' dod'' si'8( dod'') si'4 la'8[ sol'] dod''2\bar "|"
  fad'4 fad'8( sol') fad'4 mi'8[ re'] mi'2 re'4 re'8[ re']\bar "|"\break
}
CanonIII =  {
  \key re \major
  \cadenzaOn
  \mark \markup \circle "3"
  la'4 si'8[ si'] la'[ la'] sol'4 sol'8[ sol'] fad'[ mi'] fad'2\bar "|"
  re'8[ re'] re'4 re'8[ re'] la4 si8[ la] si[ dod'] re'2
}

CanonLI = \lyricmode {
  Qu'il est bon pour des frè -- è -- res de vi -- vre en -- sem -- ble et d'être u -- nis.
}
CanonLII = \lyricmode {
  On di -- rait un bau -- me pré -- cieux, un par -- fum sur la tê -- te qui "des -"
}
CanonLIII = \lyricmode {
  " - cend" sur la bar -- be, la bar -- be d'A -- a -- ron, qui des -- cend sur le bord de son vê -- te ment.
}

\score {
  <<
\new Staff \CanonI
\addlyrics \CanonLI
\new Staff \CanonII
\addlyrics \CanonLII
\new Staff { \CanonIII \once \set Staff.whichBar =  ":|." }
\addlyrics \CanonLIII
  >>

  \layout {
\context {
  \Score
  \remove "Mark_engraver"
  \remove "System_start_delimiter_engraver"
  % \remove "Re
}
\context {
  \Staff
  \consists "Mark_engraver"
}
  }
}

%--PSALMODIE


Psalmodie = {
  \key re \major
 \cadenzaOn
  \set melismaBusyProperties = #'()
  fad'\breve  mi'4 \bar "|"
  sol'\breve  fad'4 \bar "|" %\break
  la'\breve   la'8[  la'] si'[ dod''] re''4 \bar "|" %\break
  la'8[ la'] sol'[ fad'] mi'4\fermata \bar "|."
  \cadenzaOff
}

PsalmodieL = \lyricmode {
  "On dirait la rosée de l'Her" --  mon,
  "qui descend de la colline de Si" -- on.
  "C'est là que la Seigneur envoie" la bé -- né -- dic -- tion,
  la vie pour tou -- jours_!
}


\markup { \vspace #3 } 

\score {
  <<
\new Voice
\context Voice = "Psalmodie" {
  \override Staff.TimeSignature #'break-visibility = #all-invisible
  \Psalmodie
}
\new Lyrics  \lyricsto "Psalmodie" 
{ 
  \override LyricText #'self-alignment-X = #-1 
  \PsalmodieL
}
  >>
  \layout {
\context  {
  \Staff \remove "Time_signature_engraver"
}
  }
}

%===___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re : Canon à 3 voix et Psalmodie

2019-10-05 Thread Gazagnes Arnaud
Bonjour !
En énorme merci à Martial !
Pour ceux qui voudraient faire chanter ce psaume, je vous indique son auteure : 
Martine Mertzweiller
Arnaud
> 
> 
> 
> 
> > 
> > 
> >  
> > 
> > 
> 
> 

> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>  
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Help with String Orchestra Template Please

2019-10-05 Thread Ben

On 10/5/2019 4:53 AM, Simon Albrecht wrote:

Hi Ben,

your approach does work. It can be simplified quite a bit, mainly by 
using shortInstrumentName and \RemoveAllEmptyStaves, and not using 
keepAliveInterfaces, which you don’t even need. See ben-divisi.ly.


On 05.10.19 03:08, Ben wrote:
I didn't know if I should create the divisi staffgroups at the start 
of the piece and then hide it until it's needed, or just use it on 
the fly as needed (which is what I did here).



I think it’s more ‘messy’ and complicated creating them on the fly. 
I’d much rather keep one of them filled with music throughout, have 
the others quote that, and make full use of the keepAliveInterfaces 
approach. In all but the most complicated cases one won’t really need 
meddling with instrumentNames, which also removes the need to meddle 
with manual breaks. But of course that’s also possible—see 
demo-string-divisi.ly.


Best, Simon


Simon,

Wow this is so helpful thank you for that code. My brain never even 
registered doing that as a possibility! Oops.


This looks great, much better. I do have one follow up question though...

Does your approach allow for clean part-printing? I put together a quick 
test and it looks like they all get included for violin 1. I don't know 
a straightforward way to accomplish one divisi per violin 1 part in this 
special situation.


It wouldn't be the end of the world if you had to include all 6 parts on 
every file but the players may have some frustrations about having to 
highlight their part or something (assuming this 6-part divisi goes on 
for several pages of the full score).


I figured I'd ask if there was a way. :)

Thanks!

*attached png*

% from ben.divisi.ly %%

\score {
 \new Staff \violinIPart
  \layout {
    \context {
  \Staff
  \RemoveAllEmptyStaves
    }
  }

}

\version "2.19.83"

global = {
  \key c \major
  \time 4/4
}

violinI = \relative c'' {
  \global

  c1 e g e d c g e d c c
  \break
  <<
{ s1*12 }
\new StaffGroup \with {
  alignAboveContext = "main"
  systemStartDelimiter = #'SystemStartBrace
  \override InstrumentName.self-alignment-X = -1
  shortInstrumentName = \markup { \left-column { "Vl. I" "(div.)" } }
}

<<
  \new Staff \with { shortInstrumentName = "1" }
  { c2 2 2 2 }
  \new Staff \with { shortInstrumentName = "2" }
  { c1 1  }
  \new Staff \with { shortInstrumentName = "3" }
  { c1 1  }
  \new Staff \with { shortInstrumentName = "4" }
  { c1 1  }
  \new Staff \with { shortInstrumentName = "5" }
  { c1 1  }
  \new Staff \with { shortInstrumentName = "6" }
  { c1 1  }
>>
  >>
  \break
  \repeat unfold 7 { c1 } \break
}

violinII = \relative c'' {
  \global

  \repeat unfold 30 { c1 }
}

viola = \relative c' {
  \global

  \repeat unfold 30 { d1 }
}

cello = \relative c' {
  \global

  \repeat unfold 30 { e,1 }
}

violinIPart = \new Staff = "main" \with {
  instrumentName = "Violin I"
  midiInstrument = "violin"
  shortInstrumentName = "v1"
} \violinI

violinIIPart = \new Staff \with {
  instrumentName = "Violin II"
  midiInstrument = "violin"
  shortInstrumentName = "v2"
} \violinII

violaPart = \new Staff \with {
  instrumentName = "Viola"
  midiInstrument = "viola"
  shortInstrumentName = "vla"
} { \clef alto \viola }

celloPart = \new Staff \with {
  instrumentName = "Cello"
  midiInstrument = "cello"
  shortInstrumentName = "cl"
} { \clef bass \cello }

\score {
  \new StaffGroup \with {
systemStartDelimiter = #'SystemStartSquare
  } <<
\violinIPart
\violinIIPart
\violaPart
\celloPart
  >>
  \layout {
\context {
  \Staff
  \RemoveAllEmptyStaves
}
  }
}

\paper {

  left-margin = 35\mm
  right-margin = 15\mm

}

\pageBreak


\score {
 \new Staff \violinIPart 
  \layout {
\context {
  \Staff
  \RemoveAllEmptyStaves
}
  }
  
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: A Voice with Lyrics interspersed with non-lyric melody

2019-10-05 Thread Simon Albrecht

Hi Mike,

I’d recommend using one Voice with all the notes that have lyrics, and 
one Voice with all those that don’t. Here’s a more minimal (and sillier) 
mockup:



withLyrics = \relative c'' {
  \time 3/4
  \markLengthOn
  \mark "Chorus"
  c2.
  \mark "Interlude"
  s
  \mark "Verse I"
  c
  \mark "Interlude"
  s
  \mark "Verse II"
  c
}
withoutLyrics = \relative {
  s2.
  e''
  s
  e
}

lyr = \lyricmode {
  chorus
  one
  two
}

\score {
  <<
    \new Staff <<
  \new Voice = "withLyrics" \withLyrics
  \new Voice \withoutLyrics
    >>
    \new Lyrics \lyricsto "withLyrics" \lyr
  >>
}
%

Note that both Voices have implied \oneVoice throughout, which is what 
we want, since there’s no polyphony happening.


Please ask back if you need any explanation, or just search the commands 
and keywords in the manuals.


Best,
Simon

On 04.10.19 16:32, Mike iLL Kilmer wrote:

I thought I had worked this out at one point.

I want to be able to have

* Voice with Lyrics
* Just Melody
* Voice with Lyrics again

Where the lyrics can be a single lyricmode entity.

I thought that this could be achieved with context, but this isn’t working:

melody = \relative c'' {
  \clef treble
  \key c \major
  \time 3/4
  \set Score.voltaSpannerDuration = #(ly:make-moment 3/4)
  #(ly:expect-warning "cannot end volta")
\new Voice = "chorus" {
  \voiceOne
  c2. | d | e | d |
  c |
}
e4 d c | e4 d c | e4 d c |
\new Voice = "verse" {
  c2. | d | e | f |
  g | f | e | d |
}
e4 d c | e4 d c | e4 d c |
\context Voice = "verse" {
  c2. | d | e | f |
  e | f | e | c |
}
}


chorus =  \lyricmode {
  These are words they are.
}

verse =  \lyricmode {
  This one here will
  be the first verse.
  This one here will
  be the se -- cond.
}

What is an elegant way, please, to achieve this?



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Help with String Orchestra Template Please

2019-10-05 Thread Simon Albrecht

Hi Ben,

your approach does work. It can be simplified quite a bit, mainly by 
using shortInstrumentName and \RemoveAllEmptyStaves, and not using 
keepAliveInterfaces, which you don’t even need. See ben-divisi.ly.


On 05.10.19 03:08, Ben wrote:
I didn't know if I should create the divisi staffgroups at the start 
of the piece and then hide it until it's needed, or just use it on the 
fly as needed (which is what I did here).



I think it’s more ‘messy’ and complicated creating them on the fly. I’d 
much rather keep one of them filled with music throughout, have the 
others quote that, and make full use of the keepAliveInterfaces 
approach. In all but the most complicated cases one won’t really need 
meddling with instrumentNames, which also removes the need to meddle 
with manual breaks. But of course that’s also possible—see 
demo-string-divisi.ly.


Best, Simon

\version "2.19.83"

\paper {
  #(set-paper-size "a7")
  left-margin = 20
  indent = 0
}

\layout {
  \context {
\Staff
\RemoveAllEmptyStaves
  }
}

vlIA = \repeat unfold 24 g4

\addQuote vlICommon \vlIA

vlIB = {
  \set Staff.keepAliveInterfaces = #'()
  \quoteDuring vlICommon s1*3
  \unset Staff.keepAliveInterfaces
  \repeat unfold 4 gis4
  \set Staff.keepAliveInterfaces = #'()
  \quoteDuring vlICommon s1*2
}

breaks = {
  s1*2
  \break
  s
  \break
  s
}
vlIdivADue = \set StaffGroup.shortInstrumentName = \markup\right-column {
  "Vl. I" "div. à 2"
}
vlInondiv = \set StaffGroup.shortInstrumentName = "Vl.I"
instrNameChangesVlIA = {
  s1*2
  \vlIdivADue
  s
  \vlInondiv
  s
}

\score {
  \new StaffGroup \with {
instrumentName = "Violino I"
shortInstrumentName = "Vl. I"
  } <<
\new Staff << \breaks \instrNameChangesVlIA \vlIA >>
\new Staff \vlIB
  >>
}\version "2.19.83"

global = {
  \key c \major
  \time 4/4
}

violinI = \relative c'' {
  \global

  c1 e g e d c g e d c c
  \break
  <<
{ s1*12 }
\new StaffGroup \with {
  alignAboveContext = "main"
  systemStartDelimiter = #'SystemStartBrace
  \override InstrumentName.self-alignment-X = -1
  shortInstrumentName = \markup { \left-column { "Vl. I" "(div.)" } }
}

<<
  \new Staff \with { shortInstrumentName = "1" }
  { c2 2 2 2 }
  \new Staff \with { shortInstrumentName = "2" }
  { c1 1  }
>>
  >>
  \break
  \repeat unfold 7 { c1 } \break
}

violinII = \relative c'' {
  \global

  \repeat unfold 30 { c1 }
}

viola = \relative c' {
  \global

  \repeat unfold 30 { d1 }
}

cello = \relative c' {
  \global

  \repeat unfold 30 { e,1 }
}

violinIPart = \new Staff = "main" \with {
  instrumentName = "Violin I"
  midiInstrument = "violin"
  shortInstrumentName = "v1"
} \violinI

violinIIPart = \new Staff \with {
  instrumentName = "Violin II"
  midiInstrument = "violin"
  shortInstrumentName = "v2"
} \violinII

violaPart = \new Staff \with {
  instrumentName = "Viola"
  midiInstrument = "viola"
  shortInstrumentName = "vla"
} { \clef alto \viola }

celloPart = \new Staff \with {
  instrumentName = "Cello"
  midiInstrument = "cello"
  shortInstrumentName = "cl"
} { \clef bass \cello }

\score {
  \new StaffGroup \with {
systemStartDelimiter = #'SystemStartSquare
  } <<
\violinIPart
\violinIIPart
\violaPart
\celloPart
  >>
  \layout {
\context {
  \Staff
  \RemoveAllEmptyStaves
}
  }
}

\paper {

  left-margin = 35\mm
  right-margin = 15\mm

}


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Vim quickfix

2019-10-05 Thread Andrew Bernard
Pardon me. It's as simple as:

:make | cwindow

Sorry for the noise.

Andrew
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Vim quickfix

2019-10-05 Thread Andrew Bernard
Hello users of vim and gvim,

In one setup on one virtual machine since deconstructed, I feel sure I
remember having gvim set up so that lilypond compile errors would show the
quickfix window and so you could quickly jump to the line in question. Now
on my current system this no longer happens. I run the lilypond compilation
via a makefile which I invoke with :make in vim.

Does anybody have the appropriate vim quickfix configuration code to do
this?

Andrew
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user