Re: opus conflict

2017-04-30 Thread Timothy Lanfear

On 29/04/17 23:34, Mark Stephen Mrotek wrote:


Hello,

In my \book \header I have fields of title, composer, and opus.

The manual (2.18) states “The values of the fields filter down this 
hierarchy, with the values set higher in the hierarchy persisting 
unless they are over-ridden by a value set lower in the hierarchy…” 
This is understand. So for the subsequent scores I insert title = ##f 
and composer = ##f. The title and composer fields in the scores are 
overridden.


Now the conflict, when I insert opus = ##f in the score(s) the field 
is overridden in the \book level (higher?) and is no longer printed 
below the “composer.”




I find the best way to handle having the opus printed once only on the 
first piece of a book is to redefine bookTitleMarkup and 
scoreTitleMarkup, moving the opus field to the bookTitleMarkup


\version "2.19.59"

% Move the opus markup from the score title to the
% book title so it isn't repeated for every score.
% Adapted from ly/titling-init.ly

bookopus = \paper {
  bookTitleMarkup = \markup {
\override #'(baseline-skip . 3.5)
\column {
  \fill-line { \fromproperty #'header:dedication }
  \override #'(baseline-skip . 3.5)
  \column {
\fill-line {
  \huge \larger \larger \bold
  \fromproperty #'header:title
}
\fill-line {
  \large \bold
  \fromproperty #'header:subtitle
}
\fill-line {
  \smaller \bold
  \fromproperty #'header:subsubtitle
}
\fill-line {
  \fromproperty #'header:poet
  { \large \bold \fromproperty #'header:instrument }
  \fromproperty #'header:composer
}
  }
  \override #'(baseline-skip . 2.0)
  \column {
\null
\fill-line {
  \null
  \fromproperty #'header:opus
}
\fill-line {
  \fromproperty #'header:meter
  \fromproperty #'header:arranger
}
  }
}
  }

  scoreTitleMarkup = \markup {
\column {
  \fill-line {
\fromproperty #'header:piece
\null
  }
}
  }
}

\bookopus

\book {
  \header { title="Title" composer="Composer" opus="opus" }
  \score { c''1 }
  \score { d''1 }
}


--
Timothy Lanfear, Bristol, UK.


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


Re: Unusual repeat/chorus structure

2017-04-30 Thread Richard Shann
On Sun, 2017-04-30 at 15:24 +1000, Don Gingrich wrote:
> Hi,
> 
> As part of an on-going project to convert all of the tunes that 
> I play regularly to Lilypond I'm trying to typeset a song with 
> the structure:
> 
>   verse - chorus
>   verse
>   verse - chorus
>   verse
>   verse - chorus
> 
> This particular tune started in MuseScore and was exported
> as XML. The export/import did not go well, though I'd suggest
> that the problem was more likely to have been the export
> rather than the import. This is a complex structure, in any case.

I occurred to me when I saw this that you almost certainly spent more
time trying to convert from your original than creating afresh with
Denemo. Attached is my re-setting of your piece using Denemo. It took
16mins 12 seconds to create this with Denemo (I had your lyrics
ready-prepared to paste in so that save some time). I can't imagine you
would spend less time cleaning up and import of MusicXML (a hopelessly
ambiguous, rag-tag format).
OTOH Denemo does generate a certain amount of general-purpose crud,
below is a version with it edited out somewhat.
Two things - I've used the generic repeat stuff here, rather than the
nicer-to-read \repeat ...\alternative ... stuff.
And I've made the repeat structure follow the typesetting norms - whole
measure rests and repeat with upbeat.

Here is the de-crudded version:
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><

%% LilyPond file generated by Denemo version 2.1.3

%%http://www.gnu.org/software/denemo/

\version "2.18.0"

MvmntIVoiceI = {
 \partial 256*32  d'8
 b' a' b'4 a'8 b' \bar "||" a'2.~ 
 a'4^\markup\scale #'(.5 . .5)\column{\line{{\center-column \tiny{ 
  \line {{\italic "Can modulate" }} 
  \line{{\italic "to D7 and repeat"}} 
  \line {{\italic " \"Please\" verse 5"}}}
}}
} r2
%5
 R1*3/4
 
\set Score.repeatCommands = #(list (list 'volta 
(make-scale-markup '(1 . 1)(make-line-markup (list (make-musicglyph-markup 
"two")(make-hspace-markup -0.5)(make-text-markup ", ")(make-musicglyph-markup 
"four")(make-hspace-markup -0.5)) r2 r8 \bar ":|." 
\set Score.repeatCommands = #'((volta #f))
 
   \break \set Score.repeatCommands = #(list (list 'volta 
(make-scale-markup '(1 . 1)(make-line-markup (list (make-musicglyph-markup 
"one")(make-hspace-markup -0.5)(make-text-markup ", ")(make-musicglyph-markup 
"three")(make-hspace-markup -0.5)(make-text-markup ", ")(make-musicglyph-markup 
"five")(make-hspace-markup -0.5)) r8
 R1*3/4
 e''8 e'' fis''2
 d''8 b' a'2
%10
 g'2.
 R1*3/4
<> ^\markup\scale #'(1 . 1)\column{\line{\italic {D.C. on 1 & 3}}
} r2 r8 
\set Score.repeatCommands = #'((volta #f))
 \bar "|."}


MvmntIVoiceILyricsVerseI = \lyricmode { 
  I knew a man Bo -- jan 
  down 
  __ Mis -- ter Bo -- jan -- \skip4 "gles " __ "dance " __ 
}
MvmntIVoiceILyricsVerseII = \lyricmode { 
  I met him in a cell
  steo 
}
MvmntIVoiceILyricsVerseIII = \lyricmode { 
  He  danc'd for those at Min
  grieves 
}
MvmntIVoiceILyricsVerseIV = \lyricmode { 
  He said I dance now at
  please 
}



MvmntIVoiceIVerseIVContext = \context Lyrics = MvmntIVoiceIVerseIV \lyricsto 
MvmntIVoiceI \MvmntIVoiceILyricsVerseIV

MvmntIVoiceIVerseIIIContext = \context Lyrics = MvmntIVoiceIVerseIII \lyricsto 
MvmntIVoiceI \MvmntIVoiceILyricsVerseIII

MvmntIVoiceIVerseIIContext = \context Lyrics = MvmntIVoiceIVerseII \lyricsto 
MvmntIVoiceI \MvmntIVoiceILyricsVerseII

MvmntIVoiceIVerseIContext = \context Lyrics = MvmntIVoiceIVerseI \lyricsto 
MvmntIVoiceI \MvmntIVoiceILyricsVerseI



%Default Score Layout
\header{DenemoLayoutName = "Default Score Layout"
instrumentation = \markup { \with-url 
#'"scheme:(d-BookInstrumentation)" "Full Score"}
}

\header {
 dedication = ##f
 title = \markup  {Mr Bojangles}
}

\score { %Start of Movement
  <<

%Start of Staff
\new Staff = "Part 1"  << 
 \new Voice = "MvmntIVoiceI"  { 
  \clef treble\key g \major\time 3/4   \MvmntIVoiceI
} %End of voice

>> %End of Staff

\new Lyrics = MvmntIVoiceIVerseI

\MvmntIVoiceIVerseIContext

\new Lyrics = MvmntIVoiceIVerseII

\MvmntIVoiceIVerseIIContext

\new Lyrics = MvmntIVoiceIVerseIII

\MvmntIVoiceIVerseIIIContext

\new Lyrics = MvmntIVoiceIVerseIV

\MvmntIVoiceIVerseIVContext

  >>

   } %End of Movement

8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><


HTH

Richard Shann




Gingrich-Default Score Layout.pdf
Description: Adobe PDF document

%% LilyPond file generated by Denemo version 2.1.3

%%http://www.gnu.org/software/denemo/

\version "2.18.0"

CompactChordSymbols = {}
#(define DenemoTransposeStep 0)
#(define DenemoTransposeAcc

Re: Unusual repeat/chorus structure

2017-04-30 Thread Richard Shann
On Sun, 2017-04-30 at 12:05 +0100, Richard Shann wrote:
> > This particular tune started in MuseScore and was exported
> > as XML. The export/import did not go well, though I'd suggest
> > that the problem was more likely to have been the export
> > rather than the import. This is a complex structure, in any case.
> 
> I occurred to me when I saw this that you almost certainly spent more
> time trying to convert from your original than creating afresh with
> Denemo. Attached is my re-setting of your piece using Denemo. It took
> 16mins 12 seconds
I meant to say I can say this with confidence because Denemo has a timer
tp tell you how long you have a score open and edited. Useful if you are
doing paid work by the hour.
>  to create this with Denemo (I had your lyrics
> ready-prepared to paste in so that save some time).

Hmm, actually looking at these lyrics I presume they are garbled?

Richard



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


Re: Unusual repeat/chorus structure

2017-04-30 Thread Richard Shann
On Sun, 2017-04-30 at 12:05 +0100, Richard Shann wrote:
> And I've made the repeat structure follow the typesetting norms -
> whole
> measure rests and repeat with upbeat.
On further thoughts, the second repeat should perhaps be notated as in
the attached.

Richard



Gingrich-Default Score Layout.pdf
Description: Adobe PDF document

%% LilyPond file generated by Denemo version 2.1.3

%%http://www.gnu.org/software/denemo/

\version "2.18.0"

CompactChordSymbols = {}
#(define DenemoTransposeStep 0)
#(define DenemoTransposeAccidental 0)
DenemoGlobalTranspose = #(define-music-function (parser location arg)(ly:music?) #{\transpose c c#arg #})
titledPiece = {}
AutoBarline = {}
AutoEndMovementBarline = \bar "|."

% The music follows

MvmntIVoiceI = {
 \partial 256*32  d'8\AutoBarline
 b' a' b'4 a'8 b' \bar "||" a'2.~ \AutoBarline
 a'4^\markup\scale #'(.5 . .5)\column{\line{{\center-column \tiny{ 
  \line {{\italic "Can modulate" }} 
  \line{{\italic "to D7 and repeat"}} 
  \line {{\italic " \"Please\" verse 5"}}}
}}
} r2\AutoBarline
%5
 R1*3/4\AutoBarline
 \set Timing.measurePosition = #(ly:make-moment -5/8)  
\set Score.repeatCommands = #(list (list 'volta (make-scale-markup '(1 . 1)(make-line-markup (list (make-musicglyph-markup "two")(make-hspace-markup -0.5)(make-text-markup ", ")(make-musicglyph-markup "four")(make-hspace-markup -0.5)) r2 r8 \bar ":|." 
\set Score.repeatCommands = #'((volta #f))
 
\set Score.repeatCommands = #(list (list 'volta (make-scale-markup '(1 . 1)(make-line-markup (list (make-musicglyph-markup "one")(make-hspace-markup -0.5)(make-text-markup ", ")(make-musicglyph-markup "three")(make-hspace-markup -0.5)(make-text-markup ", ")(make-musicglyph-markup "five")(make-hspace-markup -0.5)) R1*3/4\AutoBarline
 e''8 e'' fis''2\AutoBarline
 d''8 b' a'2\AutoBarline
%10
 g'2.\AutoBarline
 R1*3/4\AutoBarline
<> ^\markup\scale #'(1 . 1)\column{\line{\italic {D.C. on 1 & 3}}
} r2 r8 
\set Score.repeatCommands = #'((volta #f))
 \bar "|."}


MvmntIVoiceILyricsVerseI = \lyricmode { 
  I knew a man Bo -- jan 
  down 
  __ Mis -- ter Bo -- jan -- \skip4 
"gles " __ "dance " __ 
}
MvmntIVoiceILyricsVerseII = \lyricmode { 
  I met him in a cell
  steo 
}
MvmntIVoiceILyricsVerseIII = \lyricmode { 
  He  danc'd for those at Min
  grieves 
}
MvmntIVoiceILyricsVerseIV = \lyricmode { 
  He said I dance now at
  please 
}



MvmntIVoiceIVerseIVContext = \context Lyrics = MvmntIVoiceIVerseIV \lyricsto MvmntIVoiceI \MvmntIVoiceILyricsVerseIV

MvmntIVoiceIVerseIIIContext = \context Lyrics = MvmntIVoiceIVerseIII \lyricsto MvmntIVoiceI \MvmntIVoiceILyricsVerseIII

MvmntIVoiceIVerseIIContext = \context Lyrics = MvmntIVoiceIVerseII \lyricsto MvmntIVoiceI \MvmntIVoiceILyricsVerseII

MvmntIVoiceIVerseIContext = \context Lyrics = MvmntIVoiceIVerseI \lyricsto MvmntIVoiceI \MvmntIVoiceILyricsVerseI



%Default Score Layout
\header{DenemoLayoutName = "Default Score Layout"
instrumentation = \markup { \with-url #'"scheme:(d-BookInstrumentation)" "Full Score"}
}

\header {
tagline = \markup {"/home/rshann/git-denemo/denemo/Gingrich.denemo" on \simple #(strftime "%x" (localtime (current-time)))}
 dedication = ##f
 title = \markup \with-url #'"scheme:(DenemoSetTitles \"ScoreTitles\" 'title #t)"  {Mr Bojangles}
 subtitle = ##f
 subsubtitle = ##f
 instrument = ##f
 poet = ##f
 composer = ##f
 meter = ##f
 arranger = ##f
 tagline = ##f
 copyright = ##f
 piece = ##f
 opus = ##f

}
#(set-default-paper-size "a4")
#(set-global-staff-size 18)
\paper {

   }

\score { %Start of Movement
  <<

%Start of Staff
\new Staff = "Part 1"  << 
 \new Voice = "MvmntIVoiceI"  { 
  \clef treble\key g \major\time 3/4   \MvmntIVoiceI
} %End of voice

>> %End of Staff

\new Lyrics = MvmntIVoiceIVerseI

\MvmntIVoiceIVerseIContext

\new Lyrics = MvmntIVoiceIVerseII

\MvmntIVoiceIVerseIIContext

\new Lyrics = MvmntIVoiceIVerseIII

\MvmntIVoiceIVerseIIIContext

\new Lyrics = MvmntIVoiceIVerseIV

\MvmntIVoiceIVerseIVContext

  >>

   } %End of Movement



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


Re:Unusual repeat/chorus structure (Richard Shann)

2017-04-30 Thread Don Gingrich
Richard Shann wrote:
> I occurred to me when I saw this that you almost certainly spent more
> time trying to convert from your original than creating afresh with
> Denemo. Attached is my re-setting of your piece using Denemo. It took
> 16mins 12 seconds to create this with Denemo (I had your lyrics
> ready-prepared to paste in so that save some time). I can't imagine you
> would spend less time cleaning up and import of MusicXML (a hopelessly
> ambiguous, rag-tag format).
> OTOH Denemo does generate a certain amount of general-purpose crud,
> below is a version with it edited out somewhat.
> Two things - I've used the generic repeat stuff here, rather than the
> nicer-to-read \repeat ...\alternative ... stuff.
> And I've made the repeat structure follow the typesetting norms - whole
> measure rests and repeat with upbeat.

I actually use Frescobaldi, and it's taken a while to come up
to speed. I'd need a good reason for another interface.

Eventually, between the snippet:
"Volta text markup using repeatCommands"

and your example I got there.

I eventually used:
voltaText = \markup { 1. 3. 5. } before the notes block

  \set Score.repeatCommands = #(list (list 'volta voltaText )
  r2.
  \set Score.repeatCommands = #'((volta #f) (volta "2. 4.") end-repeat)
  r2. | % 31
 % several bars deleted for brevity
  g4 r2 | % 44
  \set Score.repeatCommands = #'((volta #f))
  \bar "|."

The problem that I missed, which I will mention as a trap for newbies
such as myself, was that xml2ly does some truly *evil* things with importing
the chord information. This interacts in weird and wonderful ways with
the melody information.

Typically when I encode chords it looks like:

TuneChords =  \chordmode {  
  s8  g2.*4 c1 d8*15 g8*27 c8*10 d2.*2 c g2. b e4*8:m a8*7
  d8*19 e2.*2:m d e:m d  e:m  d g2.*2
}

with

\context ChordNames = "PartPOneVoiceOneChords" \TuneChords

in the score block.

I'm probably not doing this optimally, but I get results that I can 
live with.

The XML import chords use the s code a lot and often have multiple
repeat volte -- I generally just delete the chords and start again.

You're right about the XML being messy, but I had a bunch of tunes
already in MuseScore and I find that it mostly saves time to import
rather than starting from scratch. The MuseScore version of this
tune (Bojangles) was not completely correct, so I was behind from the
start.

Thanks for your assistance,

-Don
-- 
Don Gingrich


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


RE: opus conflict

2017-04-30 Thread Mark Stephen Mrotek
Timothy,

Thank you for your response. Your time spent writing out a solution is
greatly appreciate.
I would like to have something that is consistent with the manual.

Mark

-Original Message-
From: lilypond-user
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
Timothy Lanfear
Sent: Sunday, April 30, 2017 1:16 AM
To: lilypond-user@gnu.org
Subject: Re: opus conflict

On 29/04/17 23:34, Mark Stephen Mrotek wrote:
>
> Hello,
>
> In my \book \header I have fields of title, composer, and opus.
>
> The manual (2.18) states "The values of the fields filter down this 
> hierarchy, with the values set higher in the hierarchy persisting 
> unless they are over-ridden by a value set lower in the hierarchy."
> This is understand. So for the subsequent scores I insert title = ##f 
> and composer = ##f. The title and composer fields in the scores are 
> overridden.
>
> Now the conflict, when I insert opus = ##f in the score(s) the field 
> is overridden in the \book level (higher?) and is no longer printed 
> below the "composer."
>

I find the best way to handle having the opus printed once only on the first
piece of a book is to redefine bookTitleMarkup and scoreTitleMarkup, moving
the opus field to the bookTitleMarkup

\version "2.19.59"

% Move the opus markup from the score title to the % book title so it isn't
repeated for every score.
% Adapted from ly/titling-init.ly

bookopus = \paper {
   bookTitleMarkup = \markup {
 \override #'(baseline-skip . 3.5)
 \column {
   \fill-line { \fromproperty #'header:dedication }
   \override #'(baseline-skip . 3.5)
   \column {
 \fill-line {
   \huge \larger \larger \bold
   \fromproperty #'header:title
 }
 \fill-line {
   \large \bold
   \fromproperty #'header:subtitle
 }
 \fill-line {
   \smaller \bold
   \fromproperty #'header:subsubtitle
 }
 \fill-line {
   \fromproperty #'header:poet
   { \large \bold \fromproperty #'header:instrument }
   \fromproperty #'header:composer
 }
   }
   \override #'(baseline-skip . 2.0)
   \column {
 \null
 \fill-line {
   \null
   \fromproperty #'header:opus
 }
 \fill-line {
   \fromproperty #'header:meter
   \fromproperty #'header:arranger
 }
   }
 }
   }

   scoreTitleMarkup = \markup {
 \column {
   \fill-line {
 \fromproperty #'header:piece
 \null
   }
 }
   }
}

\bookopus

\book {
   \header { title="Title" composer="Composer" opus="opus" }
   \score { c''1 }
   \score { d''1 }
}


--
Timothy Lanfear, Bristol, UK.


___
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: opus conflict

2017-04-30 Thread Thomas Morley
2017-04-30 18:15 GMT+02:00 Mark Stephen Mrotek :
> Timothy,
>
> Thank you for your response. Your time spent writing out a solution is
> greatly appreciate.
> I would like to have something that is consistent with the manual.
>
> Mark



Hi Mark,

defining a custom book/scoreTitleMarkup is explained in the docs, so
it _is_ "consistent with the manual".

That said, I was musing some time over your request, tried this and
that but never got the results you described.
In other words, please provide a minimal example, showing the
structure of your ly-file:
Do you use multiple books?
One book but multiple bookparts?
One book(part), but multiple scores?
Where are headers in?

Look at the example below (btw it compiles, although no header is ever
printed. "content" is never called by default).

Please change the structure to the one of your ly-file and fill the
remaining headers with something meaningful to demonstrate the
problem.

\version "2.18.2"
\header { content = "general-whatever" }

\book {
  \header { content = "1book-whatever" }
  \bookpart {
\header { content = "1bookpart1-whatever" }
\score {
  { c'1 }
  \header { content = "1score1.1-whatever" }
}
\score {
  { d'1 }
  \header { content = "1score1.2-whatever" }
}
  }
  \bookpart {
\header { content = "1bookpart2-whatever" }
\score {
  { e'1 }
  \header { content = "1score2.1-whatever" }
}
\score {
  { f'1 }
  \header { content = "1score2.2-whatever" }
}
  }
}

\book {
  \header { content = "2book-whatever" }
  \bookpart {
\header { content = "2bookpart1-whatever" }
\score {
  { g'1 }
  \header { content = "2score1.1-whatever" }
}
\score {
  { a'1 }
  \header { content = "2score1.2-whatever" }
}
  }
  \bookpart {
\header { content = "2bookpart2-whatever" }
\score {
  { b'1 }
  \header { content = "2score2.1-whatever" }
}
\score {
  { c''1 }
  \header { content = "2score2.2-whatever" }
}
  }
}

%% other books?

Cheers,
  Harm

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


RE: opus conflict

2017-04-30 Thread Mark Stephen Mrotek
Thomas,
Thank you for your reply. 
One book, several scores, i.e., a collection of pieces (named) under one opus 
name.
Attached is the code with which I am working.
Mark

-Original Message-
From: Thomas Morley [mailto:thomasmorle...@gmail.com] 
Sent: Sunday, April 30, 2017 10:10 AM
To: Mark Stephen Mrotek 
Cc: Timothy Lanfear ; lilypond-user 
Subject: Re: opus conflict

2017-04-30 18:15 GMT+02:00 Mark Stephen Mrotek :
> Timothy,
>
> Thank you for your response. Your time spent writing out a solution is 
> greatly appreciate.
> I would like to have something that is consistent with the manual.
>
> Mark



Hi Mark,

defining a custom book/scoreTitleMarkup is explained in the docs, so it _is_ 
"consistent with the manual".

That said, I was musing some time over your request, tried this and that but 
never got the results you described.
In other words, please provide a minimal example, showing the structure of your 
ly-file:
Do you use multiple books?
One book but multiple bookparts?
One book(part), but multiple scores?
Where are headers in?

Look at the example below (btw it compiles, although no header is ever printed. 
"content" is never called by default).

Please change the structure to the one of your ly-file and fill the remaining 
headers with something meaningful to demonstrate the problem.

\version "2.18.2"
\header { content = "general-whatever" }

\book {
  \header { content = "1book-whatever" }
  \bookpart {
\header { content = "1bookpart1-whatever" }
\score {
  { c'1 }
  \header { content = "1score1.1-whatever" }
}
\score {
  { d'1 }
  \header { content = "1score1.2-whatever" }
}
  }
  \bookpart {
\header { content = "1bookpart2-whatever" }
\score {
  { e'1 }
  \header { content = "1score2.1-whatever" }
}
\score {
  { f'1 }
  \header { content = "1score2.2-whatever" }
}
  }
}

\book {
  \header { content = "2book-whatever" }
  \bookpart {
\header { content = "2bookpart1-whatever" }
\score {
  { g'1 }
  \header { content = "2score1.1-whatever" }
}
\score {
  { a'1 }
  \header { content = "2score1.2-whatever" }
}
  }
  \bookpart {
\header { content = "2bookpart2-whatever" }
\score {
  { b'1 }
  \header { content = "2score2.1-whatever" }
}
\score {
  { c''1 }
  \header { content = "2score2.2-whatever" }
}
  }
}

%% other books?

Cheers,
  Harm
\version "2.18.2"

\book {
  \paper {
print-all-headers = ##t
  }
  \header {
title = "Woodland Sketches"
composer = "E. MacDowell"
opus = "Op. 51"
tagline = ##f
  }
  \score {
\new PianoStaff <<
  \new Staff { s1 }
  \new Staff { \clef "bass" s1 }
>>
\header {
title = ##f
composer = ##f
opus = ##f
subtitle = "To a Wild Rose"
}
  }
  \score {
\new PianoStaff <<
  \new Staff { s1 }
  \new Staff { \clef "bass" s1 }
>>
\header {
title = ##f
composer = #f
opus = ##f
subtitle = "Wil o' the Wisp"
}
  }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


opus conflict

2017-04-30 Thread Mark Stephen Mrotek
Thomas, 

Attached is the pdf generated by my code.

Thank you again.

Mark



opus.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: opus conflict

2017-04-30 Thread Thomas Morley
2017-04-30 19:19 GMT+02:00 Mark Stephen Mrotek :
> Thomas,
>
> Attached is the pdf generated by my code.
>
> Thank you again.
>
> Mark

Your first \header is inside the book as well as the \paper (where you
set print-all-headers = ##t).
This \header contains settings which are read and printed by the
bookTitleMark mixed with the 'opus', which is read and printed by the
scoreTitleMarkup.
Because you've set print-all-headers = ##t all of the
book-header-settings are printed within every scoreTitleMarkup. (Thus
the need to clear unwanted fileds in the score-header.) But opus is
never printed by the bookTitleMarkup but the scoreTitleMarkup and you
clear every instance of opus in every score-header.

As a result 'opus' is never printed.
I think, if you carefully read the doc, you'll see it's a consequence
of whats said there.

So you have two possibilities

(1) go for custom book/scoreTitleMarkup as already demonstrated

(2) don't clear opus for the first score


To make book/scoreTitleMarkup more clear, I colored them in an
additional \paper (delete it)

\version "2.18.2"

\paper {
  bookTitleMarkup = \markup \with-color #red \bookTitleMarkup
  scoreTitleMarkup = \markup \with-color #green \scoreTitleMarkup
}

\book {
  \paper {
print-all-headers = ##t
  }
  \header {
title = "Woodland Sketches"
composer = "E. MacDowell"
opus = "Op. 51"
tagline = ##f
  }
  \score {
\new PianoStaff <<
  \new Staff { s1 }
  \new Staff { \clef "bass" s1 }
>>
\header {
title = ##f
composer = ##f
%opus = ##f
subtitle = "To a Wild Rose"
}
  }
  \score {
\new PianoStaff <<
  \new Staff { s1 }
  \new Staff { \clef "bass" s1 }
>>
\header {
title = ##f
composer = ##f
opus = ##f
subtitle = "Wil o' the Wisp"
}
  }
}


HTH,
  Harm

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


RE: opus conflict

2017-04-30 Thread Mark Stephen Mrotek
Thomas,

Thank you for your detailed explanation. Your patient effort is appreciated.
As I understand now, some of the header fields are controlled by the \book and 
some by the \score.
Your colored version is very illustrative, yet note that the "opus" is under 
the first piece (subtitle) and not under the composer where I want it to be.
That is where I have always seen it in my limited experience.
 
Woodland Sketches

E. MacDowell

   Op. 51

To a Wild Rose

  Will o' the Wisp



Is this possible with Lilypond?

Mark

-Original Message-
From: Thomas Morley [mailto:thomasmorle...@gmail.com] 
Sent: Sunday, April 30, 2017 10:55 AM
To: Mark Stephen Mrotek 
Cc: lilypond-user 
Subject: Re: opus conflict

2017-04-30 19:19 GMT+02:00 Mark Stephen Mrotek :
> Thomas,
>
> Attached is the pdf generated by my code.
>
> Thank you again.
>
> Mark

Your first \header is inside the book as well as the \paper (where you set 
print-all-headers = ##t).
This \header contains settings which are read and printed by the bookTitleMark 
mixed with the 'opus', which is read and printed by the scoreTitleMarkup.
Because you've set print-all-headers = ##t all of the book-header-settings are 
printed within every scoreTitleMarkup. (Thus the need to clear unwanted fileds 
in the score-header.) But opus is never printed by the bookTitleMarkup but the 
scoreTitleMarkup and you clear every instance of opus in every score-header.

As a result 'opus' is never printed.
I think, if you carefully read the doc, you'll see it's a consequence of whats 
said there.

So you have two possibilities

(1) go for custom book/scoreTitleMarkup as already demonstrated

(2) don't clear opus for the first score


To make book/scoreTitleMarkup more clear, I colored them in an additional 
\paper (delete it)

\version "2.18.2"

\paper {
  bookTitleMarkup = \markup \with-color #red \bookTitleMarkup
  scoreTitleMarkup = \markup \with-color #green \scoreTitleMarkup }

\book {
  \paper {
print-all-headers = ##t
  }
  \header {
title = "Woodland Sketches"
composer = "E. MacDowell"
opus = "Op. 51"
tagline = ##f
  }
  \score {
\new PianoStaff <<
  \new Staff { s1 }
  \new Staff { \clef "bass" s1 }
>>
\header {
title = ##f
composer = ##f
%opus = ##f
subtitle = "To a Wild Rose"
}
  }
  \score {
\new PianoStaff <<
  \new Staff { s1 }
  \new Staff { \clef "bass" s1 }
>>
\header {
title = ##f
composer = ##f
opus = ##f
subtitle = "Wil o' the Wisp"
}
  }
}


HTH,
  Harm


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


Re: opus conflict

2017-04-30 Thread Thomas Morley
2017-04-30 21:04 GMT+02:00 Mark Stephen Mrotek :
> Thomas,
>
> Thank you for your detailed explanation. Your patient effort is appreciated.
> As I understand now, some of the header fields are controlled by the \book 
> and some by the \score.
> Your colored version is very illustrative, yet note that the "opus" is under 
> the first piece (subtitle) and not under the composer where I want it to be.

This happens because the complete bookTitleMarkup is printed first by
the scoreTitleMarkup
(if print-all-headers = ##t). The remaining parts of the score-header
are printed below (i.e. piece and opus).

> That is where I have always seen it in my limited experience.
>
> Woodland Sketches
>   
>   E. MacDowell
>   
>  Op. 51
>
> To a Wild Rose
>
>   Will o' the Wisp
>
> Is this possible with Lilypond?
>
> Mark
>

Sure. At least three possibilities

(1) quick'n dirty
arranger = "Op. 51"

(2) quick'n dirty
composer = \markup \right-column { "E. MacDowell" "Op. 51" }

(3) go for custom book/scoreTitleMarkup

I'd really recommend (3).
You are not happy with the default, so why not change it?
Timothy already posted a possibility.
If you like it, ok. If you want some changes and feel not confident
enough to implement them yourself, ask back.



Cheers,
  Harm

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


RE: opus conflict

2017-04-30 Thread Mark Stephen Mrotek
Thomas,

Thank you for the alternatives. Since I have very limited knowledge as to how 
to customize (write Lilypond), I shall opt for 1) or 2).
The result is more important than the method.

Mark

-Original Message-
From: Thomas Morley [mailto:thomasmorle...@gmail.com] 
Sent: Sunday, April 30, 2017 12:34 PM
To: Mark Stephen Mrotek 
Cc: lilypond-user 
Subject: Re: opus conflict

2017-04-30 21:04 GMT+02:00 Mark Stephen Mrotek :
> Thomas,
>
> Thank you for your detailed explanation. Your patient effort is appreciated.
> As I understand now, some of the header fields are controlled by the \book 
> and some by the \score.
> Your colored version is very illustrative, yet note that the "opus" is under 
> the first piece (subtitle) and not under the composer where I want it to be.

This happens because the complete bookTitleMarkup is printed first by the 
scoreTitleMarkup (if print-all-headers = ##t). The remaining parts of the 
score-header are printed below (i.e. piece and opus).

> That is where I have always seen it in my limited experience.
>
> Woodland Sketches
>   
>   E. MacDowell
>   
>  
> Op. 51
>
> To a Wild Rose
>
>   Will o' the Wisp
>
> Is this possible with Lilypond?
>
> Mark
>

Sure. At least three possibilities

(1) quick'n dirty
arranger = "Op. 51"

(2) quick'n dirty
composer = \markup \right-column { "E. MacDowell" "Op. 51" }

(3) go for custom book/scoreTitleMarkup

I'd really recommend (3).
You are not happy with the default, so why not change it?
Timothy already posted a possibility.
If you like it, ok. If you want some changes and feel not confident enough to 
implement them yourself, ask back.



Cheers,
  Harm


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


Re: Unusual repeat/chorus structure

2017-04-30 Thread Jacques Menu Muzhic
Hello Don,

Thanks for the invoice.

With MuseScore 2.0.3 and musicxml2ly 2.19.55, I get the same as you:

menu@macbookprojm:~/Documents/LaTeX/PartitionsLilypond/regular > musicxml2ly 
Mr_BojanglesJMI.xml 
musicxml2ly: Reading MusicXML from Mr_BojanglesJMI.xml ...
musicxml2ly: warning: overfull measure? Expected: 34, Difference: -1/8
  In: 

  In: 

  In: 

musicxml2ly: Converting to LilyPond expressions...
musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
musicxml2ly: warning: Negative skip -1/8 (from position 139/4 to 277/8)
musicxml2ly: Output to `Mr_BojanglesJMI.ly'
musicxml2ly: warning: Encountered unprocessed marker 


musicxml2ly: Converting to current version (2.19.55) notations ...


It turns out that:

1) musicxml2ly does not like multiple  attached to one note (a 
rest here):


  

  can modulate to D7

   and repeart "Please"

   on verse 5
  

  

6
1

  

They get translated as separate items:

\alternative { {
_ "can modulate to D7" _ "on verse 5" | % 28
R2. }
} _ "and repeart " Please"" \bar "||"
}


2) measure 45 has an extra eighth rest (under "1. 2."), hence the « 
overfull measure » message. It’s a pity that the faulty input line it not 
indicated, though:


  


  

4
1
half

  

2
1
quarter

  

1
1
eighth

  
light-heavy



  

The measure number can be computed, given that there are 2 divisions to a 
quarter note in part « P1 »:
2

3/4 gives 6 divisions per full measure, and there are no time signature 
changes, so 271/6 = 45.167, hence measure 45.

HTH!

JM


> Le 30 avr. 2017 à 18:59, Don Gingrich  a écrit :
> 
> On Sun, 30 Apr 2017 14:09:50 Jacques Menu Muzhic wrote:
>> Hello Don,
>> 
>> I found a slight bug in MuseScore 2.0.3 recently (wrong order of some XML
>> markups in export), that will be fixed in 2.04.
>> 
>> Coud you send me your origianl MuseScore file privately? I’d like to perform
>> some experiments.
>> 
>> Thanks!
>> 
>> JM
> 
> musicXML2ly output follows: (note that I renamed the ML file so that I didn't 
> clobber the lilypond file that I'd worked on.)
> 
> 
> musicxml2ly Mr_Bojangles2.xml
> musicxml2ly: Reading MusicXML from Mr_Bojangles2.xml ...
> musicxml2ly: warning: overfull measure? Expected: 34, Difference: -1/8
>  In: 
> 
>  In: 
> 
>  In: 
> 
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 139/4 to 277/8)
> musicxml2ly: Output to `Mr_Bojangles2.ly '
> musicxml2ly: warning: Encountered unprocessed marker <__main__.EndingMarker 
> instance at 0x7fd119655638>
> --
> musicxml2ly --version
> musicxml2ly (LilyPond) 2.18.2
> 
> Copyright (c) 2005--2012 by
>Han-Wen Nienhuys mailto:han...@xs4all.nl>>,
>Jan Nieuwenhuizen mailto:jann...@gnu.org>> and
>Reinhold Kainhofer mailto:reinh...@kainhofer.com>>
> 
> This program is free software.  It is covered by the GNU General Public
> License and you are welcome to change it and/or distribute copies of it
> under certain conditions.  Invoke as `lilypond --warranty' for more
> information.
> 
> 
> I hope this is useful.
> 
> Cheers,
> 
> -Don
> 

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


Re: opus conflict

2017-04-30 Thread Thomas Morley
2017-04-30 23:09 GMT+02:00 Mark Stephen Mrotek :
> [...] I have very limited knowledge as to how to customize (write Lilypond), 
> [...]

So here a little tutorial about writing custom book/scoreTitleMarkup

%
(1)
%

book/scoreTitleMarkup are predefined/customized markups. They need to be
defined in \paper.
This is done in exp. 1, but set to false (##f). So it will never print anything.
(Just to get the basics)

%% exp. 1

\paper {
  bookTitleMarkup = ##f
  scoreTitleMarkup = ##f
}

\header { title = "TITLE-1" } %% not called

{ c'1 }


%
(2)
%

Usually book/scoreTitleMarkup contains settings for dedication, title, subtitle,
subsubtitle, composer, poet, meter, arranger, piece and opus.

Let's try to set them as static literals in bookTitleMarkup. I.e. we use strings
which will not be called from the \header
(Keeping scoreTitleMarkup = ##f)

%% exp. 2

\paper {
  bookTitleMarkup =
\markup
  \column {
dedication
title
subtitle
subsubtitle
composer
poet
meter
arranger
piece
opus
  }

  scoreTitleMarkup = ##f
}

\header { title = "TITLE-1" } %% not called

{ d'1 }

%
(3)
%

This ofcourse most simple and not very nice. Let's do some formatting.
I.e. distribute them over the whole line-width, some as single markup, some in
the same line.

%% exp. 3

\paper {
  bookTitleMarkup =
\markup
  \column {
%% 8 lines, all done with fill-line
\fill-line { dedication } %% center
\fill-line { title } %% center
\fill-line { subtitle } %% center
\fill-line { subsubtitle } %% center
\fill-line { poet composer } %% center
\fill-line { \null opus } %% right
\fill-line { meter arranger } %% left - right
\fill-line { piece \null } %% left
  }

  scoreTitleMarkup = ##f
}

\header { title = "TITLE-1" } %% not called

{ e'1 }

%
(4)
%

Though eventually we want some settings to be called from a score-header.
As an example we go for subtitle and piece.

We delete them from bookTitleMarkup and define them in scoreTitleMarkup.

%% exp. 4

\paper {
  bookTitleMarkup =
\markup
  \column {
%% 8 lines, all done with fill-line
\fill-line { dedication } %% center
\fill-line { title } %% center
\fill-line { subtitle } %% center
\fill-line { subsubtitle } %% center
\fill-line { poet composer } %% center
\fill-line { \null opus } %% right
\fill-line { meter arranger } %% left - right
  }

  scoreTitleMarkup =
\markup
  \column {
%% 8 lines, all done with fill-line
\fill-line { subtitle } %% center
\fill-line { piece \null } %% left
  }
}

\header { title = "TITLE-1" } %% not called

{ e'1 }

{ f'1 }

%
(5)
%

Let's change it to call the values from \header.

We need to insert a fromproperty-markup and take the name of the header-setting
preceded by #'header:

%% exp. 5

\paper {
  bookTitleMarkup =
\markup
  \column {
\fill-line { \fromproperty #'header:dedication } %% center
\fill-line { \fromproperty #'header:title } %% center
\fill-line { \fromproperty #'header:subtitle } %% center
\fill-line { \fromproperty #'header:subsubtitle } %% center
\fill-line {
  \fromproperty #'header:poet \fromproperty #'header:composer
} %% center
\fill-line { \null \fromproperty #'header:opus } %% right
\fill-line {
  \fromproperty #'header:meter \fromproperty #'header:arranger
} %% left - right
  }

  scoreTitleMarkup =
\markup
  \column {
\fill-line { \fromproperty #'header:subtitle } %% center
\fill-line { \fromproperty #'header:piece \null } %% left
  }
}

\header { title = "TITLE-1" } %% called

\score {
  { e'1 }
  \header {
  piece = "PIECE-1"
subtitle = "SUBTITLE-1"
  }
}

\score {
  { f'1 }
  \header {
  piece = "PIECE-2"
subtitle = "SUBTITLE-2"
  }
}


%
(6)
%

Currently no fontsize-markup is applied. We let it as an exercise for the
reader.

Also, print-all-headers will take no effect.
If custom book/scoreTitleMarkups are used, then they should be tailored to
measure. So no real need for it.

%
(7)
%

Ofcourse some points in the above tutorial are omitted or simplified.
Please ask if something is not clear.
Also, it is possible to do even more...



Cheers,
  Harm

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


Re: Unusual repeat/chorus structure

2017-04-30 Thread Jacques Menu Muzhic
Ooops, that one escaped me…:

  In: 

JM

> Le 1 mai 2017 à 01:00, Jacques Menu Muzhic  a écrit :
> 
> Hello Don,
> 
> Thanks for the invoice.
> 
> With MuseScore 2.0.3 and musicxml2ly 2.19.55, I get the same as you:
> 
> menu@macbookprojm:~/Documents/LaTeX/PartitionsLilypond/regular > musicxml2ly 
> Mr_BojanglesJMI.xml 
> musicxml2ly: Reading MusicXML from Mr_BojanglesJMI.xml ...
> musicxml2ly: warning: overfull measure? Expected: 34, Difference: -1/8
>   In: 
> 
>   In: 
> 
>   In: 
> 
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
> musicxml2ly: warning: Negative skip -1/8 (from position 139/4 to 277/8)
> musicxml2ly: Output to `Mr_BojanglesJMI.ly '
> musicxml2ly: warning: Encountered unprocessed marker 
> 
> 
> musicxml2ly: Converting to current version (2.19.55) notations ...
> 
> 
> It turns out that:
> 
>   1) musicxml2ly does not like multiple  attached to one note (a 
> rest here):
> 
> 
>   
> 
>   can modulate to D7
> 
>and repeart "Please"
> 
>on verse 5
>   
> 
>   
> 
> 6
> 1
> 
>   
> 
> They get translated as separate items:
> 
> \alternative { {
> _ "can modulate to D7" _ "on verse 5" | % 28
> R2. }
> } _ "and repeart " Please"" \bar "||"
> }
> 
> 
>   2) measure 45 has an extra eighth rest (under "1. 2."), hence the « 
> overfull measure » message. It’s a pity that the faulty input line it not 
> indicated, though:
> 
> 
>   
> 
> 
>   
> 
> 4
> 1
> half
> 
>   
> 
> 2
> 1
> quarter
> 
>   
> 
> 1
> 1
> eighth
> 
>   
> light-heavy
> 
> 
> 
>   
> 
> The measure number can be computed, given that there are 2 divisions to a 
> quarter note in part « P1 »:
> 2
> 
> 3/4 gives 6 divisions per full measure, and there are no time signature 
> changes, so 271/6 = 45.167, hence measure 45.
> 
> HTH!
> 
> JM
> 
> 
>> Le 30 avr. 2017 à 18:59, Don Gingrich > > a écrit :
>> 
>> On Sun, 30 Apr 2017 14:09:50 Jacques Menu Muzhic wrote:
>>> Hello Don,
>>> 
>>> I found a slight bug in MuseScore 2.0.3 recently (wrong order of some XML
>>> markups in export), that will be fixed in 2.04.
>>> 
>>> Coud you send me your origianl MuseScore file privately? I’d like to perform
>>> some experiments.
>>> 
>>> Thanks!
>>> 
>>> JM
>> 
>> musicXML2ly output follows: (note that I renamed the ML file so that I 
>> didn't 
>> clobber the lilypond file that I'd worked on.)
>> 
>> 
>> musicxml2ly Mr_Bojangles2.xml
>> musicxml2ly: Reading MusicXML from Mr_Bojangles2.xml ...
>> musicxml2ly: warning: overfull measure? Expected: 34, Difference: -1/8
>>  In: 
>> 
>>  In: 
>> 
>>  In: 
>> 
>> musicxml2ly: Converting to LilyPond expressions...
>> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
>> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
>> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
>> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
>> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
>> musicxml2ly: warning: Negative skip -1/8 (from position 34 to 271/8)
>> musicxml2ly: warning: Negative skip -1/8 (from position 139/4 to 277/8)
>> musicxml2ly: Output to `Mr_Bojangles2.ly '
>> musicxml2ly: warning: Encountered unprocessed marker <__main__.EndingMarker 
>> instance at 0x7fd119655638>
>> --
>> musicxml2ly --version
>> musicxml2ly (LilyPond) 2.18.2
>> 
>> Copyright (c) 2005--2012 by
>>Han-Wen Nienhuys mailto:han...@xs4all.nl>>,
>>Jan Nieuwenhuizen mailto:jann...@gnu.org>> and
>>Reinhold Kainhofer > >
>> 
>> This program is free software.  It is covered by the GNU General Public
>> License and you are welcome to change it and/or distribute copies of it
>> under certain conditions.  Invoke as `lilypond --warranty' for more
>> information.
>> 
>> 
>> I hope this is useful.
>> 
>> Cheers,
>> 
>> -Don
>> 
> 

_

Re: Up and down arrows

2017-04-30 Thread Paul Napolitano
Thank you, David!

> On Apr 28, 2017, at 11:09 PM, David Wright  wrote:
> 
> On Fri 28 Apr 2017 at 21:57:09 (-0500), Paul Napolitano wrote:
>> Is there a way to put up and down arrows above the staff to indicate the 
>> down and up beats?
> 
> c'4 ^\markup { ↓ } f'4 ^\markup { ↑ }
> 
> Cheers,
> David.


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