Re: lilypond-user Digest, Vol 133, Issue 102

2013-12-12 Thread Richard Shann
On Wed, 2013-12-11 at 20:28 -0500, Kieren MacMillan wrote:
 Hello all,
 
 So interesting that this came up on the list this week… I was brainstorming 
 an orchestration teaching tool,

In case it is not widely appreciated ...
All sorts of tools and teaching aids become quite trivial if the music
is stored in a computer-friendly data structure rather than a
human-friendly one. This is one extra reason for doing the bulk note
entry using Denemo, besides the sheer speed and ease of sight-reading
music while entering it. Writing loops over movements, staffs, measures
and notes is trivial using Scheme, so that any sort of query can be made
without much effort.

Richard

  where one could find the distribution of notes in an instrument across an 
 entire score, to show students where [good] composers tend to have their 
 instruments play.
 
 How hard would that be to implement as a function?
 
 Thanks,
 Kieren.
 ___
 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: How to count the number of notes in a .ly file? (David Kastrup)

2013-12-12 Thread Urs Liska

Am 11.12.2013 19:47, schrieb Jan Rosseel:

From: Urs Liska u...@openlilylib.org

I repeat my (corrected) suggestion which could be a workaround at

least.

If you can use Frescobaldi from Git you can pull and checkout the
accounting branch (not statistics) of my Frescobaldi fork on
https://github.com/uliska/frescobaldi. (Ah no, you don't necessarily

need

Git, you can also download a ZIP file of any branch from Github) This

allows

you to copy a rudimentary statistic to clipboard on a file basis (the

open

document). This contains a line

XX | Note

which you could grep or something like this to get your numbers.

Very hacky but _could_ work if the number of files is not too big.

HTH
Urs


I'll give that a try after our launch. It would be a good feature to
have in Frescobaldi. It's a common feature in a word processor, and also
belongs in a tool like Frescobaldi.


Yes, I intended to do something about it, but it got surpassed by so 
many other, more urgent tasks...
What I'm thinking of is a detailed statistics panel. This should count 
all sort of items: Notes, slurs, manual beams, function definitions, 
function calls etc.


Of course this has to consider a whole score including all includes, but 
(as you suspected correctly) currently it only works on a single file.
I'm thinking of an interface that shows you the include paths and allows 
you to stop the recursion at any point so libraries aren't accounted for.


A more fancy idea is to give different items a configurable relative 
weight (e.g.: note=10,articulation=15,\shape=40), and you can then 
assign a value to the weight units (e.g. 10 = 3Ct.) and get the money 
you can charge for your work.
You'd have to experiment for some time, calculating existing scores 
until they match the prize you consider appropriate (and realistic), so 
you could determine a way to (more) reliably charge engraving tasks 
based on the content instead of only number of pages.


Anybody interested in joining this is welcome (although I'm currently 
not planning to do any work on this).


Urs

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


Re: lilypond-user Digest, Vol 133, Issue 102

2013-12-12 Thread David Kastrup
Kieren MacMillan kieren_macmil...@sympatico.ca writes:

 Hello all,

 So interesting that this came up on the list this week… I was
 brainstorming an orchestration teaching tool, where one could find the
 distribution of notes in an instrument across an entire score, to show
 students where [good] composers tend to have their instruments play.

 How hard would that be to implement as a function?

Probably easiest done as an engraver as then you have the timing
information (absolute and bar number) available.

-- 
David Kastrup

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


Re: A thought on Windows Experience

2013-12-12 Thread Peter Gentry
Actually I always thought WordStar was better than WordPerfect and still yearn 
for Dos and Basic. Progress is a wonderful thing,
things just get more complex

regards
Peter Gentry 



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


Re: A thought on Windows Experience

2013-12-12 Thread David Kastrup
Peter Gentry peter.gen...@sunscales.co.uk writes:

 Actually I always thought WordStar was better than WordPerfect and
 still yearn for Dos and Basic.

Dos?  How newfangled.  I had to use the debugger to patch the terminal
control sequences for my (text) terminal emulator under CP/M into
WordStar.  Yes, the manual contained the patch locations and
descriptions for the terminal sequences and geometry.

It was only for later versions that a program was provided that asked
the respective questions about your terminal control sequences and did
the patching on its own.

 Progress is a wonderful thing, things just get more complex

I am not sure that configuration has become so much more difficult.

-- 
David Kastrup

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


Re: A thought on Windows Experience

2013-12-12 Thread Christ van Willegen
On Thu, Dec 12, 2013 at 3:25 PM, David Kastrup d...@gnu.org wrote:
 Dos?  How newfangled.  I had to use the debugger to patch the terminal
 control sequences for my (text) terminal emulator under CP/M into
 WordStar.  Yes, the manual contained the patch locations and
 descriptions for the terminal sequences and geometry.

Hey, I remember that!

There were also patch areas to put in (miniscule) pieces of Assembly
for things like set-up of the terminal and stuff.

Totally off-topic and totally letting everyone know that I'm an old b*tard...

Christ van Willegen
-- 
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

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


Re: Turns

2013-12-12 Thread David Kastrup
Mark Stephen Mrotek carsonm...@ca.rr.com writes:

 Shane Brandes,

  

 Please allow me to tap your expertise once again.

  

 In most cases the command you gave worked. Two identical ( as far as I can
 see ) codes are not producing identical engravings. 

  

 My error?

extra-offset tells LilyPond to first do all its work (including
collision avoidance) and then moves the result without any consideration
by the given amount.  The situation where you would use that is mostly
to correct errors in a printout by overriding LilyPond's work after the
fact, stuff you'd probably do by dragging with a mouse in a graphical
program.

It does not really work well as a general mechanism.  For rearranging
stacking orders and similar automatically, the manual offers a number of
recipes in
URL:http://lilypond.org/doc/v2.16/Documentation/learning/outside_002dstaff-objects.

It seems like an anomaly that advanced material like this would be
covered in the Learning Manual and is seemingly not to be found in the
Notation Reference.

-- 
David Kastrup

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


RE: Turns

2013-12-12 Thread Mark Stephen Mrotek
Mr. Kastrup,

Thank you for your input and providing another learning experience.

Mark

-Original Message-
From: David Kastrup [mailto:d...@gnu.org] 
Sent: Thursday, December 12, 2013 6:57 AM
To: Mark Stephen Mrotek
Cc: 'Shane Brandes'; lilypond-user@gnu.org
Subject: Re: Turns

Mark Stephen Mrotek carsonm...@ca.rr.com writes:

 Shane Brandes,

  

 Please allow me to tap your expertise once again.

  

 In most cases the command you gave worked. Two identical ( as far as I 
 can see ) codes are not producing identical engravings.

  

 My error?

extra-offset tells LilyPond to first do all its work (including collision
avoidance) and then moves the result without any consideration by the given
amount.  The situation where you would use that is mostly to correct errors
in a printout by overriding LilyPond's work after the fact, stuff you'd
probably do by dragging with a mouse in a graphical program.

It does not really work well as a general mechanism.  For rearranging
stacking orders and similar automatically, the manual offers a number of
recipes in
URL:http://lilypond.org/doc/v2.16/Documentation/learning/outside_002dstaff-
objects.

It seems like an anomaly that advanced material like this would be covered
in the Learning Manual and is seemingly not to be found in the Notation
Reference.

--
David Kastrup


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


Re: Turns

2013-12-12 Thread Trevor Daniels

David Kastrup wrote Thursday, December 12, 2013 2:57 PM

 It does not really work well as a general mechanism.  For rearranging
 stacking orders and similar automatically, the manual offers a number of
 recipes in
 URL:http://lilypond.org/doc/v2.16/Documentation/learning/outside_002dstaff-objects.
 
 It seems like an anomaly that advanced material like this would be
 covered in the Learning Manual and is seemingly not to be found in the
 Notation Reference.

Not really.  I selected stuff like this for the Learning Manual  based on the 
questions appearing on the -user list around 3-4 years ago.  Placement of 
objects used to be a common question then.

So why not in the Notation Reference?  Because we don't document
overrides in general - that's what the Internal Reference is for.  And
we don't use the NR to explain things - that's done in the LM.

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


RE: lilypond-user Digest, Vol 133, Issue 102

2013-12-12 Thread Eduardo Silva


 Subject: Re: lilypond-user Digest, Vol 133, Issue 102
 From: kieren_macmil...@sympatico.ca
 Date: Wed, 11 Dec 2013 20:28:03 -0500
 To: j...@rosseel.com
 CC: lilypond-user@gnu.org
 
 Hello all,
 
 So interesting that this came up on the list this week… I was brainstorming 
 an orchestration teaching tool, where one could find the distribution of 
 notes in an instrument across an entire score, to show students where [good] 
 composers tend to have their instruments play.
 
 How hard would that be to implement as a function?
 
I imagine these features could be done with a music analysis framework like 
music21 (http://web.mit.edu/music21/)? It's scripted in python. Works with 
MusicXML, though. Another one that I would like to check out is the commercial 
(but inexpensive) one: http://www.melodicmatch.com. (Works with MusicXML, as 
well).
  ___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


tranpose relative to the last pitch

2013-12-12 Thread Tom van der Hoeven

Suppose I have
music = \relative c'{c b a g f e e f g a b c}
my instrument is limited so it cannot play the pitch f end below
I have to raise  f e e f by a terts of an octave
Is there a function shift or can it be made such that

music = \relative c'{c b a g \terts{f e e f} g a b c}

is equivalent to

\relative c'{c b a g a g g a g a b c}

if you use :
terts =  #(define-music-function (parser location ploep) (ly:music?)
#{ \transpose c e \relative c' $ploep #})

the c' after \relative should actualy be the last-pitch (in the example g)
Help will be appreciated

Tom

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


Re: tranpose relative to the last pitch

2013-12-12 Thread Carl Peterson
On Thu, Dec 12, 2013 at 4:26 PM, Tom van der Hoeven 
t...@vanderhoeven.bizwrote:

 Suppose I have
 music = \relative c'{c b a g f e e f g a b c}
 my instrument is limited so it cannot play the pitch f end below
 I have to raise  f e e f by a terts of an octave
 Is there a function shift or can it be made such that

 music = \relative c'{c b a g \terts{f e e f} g a b c}

 is equivalent to

 \relative c'{c b a g a g g a g a b c}

 if you use :
 terts =  #(define-music-function (parser location ploep) (ly:music?)
 #{ \transpose c e \relative c' $ploep #})

 the c' after \relative should actualy be the last-pitch (in the example g)
 Help will be appreciated

 Tom


A couple of things:

I don't think you can do what you're wanting to do in relative mode. I
think you need to use

music = { c' b a g \terts{f e e f} g a b c' }

and keep everything in absolute, at least, if you're going to embed a
Scheme function like this. I can foresee possible combinations of this that
are going to make your music go all over the place.

Secondly, as a musical point, what you're wanting is not what you're going
to get. Your function looks like it should produce

c' b a g a gis gis a g a b c

What you ideally need is a function that takes a musical expression and a
cutoff note, then inspects each note and translates the note (raises it) if
it falls outside the range. I'm not versed enough in Scheme to produce this
function, but it would provide the flexibility of allowing you to use
relative mode if so desired, and would not require you to explicitly define
the notes to transpose ahead of time.

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


Re: lilypond-user Digest, Vol 133, Issue 102

2013-12-12 Thread Shane Brandes
Music21, does not really work to terribly well with Lilypond.
apparently there is a method of using Lilypond to generate output, but
it only reads musicxml and Lilypond currently cannot export to
musicxml. You can sidestep the issue partially and run midi files
through music21 but it reduces the usefulness since you lose a number
of things that might want to be examined.
But on the bright side I managed to get Music21 working under ubuntu
studio 13.10.

Shane

On Thu, Dec 12, 2013 at 2:34 PM, Eduardo Silva
eduardo.su...@hotmail.com wrote:


 Subject: Re: lilypond-user Digest, Vol 133, Issue 102
 From: kieren_macmil...@sympatico.ca
 Date: Wed, 11 Dec 2013 20:28:03 -0500
 To: j...@rosseel.com
 CC: lilypond-user@gnu.org


 Hello all,

 So interesting that this came up on the list this week… I was
 brainstorming an orchestration teaching tool, where one could find the
 distribution of notes in an instrument across an entire score, to show
 students where [good] composers tend to have their instruments play.

 How hard would that be to implement as a function?

 I imagine these features could be done with a music analysis framework like
 music21 (http://web.mit.edu/music21/)? It's scripted in python. Works with
 MusicXML, though. Another one that I would like to check out is the
 commercial (but inexpensive) one: http://www.melodicmatch.com. (Works with
 MusicXML, as well).


 ___
 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


include within include

2013-12-12 Thread Noeck
Hi,

I can include a file within an included file. But I would like
main.ly: \include folder/first.ly
first.ly: \inlcude second.ly
but second.ly is in the same folder as first.ly

Is there a way to do that? Or do I always have to specify the path
(relative to the lilypond include path)?

Thanks,
Joram

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


Re: include within include

2013-12-12 Thread Urs Liska

Am 12.12.2013 20:47, schrieb Noeck:

Hi,

I can include a file within an included file. But I would like
main.ly: \include folder/first.ly
first.ly: \inlcude second.ly
but second.ly is in the same folder as first.ly

Is there a way to do that? Or do I always have to specify the path
(relative to the lilypond include path)?


Did you try that? Isn't what you want default behaviour?

But if not simply write
#(ly:set-option 'relative-includes #t)

before the \include statement in first.ly
This is described in 
http://www.lilypond.org/doc/v2.17/Documentation/notation/including-lilypond-files


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


Re: include within include

2013-12-12 Thread Urs Liska

Am 12.12.2013 23:37, schrieb Urs Liska:
This is described in 
http://www.lilypond.org/doc/v2.17/Documentation/notation/including-lilypond-files


ah, and 
http://www.lilypond.org/doc/v2.16/Documentation/notation/including-lilypond-files 

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


Re: lilypond-user Digest, Vol 133, Issue 102

2013-12-12 Thread Jim Long
On Thu, Dec 12, 2013 at 07:24:51AM +0100, David Kastrup wrote:
 Kieren MacMillan kieren_macmil...@sympatico.ca writes:
 
  I was
  brainstorming an orchestration teaching tool, where one could find the
  distribution of notes in an instrument across an entire score, to show
  students where [good] composers tend to have their instruments play.
 
  How hard would that be to implement as a function?
 
 Probably easiest done as an engraver as then you have the timing
 information (absolute and bar number) available.

Perhaps I misunderstand Kieren and/or David, but I took Kieren's
idea to be a sort of 'spectral' analysis, whereas David's reply
seems to imply a 'temporal' analysis.  At least, I understand
Kieren to be wondering what is the distribution of pitches
assigned to a given instrument throughout this score? or less
technically, what portion of each instrument's range does this
score utilize?  This is somewhat like a weighted ambitus as
shown perhaps by a  bell curve which shows not only the highest
and lowest pitches, but also includes the weighting of which
pitches are used more frequently than others.

David's comment makes me wonder, what group of instruments are
likely to be playing [at all; and how loudly] during any given
moment of the score, and how does the instrumentation (possibly
including the relative density [note count, dynamics]) change
through the timeline of the score?  This makes my mind's eye
envision a line graph with dynamics as a dependent variable of
time, and differently colored (or dotted/dashed) lines showing
the relative amplitude (dynamics) of each instrument or group of
instruments (strings/brass/woodwinds/percussion,
kazoo/washtub/spoons, whatever).

Not that I'm putting this on anyone's to-do list!  I just wanted
to compliment both brainstormers for posing some interesting
questions.



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


Re: include within include

2013-12-12 Thread Noeck
Thanks Urs,

I should have found this myself.
Just to confirm:
#(ly:set-option 'relative-includes #t)
does what I want, it is announced as default for 'future versions' but
it is not yet the default in 2.16 or 2.17.96

Cheers,
Joram

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


Re: tranpose relative to the last pitch

2013-12-12 Thread David Kastrup
Tom van der Hoeven t...@vanderhoeven.biz writes:

 Suppose I have
 music = \relative c'{c b a g f e e f g a b c}
 my instrument is limited so it cannot play the pitch f end below
 I have to raise  f e e f by a terts of an octave
 Is there a function shift or can it be made such that

 music = \relative c'{c b a g \terts{f e e f} g a b c}

 is equivalent to

 \relative c'{c b a g a g g a g a b c}

 if you use :
 terts =  #(define-music-function (parser location ploep) (ly:music?)
 #{ \transpose c e \relative c' $ploep #})

 the c' after \relative should actualy be the last-pitch (in the example g)
 Help will be appreciated

The current development version has a new definition of makerelative
allowing for

terts =  #(define-music-function (parser location ploep) (ly:music?)
  (make-relative (ploep) ploep
#{ \transpose c e $ploep #}))

-- 
David Kastrup

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