Re: "Namespace" for includes

2014-05-08 Thread Shevek
Check out this recent thread on pretty much this exact topic:
http://lilypond.1069038.n5.nabble.com/cleanly-dealing-with-variables-and-reducing-code-duplication-in-multimovement-works-td161112.html#a161152

Unfortunately, the answer is basically, no, Lilypond does not support this.
The above thread details several decent ways to work around the issue. I
think this is an issue that should have an official and documented solution.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Namespace-for-includes-tp161961p162143.html
Sent from the User mailing list archive at Nabble.com.

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


Re: Transposing instruments in orchestra score

2014-05-08 Thread Shevek
If I understand correctly, what Orm wants is to be able to write something
like this:

clarinet = \relative c' {
\transposing bf
c4 d e d |
\transposing a
c d e d
}

And get the output to show d e fs e ef f g f (using English spelling).
Currently, in order to enter music in concert pitch and have it display
transposing, one needs to do the following:

clarinet = {
\transposition bf
\transpose bf c' {
\relative c' {
c4 d e d
}
}
\transposition a
\transpose a c' {
\relative c' {
 c4 d e d
}
}
}

This is cumbersome. It becomes a particular pain if one wants to do multiple
editions with different transpositions. It would be much, much easier IMO if
this could be accomplished with a single line command, like in the first
snippet.

Saul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Transposing-instruments-in-orchestra-score-tp162085p162144.html
Sent from the User mailing list archive at Nabble.com.

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


Re: Lilypond and OS-X Mavericks

2014-05-08 Thread Hans Aberg
On 8 May 2014, at 05:57, Dennis Clason  wrote:

> I’m using LilyPond 2.18.2
> 
> I use it to prepare scores for brass quintets and quartets, but I can’t get 
> it to open from the lilypond icon.  It throws the errors that I noted 
> previously.

[Please cc the list so that others can follow the issue.]

This might be an old bug that has reappeared. In the past, there were was a 
problem with opening the GUI.

Try the unstable branch - it works in the GUI, at least LilyPond 2.19.1.

I am using it from Terminal, with a script named ‘lilypond’ in the search path 
containing
  exec /Applications/LilyPond.app/Contents/Resources/bin/lilypond "$@“



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


Re: Transposing instruments in orchestra score

2014-05-08 Thread David Kastrup
Shevek  writes:

> If I understand correctly, what Orm wants is to be able to write something
> like this:
>
> clarinet = \relative c' {
> \transposing bf
> c4 d e d |
> \transposing a
> c d e d
> }
>
> And get the output to show d e fs e ef f g f (using English spelling).
> Currently, in order to enter music in concert pitch and have it display
> transposing, one needs to do the following:
>
> clarinet = {
> \transposition bf
> \transpose bf c' {
> \relative c' {
> c4 d e d
> }
> }
> \transposition a
> \transpose a c' {
> \relative c' {
>  c4 d e d
> }
> }
> }
>
> This is cumbersome. It becomes a particular pain if one wants to do multiple
> editions with different transpositions. It would be much, much easier IMO if
> this could be accomplished with a single line command, like in the first
> snippet.

"Much much easier"?  Hardly.  You can, of course, write something like
transposing =
#(define-music-function (parser location p m) (ly:pitch? ly:music?)
  (make-relative (m) m
  #{ \transposition #p
 \transpose #p c' #m #}))

(or leave out the call to make-relative if you don't care about an outer
\relative working "as expected") and use it like

clarinet = \relative c' {
\transposing bf {
c4 d e d | }
\transposing a {
c d e d }
}

But I don't see that this is really all that much of a winning
proposition.

-- 
David Kastrup

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


Re: Mensural ligature

2014-05-08 Thread Éditions IN NOMINE

Hi Jean-Charles !

Here's what I'm using for black mensural, adapted to your snippet :

\version "2.19.3"

mens = \once \override NoteHead #'style = #'neomensural

blackBrevis = {
\once \override NoteHead  #'stencil = #ly:text-interface::print
\once \override NoteHead #'text = #(markup #:musicglyph 
"noteheads.sM3blackligmensural")

}
\relative c''{\cadenzaOn
<<
\tag #'Urtext {
\[ \mens d\breve*1/2 \blackBrevis e\breve*3/8 \] f4 g1
}
\tag #'Modern {
d1 e2. f4 g1
}



}

Does it match your need ?

Best

---
Jean-Marc LEGRAND
Éditions IN NOMINE

Le , Jean-Charles Malahieude a écrit :

Hi all!

On my way to typeset a mass by Monteverdi, I'm blocked with some
ligatures (see
http://musicofyesterday.com/historical-music-theory/expanded-history-musical-notation-part-4/
for examples)
I can code the first one in its 8th image like this:

  << \tag #'Urtext { \[ d1 e1*3/4 \] }
 \tag #'Modern { d1 e2. } >> f4 g1

but don't find any way to get the E in black.

Thanks for any pointer how to construct this.

Cheers,
Jean-Charles

___
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: Transposing instruments in orchestra score

2014-05-08 Thread Saul Tobin
Naturally, but a music function like that misses the point. The current 
way isn't cumbersome because it's verbose, it's cumbersome because it 
requires breaking music into separate blocks using braces. What I'd like 
to be able to do is change the transposition like a context property, so 
that I could write something like:


clarinet = \relative c' {
\transposing bf
c4 d e d
\tag #'score \transposing a
c d e d
\tag #'parts \transposing a
\tag #'score \transposing c'
c d e d
}

Obviously, this is a contrived situation, but you see what I'm getting 
at. Breaking music expressions into separate blocks also necessitates 
breaking spanners, etc.


Saul

On 05/08/2014 01:18 AM, David Kastrup wrote:

Shevek  writes:


If I understand correctly, what Orm wants is to be able to write something
like this:

clarinet = \relative c' {
 \transposing bf
 c4 d e d |
 \transposing a
 c d e d
}

And get the output to show d e fs e ef f g f (using English spelling).
Currently, in order to enter music in concert pitch and have it display
transposing, one needs to do the following:

clarinet = {
 \transposition bf
 \transpose bf c' {
 \relative c' {
 c4 d e d
 }
 }
 \transposition a
 \transpose a c' {
 \relative c' {
  c4 d e d
 }
 }
}

This is cumbersome. It becomes a particular pain if one wants to do multiple
editions with different transpositions. It would be much, much easier IMO if
this could be accomplished with a single line command, like in the first
snippet.

"Much much easier"?  Hardly.  You can, of course, write something like
transposing =
#(define-music-function (parser location p m) (ly:pitch? ly:music?)
   (make-relative (m) m
   #{ \transposition #p
  \transpose #p c' #m #}))

(or leave out the call to make-relative if you don't care about an outer
\relative working "as expected") and use it like

clarinet = \relative c' {
 \transposing bf {
 c4 d e d | }
 \transposing a {
 c d e d }
}

But I don't see that this is really all that much of a winning
proposition.




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


Re: Transposing instruments in orchestra score

2014-05-08 Thread David Kastrup
Saul Tobin  writes:

> Naturally, but a music function like that misses the point. The
> current way isn't cumbersome because it's verbose, it's cumbersome
> because it requires breaking music into separate blocks using
> braces. What I'd like to be able to do is change the transposition
> like a context property, so that I could write something like:
>
> clarinet = \relative c' {
> \transposing bf
> c4 d e d
> \tag #'score \transposing a
> c d e d
> \tag #'parts \transposing a
> \tag #'score \transposing c'
> c d e d
> }
>
> Obviously, this is a contrived situation, but you see what I'm getting
> at.

You are aware that you can _quote_ the transposed/transposing clarinet
parts in score context and that the quote will appear in concert pitch,
namely taking the setting of \transposition into account and reversing
its effect on the notation?

It's conceivable to create two music functions masterToScore and
masterToPart where the first music function, when applied to a part like
\clarinet above (just writing \transposition instead of \transposing)
will _remove_ all \transposition statements in order not to mess up the
score Midi, and the second one will instead _heed_ all \transposition
statements and apply their _inverse_ to all following music in order to
make a difference for the _printed_ music in the part.

The disadvantage obviously being that \clarinet itself in "master input"
will not be suitable for either score or part without filtering it
further.

-- 
David Kastrup

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


Re: Mensural ligature

2014-05-08 Thread Jean-Charles Malahieude

Le 08/05/2014 10:18, Éditions IN NOMINE disait :

Hi Jean-Charles !

Here's what I'm using for black mensural, adapted to your snippet :

\version "2.19.3"

mens = \once \override NoteHead #'style = #'neomensural

blackBrevis = {
\once \override NoteHead  #'stencil = #ly:text-interface::print
\once \override NoteHead #'text = #(markup #:musicglyph
"noteheads.sM3blackligmensural")
}
\relative c''{\cadenzaOn
<<
 \tag #'Urtext {
 \[ \mens d\breve*1/2 \blackBrevis e\breve*3/8 \] f4 g1
 }
 \tag #'Modern {
 d1 e2. f4 g1
 }



}

Does it match your need ?



Unfortunately not when you replace the Ligature_bracket_engraver with 
the Mensural_ligature_engraver: you then get a ligature without stem and 
composed of two white squares.


Cheers,
Jean-Charles


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


frescobaldi: svg output?

2014-05-08 Thread Gerard McConnell
How do you get Lilypond to output SVG from Frescobaldi?
Thanks,
Gerard
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: frescobaldi: svg output?

2014-05-08 Thread Urs Liska

Am 08.05.2014 12:22, schrieb Gerard McConnell:

How do you get Lilypond to output SVG from Frescobaldi?
Thanks,
Gerard



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



Use "Engrave (Custom)" (Ctrl+Shift+M) and select SVG from the Output 
Format list.


You can also set this globally in the Preferences.

HTH
Urs

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


Generating a (#:column ...) list in Scheme

2014-05-08 Thread Urs Liska

Hi,

I have this construct in a function that creates a combined time signature:

   (grob-interpret-markup grob
 (markup #:override '(baseline-skip . 0) #:number
   (#:line ((#:column (numOne denOne))
(#:column (numTwo denTwo))

It creates two columns from the four given arguments, but I want to be 
able to create an arbitrary number of columns.


I see that #:line gets a list of (#:column ()) entries.
But I'm lost with the #: part. What does that mean? And how can I 
generate such a list with an arbitrary number of columns?


Input is a list of lists, such as #'((3 8) (4 8)).
I assume that I'll have to "map" this input list, but I don't know how 
these individual sublists can be processed. Of course I have to do a 
number->string conversion for each element, but I could also massage the 
original input to be in the right state already.


Any help appreciated.
Urs

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


Re: Mensural ligature

2014-05-08 Thread Graham King
On Wed, 2014-05-07 at 19:59 +0200, Jean-Charles Malahieude wrote:

> Hi all!
> 
> On my way to typeset a mass by Monteverdi, I'm blocked with some 
> ligatures (see 
> http://musicofyesterday.com/historical-music-theory/expanded-history-musical-notation-part-4/
>  
> for examples)
> I can code the first one in its 8th image like this:
> 
><< \tag #'Urtext { \[ d1 e1*3/4 \] }
>   \tag #'Modern { d1 e2. } >> f4 g1
> 
> but don't find any way to get the E in black.
> 
> Thanks for any pointer how to construct this.
> 
> Cheers,
> Jean-Charles


Lukas Pietsch did some marvellous work on getting black mensural
notation (and other early notations) working properly in lilypond.  It
can be found at www.lukas-pietsch.de/Music/ but unfortunately it was
written for lilypond 2.12 and throws errors in recent versions.  It
might be that some of his techniques will help.  If you succeed with it,
please let the list know!

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


Re: Generating a (#:column ...) list in Scheme

2014-05-08 Thread David Kastrup
Urs Liska  writes:

> Hi,
>
> I have this construct in a function that creates a combined time signature:
>
>(grob-interpret-markup grob
>  (markup #:override '(baseline-skip . 0) #:number
>(#:line ((#:column (numOne denOne))
> (#:column (numTwo denTwo))
>
> It creates two columns from the four given arguments, but I want to be
> able to create an arbitrary number of columns.
>
> I see that #:line gets a list of (#:column ()) entries.
> But I'm lost with the #: part. What does that mean?

That's the markup macro.  It is documented in the Extending Guide.  More
or less.

> And how can I generate such a list with an arbitrary number of
> columns?

You can't actually do it in time since the whole point of a macro is
that it operates on its elements _before_ they are evaluated.

So the Extending Guide says:

Known issues and warnings
.

The markup-list argument of commands such as ‘#:line’, ‘#:center’, and
‘#:column’ cannot be a variable or the result of a function call.

 (markup #:line (function-that-returns-markups))

is invalid.  One should use the ‘make-line-markup’,
‘make-center-markup’, or ‘make-column-markup’ functions instead,

 (markup (make-line-markup (function-that-returns-markups)))


So let's fiddle this in another way:

{
  \once\override Staff.TimeSignature.stencil =
  #(lambda (grob)
(grob-interpret-markup grob
 (markup #:override '(baseline-skip . 0) #:number
	  (make-line-markup
	   (map (lambda (x)
		 (make-column-markup (map number->string x)))
	'((3 8) (4 8) (5 8)))
  \time 4/4 c1
}

Of course, we can just abandon hope regarding the markup macro and do
this as

{
  \once\override Staff.TimeSignature.stencil =
  #(lambda (grob)
(grob-interpret-markup grob
 #{ \markup \override #'(baseline-skip . 0)
\number
   #(map (lambda (x) #{ \markup \column #(map number->string x) #})
	   '((3 8) (4 8) (5 8)))
 #}))
  \time 4/4 c1
}

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


Re: Lilypond and OS-X Mavericks

2014-05-08 Thread Hans Aberg
On 8 May 2014, at 05:57, Dennis Clason  wrote:

> I’m using LilyPond 2.18.2

It seems you are using the PPC version - it does not work in OS X 10.7 or later 
(requires Rosetta). Try the x86 version, the first entry on this page [1], it 
works.

1. http://www.lilypond.org/macos-x.html



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


Re: Once only custos

2014-05-08 Thread Jacques Menu
Hello Simon,

Thanks, I was mixing style and stencil without noticing!

JM

Le 6 mai 2014 à 19:27:15, Simon Albrecht  a écrit :

> Bonsoir Jacques,
> 
> I don’t know why you altered the suggestion I sent you:
> Am 06.05.2014 17:06, schrieb Jacques Menu:
>> Hello Simon,
>> 
>> Thanks for your answer.
>> 
>> 
>> With:
>> 
>> %
>> \version "2.18.1"
>> 
>> \layout {
>> ragged-right = ##t
>> \context { \Staff
>> \consists "Custos_engraver"
> uncomment the following line
>> % \override Staff.Custos.stencil = ##f
>> }
>> }
>> 
>> \relative c' {
>> d1
>> b1
> and replace style by stencil in the following line.
>> \once\override Staff.Custos.style = #ly:custos::print
>> \break
>> a1
>> \break
>> f1
>> }
>> %
> Unfortunately, I just noticed that this doesn’t work as expected – the \once 
> doesn’t seem to come into effect (Does anybody know why?).
> But thus you simply write
> 
> 
> \relative c' {
>  d1
>  b1
>  \revert Staff.Custos.stencil
>  \break
>  a1
>  \override Staff.Custos.stencil = ##f
>  \break
>  f1
> }
> 
> and it works like expected.
> 
> HTH,
> Simon
> 

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


Trill span problem

2014-05-08 Thread Knute Snortum
I have a problem with sequential trill spans.  they seems to be just a
little too long and therefore they stagger vertically.  I would think the
solution is to shorten the trill span but I'm not sure how to do this.

\version "2.18.2"


 \relative c''' {

  \time 2/4

  | f2 \startTrillSpan \ppp

  | d2 \startTrillSpan

  | c4 \startTrillSpan d \startTrillSpan

  | c4 \startTrillSpan b \startTrillSpan

  | c2 \startTrillSpan

  | b2 \startTrillSpan

  | a2 \startTrillSpan

  | f2 \startTrillSpan

}

Knute Snortum
(via Gmail)
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Strange difference between Lilypond and Guile plain

2014-05-08 Thread R. Mattes
Dear list,

I just stumbled over a strange problem. I'm trying to use some of
my guile code from within Lilypond. When trying to import some of
my macros (when and unless) into Lilypond I get the following error:

, LilyPond RELP -
| guile> (load "syntactic-shugar.scm")
| : In expression (void):
| : Wrong type to apply: #>
| ABORT: (misc-error)
`

Here ias the code:

, file syntactic-shugar.scm -
| (use-syntax (ice-9 syncase))
|
| (define-syntax when
|   (syntax-rules ()
| ((when condition expression ...)
|  (if condition (begin expression ...)
|
| (define-syntax unless
|   (syntax-rules ()
| ((unless condition expression ...)
|  (if (not condition) (begin expression ...)
`

The same code works without problems in guile itself.

Lilypond version: "2.19.5"
Guile version: "1.8.8"

Any idea what's going on?

 TIA Ralf Mattes


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


Make every n'th barline different?

2014-05-08 Thread Graham King
Is there an efficient way to change the style of every, say, third
barline?
Here's an example of what I'm trying to achieve, but I'd like to do it
without having to insert \bar "|" manually (and of course with real
music rather than \repeat unfold):

\version "2.19.2"

\relative c' {
  \set Timing.defaultBarType = ";"
  \repeat unfold 4 {
\repeat unfold 3 { c c c c }
\bar "|"
  }



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


Re: Make every n'th barline different?

2014-05-08 Thread Gilberto Agostinho
What about this?

\version "2.19.2"

barlines = \relative c' {
  \set Timing.defaultBarType = ";"
  \repeat unfold 4 {
\repeat unfold 3 { s s s s }
\bar "|"
  }
}

music = \relative c' {
  \repeat unfold 12 {c d e f}
}

\score {
  \new Staff <<
\new Voice \music
\new Voice \barlines
  >>
}



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Make-every-n-th-barline-different-tp162164p162166.html
Sent from the User mailing list archive at Nabble.com.

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


Re: Add LilyPond incipit on an IMSLP page.

2014-05-08 Thread Pierre Perol-Schneider
2014-05-08 8:58 GMT+02:00 Federico Bruni :


> It's the LilyPond plugin for MediaWiki?
>

Yep, see :
http://www.imslpforums.org/viewtopic.php?f=3&t=7034&hilit=incipit


> BTW, in January I launched a "survey" about contributions to Mutopia:
>  http://lists.gnu.org/archive/html/lilypond-user/2014-01/msg9.html
>

Hum, I've missed this one.


> As far as I know, you never contributed to it (just had a look on Mutopia
> git repository).
>

No I didn't.


> Can I  ask you why? It's because of the license restrictions
> (NonCommercial clause is not accepted by Mutopia)?
>

Because I'm no Mutopia user.

Now the right question would be why am I not a user ?
Well, few years ago I've downloaded one or two files and, as far as I
remember :
a) None of'em were compilable.
b) Copy/paste-ing the notes took me much more time than rewriting the whole
score after a facsimile.
c) Pdfs look bad (what's the purpose of such footers ??).

I've just take a quick look at the Mutopia site. I'd like to add :
a) it is written "The Mutopia Project offers sheet music editions of
classical music for free download" ; which means that it is in direct
competition with IMSLP. Does it make sense ?
b) the composer's pages are not user-friendly ; why not using a wiki system
?
c) a majority of (all ?) scores are coded "relatively" ; exept when coding
for organ, piano, harp, etc. I never use \relative
d) there is no coding convention; many Mutopia codes (e.g.
http://www.mutopiaproject.org/ftp/BrownCJ/lullaby/lullaby.ly)  give me
headhaches.
e) there are numbers of pretty old version (v2.4 for this one :
http://www.mutopiaproject.org/ftp/CarcassiM/O60/carcassi-op60-01/carcassi-op60-01.ly
)
f)...etc. (too long)

I'd like to conclude that Mutopia site remains the same for years, no
improvement, no discussion (except you, Federico). So, if nothing changes,
I don't see any future for this site.

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


Re: Strange difference between Lilypond and Guile plain

2014-05-08 Thread David Kastrup
"R. Mattes"  writes:

> Dear list,
>
> I just stumbled over a strange problem. I'm trying to use some of
> my guile code from within Lilypond. When trying to import some of
> my macros (when and unless) into Lilypond I get the following error:
>
> , LilyPond RELP -
> | guile> (load "syntactic-shugar.scm")
> | : In expression (void):
> | : Wrong type to apply: # location arg)>>
> | ABORT: (misc-error)
> `
>
> Here ias the code:
>
> , file syntactic-shugar.scm -
> | (use-syntax (ice-9 syncase))
> |
> | (define-syntax when
> |   (syntax-rules ()
> | ((when condition expression ...)
> |  (if condition (begin expression ...)
> |
> | (define-syntax unless
> |   (syntax-rules ()
> | ((unless condition expression ...)
> |  (if (not condition) (begin expression ...)
> `
>
> The same code works without problems in guile itself.
>
> Lilypond version: "2.19.5"
> Guile version: "1.8.8"
>
> Any idea what's going on?

Yes.  LilyPond defines a music function \void, and (ice-9 syncase) gets
confused by that for whatever stupid reason (the bug is reported, but
don't expect any 1.8 releases any more).  Guile 2.0 works but of course
that is of little consolation.  I think there are command line options
for "preloading" some Scheme files: those might work before \void gets
defined.

Other than that, you can put
(define-module (scm syntactic-shugar) #:use-syntax (ice-9 syncase)
  #:export-syntax (when unless))

at the top of your file, and

(use-modules (scm syntactic-shugar))

after loading it.

Basically, keep syncase from seeing the LilyPond main module when
loading it.

-- 
David Kastrup

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


Re: [SPAM] Re: Generating a (#:column ...) list in Scheme

2014-05-08 Thread Urs Liska

Hi David,

thanks for the assistance.

Am 08.05.2014 14:19, schrieb David Kastrup:

Urs Liska  writes:


Hi,

I have this construct in a function that creates a combined time signature:

(grob-interpret-markup grob
  (markup #:override '(baseline-skip . 0) #:number
(#:line ((#:column (numOne denOne))
 (#:column (numTwo denTwo))

It creates two columns from the four given arguments, but I want to be
able to create an arbitrary number of columns.

I see that #:line gets a list of (#:column ()) entries.
But I'm lost with the #: part. What does that mean?


That's the markup macro.  It is documented in the Extending Guide.  More
or less.


And how can I generate such a list with an arbitrary number of
columns?


You can't actually do it in time since the whole point of a macro is
that it operates on its elements _before_ they are evaluated.

So the Extending Guide says:

Known issues and warnings
.

The markup-list argument of commands such as ‘#:line’, ‘#:center’, and
‘#:column’ cannot be a variable or the result of a function call.

  (markup #:line (function-that-returns-markups))

is invalid.  One should use the ‘make-line-markup’,
‘make-center-markup’, or ‘make-column-markup’ functions instead,

  (markup (make-line-markup (function-that-returns-markups)))



That's how far I got - after writing the email ...



So let's fiddle this in another way:


That's where I did _not_ get





Of course, we can just abandon hope regarding the markup macro and do
this as


and this neither.
But I could incorporate the second solution in my function, and now it's 
a neat \alternatingTimeSignatures function.


Compile the attached file to see it in action.
I think this should be generally available, and if you don't think it 
should be included in LilyPond I'll put it in the openLilyLib snippets.


Best
Urs


\version "2.19.6"
#(define ((custom-time-signature one two) grob)
   ;; derived from
   ;; http://lilypond.1069038.n5.nabble.com/Mixed-Time-Signatures-Non-regular-alternantion-between-5-8-and-8-8-td18617.html
   (let ((numOne (number->string (car one)))
  (denOne (number->string (cdr one)))
  (numTwo (number->string (car two)))
  (denTwo (number->string (cdr two
   (grob-interpret-markup grob
 (markup #:override '(baseline-skip . 0) #:number
   (#:line ((#:column (numOne denOne))
(#:column (numTwo denTwo


alternatingTimeSignatures =
#(define-music-function (parser location timesigs)
   (list?)
   (let* ((sigOne (car timesigs))
  (sigTwo (cadr timesigs)))
 #{
   \override Score.TimeSignature.stencil =
 #(custom-time-signature sigOne sigTwo)
   \time #sigOne
 #}
 ))

\relative c' {
  \alternatingTimeSignatures #'((3 . 8) (4 . 8))
  c8 d e
  \omit Score.TimeSignature
  \time 4/8
  f g a b
  \time 3/8
  c g c,
  d e f
  g a b
  \time 4/8
  c b a b
  \revert Score.TimeSignature.stencil
  \time 5/8
  c b a g f
  
}

\relative c' {
  \override TupletNumber.text = #tuplet-number::calc-fraction-text
  \alternatingTimeSignatures #'((3 . 4) (4 . 7))
  c4 d e
  \omit Score.TimeSignature
  \time 4/7
  \tupletSpan 4*16/7
  \tuplet 7/4 {
f e f fis
g a ais b
  }
  \time 3/4
  c4 g c,
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Make every n'th barline different?

2014-05-08 Thread Graham King
On Thu, 2014-05-08 at 07:44 -0700, Gilberto Agostinho wrote:

> What about this?
> 
> \version "2.19.2"
> 
> barlines = \relative c' {
>   \set Timing.defaultBarType = ";"
>   \repeat unfold 4 {
> \repeat unfold 3 { s s s s }
> \bar "|"
>   }
> }
> 
> music = \relative c' {
>   \repeat unfold 12 {c d e f}
> }
> 
> \score {
>   \new Staff <<
> \new Voice \music
> \new Voice \barlines
>   >>
> }
> 

Thanks Gilberto, that's simpler and better than anything I would have
cooked up.  And by simply using:

\version "2.19.2"


barlines = {
  \set Timing.defaultBarType = ";"
  \repeat unfold 3 { s1 }
  \bar "|"
}

\relative c' {
  << 
 \repeat unfold 12 {c d e f}
 \\
 \repeat unfold 4 \barlines
  >>
}

I can make use of this technique in the middle of a much longer piece.

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


Mutopia [WAS: Re: Add LilyPond incipit on an IMSLP page.]

2014-05-08 Thread Federico Bruni
2014-05-08 16:49 GMT+02:00 Pierre Perol-Schneider <
pierre.schneider.pa...@gmail.com>:

> Can I  ask you why? It's because of the license restrictions
>> (NonCommercial clause is not accepted by Mutopia)?
>>
>
> Because I'm no Mutopia user.
>
> Now the right question would be why am I not a user ?
> Well, few years ago I've downloaded one or two files and, as far as I
> remember :
> a) None of'em were compilable.
> b) Copy/paste-ing the notes took me much more time than rewriting the
> whole score after a facsimile.
> c) Pdfs look bad (what's the purpose of such footers ??).
>
>
Yes, the footer looked bad, but it changed recently thanks to the
contribution of Noeck (who started contributing to Mutopia after the
discussion we had in January on this list).

We are also in the process of updating all the files to at least version
2.16 (possibly, 2.18).
Glen used to lead this effort, I'll ping him to go on to the next step.


> I've just take a quick look at the Mutopia site. I'd like to add :
> a) it is written "The Mutopia Project offers sheet music editions of
> classical music for free download" ; which means that it is in direct
> competition with IMSLP. Does it make sense ?
>

Yes, it does. IMSLP doesn't offer the (lilypond) source used to produce the
PDF, so their users cannot modify the scores or re-adapt them in derivative
works.


> b) the composer's pages are not user-friendly ; why not using a wiki
> system ?
>

Yes, it would be nice if Mutopia had a better interface. OTOH I think that
Github may be considered user-friendly, if people knew how to use it :-)
(I'd like to write a post on this for lilypondblog.org sooner or later).

c) a majority of (all ?) scores are coded "relatively" ; exept when coding
> for organ, piano, harp, etc. I never use \relative
>

I see, but most users use \relative and all the snippets in the LilyPond
documentation are written in relative mode. So it's no surprise that most
of Mutopia pieces are written in relative mode.
In Frescobaldi you can easily change the notes from relative to absolute
and the other way around.


> d) there is no coding convention; many Mutopia codes (e.g.
> http://www.mutopiaproject.org/ftp/BrownCJ/lullaby/lullaby.ly)  give me
> headhaches.
>

If there were too much coding conventions, may a piece written in absolute
mode would not be accepted :-)
Jokes aside.. I agree with you, Mutopia needs better coding conventions and
a general reformatting.


> e) there are numbers of pretty old version (v2.4 for this one :
> http://www.mutopiaproject.org/ftp/CarcassiM/O60/carcassi-op60-01/carcassi-op60-01.ly
> )
>

Few persons are working on it.
I hope to announce in 2014 "All Mutopia pieces are updated to 2.16 or 2.18".


> f)...etc. (too long)
>
> I'd like to conclude that Mutopia site remains the same for years, no
> improvement, no discussion (except you, Federico). So, if nothing changes,
> I don't see any future for this site.
>

Yes, the site is the same but there's been some discussion and activity on
the last months:
https://github.com/chrissawer/The-Mutopia-Project/pulls?direction=desc&page=1&sort=updated&state=closed

I hope that you'll change your mind one day :-)
Thanks for your comments
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Generating a (#:column ...) list in Scheme

2014-05-08 Thread Urs Liska


Oh, please discard the attachment of the previous email, this one is the 
current one ...


Am 08.05.2014 17:25, schrieb Urs Liska:

Hi David,

thanks for the assistance.

Am 08.05.2014 14:19, schrieb David Kastrup:

Urs Liska  writes:


Hi,

I have this construct in a function that creates a combined time
signature:

(grob-interpret-markup grob
  (markup #:override '(baseline-skip . 0) #:number
(#:line ((#:column (numOne denOne))
 (#:column (numTwo denTwo))

It creates two columns from the four given arguments, but I want to be
able to create an arbitrary number of columns.

I see that #:line gets a list of (#:column ()) entries.
But I'm lost with the #: part. What does that mean?


That's the markup macro.  It is documented in the Extending Guide.  More
or less.


And how can I generate such a list with an arbitrary number of
columns?


You can't actually do it in time since the whole point of a macro is
that it operates on its elements _before_ they are evaluated.

So the Extending Guide says:

Known issues and warnings
.

The markup-list argument of commands such as ‘#:line’, ‘#:center’, and
‘#:column’ cannot be a variable or the result of a function call.

  (markup #:line (function-that-returns-markups))

is invalid.  One should use the ‘make-line-markup’,
‘make-center-markup’, or ‘make-column-markup’ functions instead,

  (markup (make-line-markup (function-that-returns-markups)))



That's how far I got - after writing the email ...



So let's fiddle this in another way:


That's where I did _not_ get





Of course, we can just abandon hope regarding the markup macro and do
this as


and this neither.
But I could incorporate the second solution in my function, and now it's
a neat \alternatingTimeSignatures function.

Compile the attached file to see it in action.
I think this should be generally available, and if you don't think it
should be included in LilyPond I'll put it in the openLilyLib snippets.

Best
Urs


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



\version "2.18.2"

alternatingTimeSignatures =
#(define-music-function (parser location timesigs)(list?)
   (_i "Print alternating time signatures. The argument is a Scheme list
of lists. Each list describes one fraction to be printed.
When the function has executed the first of the given time signatures
will be the effective @code{\\time}, while the following are simply graphical.
When using it you will want to use @code{\\omit Score.TimeSignature}
before the next use of @code{\\time}. Please note that this does not
perform any checks regarding the used time signatures, so you're
responsible yourself to write consistent music. To return to normal
use of time signatures use @code{\\undo \\omit Score.TimeSignature}.")
   (let ((firstsig (cons
(caar timesigs)
(cadar timesigs
 #{ \once\override Staff.TimeSignature.stencil =
#(lambda (grob)
   (grob-interpret-markup grob
 #{ \markup \override #'(baseline-skip . 0)
\number
#(map (lambda (x) #{ \markup \column #(map number->string x) #})
   timesigs)
 #}))
\time #firstsig #}))


\relative c' {
  \alternatingTimeSignatures #'((3 8) (4 8) (5 8))
  c8 d e
  \omit Score.TimeSignature
  \time 4/8
  f g a b
  \time 5/8
  c g c, f e
  \time 3/8
  d e f
  g a b
  \time 4/8
  c b a b
  \undo \omit Score.TimeSignature
  \time 5/8
  c b a g f

}

\relative c' {
  \override TupletNumber.text = #tuplet-number::calc-fraction-text
  \alternatingTimeSignatures #'((3 4) (4 7))
  c4 d e
  \omit Score.TimeSignature
  \time 4/7
  \tupletSpan 4*16/7
  \tuplet 7/4 {
f e f fis
g a ais b
  }
  \time 3/4
  c4 g c,
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Transposing instruments in orchestra score

2014-05-08 Thread Orm Finnendahl
Hi David,

 below is a minimal example. One of the disadvantages of this notation
is obvious, if you render the file: Both parts are in the wrong
octave. The "\relative c'" has to get moved inside the brackets of the
\bclarinet and \eb-clarinet calls in order to correct this. I'd much
prefer not having to enclose the music of the different instruments by
brackets in the score section at all.

Is there any clean workaround?

--
Orm

\version "2.19.5"

bclarinet = #(define-music-function
 (parser location music)
 (ly:music?)
  #{
  \instrumentSwitch "b-clarinet"
  \transpose c d { #music }
  #}
   )

ebclarinet = #(define-music-function
 (parser location music)
 (ly:music?)
  #{
  \instrumentSwitch "eb-clarinet"
  \transpose es c { #music }
  #}
   )

\addInstrumentDefinition #"eb-clarinet"
  #`((instrumentTransposition . ,(ly:make-pitch 0 3 -1))
 (shortInstrumentName . "Es-Kl")
 (clefGlyph . "clefs.G")
 (middleCPosition . -6)
 (clefPosition . -2)
 (instrumentCueName . "Es-Kl")
 (midiInstrument . "clarinet"))

\addInstrumentDefinition #"b-clarinet"
  #`((instrumentTransposition . ,(ly:make-pitch -1 7 -1))
 (shortInstrumentName . "Kl")
 (clefGlyph . "clefs.G")
 (middleCPosition . -6)
 (clefPosition . -2)
 (instrumentCueName . "Kl")
 (midiInstrument . "clarinet"))

\score {
  \relative c' {
\clef G
\ebclarinet { c d e f }
\bclarinet { c d e f }
  }
}


--
Orm

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


Re: Make every n'th barline different?

2014-05-08 Thread Gilberto Agostinho
I'm glad this solves your problem, best regards!



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Make-every-n-th-barline-different-tp162164p162177.html
Sent from the User mailing list archive at Nabble.com.

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


Re: Strange difference between Lilypond and Guile plain

2014-05-08 Thread R. Mattes
On Thu, 08 May 2014 17:12:04 +0200, David Kastrup wrote
>
> Yes.  LilyPond defines a music function \void, and (ice-9 syncase) gets
> confused by that for whatever stupid reason (the bug is reported, but
> don't expect any 1.8 releases any more).  Guile 2.0 works but of course
> that is of little consolation.  I think there are command line
> options for "preloading" some Scheme files: those might work before
> \void gets defined.
>
> Other than that, you can put
> (define-module (scm syntactic-shugar) #:use-syntax (ice-9 syncase)
>   #:export-syntax (when unless))
>
> at the top of your file, and
>
> (use-modules (scm syntactic-shugar))
>
> after loading it.
>
> Basically, keep syncase from seeing the LilyPond main module when
> loading it.

Ah, thank's for the info. Putting my code into a module indeed solves
the problem.

 Cheers, RalfD

> --
> David Kastrup


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


Re: Transposing instruments in orchestra score

2014-05-08 Thread David Kastrup
Orm Finnendahl  writes:

> Hi David,
>
>  below is a minimal example. One of the disadvantages of this notation
> is obvious, if you render the file: Both parts are in the wrong
> octave. The "\relative c'" has to get moved inside the brackets of the
> \bclarinet and \eb-clarinet calls in order to correct this. I'd much
> prefer not having to enclose the music of the different instruments by
> brackets in the score section at all.
>
> Is there any clean workaround?

I did mention make-relative in the last reply and provided a full
example.  It's equally applicable to this case.

\version "2.19.0"

bclarinet =
#(define-music-function (parser location music)
   (ly:music?)
   (make-relative (music) music
		  #{
		\instrumentSwitch "b-clarinet"
		\transpose c d $music
		  #}))

ebclarinet =
#(define-music-function (parser location music)
   (ly:music?)
   (make-relative (music) music
		  #{
		\instrumentSwitch "eb-clarinet"
		\transpose es c $music
		  #}))

\addInstrumentDefinition #"eb-clarinet"
  #`((instrumentTransposition . ,(ly:make-pitch 0 3 -1))
 (shortInstrumentName . "Es-Kl")
 (clefGlyph . "clefs.G")
 (middleCPosition . -6)
 (clefPosition . -2)
 (instrumentCueName . "Es-Kl")
 (midiInstrument . "clarinet"))

\addInstrumentDefinition #"b-clarinet"
  #`((instrumentTransposition . ,(ly:make-pitch -1 7 -1))
 (shortInstrumentName . "Kl")
 (clefGlyph . "clefs.G")
 (middleCPosition . -6)
 (clefPosition . -2)
 (instrumentCueName . "Kl")
 (midiInstrument . "clarinet"))

\score {
  \relative c' {
\clef G
\ebclarinet { c d e f }
\bclarinet { c d e f }
  }
}


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


Re: Transposing instruments in orchestra score

2014-05-08 Thread Orm Finnendahl
Hi David,

 thanks, sorry for not noticing this in your previous mail...

--
Orm

Am Donnerstag, den 08. Mai 2014 um 17:50:15 Uhr (+0200) schrieb David Kastrup:
> Orm Finnendahl  writes:
> 
> > Hi David,
> >
> >  below is a minimal example. One of the disadvantages of this notation
> > is obvious, if you render the file: Both parts are in the wrong
> > octave. The "\relative c'" has to get moved inside the brackets of the
> > \bclarinet and \eb-clarinet calls in order to correct this. I'd much
> > prefer not having to enclose the music of the different instruments by
> > brackets in the score section at all.
> >
> > Is there any clean workaround?
> 
> I did mention make-relative in the last reply and provided a full
> example.  It's equally applicable to this case.
> 

> \version "2.19.0"
> 
> bclarinet =
> #(define-music-function (parser location music)
>(ly:music?)
>(make-relative (music) music
> #{
>   \instrumentSwitch "b-clarinet"
>   \transpose c d $music
> #}))
> 
> ebclarinet =
> #(define-music-function (parser location music)
>(ly:music?)
>(make-relative (music) music
> #{
>   \instrumentSwitch "eb-clarinet"
>   \transpose es c $music
> #}))
> 
> \addInstrumentDefinition #"eb-clarinet"
>   #`((instrumentTransposition . ,(ly:make-pitch 0 3 -1))
>  (shortInstrumentName . "Es-Kl")
>  (clefGlyph . "clefs.G")
>  (middleCPosition . -6)
>  (clefPosition . -2)
>  (instrumentCueName . "Es-Kl")
>  (midiInstrument . "clarinet"))
> 
> \addInstrumentDefinition #"b-clarinet"
>   #`((instrumentTransposition . ,(ly:make-pitch -1 7 -1))
>  (shortInstrumentName . "Kl")
>  (clefGlyph . "clefs.G")
>  (middleCPosition . -6)
>  (clefPosition . -2)
>  (instrumentCueName . "Kl")
>  (midiInstrument . "clarinet"))
> 
> \score {
>   \relative c' {
> \clef G
> \ebclarinet { c d e f }
> \bclarinet { c d e f }
>   }
> }

> 
> 
> -- 
> David Kastrup

> ___
> 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: Mutopia [WAS: Re: Add LilyPond incipit on an IMSLP page.]

2014-05-08 Thread Richard Shann
On Thu, 2014-05-08 at 17:35 +0200, Federico Bruni wrote:
> 
> Yes, it does. IMSLP doesn't offer the (lilypond) source used to
> produce the PDF, so their users cannot modify the scores or re-adapt
> them in derivative works. 
It does if you upload it; several scores are up there with LilyPond
source already.
It would be a worthwhile task (for promoting LilyPond) to update
mutopia's lilypond sources and upload them (& the pdfs, of course) to
IMSLP. I haven't looked to see if there is anything on mutopia for
years.

Richard



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


Re: pas de midi avec frescobladi dev

2014-05-08 Thread Alex Loomis
Avez-vous Timidity ? Je l'ai du installer sur mon ordinateur.
On May 8, 2014 12:12 PM, "Éditions IN NOMINE" 
wrote:

> Merci pour cette réponse rapide, mais hélas, j'avais déjà touché à tous
> les boutons avant de poster... bon ça ne fonctionne pas chez moi... Je n'ai
> que Midi Through Port-0 pour les ports midi...
>
> Je mets en PJ mes copies d'écran de paramétrage, au cas où...
>
> A bientôt !
>
> ---
> Jean-Marc LEGRAND
> Éditions IN NOMINE
>
> Le , JJG a écrit :
>
>> Le 08/05/2014 15:43, Éditions IN NOMINE a écrit :
>>
>>> Bonjour à toute la troupe !
>>>
>>> Je suis parvenu à installer la dernière frescobaldi dev, ce qui est déjà
>>> un exploit pour moi, en soi... et à ajouter python-poppler-qt4 ce qui en
>>> est un autre !
>>> Il ne me reste plus qu'à entendre ce que je vois : quand je lance le
>>> lecteur midi intégré, le fichier midi se déroule mais pas de son et
>>> l'indication : "Aucune sortie trouvée !".
>>>
>>> J'arrive à lire le fichier midi par ailleurs (vlc), mais pas au sein de
>>> ce merveilleux ide. Any idea ?
>>>
>>
>> yes !
>>
>> Aller dans /Editions/Préférences/Réglages MIDI/rafraîchir les ports MIDI
>>
>> That's all falks !
>>
>> (pardon... chez moi, ça marche !)
>
>
> ___
> 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: Make every n'th barline different?

2014-05-08 Thread Toine Schreurs
On Thu, May 08, 2014 at 04:35:40PM +0100, Graham King wrote:
> Thanks Gilberto, that's simpler and better than anything I would have
> cooked up.  And by simply using:
> 
> \version "2.19.2"
> barlines = {
>   \set Timing.defaultBarType = ";"
>   \repeat unfold 3 { s1 }
>   \bar "|"
> }
> \relative c' {
>   << 
>  \repeat unfold 12 {c d e f}
>  \\
>  \repeat unfold 4 \barlines
>   >>
> }

I would leave out the \\ in this case. The music will otherwise
appear in voiceOne.

Toine Schreurs

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


Re: Mutopia [WAS: Re: Add LilyPond incipit on an IMSLP page.]

2014-05-08 Thread Jean-Charles Malahieude

Le 08/05/2014 17:35, Federico Bruni disait :

2014-05-08 16:49 GMT+02:00 Pierre Perol-Schneider:


Can I  ask you why? It's because of the license restrictions
(NonCommercial clause is not accepted by Mutopia)?



Because I'm no Mutopia user.

Now the right question would be why am I not a user ?
I've just take a quick look at the Mutopia site. I'd like to add :
a) it is written "The Mutopia Project offers sheet music editions of
classical music for free download" ; which means that it is in direct
competition with IMSLP. Does it make sense ?



Yes, it does. IMSLP doesn't offer the (lilypond) source used to produce the
PDF, so their users cannot modify the scores or re-adapt them in derivative
works.



It's up to the typesetter to upload them (what I did for BWV 106 and 246 
as well as King Arthur, and will do when I'm finished with Monteverdi's 
Sanctissimae Virgini Missa and vespers next year).


I would add that in some circumstances, page-size (A4 *and* letter) 
makes a score not acceptable on Mutopia.


Cheers,
Jean-Charles

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


Re: Transposing instruments in orchestra score

2014-05-08 Thread Orm Finnendahl
Hi,

 sorry, I seem to have missed the replies to the thread and just reread
them in the list archive.

David, could you provide me with a hint on how to get the suggested
masterToScore and masterToPart functions working? I guess this would
be the most suitable method for my purpose as I'm generating the parts
and score with makefiles in a modular fashion including filters
anyway. 

In principle the method seems clear, but I don't know (yet), how to
access the transposition properties within a function and revert or
cancel their effect.

--
Orm


On Thu, 08 May 2014 10:57:46 +0200, David Kastrup wrote:
>
> > Naturally, but a music function like that misses the point. The
> > current way isn't cumbersome because it's verbose, it's cumbersome
> > because it requires breaking music into separate blocks using
> > braces. What I'd like to be able to do is change the transposition
> > like a context property, so that I could write something like:
> >
> > clarinet = \relative c' {
> > \transposing bf
> > c4 d e d
> > \tag #'score \transposing a
> > c d e d
> > \tag #'parts \transposing a
> > \tag #'score \transposing c'
> > c d e d
> > }
> >
> > Obviously, this is a contrived situation, but you see what I'm getting
> > at.

> You are aware that you can _quote_ the transposed/transposing clarinet
> parts in score context and that the quote will appear in concert pitch,
> namely taking the setting of \transposition into account and reversing
> its effect on the notation?

> It's conceivable to create two music functions masterToScore and
> masterToPart where the first music function, when applied to a part like
> \clarinet above (just writing \transposition instead of \transposing)
> will _remove_ all \transposition statements in order not to mess up the
> score Midi, and the second one will instead _heed_ all \transposition
> statements and apply their _inverse_ to all following music in order to
> make a difference for the _printed_ music in the part.

> The disadvantage obviously being that \clarinet itself in "master input"
> will not be suitable for either score or part without filtering it
> further.

> -- 
> David Kastrup

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


Re: Make every n'th barline different?

2014-05-08 Thread Graham King
On Thu, 2014-05-08 at 18:38 +0200, Toine Schreurs wrote:

> On Thu, May 08, 2014 at 04:35:40PM +0100, Graham King wrote:
> > Thanks Gilberto, that's simpler and better than anything I would have
> > cooked up.  And by simply using:
> > 
> > \version "2.19.2"
> > barlines = {
> >   \set Timing.defaultBarType = ";"
> >   \repeat unfold 3 { s1 }
> >   \bar "|"
> > }
> > \relative c' {
> >   << 
> >  \repeat unfold 12 {c d e f}
> >  \\
> >  \repeat unfold 4 \barlines
> >   >>
> > }
> 
> I would leave out the \\ in this case. The music will otherwise
> appear in voiceOne.
> 
> Toine Schreurs


Quite right, Toine.  This solves my self-inflicted problem with vertical
positioning of rests.  Doh!

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


Re: Transposing instruments in orchestra score

2014-05-08 Thread David Kastrup
Orm Finnendahl  writes:

> Hi,
>
>  sorry, I seem to have missed the replies to the thread and just reread
> them in the list archive.
>
> David, could you provide me with a hint on how to get the suggested
> masterToScore and masterToPart functions working? I guess this would
> be the most suitable method for my purpose as I'm generating the parts
> and score with makefiles in a modular fashion including filters
> anyway. 
>
> In principle the method seems clear, but I don't know (yet), how to
> access the transposition properties within a function and revert or
> cancel their effect.

One has to recurse through the music's constituents, accumulate all
elements, fish out the transpositions and act on the rest.  It's not
rocket science but takes more than a few minutes to do.  And this
evening I don't have more than a few minutes...

-- 
David Kastrup

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


Re: [SPAM] Re: Generating a (#:column ...) list in Scheme

2014-05-08 Thread Urs Liska


I can't help it to be overwhelmed by LilyPond over and over again :-)

Look at that score:

http://lilypondblog.org/wp-content/uploads/2014/05/alternatingTimeSignatures.pdf

and wonder about the nested tuplets over crazy bar changes.
If you notice the lower voice spans less music than the upper, but with 
one calculated \scaleDurations 31/28 the two voiced unite perfectly :-)


Congratulations to all who make this engraving miracles possible!

Best
Urs

Am 08.05.2014 17:35, schrieb Urs Liska:


Oh, please discard the attachment of the previous email, this one is the
current one ...

Am 08.05.2014 17:25, schrieb Urs Liska:

Hi David,

thanks for the assistance.

Am 08.05.2014 14:19, schrieb David Kastrup:

Urs Liska  writes:


Hi,

I have this construct in a function that creates a combined time
signature:

(grob-interpret-markup grob
  (markup #:override '(baseline-skip . 0) #:number
(#:line ((#:column (numOne denOne))
 (#:column (numTwo denTwo))

It creates two columns from the four given arguments, but I want to be
able to create an arbitrary number of columns.

I see that #:line gets a list of (#:column ()) entries.
But I'm lost with the #: part. What does that mean?


That's the markup macro.  It is documented in the Extending Guide.  More
or less.


And how can I generate such a list with an arbitrary number of
columns?


You can't actually do it in time since the whole point of a macro is
that it operates on its elements _before_ they are evaluated.

So the Extending Guide says:

Known issues and warnings
.

The markup-list argument of commands such as ‘#:line’, ‘#:center’, and
‘#:column’ cannot be a variable or the result of a function call.

  (markup #:line (function-that-returns-markups))

is invalid.  One should use the ‘make-line-markup’,
‘make-center-markup’, or ‘make-column-markup’ functions instead,

  (markup (make-line-markup (function-that-returns-markups)))



That's how far I got - after writing the email ...



So let's fiddle this in another way:


That's where I did _not_ get





Of course, we can just abandon hope regarding the markup macro and do
this as


and this neither.
But I could incorporate the second solution in my function, and now it's
a neat \alternatingTimeSignatures function.

Compile the attached file to see it in action.
I think this should be generally available, and if you don't think it
should be included in LilyPond I'll put it in the openLilyLib snippets.

Best
Urs


___
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




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


Re: [SPAM] Re: Generating a (#:column ...) list in Scheme

2014-05-08 Thread Pierre Perol-Schneider
2014-05-08 19:02 GMT+02:00 Urs Liska :



> Look at that score:
>
> http://lilypondblog.org/wp-content/uploads/2014/05/
> alternatingTimeSignatures.pdf
>


Thanks Urs, very nice.
The alignment seems a little weird though.
Try :  #{ \markup \center-column #(map number->string x) #})

It looks much better.
Cheers,
~Pierre
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Mutopia [WAS: Re: Add LilyPond incipit on an IMSLP page.]

2014-05-08 Thread Federico Bruni
Il 08/mag/2014 18:07 "Richard Shann"  ha scritto:
>
> On Thu, 2014-05-08 at 17:35 +0200, Federico Bruni wrote:
> >
> > Yes, it does. IMSLP doesn't offer the (lilypond) source used to
> > produce the PDF, so their users cannot modify the scores or re-adapt
> > them in derivative works.
> It does if you upload it; several scores are up there with LilyPond
> source already.

Ok, so you can attach any file.
But what makes Mutopia different is that any piece _must_ have the source
file, otherwise it won't be accepted. The ability to edit a score is not
optional, it's the core of Mutopia. The other is quality.

> It would be a worthwhile task (for promoting LilyPond) to update
> mutopia's lilypond sources and upload them (& the pdfs, of course) to
> IMSLP. I haven't looked to see if there is anything on mutopia for
> years.

I'd prefer a search engine which looks up IMSLP, Mutopia and other music
libraries and returns the links to the searched piece/author page.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Add LilyPond incipit on an IMSLP page.

2014-05-08 Thread Knute Snortum
Pierre: (Why I'm not a Mutopia user.)  I think many of your criticisms are
legitimate.  I'd like to be part of making Mutopia a better site.  Right
now I am just a contributor but at some point maybe I can help with making
the site better.

I don't think there is competition between IMSLP and Mutopia.  There is
some overlap, of course.  I could be wrong but what I see mostly at IMSLP
are photocopies of scores.  If that's right, I think there's a place for
newly created PDFs that are clear.  Also, many times I click on a PDF and
it's so old a version that it doesn't render.  At least with a LilyPond
file you can (usually) update it and get a decent PDF out of it.

I'd like to see more cooperation between Mutopia and IMSLP.  Is there
anything you could suggest?  Perhaps cross links?


Knute Snortum
(via Gmail)


On Thu, May 8, 2014 at 7:49 AM, Pierre Perol-Schneider <
pierre.schneider.pa...@gmail.com> wrote:

> 2014-05-08 8:58 GMT+02:00 Federico Bruni :
>
>
>> It's the LilyPond plugin for MediaWiki?
>>
>
> Yep, see :
> http://www.imslpforums.org/viewtopic.php?f=3&t=7034&hilit=incipit
>
>
>> BTW, in January I launched a "survey" about contributions to Mutopia:
>>  http://lists.gnu.org/archive/html/lilypond-user/2014-01/msg9.html
>>
>
> Hum, I've missed this one.
>
>
>> As far as I know, you never contributed to it (just had a look on Mutopia
>> git repository).
>>
>
> No I didn't.
>
>
>> Can I  ask you why? It's because of the license restrictions
>> (NonCommercial clause is not accepted by Mutopia)?
>>
>
> Because I'm no Mutopia user.
>
> Now the right question would be why am I not a user ?
> Well, few years ago I've downloaded one or two files and, as far as I
> remember :
> a) None of'em were compilable.
> b) Copy/paste-ing the notes took me much more time than rewriting the
> whole score after a facsimile.
> c) Pdfs look bad (what's the purpose of such footers ??).
>
> I've just take a quick look at the Mutopia site. I'd like to add :
> a) it is written "The Mutopia Project offers sheet music editions of
> classical music for free download" ; which means that it is in direct
> competition with IMSLP. Does it make sense ?
> b) the composer's pages are not user-friendly ; why not using a wiki
> system ?
> c) a majority of (all ?) scores are coded "relatively" ; exept when coding
> for organ, piano, harp, etc. I never use \relative
> d) there is no coding convention; many Mutopia codes (e.g.
> http://www.mutopiaproject.org/ftp/BrownCJ/lullaby/lullaby.ly)  give me
> headhaches.
> e) there are numbers of pretty old version (v2.4 for this one :
> http://www.mutopiaproject.org/ftp/CarcassiM/O60/carcassi-op60-01/carcassi-op60-01.ly
> )
> f)...etc. (too long)
>
> I'd like to conclude that Mutopia site remains the same for years, no
> improvement, no discussion (except you, Federico). So, if nothing changes,
> I don't see any future for this site.
>
> Cheers,
> ~Pierre
>
>
>
> ___
> 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: Trill span problem

2014-05-08 Thread Peter Bjuhr


On 2014-05-08 16:22, Knute Snortum wrote:
I have a problem with sequential trill spans.  they seems to be just a 
little too long and therefore they stagger vertically.  I would think 
the solution is to shorten the trill span but I'm not sure how to do 
this.


\version "2.18.2"


\relative c''' {

\time 2/4

  | f2 \startTrillSpan \ppp

  | d2 \startTrillSpan

  | c4 \startTrillSpan d \startTrillSpan

  | c4 \startTrillSpan b \startTrillSpan

  | c2 \startTrillSpan

  | b2 \startTrillSpan

  | a2 \startTrillSpan

  | f2 \startTrillSpan

}



I don't know if it's the best solution, but you can try adding

\override TrillSpanner.bound-details #'right #'padding = #1.9


before all the trills.


Best
Peter


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


Re: Transposing instruments in orchestra score

2014-05-08 Thread Kieren MacMillan
Hello all,

Sorry I’m late to the party…

A critical feature of a proper and useable multi-instrumentalist framework 
would be the ability to put in global variables which include the key 
signature(s) for the work, and the part would present the correct transposition 
of that key signature (as well as the pitches, of course) upon the 
switchInstrument call.

David and I played around with some options last year, and the thread ended on 
a less-than-enthusastic note. Perhaps it’s time to revive this and clean it up 
once and for all? I can tell you for certain that a killer 
multi-instrumentalist framework would go a very long way to enticing some of my 
composer and MD buddies over to The Pond (or, as they refer to it, “The Dark 
Side”).

Best,
Kieren.

———
Kieren MacMillan, composer
www:  
email:  i...@kierenmacmillan.info
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond and OS-X Mavericks

2014-05-08 Thread Dennis Clason
Thanks very, very much, Hans.

I have no idea how I downloaded the PPC version, but obviously I must have.  I 
re-installed LP from your link and it runs again.

Dennis Clason
dennis.cla...@gmail.com



On May 8, 2014, at 7:23 AM, Hans Aberg  wrote:

> On 8 May 2014, at 05:57, Dennis Clason  wrote:
> 
>> I’m using LilyPond 2.18.2
> 
> It seems you are using the PPC version - it does not work in OS X 10.7 or 
> later (requires Rosetta). Try the x86 version, the first entry on this page 
> [1], it works.
> 
> 1. http://www.lilypond.org/macos-x.html
> 
> 

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


Re: Mensural ligature

2014-05-08 Thread karl
Jean-Charles Malahieude:
> On my way to typeset a mass by Monteverdi, I'm blocked with some 
> ligatures (see 
> http://musicofyesterday.com/historical-music-theory/expanded-history-musical-notation-part-4/
>  
> for examples)

You seem to equate ligatures with legato, I'd be interested to hear
if you have any references to that.

> I can code the first one in its 8th image like this:
> 
><< \tag #'Urtext { \[ d1 e1*3/4 \] }
>   \tag #'Modern { d1 e2. } >> f4 g1
> 
> but don't find any way to get the E in black.

This is what I did one in a time (\version "2.6.5"):

g1 \[ d \melisma
  % this is a fake minor calor, together with the moved b4
  \once \override TextScript #'extra-offset = #'( 0.9 . -1.8)
  a'1*3/4^\markup{ \beam #0.9 #0 #0.5 }
  \]

(found near the end of [1]).
The result was on page 7 (between 64 and 65) in [2].

Regards,
/Karl Hammar

[1] http://turkos.aspodata.se/noter/palestrina/dies_sanctificatus/Music.ly
[2] http://turkos.aspodata.se/noter/palestrina/dies_sanctificatus/all.pdf

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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