Re: (fwd)

2017-03-21 Thread Martin Tarenskeen


On Mon, 20 Mar 2017, Trevor wrote:


  It's not hard to hit LilyBin from the command line, but the interface isn't
  great. Try curl -X POST -H "Content-Type:application/json"
  
https://7icpm9qr6a.execute-api.us-west-2.amazonaws.com/prod/prepare_preview/stable
  -d '{"code": "% LilyBin\n\\score{\n\t{\n\t\t\\repeat unfold 120
  { c4. d e f }\n\t}\n\n\t\\layout{}\n\t\\midi{}\n}\n"}'.
  The response will include an "id" field. You can download the result from
  https://s3-us-west-2.amazonaws.com/lilybin-scores/${id}.pdf.


Thanks. That's a good start. I have tried it, and it works. But yes, it looks 
ugly :-)


I am trying to put this idea in a working bash or python script now.
I am not really a virtuoso with grep and regular expressions, but I guess I 
could use that to extract the stringvalue after the "id": field from the 
response I am getting from the first line


{"stdout":"","stderr":"Processing `input.ly'\nParsing...\ninput.ly:1: warning: 
no \\version statement found, please add\n\n\\version \"2.18.2\"\n\nfor future 
compatibility\nInterpreting music...[8][16][24][32][40][48][56]\nPreprocessing 
graphical objects...\nInterpreting music...\nMIDI output to 
`rendered.midi'...\nFinding the ideal number of pages...\nFitting music on 1 or 
2 pages...\nDrawing systems...\nLayout output to `rendered.ps'...\nConverting 
to `./rendered.pdf'...\nSuccess: compilation successfully 
completed\n","id":"1490078842785-3632-246681695-lnytb2x5437hkt9","files":{"pdf":true,"midi":true}}


I am sure one of you reading this wants to take the challenge to construct a 
regex to use with grep that will return the id, in this example that should be 
"1490078842785-3632-246681695-lnytb2x5437hkt9" without the quotes?


--

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


Re: What can Premusic do that others can't?

2017-03-21 Thread David Kastrup
Jacques Menu Muzhic  writes:

> Hello Have,
>
> I don’t understand what you mean by square characters: can you make that more
> clear?

Character pairs.  TTY dimensions mean that they occupy an almost square
area.

In an old video game I wrote, I used this kind of representation for
pregenerating graphics.


BBRRBLRR
YYBB
BBYY
BBRRBBYYBBYY
YYYYRRYYMMYYBBYYBLYY
BBBLYYBLBBYYMMYYBBBLBLYYBLBB
BLBLYYBLBLYYBLBBYYBBYYBBYYBLYYBLBLYYBLBL
BBBLBLYYBLBLYYBLBLBB
BBBLBLBLBLBLBLBB
BBYYYYBB
BLBLBLBLBBCCCCBBBLBLBLBL
BBYYBBCCBBBBCCBBYYBB
BBBLBLBLBLBBYYWWBBWWCCCCWWBBWWYYBBBLBLBLBLBB
BBBBCCCCBBBBCCCCBBBB
BLBLBLBLBLBBYYYYBBBLBLBLBLBL
YYBBWWWWBBYY
BLBLBLBLBLBBBBBLBLBLBLBL
BBYYBBBBYYBB
BBBLBLBLBLBLBLBLBBYYWWWWYYBBBLBLBLBLBLBLBLBB
BBYYBBBBYYBB
BLBLBLBLBLBLBLBLBLBBBBBLBLBLBLBLBLBLBLBL
BBBB
BLBLBLBLBLBLBLBLBLBLBLYYYYBLBLBLBLBLBLBLBLBLBLBL
BBYYYYBB
BBBLBLBLBLBLBLBLBLBLBLBLBBYYYYBBYYBLBLBLBLBLBLBLBLBLBLBB
BBBB
BBYYBBBLBLBLBLBLBLYYBBBBYYBLBLBLBLBLBLBBYYBB
YYBBBBBBBBYY
YYBBBLBLBLBLBLYYCCCCYYBLBLBLBLBLBBYY
BBYYBBYYMMCCYYYYCCMMYYBBYYBB
BBYYBBBLBLBLBLYYBBBBYYBLBLBLBLBBYYBB
BBYYCCMMBBYYBBBBYYBBMMCCYYBB
BBYYCCMMBBBLBLBLBLYYCCBBBBCCYYBLBLBLBLBBMMCCYYBB
BBYYCCMMBBYYCCBBBBCCYYBBMMCCYYBB
BBYYCCMMBBBLBLBLBLYYCCCCYYBLBLBLBLBBMMCCYYBB
BBYYCCMMBBYYCCCCYYBBMMCCYYBB
BBYYCCMMBBBLBLBLBLYYYYBLBLBLBLBBMMCCYYBB
BBYYCCMMCCBBBBCCMMCCYYBB
BBYYMMBBBLBLBLYYYYBLBLBLBBMMYYBB
BBYYMMCCBBYYYYBBCCMMYYBB
YYMMCCBBYYYYBBCCMMYY
YYCCCCYY
BBYYYYBB
YYCCCCYY
BBYYYYBB



It was more editable than writing

Re: (fwd)

2017-03-21 Thread Urs Liska


Am 21.03.2017 um 08:40 schrieb Martin Tarenskeen:
>
> On Mon, 20 Mar 2017, Trevor wrote:
>
>>   It's not hard to hit LilyBin from the command line, but the
>> interface isn't
>>   great. Try curl -X POST -H "Content-Type:application/json"
>>  
>> https://7icpm9qr6a.execute-api.us-west-2.amazonaws.com/prod/prepare_preview/stable
>>   -d '{"code": "% LilyBin\n\\score{\n\t{\n\t\t\\repeat unfold 120
>>   { c4. d e f }\n\t}\n\n\t\\layout{}\n\t\\midi{}\n}\n"}'.
>>   The response will include an "id" field. You can download the
>> result from
>>   https://s3-us-west-2.amazonaws.com/lilybin-scores/${id}.pdf.
>
> Thanks. That's a good start. I have tried it, and it works. But yes,
> it looks ugly :-)
>
> I am trying to put this idea in a working bash or python script now.
> I am not really a virtuoso with grep and regular expressions, but I
> guess I could use that to extract the stringvalue after the "id":
> field from the response I am getting from the first line
>
> {"stdout":"","stderr":"Processing `input.ly'\nParsing...\ninput.ly:1:
> warning: no \\version statement found, please add\n\n\\version
> \"2.18.2\"\n\nfor future compatibility\nInterpreting
> music...[8][16][24][32][40][48][56]\nPreprocessing graphical
> objects...\nInterpreting music...\nMIDI output to
> `rendered.midi'...\nFinding the ideal number of pages...\nFitting
> music on 1 or 2 pages...\nDrawing systems...\nLayout output to
> `rendered.ps'...\nConverting to `./rendered.pdf'...\nSuccess:
> compilation successfully
> completed\n","id":"1490078842785-3632-246681695-lnytb2x5437hkt9","files":{"pdf":true,"midi":true}}
>
> I am sure one of you reading this wants to take the challenge to
> construct a regex to use with grep that will return the id, in this
> example that should be "1490078842785-3632-246681695-lnytb2x5437hkt9"
> without the quotes?

I *want* but I can*'t afford it.
But this is a JSON string, so you'll be conveniently able to extract
this with https://docs.python.org/2/library/json.html or
https://docs.python.org/3/library/json.html

HTH
Urs


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


Re: (fwd)

2017-03-21 Thread Dmytro O. Redchuk
2017-03-21 9:40 GMT+02:00 Martin Tarenskeen :
> Thanks. That's a good start. I have tried it, and it works. But yes, it
> looks ugly :-)
>
> I am trying to put this idea in a working bash or python script now.
> I am not really a virtuoso with grep and regular expressions, but I guess I
> could use that to extract the stringvalue after the "id": field from the
> response I am getting from the first line

Try jq:

https://stedolan.github.io/jq/

$ curl -X POST -H "Content-Type:application/json" \
   
https://7icpm9qr6a.execute-api.us-west-2.amazonaws.com/prod/prepare_preview/stable
\
   -d '{"code": "% LilyBin\n\\score{\n\t{\n\t\t\\repeat unfold 120 {
c4. d e f }\n\t}\n\n\t\\layout{}\n\t\\midi{}\n}\n"}' \
   2>/dev/null | jq '.id'
"1490082695988-7485-450035692-o06aeu4ly7dgqfr"

-- 
  Dmytro O. Redchuk

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


Re: [Auto-Reply] Re: Re: What can Premusic do that others can't?

2017-03-21 Thread David Kastrup
 writes:

>> On Mon, Mar 20, 2017 at 7:45 PM, have@anti.capital  wrote:
>>  > Viral Anticapital will get back to you shortly.
>>  >
>>  > If this is a throwaway email account, that's fine if unnecessary -
>>  > please remember to keep checking it, though!
>>  
>>  Seriously?
>
> Woah, I forgot about that. Haha, disabled signatures. Sorry folks.

It wasn't a signature but an autoresponder.  With a message "if you are
not reading your mail messages, please do so".

Seriously.

-- 
David Kastrup

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


Re: (fwd)

2017-03-21 Thread Martin Tarenskeen



On Tue, 21 Mar 2017, Urs Liska wrote:


But this is a JSON string, so you'll be conveniently able to extract
this with https://docs.python.org/2/library/json.html or
https://docs.python.org/3/library/json.html


Good, that will help. Also thanks Dmytro for pointing me to jq.

--

MT

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


Re: What can Premusic do that others can't?

2017-03-21 Thread Malte Meyn


Am 21.03.2017 um 06:46 schrieb have@anti.capital:
> A composer who uses an irrational tuplet is a composer who is going out of 
> his way to exclude his music from comfortable notation. 
Oh, I think that these irrational tuplets are comfortable to write easy
to understand if you use traditional notation.

> I'm not too concerned about that corner case of corner cases and am frankly 
> honored you have to dig so deep to try and break my format.
If you’re interested I’ll do a quick search and find some more music by
not-cornercase-composers that breaks your format.

> But in any case, there's precisely nothing to stop you from approximating as 
> far as you want, with an explanatory comment appended if needed.
So here is the point where your format is readable neither for humans
nor for computers.

> Nor am I concerned if my plaintext file format is not as comfortable in 
> terminal editors as it is in the GUI text editors that everyone has and most 
> people use.
So the most powerful terminal editors like vim and emacs just aren’t
good enough for your genius format? Sad but probably their fault. Oh
wait: It’s not the choice of editor that makes these files uncomfortable
to handle with.

> I note that Ctrl-U (view source) renders it perfectly in Firefox. Is anyone 
> going to see a .premusic file online, save it, navigate to that location in 
> terminal, and be dismayed that the code is a little wide for their 
> unmaximized Emacs?
Yes, there are people that’ll do exactly this. (Ok, I prefer vim but
that’s not the point here.)

> If wraps become a necessity, then - fine! I'll make a wrap character. ;;
Ahaha, you thought you could do a complete score in just one line? I’ll
be happy to see your version of “Eine Alpensinfonie” by Richard Strauss.
I can imagine some text editors crashing on that. Maybe they won’t crash
if you insert line breaks but then you’ll need a very durable mouse wheel.

> - Original Message - Subject: Re: What can Premusic do that 
> others can't?
> From: "Werner LEMBERG" 
> Date: 3/21/17 12:19 am
> To: have@anti.capital
> Cc: lilypond-user@gnu.org
> 
>  You might create a description of your syntax on, say, github, also
>  setting up a mailing list to which interested people can subscribe.

For this description to be perfectly well-defined/unambiguous you’ll
need a masochist who loves formal languages/grammars, at least if some
day a computer program should be able to read these scores. And you’ll
want that because no human can do so.

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


Re: What can Premusic do that others can't?

2017-03-21 Thread Hans Åberg

> On 21 Mar 2017, at 00:40, Werner LEMBERG  wrote:
> 
>> As an example of what David is mentioning, have a look at the attached
>> png image (taken from Chopin's prelude op. 28/24) and try to notate
>> this.
> 
> Oops, wrong image.  Here's the right one.

The whole piece, with score, is at:
  https://www.youtube.com/watch?v=nIsCvQPOdcM



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


Re: What can Premusic do that others can't?

2017-03-21 Thread Malte Meyn


Am 21.03.2017 um 10:18 schrieb Hans Åberg:
> 
>> On 21 Mar 2017, at 00:40, Werner LEMBERG  wrote:
>>
>>> As an example of what David is mentioning, have a look at the attached
>>> png image (taken from Chopin's prelude op. 28/24) and try to notate
>>> this.
>>
>> Oops, wrong image.  Here's the right one.
> 
> The whole piece, with score, is at:
>   https://www.youtube.com/watch?v=nIsCvQPOdcM

Nice, I think I know what I’ll study next after my piano exam.

Apart from that this brings to me the question how grace notes which
don’t really take any time at all are compatible with Vac’s dadadada
rhythm notation.

(By the way: I think that the way LilyPond handles it (using “grace” and
“real time”) is pretty good but not perfect. \grace only needs grace
time but \afterGrace needs real time for vertical alignment (but not for
input of the notes)—it would be nice to have 1. \grace before barlines
and 2. grace/afterGrace notes that are vertically aligned indepentently
from real time notes if you don’t want them between the real notes. And
maybe 3. some function that helps to align f. e. 7 grace notes in the
right and 6 in the left hand without having to scale them by hand -> a
function that takes notes and scales them so that they get a given total
length. Maybe if I find some time I’ll make some sketches that
illustrate 2. and pseudo code that illustrates 3.)

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


Scaled grace (was: What can Premusic do that others can't?)

2017-03-21 Thread Urs Liska


Am 21.03.2017 um 10:46 schrieb Malte Meyn:
> (By the way: I think that the way LilyPond handles it (using “grace” and
> “real time”) is pretty good but not perfect. \grace only needs grace
> time but \afterGrace needs real time for vertical alignment (but not for
> input of the notes)—it would be nice to have 1. \grace before barlines
> and 2. grace/afterGrace notes that are vertically aligned indepentently
> from real time notes if you don’t want them between the real notes. And
> maybe 3. some function that helps to align f. e. 7 grace notes in the
> right and 6 in the left hand without having to scale them by hand -> a
> function that takes notes and scales them so that they get a given total
> length. Maybe if I find some time I’ll make some sketches that
> illustrate 2. and pseudo code that illustrates 3.)


Something like this?

\version "2.19.54"

scaledGrace =
#(define-music-function (duration mus)(fraction? ly:music?)
   (let* ((real-len (ly:music-length mus))
 (dur (ly:make-moment (/ (car duration) (cdr duration
 (ratio-mom (ly:moment-div dur real-len))
 (ratio (cons (ly:moment-main-numerator ratio-mom)
  (ly:moment-main-denominator ratio-mom
 #{
   \grace \scaleDurations #ratio #mus
 #}))

{
  <<
{
  c''2
  \scaledGrace 1/4 {
c''16 [ d'' e'' ]
  }
  f''2
}
\\
{
  c'2
  \scaledGrace 1/4 {
c'16 b c' d' e'
  }
  f'2
}
  >>
}



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


Re: Scaled grace

2017-03-21 Thread Urs Liska


Am 21.03.2017 um 11:04 schrieb Urs Liska:
>
> Am 21.03.2017 um 10:46 schrieb Malte Meyn:
>> (By the way: I think that the way LilyPond handles it (using “grace” and
>> “real time”) is pretty good but not perfect. \grace only needs grace
>> time but \afterGrace needs real time for vertical alignment (but not for
>> input of the notes)—it would be nice to have 1. \grace before barlines
>> and 2. grace/afterGrace notes that are vertically aligned indepentently
>> from real time notes if you don’t want them between the real notes. And
>> maybe 3. some function that helps to align f. e. 7 grace notes in the
>> right and 6 in the left hand without having to scale them by hand -> a
>> function that takes notes and scales them so that they get a given total
>> length. Maybe if I find some time I’ll make some sketches that
>> illustrate 2. and pseudo code that illustrates 3.)
>
> Something like this?
>
> \version "2.19.54"
>
> scaledGrace =
> #(define-music-function (duration mus)(fraction? ly:music?)
>(let* ((real-len (ly:music-length mus))
>  (dur (ly:make-moment (/ (car duration) (cdr duration
>  (ratio-mom (ly:moment-div dur real-len))
>  (ratio (cons (ly:moment-main-numerator ratio-mom)
>   (ly:moment-main-denominator ratio-mom
>  #{
>\grace \scaleDurations #ratio #mus
>  #}))
>
> {
>   <<
> {
>   c''2
>   \scaledGrace 1/4 {
> c''16 [ d'' e'' ]

The effect is better with this as the upper grace group:
c''16 [ d'' e'' d'' e'' ]

>   }
>   f''2
> }
> \\
> {
>   c'2
>   \scaledGrace 1/4 {
> c'16 b c' d' e'
>   }
>   f'2
> }
>   >>
> }
>
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

-- 
u...@openlilylib.org
https://openlilylib.org
http://lilypondblog.org


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


Re: What can Premusic do that others can't?

2017-03-21 Thread Johan Vromans
Am 20.03.2017 um 22:48 schrieb have@anti.capital:

> I have invented the perfect plaintext file format for premusic.

I think the bottom line is that all text-based music notation systems have
shortcomings when it comes to readability, writability, maintainability
etc. From all imperfect systems we choose the one we like most, where
"like" is very subjective. It it gets us where we want to, it is a good
choice.

Some people like to program in C, other people prefer Perl, some program
in Java. And some even think that HTML is a programming language.




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


Re: Scaled grace

2017-03-21 Thread Malte Meyn


Am 21.03.2017 um 11:04 schrieb Urs Liska:
> 
> 
> Am 21.03.2017 um 10:46 schrieb Malte Meyn:
>> (By the way: I think that the way LilyPond handles it (using “grace” and
>> “real time”) is pretty good but not perfect. \grace only needs grace
>> time but \afterGrace needs real time for vertical alignment (but not for
>> input of the notes)—it would be nice to have 1. \grace before barlines
>> and 2. grace/afterGrace notes that are vertically aligned indepentently
>> from real time notes if you don’t want them between the real notes. And
>> maybe 3. some function that helps to align f. e. 7 grace notes in the
>> right and 6 in the left hand without having to scale them by hand -> a
>> function that takes notes and scales them so that they get a given total
>> length. Maybe if I find some time I’ll make some sketches that
>> illustrate 2. and pseudo code that illustrates 3.)
> 
> 
> Something like this?

Yes. I would prefer a duration (\scaledGrace 4) over a rational number
{\scaledGrace 1/4) but that’s easy to change:

scaledGrace =
#(define-music-function (dur mus) (ly:duration? ly:music?)
  (let* ((real-len (ly:music-length mus))
 (mom (ly:duration-length dur))
 (ratio-mom (ly:moment-div mom real-len))
 (ratio (cons (ly:moment-main-numerator ratio-mom)
  (ly:moment-main-denominator ratio-mom
#{
  \grace \scaleDurations #ratio #mus
#}))

Or you just assume that if you really want to synchronize graces in this
way all graces in all voices start at the same time. (I think that’s
probable. If you don’t have simultaneously starting graces they probably
are notated in a way that needs no scaling, therefore \grace is
sufficient.) Then you could use a default value of 1:

scaledGrace =
#(define-music-function (mus) (ly:music?)
  (let* ((real-len (ly:music-length mus))
 (ratio (cons (ly:moment-main-denominator real-len)
  (ly:moment-main-numerator real-len
#{
  \grace \scaleDurations #ratio #mus
#}))

Or if you don’t want variants for all \grace variants (i. e. \grace,
\slashedGrace, \appoggiatura, \acciaccatura, \afterGrace), just make a
function that takes a music expression and scales it to 1. Maybe this
could also be nice for cadenza-like things in real time notes (if you
combine it with \newSpacingSection or a duration argument):

\version "2.19.56"

autoScale =
#(define-music-function (mus) (ly:music?)
   (let* ((real-len (ly:music-length mus))
  (ratio (cons (ly:moment-main-denominator real-len)
   (ly:moment-main-numerator real-len
 #{
   \scaleDurations #ratio #mus
 #}))

{
  <<
{
  c''2
  \grace \autoScale {
c''16 [ d'' e'' ]
  }
  f''2
}
\\
{
  c'2
  \appoggiatura \autoScale {
c'16 b c' d' e'
  }
  f'2
}
  >>
}

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


Re: Scaled grace

2017-03-21 Thread Malte Meyn


Am 21.03.2017 um 11:44 schrieb Malte Meyn:
> Or if you don’t want variants for all \grace variants (i. e. \grace,
> \slashedGrace, \appoggiatura, \acciaccatura, \afterGrace), just make a
> function that takes a music expression and scales it to 1. Maybe this
> could also be nice for cadenza-like things in real time notes (if you
> combine it with \newSpacingSection or a duration argument):
> 
> […]

scaleToLength =
#(define-music-function (dur mus) (ly:duration? ly:music?)
   (let* ((real-len (ly:music-length mus))
  (mom (ly:duration-length dur))
  (ratio-mom (ly:moment-div mom real-len))
  (ratio (cons (ly:moment-main-numerator ratio-mom)
   (ly:moment-main-denominator ratio-mom
 #{
   \scaleDurations #ratio #mus
 #}))

% from Chopin’s Nocturne op. 15 No. 2
\new PianoStaff <<
  \new Staff \relative {
\time 2/4
\key fis \major
\teeny
\scaleToLength 2 {
  b'8([ ais b) ais( a gis) a( gis a) gis( g fis) g( fis g)
  fis\( f e eis fis eis dis( eis fis) ais( gis eis fis dis gis)\)]
}
  }
  \new Staff \relative {
\clef bass
\key fis \major
<< { s8 d4 } \\ { fis,8( d'  cis,) } >>
  }
>>

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


Re: Scaled grace

2017-03-21 Thread Urs Liska


Am 21.03.2017 um 12:05 schrieb Malte Meyn:
>
> Am 21.03.2017 um 11:44 schrieb Malte Meyn:
>> Or if you don’t want variants for all \grace variants (i. e. \grace,
>> \slashedGrace, \appoggiatura, \acciaccatura, \afterGrace), just make a
>> function that takes a music expression and scales it to 1. Maybe this
>> could also be nice for cadenza-like things in real time notes (if you
>> combine it with \newSpacingSection or a duration argument):
>>
>> […]
> scaleToLength =
> #(define-music-function (dur mus) (ly:duration? ly:music?)
>(let* ((real-len (ly:music-length mus))
>   (mom (ly:duration-length dur))
>   (ratio-mom (ly:moment-div mom real-len))
>   (ratio (cons (ly:moment-main-numerator ratio-mom)
>(ly:moment-main-denominator ratio-mom
>  #{
>\scaleDurations #ratio #mus
>  #}))
>
> % from Chopin’s Nocturne op. 15 No. 2
> \new PianoStaff <<
>   \new Staff \relative {
> \time 2/4
> \key fis \major
> \teeny
> \scaleToLength 2 {
>   b'8([ ais b) ais( a gis) a( gis a) gis( g fis) g( fis g)
>   fis\( f e eis fis eis dis( eis fis) ais( gis eis fis dis gis)\)]
> }
>   }
>   \new Staff \relative {
> \clef bass
> \key fis \major
> << { s8 d4 } \\ { fis,8( d'  cis,) } >>
>   }

Cool. We should definitely discuss the proper set of options and include
that to LilyPond (or if that's for some reason not desired to openLilyLib).

Urs

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


Re: Changing spacing for a fall

2017-03-21 Thread Ralph Palmer
On Mon, Mar 20, 2017 at 7:13 PM, Urs Liska  wrote:

>
>
> Am 20.03.2017 um 23:31 schrieb Ralph Palmer:
>
> Greetings -
>
> I'm running LilyPond 2.19.50 under Windows 7 and Frescobaldi.
>
> I'd like to increase the spacing between two notes, to accommodate a fall.
> I've checked "spacing" issues in the Notation Reference and in the snippet
> repository, but can't find anything that will increase the distance between
> just two notes.
>
>
> Insert
>
>   \once \override NoteColumn.X-offset = 3
>
> just before the note you want to push. This will basically ensure that at
> least this amount is between the two notes.
>
> HTH
> Urs
>

Sorry for not replying to the list.

Many thanks, Urs! I'll use and try to remember this.

All the best,

Ralph

-- 
Ralph Palmer
Brattleboro, VT
USA
palmer.r.vio...@gmail.com
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Changing spacing for a fall

2017-03-21 Thread Ralph Palmer
On Mon, Mar 20, 2017 at 8:46 PM, Simon Albrecht 
wrote:

> Am 20.03.2017 um 23:31 schrieb Ralph Palmer:
>
>> I'd like to increase the spacing between two notes, to accommodate a fall.
>>
>
> Maybe you can use
> \override BendAfter.springs-and-rods = #ly:spanner::set-spacing-rods
> d4-\tweak minimum-length 3 -\bendAfter #-3
> ?
> Sorry, didn’t test it.
>
> Best, Simon
>

Thanks, Simon. I got a simple fix from Urs, but I'll hang onto this as
another possibility.

All the best,

Ralph

-- 
Ralph Palmer
Brattleboro, VT
USA
palmer.r.vio...@gmail.com
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Scaled grace

2017-03-21 Thread Werner LEMBERG

> Cool.  We should definitely discuss the proper set of options and
> include that to LilyPond (or if that's for some reason not desired
> to openLilyLib).

Definitely!


Werner

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


Re: Changing spacing for a fall

2017-03-21 Thread Ralph Palmer
On Mon, Mar 20, 2017 at 6:31 PM, Ralph Palmer 
wrote:

> I'd like to increase the spacing between two notes, to accommodate a fall.
> I've checked "spacing" issues in the Notation Reference and in the snippet
> repository, but can't find anything that will increase the distance between
> just two notes.
>

After working with helpful suggestions from Urs Liska and Simon Albrecht, I
came up with the following, which seems to be as close as I can come to the
original. I added a partial spacer rest (s).

%% start snippet %%%

\version "2.19.50"
\include "english.ly"

fallTest =
%\relative c'
{
  \clef treble
  \key d \major
  \time 4/4

  e4 e
  \override BendAfter.springs-and-rods = #ly:spanner::set-spacing-rods
  d4*3/4-\tweak minimum-length 2 -\bendAfter #-3 s4*1/4
  \once \override NoteColumn.X-offset = 3.5
  cs8 e~ |
}

\score {
  \fallTest
}

%%% end snippet %%%


-- 
Ralph Palmer
Brattleboro, VT
USA
palmer.r.vio...@gmail.com
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: (fwd)

2017-03-21 Thread Sven Axelsson
Here's a simple solution in PHP to upload a Lilypond file to lilybin
and download the result after execution.

--->>> snip lilybin <<<---
#!/usr/bin/env php
https://s3-us-west-2.amazonaws.com/lilybin-scores/' . $files[0];
$file = fopen($files[0], 'w');
do_curl($url, array(CURLOPT_FILE => $file));
fclose($file);
} else {
$url = 
'https://7icpm9qr6a.execute-api.us-west-2.amazonaws.com/prod/prepare_preview/stable';
$result = json_decode(do_curl($url, array(
CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => json_encode(array('code' =>
file_get_contents($files[0]))),
CURLOPT_RETURNTRANSFER => true,
)));
if (!$result->id) {
echo "ERROR:\n{$result->stderr}";
exit(1);
} else {
echo $argv[0], ' -d ', $result->id, ".pdf\n";
}
}
--->>> end snip lilybin <<<---

-- 
Sven Axelsson
++[>++>+++>++>++
><-]>.+..>+.>+.<<-.>>+.>.<<.
+++.>-.<<++.>>.<++.>>>++..>>.<.

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


Re: Accessing a grob from within a music function

2017-03-21 Thread Urs Liska
Hey Harm,


Am 17.03.2017 um 00:34 schrieb Thomas Morley:
> Probably:
>
> {
> c'1( \break
>   \override NoteColumn.after-line-breaking =
>   #(lambda (nc)
>  (ly:grob-translate-axis! (ly:grob-parent nc X) 5 X)
>  ;; uncomment for viewing
>  ;(ly:grob-set-property!
>  ;  (ly:grob-parent nc X)
>  ;  'stencil
>  ;  ly:paper-column::print)
>)
>
>
>   2)\arpeggio ^"foo"
> }
>
> Not tested beyond the above example, though.
>
> Cheers,
>   Harm

this seems to work, even when applied in an \override Tie.stencil
I've tested in the following file, but I'm (somewhat) confident that
I'll be able to integrate that inside my real project as well.

\version "2.19.57"

testoffset = 4
done = ##f
{
  \override Tie.stencil =
  #(lambda (t)
 (let*
  ((rb (ly:grob-parent (ly:spanner-bound t RIGHT) 1))
   (lb (ly:grob-parent (ly:spanner-bound t LEFT) 1))
   (accs (ly:note-column-accidentals rb)))
  (if (not (null? accs))
  (let*
   ((acc-ext (ly:grob-property accs 'X-extent))
(acc-width (- (cdr acc-ext) (car acc-ext
   (if (not done)
   (begin
(ly:grob-translate-axis! (ly:grob-parent rb X) testoffset X)
(set! done #t)))
   (ly:tie::print t)

  1
  ~
  \break
  
}



Thanks a lot!
Urs

-- 
u...@openlilylib.org
https://openlilylib.org
http://lilypondblog.org


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


Re: Parallel Square Premusic

2017-03-21 Thread Joseph Austin

> 
>   1. Parallel Square Premusic (have@anti.capital)
> 
> --
> 
> Date: Sun, 19 Mar 2017 18:11:42 -0700
> From: 
> To: lilypond-user@gnu.org
> Subject: Parallel Square Premusic
> Message-ID:
>   
> <20170319181142.561b4d246cb2aeff93d20930d3b89171.281d1ad9a9.mail...@email04.godaddy.com>
>   
> Content-Type: text/plain; charset="utf-8"
> 
> Hello guys, I am Vac.
> 
> I have invented an extremely robust and perfectly extensible plaintext file 
> format called Parallel Squares.

Have,
You might consider posting your notation to musicnotation.org 
.
That groups is specifically concerned with developing new notations or music 
representations,
while Lilypond is mostly interested in creating traditional scores.

Joe Austin

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


RE: Re: What can Premusic do that others can't?

2017-03-21 Thread have
 I think that I should append a disclaimer to my format: I don't intend it to 
be more comfortably sight-read than sheet music is and will be. I simply intend 
to create an analogue of .txt where there is only .docx and .odt. It is 
perfectly legible for simple pieces, and perhaps an environment like 
Frescobaldi could be configured to real-time display Premusic code as its 
appropriate sheet music for more complex pieces - that environment would make 
my format into a very formidable one indeed.
 
 
 
 
 
 
 
 
 
 
 
Johan, mine's got less shortcomings though.
 
Irrational note lengths could be achieved with another square character.
 
Here is a four-beat measure with a pi note followed by rest.
 
  a* = pi minus three

[]rh daa*||
 
 
 
And with that, I extended my format to meet the challenge. Does anyone else 
have any irrational ABC or Guido code? Chopin? If not, I still have the best 
format. QED.
 
- Original Message - Subject: Re: What can Premusic do that 
others can't?
From: "Johan Vromans" 
Date: 3/21/17 5:26 am
To: lilypond-user@gnu.org

Am 20.03.2017 um 22:48 schrieb have@anti.capital:
 
 > I have invented the perfect plaintext file format for premusic.
 
 I think the bottom line is that all text-based music notation systems have
 shortcomings when it comes to readability, writability, maintainability
 etc. From all imperfect systems we choose the one we like most, where
 "like" is very subjective. It it gets us where we want to, it is a good
 choice.
 
 Some people like to program in C, other people prefer Perl, some program
 in Java. And some even think that HTML is a programming language.
 
 
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user
 
"Oh, I think that these irrational tuplets are comfortable to write easy to 
understand if you use traditional notation."
 
It is not acceptable that the only method of conveying that information is to 
write it down on sheets of paper as has been done for centuries and then create 
a very complicated file format to describe those sheets of paper as have been 
done for centuries.
 
"If you're interested I'll do a quick search and find some more music by 
not-cornercase-composers that breaks your format."
 
Please do! I'll meet the challenge, and continue to prove I have the best 
plaintext format.
 
"So here is the point where your format is readable neither for humans nor for 
computers."
 
See note at the top of this message.
 
"So the most powerful terminal editors like vim and emacs just aren't good 
enough for your genius format? Sad but probably their fault. Oh wait: It's not 
the choice of editor that makes these files uncomfortable to handle with."
"Yes, there are people that'll do exactly this. (Ok, I prefer vim but that's 
not the point here.)"
 
You don't need a "the most powerful editor" for this because it isn't a format 
that the features of those editors are catered to. I hate to break it to you, 
but sometimes unmaximized CLI isn't the most comfortable text environment to 
work in. Put it in Gedit, maximize, maybe turn the text size down if you must, 
and enjoy. Have any of you actually tried transcribing simple music into my 
format yet?
 
- Original Message - Subject: Re: What can Premusic do that 
others can't?
From: "Malte Meyn" 
Date: 3/21/17 3:35 am
To: lilypond-user@gnu.org


 
 Am 21.03.2017 um 06:46 schrieb have@anti.capital:
 > A composer who uses an irrational tuplet is a composer who is going out of 
 > his way to exclude his music from comfortable notation. 
 Oh, I think that these irrational tuplets are comfortable to write easy
 to understand if you use traditional notation.
 
 > I'm not too concerned about that corner case of corner cases and am frankly 
 > honored you have to dig so deep to try and break my format.
 If you're interested I'll do a quick search and find some more music by
 not-cornercase-composers that breaks your format.
 
 > But in any case, there's precisely nothing to stop you from approximating as 
 > far as you want, with an explanatory comment appended if needed.
 So here is the point where your format is readable neither for humans
 nor for computers.
 
 > Nor am I concerned if my plaintext file format is not as comfortable in 
 > terminal editors as it is in the GUI text editors that everyone has and most 
 > people use.
 So the most powerful terminal editors like vim and emacs just aren't
 good enough for your genius format? Sad but probably their fault. Oh
 wait: It's not the choice of editor that makes these files uncomfortable
 to handle with.
 
 > I note that Ctrl-U (view source) renders it perfectly in Firefox. Is anyone 
 > going to see a .premusic file online, save it, navigate to that location in 
 > terminal, and be dismayed that the code is a little wide for their 
 > unmaximized Emacs?
 Yes, there are people that'll do exa

"In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread Jeffery Shivers
Hi,

I am working compiling a document located at:
  /Users/Jeffery/work/scholarly/doc/source/examples/annotate/min.ly

I can cd all the way into `examples`, and run lily fine (and get all
the correct outputs) with:
  lilypond -I "/Users/Jeffery/work" -dclip-systems annotate/min.ly

But if I go one directory deeper into `annotate`, and run:
  lilypond -I "/Users/Jeffery/work" -dclip-systems min.ly

It stops with the following error:
  GNU LilyPond 2.19.56
  Processing `min.ly`
  Parsing...
  Package scholarly @0.5.0 registered successfully.
  /Users/Jeffery/work/scholarly/annotate/module.ily:77:12: In
procedure list-tail in expression (list-tail input-file (- # 2)):
  /Users/Jeffery/work/scholarly/annotate/module.ily:77:12: Value out
of range 0 to 4294967295: -1

The line about "Package scholarly ..." is just a confirmation one of
the included files prints when its invoked in the document.

I wonder if the problem is something to do with the compiled doc and
that `annotate/module.ily` being in similarly named directories?

Best,
Jeffery
-- 

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers

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


Re: "In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread Urs Liska


Am 21.03.2017 um 17:33 schrieb Jeffery Shivers:
> Hi,
>
> I am working compiling a document located at:
>   /Users/Jeffery/work/scholarly/doc/source/examples/annotate/min.ly
>
> I can cd all the way into `examples`, and run lily fine (and get all
> the correct outputs) with:
>   lilypond -I "/Users/Jeffery/work" -dclip-systems annotate/min.ly
>
> But if I go one directory deeper into `annotate`, and run:
>   lilypond -I "/Users/Jeffery/work" -dclip-systems min.ly
>
> It stops with the following error:
>   GNU LilyPond 2.19.56
>   Processing `min.ly`
>   Parsing...
>   Package scholarly @0.5.0 registered successfully.
>   /Users/Jeffery/work/scholarly/annotate/module.ily:77:12: In
> procedure list-tail in expression (list-tail input-file (- # 2)):
>   /Users/Jeffery/work/scholarly/annotate/module.ily:77:12: Value out
> of range 0 to 4294967295: -1
>
> The line about "Package scholarly ..." is just a confirmation one of
> the included files prints when its invoked in the document.
>
> I wonder if the problem is something to do with the compiled doc and
> that `annotate/module.ily` being in similarly named directories?
>
> Best,
> Jeffery

Just to clarify before anyone is getting confused: This is most surely
not a general issue with LilyPond but with the module loading code in
the "scholarly" package. "input-file" here is a list split from the
(*location*) string.
Then the last two elements of that list are retrieved, and for some
reason the location list here doesn't have enough elements.

Please insert the line
(dummy (ly:message "\n\n\ninput-file: ~a\n\n\n" input-file))

between the lines starting with "(input-file" and "(ctx" in module.ily
(around line 77) and tell me what the output is (presumably immediately
before the crash). Maybe give the output of a failing and a crashing
compilation.

Urs

-- 
u...@openlilylib.org
https://openlilylib.org
http://lilypondblog.org


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


Re: Accessing a grob from within a music function

2017-03-21 Thread Urs Liska


Am 21.03.2017 um 17:08 schrieb Urs Liska:
> Hey Harm,
>
>
> Am 17.03.2017 um 00:34 schrieb Thomas Morley:
>> Probably:
>>
>> {
>> c'1( \break
>>   \override NoteColumn.after-line-breaking =
>>   #(lambda (nc)
>>  (ly:grob-translate-axis! (ly:grob-parent nc X) 5 X)
>>  ;; uncomment for viewing
>>  ;(ly:grob-set-property!
>>  ;  (ly:grob-parent nc X)
>>  ;  'stencil
>>  ;  ly:paper-column::print)
>>)
>>
>>
>>   2)\arpeggio ^"foo"
>> }
>>
>> Not tested beyond the above example, though.
>>
>> Cheers,
>>   Harm
> this seems to work, even when applied in an \override Tie.stencil
> I've tested in the following file, but I'm (somewhat) confident that
> I'll be able to integrate that inside my real project as well.
>
> \version "2.19.57"
>
> testoffset = 4
> done = ##f
> {
>   \override Tie.stencil =
>   #(lambda (t)
>  (let*
>   ((rb (ly:grob-parent (ly:spanner-bound t RIGHT) 1))
>(lb (ly:grob-parent (ly:spanner-bound t LEFT) 1))
>(accs (ly:note-column-accidentals rb)))
>   (if (not (null? accs))
>   (let*
>((acc-ext (ly:grob-property accs 'X-extent))
> (acc-width (- (cdr acc-ext) (car acc-ext
>(if (not done)
>(begin
> (ly:grob-translate-axis! (ly:grob-parent rb X) testoffset X)
> (set! done #t)))
>(ly:tie::print t)
>
>   1
>   ~
>   \break
>   
> }
>
>
>
> Thanks a lot!
> Urs

Well, I have to take it back (although on second thought it was clear
that it wouldn't work that way).
While the note column is properly pushed to the right to accomodate the
object I want to place before it any columns further down the system are
*not*. And that's actually clear because the pushing takes place at a
moment when all the layout has already been done.

I'm afraid I won't get around some kind of two-pass system, registering
the required amount in the first pass and overriding NoteColumns
X-offset at a moment when it is still possible in a later compilation.

Urs
>

-- 
u...@openlilylib.org
https://openlilylib.org
http://lilypondblog.org


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


Re: "In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread Jeffery Shivers
On Tue, Mar 21, 2017 at 12:51 PM, Urs Liska  wrote:
>
> Just to clarify before anyone is getting confused: This is most surely
> not a general issue with LilyPond but with the module loading code in
> the "scholarly" package. "input-file" here is a list split from the
> (*location*) string.

Thanks.

> Then the last two elements of that list are retrieved, and for some
> reason the location list here doesn't have enough elements.
>
> Please insert the line
> (dummy (ly:message "\n\n\ninput-file: ~a\n\n\n" input-file))
> between the lines starting with "(input-file" and "(ctx" in module.ily
> (around line 77) and tell me what the output is (presumably immediately
> before the crash). Maybe give the output of a failing and a crashing
> compilation.

The problem was subtracting 2 from (length  input-file) for `ctx`:
  (input-file (string-split (car (ly:input-file-line-char-column
(*location*))) #\/ ))
  (ctx (list-tail input-file (- (length input-file) 2)))

This corrects that:
  (ctx (list-tail input-file (- (length input-file) 1)))

Sorry for the noise everyone. Don't know why I didn't look there
before posting. Should have eaten my Wheaties first.

-- 

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers

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


Re: "In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread Urs Liska


Am 21. März 2017 18:13:58 MEZ schrieb Jeffery Shivers 
:
>On Tue, Mar 21, 2017 at 12:51 PM, Urs Liska  wrote:
>>
>> Just to clarify before anyone is getting confused: This is most
>surely
>> not a general issue with LilyPond but with the module loading code in
>> the "scholarly" package. "input-file" here is a list split from the
>> (*location*) string.
>
>Thanks.
>
>> Then the last two elements of that list are retrieved, and for some
>> reason the location list here doesn't have enough elements.
>>
>> Please insert the line
>> (dummy (ly:message "\n\n\ninput-file: ~a\n\n\n" input-file))
>> between the lines starting with "(input-file" and "(ctx" in
>module.ily
>> (around line 77) and tell me what the output is (presumably
>immediately
>> before the crash). Maybe give the output of a failing and a crashing
>> compilation.
>
>The problem was subtracting 2 from (length  input-file) for `ctx`:
>  (input-file (string-split (car (ly:input-file-line-char-column
>(*location*))) #\/ ))
>  (ctx (list-tail input-file (- (length input-file) 2)))
>
>This corrects that:
>  (ctx (list-tail input-file (- (length input-file) 1)))
>
>Sorry for the noise everyone. Don't know why I didn't look there
>before posting. Should have eaten my Wheaties first.

Ehm, doesn't that break things in other situations? I assume the "2" is there 
fir a reason ...

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


Re: "In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread Jeffery Shivers
On Tue, Mar 21, 2017 at 1:18 PM, Urs Liska  wrote:
>>The problem was subtracting 2 from (length  input-file) for `ctx`:
>>  (input-file (string-split (car (ly:input-file-line-char-column
>>(*location*))) #\/ ))
>>  (ctx (list-tail input-file (- (length input-file) 2)))
>>
>>This corrects that:
>>  (ctx (list-tail input-file (- (length input-file) 1)))
>>
>>Sorry for the noise everyone. Don't know why I didn't look there
>>before posting. Should have eaten my Wheaties first.
>
> Ehm, doesn't that break things in other situations? I assume the "2" is there 
> fir a reason ...

So far, no. `cd`ing all around the system (up, down, to the side), it
does just fine. I don't know what other situations you'd have in mind
though.

-- 

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers

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


Re: "In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread Urs Liska


Am 21. März 2017 18:28:07 MEZ schrieb Jeffery Shivers 
:
>On Tue, Mar 21, 2017 at 1:18 PM, Urs Liska  wrote:
>>>The problem was subtracting 2 from (length  input-file) for `ctx`:
>>>  (input-file (string-split (car (ly:input-file-line-char-column
>>>(*location*))) #\/ ))
>>>  (ctx (list-tail input-file (- (length input-file) 2)))
>>>
>>>This corrects that:
>>>  (ctx (list-tail input-file (- (length input-file) 1)))
>>>
>>>Sorry for the noise everyone. Don't know why I didn't look there
>>>before posting. Should have eaten my Wheaties first.
>>
>> Ehm, doesn't that break things in other situations? I assume the "2"
>is there fir a reason ...
>
>So far, no. `cd`ing all around the system (up, down, to the side), it
>does just fine. I don't know what other situations you'd have in mind
>though.

What about point-and-click with the annotations?

Could you please share the output of the function I gave?

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


Re: "In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread Jeffery Shivers
On Tue, Mar 21, 2017 at 1:28 PM, Jeffery Shivers
 wrote:
> On Tue, Mar 21, 2017 at 1:18 PM, Urs Liska  wrote:
>>>The problem was subtracting 2 from (length  input-file) for `ctx`:
>>>  (input-file (string-split (car (ly:input-file-line-char-column
>>>(*location*))) #\/ ))
>>>  (ctx (list-tail input-file (- (length input-file) 2)))
>>>
>>>This corrects that:
>>>  (ctx (list-tail input-file (- (length input-file) 1)))
>>>
>>>Sorry for the noise everyone. Don't know why I didn't look there
>>>before posting. Should have eaten my Wheaties first.
>>
>> Ehm, doesn't that break things in other situations? I assume the "2" is 
>> there fir a reason ...
>
> So far, no. `cd`ing all around the system (up, down, to the side), it
> does just fine. I don't know what other situations you'd have in mind
> though.

Scratch that.

>
> --
>
> Jeffery Shivers
>  jefferyshivers.com
>  soundcloud.com/jefferyshivers



-- 

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers

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


Re: "In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread Jeffery Shivers
On Tue, Mar 21, 2017 at 1:41 PM, Jeffery Shivers
 wrote:
> On Tue, Mar 21, 2017 at 1:28 PM, Jeffery Shivers
>  wrote:
>> On Tue, Mar 21, 2017 at 1:18 PM, Urs Liska  wrote:
The problem was subtracting 2 from (length  input-file) for `ctx`:
  (input-file (string-split (car (ly:input-file-line-char-column
(*location*))) #\/ ))
  (ctx (list-tail input-file (- (length input-file) 2)))

This corrects that:
  (ctx (list-tail input-file (- (length input-file) 1)))

Sorry for the noise everyone. Don't know why I didn't look there
before posting. Should have eaten my Wheaties first.
>>>
>>> Ehm, doesn't that break things in other situations? I assume the "2" is 
>>> there fir a reason ...
>>
>> So far, no. `cd`ing all around the system (up, down, to the side), it
>> does just fine. I don't know what other situations you'd have in mind
>> though.
>
> Scratch that.

Actually, false alarm. Anyhow, we should probably continue this
discussion on the scholarly issue tracker at this point.

-- 

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers

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


Re: What can Premusic do that others can't?

2017-03-21 Thread David Wright
On Tue 21 Mar 2017 at 09:21:43 (-0700), have@anti.capital wrote:
>  I think that I should append a disclaimer to my format: I don't intend it to 
> be more comfortably sight-read than sheet music is and will be. I simply 
> intend to create an analogue of .txt where there is only .docx and .odt. It 
> is perfectly legible for simple pieces, and perhaps an environment like 
> Frescobaldi could be configured to real-time display Premusic code as its 
> appropriate sheet music for more complex pieces - that environment would make 
> my format into a very formidable one indeed.
>  
> Johan, mine's got less shortcomings though.
>  
> Irrational note lengths could be achieved with another square character.
>  
> Here is a four-beat measure with a pi note followed by rest.
>  
>   a* = pi minus three
> 
> []rh daa*||
>  
>  
>  
> And with that, I extended my format to meet the challenge. Does anyone else 
> have any irrational ABC or Guido code? Chopin? If not, I still have the best 
> format. QED.

No, no, mine's the longest! Look:

 antidisestablishmentarianismIST

> - Earlier Message -
> Subject: Re: What can Premusic do that others can't?
> Date: 3/21/17 5:26 am
> To: lilypond-user@gnu.org
> 
> Am 20.03.2017 um 22:48 schrieb have@anti.capital:
>  
>  > I have invented the perfect plaintext file format for premusic.

Oh, sorry; wrong mailing list.

Cheers,
David.

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


Re: "In procedure list-tail in expression (list-tail input-file (- # 2)): value out of range"

2017-03-21 Thread David Wright
On Tue 21 Mar 2017 at 13:13:58 (-0400), Jeffery Shivers wrote:
> On Tue, Mar 21, 2017 at 12:51 PM, Urs Liska  wrote:
> >
> > Just to clarify before anyone is getting confused: This is most surely
> > not a general issue with LilyPond but with the module loading code in
> > the "scholarly" package. "input-file" here is a list split from the
> > (*location*) string.
> 
> Thanks.
> 
> > Then the last two elements of that list are retrieved, and for some
> > reason the location list here doesn't have enough elements.
> >
> > Please insert the line
> > (dummy (ly:message "\n\n\ninput-file: ~a\n\n\n" input-file))
> > between the lines starting with "(input-file" and "(ctx" in module.ily
> > (around line 77) and tell me what the output is (presumably immediately
> > before the crash). Maybe give the output of a failing and a crashing
> > compilation.
> 
> The problem was subtracting 2 from (length  input-file) for `ctx`:
>   (input-file (string-split (car (ly:input-file-line-char-column
> (*location*))) #\/ ))
>   (ctx (list-tail input-file (- (length input-file) 2)))
> 
> This corrects that:
>   (ctx (list-tail input-file (- (length input-file) 1)))
> 
> Sorry for the noise everyone. Don't know why I didn't look there
> before posting. Should have eaten my Wheaties first.

What is all this? It looks like someone trying to get at the
basename of a filename. Are there not library functions in the
language for doing this correctly, ie honouring the filename
and line ending conventions of the platform?

Cheers,
David.

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


Re: What can Premusic do that others can't?

2017-03-21 Thread David Kastrup
 writes:

>  I think that I should append a disclaimer to my format: I don't
>  intend it to be more comfortably sight-read than sheet music is and
>  will be. I simply intend to create an analogue of .txt where there is
>  only .docx and .odt. It is perfectly legible for simple pieces, and
>  perhaps an environment like Frescobaldi could be configured to
>  real-time display Premusic code as its appropriate sheet music for
>  more complex pieces - that environment would make my format into a
>  very formidable one indeed.

So you want it to be AsciiDoc for music.  Tablatures are actually
already done frequently in a somewhat similar manner and work reasonably
well for guitar music that is not too complicated.

For lots of music, the format's relation between visual and musical
complexity is not good enough to convey musical sense fast enough.  Even
for guitar music, it clutters the field of vision much more with symbols
than ASCII tablature does.

Mathematicians don't converse in ASCII notation but graphical formulas,
even if some of them are reasonably versed in looking at TeX notation.

Something like

Dies ist
\begin{multline}
\label{eq:51}
  f(t+\Delta t,x) = \beta\frac{d(x)}{d(x)+d(x-\Delta x)}
f(t,x-\Delta x)\\
  + (1-2\beta + \beta \frac{d(x)}{d(x)+d(x+\Delta x)}
+ \beta\frac{d(x)}{d(x)+d(x-\Delta x)})\,f(t,x)\\
  + \beta\frac{d(x)}{d(x)+d(x+\Delta x)}\,f(t,x+\Delta x)
\end{multline}
Für die weitere Herleitung kürzen wir jetzt die Ableitung etwa von $d$
nach der Ortskoordinate~$x$ mit $d'$ ab.

is quite harder to peruse than

Dies ist
Für die weitere Herleitung kürzen wir jetzt die Ableitung etwa von nach der Ortskoordinate~ mit  ab.

Music is similar in that respect.  AsciiDoc has a much simpler task
since its principal substance is letters and it is used for structuring
text.  Nevertheless it has not become the bees' knees of documentation
writing, it is just one semipopular way of doing things.

There are numerous forms of piano roll notation that are a lot better
candidates for playing material than your proposal.  Maybe you should
look at them for inspiration.

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


Re: What can Premusic do that others can't?

2017-03-21 Thread Bernardo Barros

On 3/21/17 4:35 AM, Malte Meyn wrote:


Am 21.03.2017 um 06:46 schrieb have@anti.capital:

A composer who uses an irrational tuplet is a composer who is going out of his 
way to exclude his music from comfortable notation.

Oh, I think that these irrational tuplets are comfortable to write easy
to understand if you


Why one calls them 'irrationals'? they are rational number ratios just 
as any ordinary notation, unless you're referring to a tuplet of π (pi) 
or log2 3...


They look difficult because we put them in a special "difficult" place. 
Unlike Carnatic musicians, who just learn rationals and "irrationals" 
as two categories of the same things since the beginning. Stop that.


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


Re: state-of-the-art multi-instrumental/transposing mechanism

2017-03-21 Thread Kieren MacMillan
Hi Jan-Peter,

> I am going to add key-sigs to the EE, so that they can be added as 
> editionMods.

Thanks!
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


edition-engraver and polymetric music

2017-03-21 Thread Kieren MacMillan
Hi all (and especially Jan-Peter),

Has anyone used the edition-engraver with polymetric music?
I’m having difficulty figuring out how to “anchor” mods, since the measure 
numbers are non-synchronized across the various staves.

Thanks,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


tuplet full length at breaks with large time signatures

2017-03-21 Thread Juan Cristóbal Cerrillo
Hello everyone,

I’m working on a score with large time signatures.  I’ve created a specific 
context for this purpose.  However, overriding TimeSignature.break-align-symbol 
causes problems with full length tuplets at breaks.  Please compare bars 3 and 
4 in the following example. The bracket should ideally extend the same in both 
bars, but in bar 4 it is much shorter because of the break.  The same happens 
in bar 8 but not in bar 12.
How can I achieve this?
Any help would be greatly appreciated.

All best,

jc

\version "2.18.2"

\paper {
  ragged-bottom = ##t
  ragged-right = ##t
}

\layout {
  \context {\type "Engraver_group"
\consists "Time_signature_engraver"
\consists "Axis_group_engraver"
\name "TimeSig"
\alias "Staff"
\override TimeSignature.style = #'numbered
\override TimeSignature.font-size = #6
\override TimeSignature.break-align-symbol = #'staff-bar
\override TimeSignature.X-offset =
#ly:self-alignment-interface::x-aligned-on-self
\override TimeSignature.self-alignment-X = #CENTER

  }
  \context {\Score
\accepts TimeSig
  }
  \context {\StaffGroup
\accepts TimeSig 
  }
  \context {\Staff
\remove "Time_signature_engraver"
tupletFullLength = ##t   
\override TupletBracket.full-length-padding = -1
  }
}

music = \relative c''
{
  \tupletUp
  \repeat unfold 3 {
\time 4/4
\tuplet 5/4 {
  c2 c c4 
}
\time 3/4
\tuplet 5/3 {
  c4 c2. c4 
}
\time 4/4
\tuplet 5/4 {
  c2 c c4 
}
\time 4/4
\tuplet 5/4 {
  c2 c c4 
}
\break
  }
}

\score {
  \new StaffGroup 
  <<
\new TimeSig 
\new Staff \music
\new Staff \music
  >>
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


install lilypond v2.19.57

2017-03-21 Thread MING TSANG
 I download and install lilypond v2.19.57; but when I try to make lilypond 
version to use in Lilypound Preference of Frecobaldi v3.0.0 and I got the 
following error.
Is any one download lilypond v2.19.57 have any problem?  I am running with 
window 10
Ming___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: tuplet full length at breaks with large time signatures

2017-03-21 Thread Thomas Morley
2017-03-21 22:12 GMT+01:00 Juan Cristóbal Cerrillo :
> Hello everyone,
>
> I’m working on a score with large time signatures.  I’ve created a specific 
> context for this purpose.  However, overriding 
> TimeSignature.break-align-symbol causes problems with full length tuplets at 
> breaks.  Please compare bars 3 and 4 in the following example. The bracket 
> should ideally extend the same in both bars, but in bar 4 it is much shorter 
> because of the break.  The same happens in bar 8 but not in bar 12.
> How can I achieve this?
> Any help would be greatly appreciated.
>
> All best,
>
> jc
>
> \version "2.18.2"
>
> \paper {
>   ragged-bottom = ##t
>   ragged-right = ##t
> }
>
> \layout {
>   \context {\type "Engraver_group"
> \consists "Time_signature_engraver"
> \consists "Axis_group_engraver"
> \name "TimeSig"
> \alias "Staff"
> \override TimeSignature.style = #'numbered
> \override TimeSignature.font-size = #6
> \override TimeSignature.break-align-symbol = #'staff-bar
> \override TimeSignature.X-offset =
> #ly:self-alignment-interface::x-aligned-on-self
> \override TimeSignature.self-alignment-X = #CENTER
>
>   }
>   \context {\Score
> \accepts TimeSig
>   }
>   \context {\StaffGroup
> \accepts TimeSig
>   }
>   \context {\Staff
> \remove "Time_signature_engraver"
> tupletFullLength = ##t
> \override TupletBracket.full-length-padding = -1
>   }
> }
>
> music = \relative c''
> {
>   \tupletUp
>   \repeat unfold 3 {
> \time 4/4
> \tuplet 5/4 {
>   c2 c c4
> }
> \time 3/4
> \tuplet 5/3 {
>   c4 c2. c4
> }
> \time 4/4
> \tuplet 5/4 {
>   c2 c c4
> }
> \time 4/4
> \tuplet 5/4 {
>   c2 c c4
> }
> \break
>   }
> }
>
> \score {
>   \new StaffGroup
>   <<
> \new TimeSig
> \new Staff \music
> \new Staff \music
>   >>
> }



Hi,

how about below?

\version "2.19.57"

#(define (at-line-end? grob)
;; Thanks to David Nalesnik
   (let* ((col (ly:item-get-column grob))
  (ln (ly:grob-object col 'right-neighbor))
  (col-to-check (if (ly:grob? ln) ln col)))
 (and (eq? #t (ly:grob-property col-to-check 'non-musical))
  (= -1 (ly:item-break-dir col-to-check)

\paper {
  ragged-bottom = ##t
  ragged-right = ##t
}

\layout {
  \context {
\type "Engraver_group"
\consists "Time_signature_engraver"
\consists "Axis_group_engraver"
\name "TimeSig"
\alias "Staff"
\override TimeSignature.style = #'numbered
\override TimeSignature.font-size = #6
\override TimeSignature.break-align-symbol = #'staff-bar
\override TimeSignature.X-offset =
#ly:self-alignment-interface::x-aligned-on-self
\override TimeSignature.self-alignment-X = #CENTER
%% Adjust extension of the TimeSig, otherwise it interferes with other items
%% TODO is this the best method?
%%  Check whether moving for half X-extent is possible/cheaper
\override TimeSignature.stencil =
#(lambda (grob)
   (let* ((stil (ly:time-signature::print grob))
  (stil-center (interval-center (ly:stencil-extent stil X
 (ly:make-stencil
   (ly:stencil-expr stil)
   (cons stil-center stil-center)
   (ly:stencil-extent stil Y
  }
  \context {\Score
\accepts TimeSig
  }
  \context {\StaffGroup
\accepts TimeSig
  }
  \context {
\Staff
\remove "Time_signature_engraver"
tupletFullLength = ##t
%% shorten the length of the TupletBracket at line-end, _iff_
%% tupletFullLength is set true
\applyContext
  #(lambda (ctx)
 (ly:context-pushpop-property ctx 'TupletBracket 'after-line-breaking
   (lambda (g)
 (if (and (at-line-end? (ly:spanner-bound g RIGHT))
  (->bool (ly:context-property ctx 'tupletFullLength)))
 (ly:grob-set-property! g 'shorten-pair
   (cons 0
 (+ (/ (ly:staff-symbol-staff-space g) 2)
(ly:staff-symbol-line-thickness g
  }
}

music = \relative c''
{
  \tupletUp
  \repeat unfold 3 {
\time 4/4
\tuplet 5/4 {
  c2 c c4
}
\time 3/4
\tuplet 5/3 {
  c4 c2. c4
}
\time 4/4
\tuplet 5/4 {
  c2 c c4
}
\time 4/4
\tuplet 5/4 {
  c2 c c4
}
\break
  }
}

\score {
  \new StaffGroup
  <<
\new TimeSig
\new Staff \music
\new Staff \music
  >>
}

Cheers,
  Harm

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


Re: What can Premusic do that others can't?

2017-03-21 Thread Flaming Hakama by Elaine
Subject: Re: What can Premusic do that others can't?
> On 3/21/17 4:35 AM, Malte Meyn wrote:
>
>>
>> Am 21.03.2017 um 06:46 schrieb have@anti.capital:
>>
>>> A composer who uses an irrational tuplet is a composer who is going out
>>> of his way to exclude his music from comfortable notation.
>>>
>> Oh, I think that these irrational tuplets are comfortable to write easy
>> to understand if you
>>
>
> Why one calls them 'irrationals'? they are rational number ratios just as
> any ordinary notation, unless you're referring to a tuplet of π (pi) or
> log2 3...
>
> They look difficult because we put them in a special "difficult" place.
> Unlike Carnatic musicians, who just learn rationals and "irrationals" as
> two categories of the same things since the beginning. Stop that.
>

There are so many other reasons why this "premusic" format is a silly
concept.

Do we really need to bring up the topic of "irrational tuplets" to make
this point?

The only time I've even seen an attempt at irrational durations was in the
one other thread on this list that was actually more annoying, more
aggressive and differently clueless.  I believe the intended durations were
1/sqrt(71) or something equally undiscernable.


My general observation on this "premusic" concept is that it is an attempt
to abstract some aspects of musical content (namely, pitch name, rhythm and
lyrics), and ignoring others (like dynamics, tempo, even the octave of the
pitch is ambiguous in your "perfect" system, as well as tempo, markup,
etc.), without any consideration of how to actually notate it.

Even if this format were useful for someone to input or edit the incomplete
musical information it models, in order to actually engrave a piece of
sheet music, you would have to have another layer on top to contain all of
that information:  grouping for beams, the orientation of slurs and
articulations, barlines, how staves are grouped into staff groups, etc.


I hope that what you take away from this discussion includes:

o You have not fully considered what is required to define music even in an
abstract way, so your design is not useful for people who are trying to
process, manage or manipulate musical content.

o You have not at all considered what information is required to define
sheet music (which goes beyond the abstract musical representation), so
your design is not useful for people who are trying to produce sheet music.

o Your proposed file format--even assuming that we don't care about all the
ways in which the problem it claims to solve is not even considered, let
alone solved--is not convenient:  it is difficult to view, to read and to
manage.


Best of luck,

David Elaine Alt
415 . 341 .4954   "*Confusion is
highly underrated*"
ela...@flaminghakama.com
self-immolation.info
skype: flaming_hakama
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: (fwd)

2017-03-21 Thread Martin Tarenskeen



On Tue, 21 Mar 2017, Sven Axelsson wrote:


Here's a simple solution in PHP to upload a Lilypond file to lilybin
and download the result after execution.


I am getting this error message:

PHP Warning:  getopt() expects at most 2 parameters, 3 given in lilybin 
on line 14


I really appreciate your efforts. I feel I'm almost getting what I'm 
seaching for. Almost.


bash, python, php - I'm trying different roads. Good learning experience, 
and I might end up with something I could actually use :-)


Martin



--->>> snip lilybin <<<---
#!/usr/bin/env php
https://s3-us-west-2.amazonaws.com/lilybin-scores/' . $files[0];
   $file = fopen($files[0], 'w');
   do_curl($url, array(CURLOPT_FILE => $file));
   fclose($file);
} else {
   $url = 
'https://7icpm9qr6a.execute-api.us-west-2.amazonaws.com/prod/prepare_preview/stable';
   $result = json_decode(do_curl($url, array(
   CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
   CURLOPT_POST => 1,
   CURLOPT_POSTFIELDS => json_encode(array('code' =>
file_get_contents($files[0]))),
   CURLOPT_RETURNTRANSFER => true,
   )));
   if (!$result->id) {
   echo "ERROR:\n{$result->stderr}";
   exit(1);
   } else {
   echo $argv[0], ' -d ', $result->id, ".pdf\n";
   }
}
--->>> end snip lilybin <<<---

--
Sven Axelsson
++[>++>+++>++>++

<-]>.+..>+.>+.<<-.>>+.>.<<.

+++.>-.<<++.>>.<++.>>>++..>>.<.



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


Re: What can Premusic do that others can't?

2017-03-21 Thread mskala
On Tue, 21 Mar 2017, Flaming Hakama by Elaine wrote:
> The only time I've even seen an attempt at irrational durations was in the
> one other thread on this list that was actually more annoying, more
> aggressive and differently clueless.  I believe the intended durations were
> 1/sqrt(71) or something equally undiscernable.

FWIW, I've written algorithmically-generated music with irrational
durations by a process described at
   http://ansuz.sooke.bc.ca/professional/music/notes-on-notes-on-the-plane.pdf

and I think it came out pretty well.  It's not deliberately written with
irrational timing just to be annoying; the square roots come naturally
from the underlying geometric model and couldn't be easily removed without
compromising that in a significant way.  Unfortunately, the audio
recordings are currently offline because I stopped paying for SoundCloud,
but I plan to put them back online elsewhere within a month or two, and
could provide files on request if anyone asks me off-list.

I used Lilypond to do some notation examples in that document, but I
didn't attempt to create a complete score of the composition in music
notation nor figure out what such a thing would sensibly look like.  It's
not intended for human performance and the actual score is a set of Csound
files.

-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: Re: Parallel Square Premusic

2017-03-21 Thread have
You're very wrong. I have considered all of those things. My Parallel Square 
format is perfectly vertically extensible. The examples already given show off 
the most important part of the premusic, but it is with little imagination that 
everything you mention is accounted for.

 (begin crescendo end)
[]dy  pp--p---mp--mf--ff--<<--<<
[]tm  108 102 116
I'm not sure how the octave of a pitch is ambiguous?? Scientific pitch notation 
is pretty well defined...
Please explain what you mean by 'markup'?
I don't see any particularly compelling reason to demand inclusion of artifacts 
of sheet music such as the grouping of beams, when a rendering program could 
easily determine the most typical grouping. But the Parallel Squares format is 
extremely powerful and perfectly extensible, and all those things can still be 
accounted for if needed.

Unless you think we'll run out of square characters?

It is a new project and I want to discuss it with people before afterthoughts 
such as these are decided upon. The framework is solid, and like it or not, 
this will proceed to become the plaintext music format.


- Original Message -
Subject: Re: What can Premusic do that others can't?
From: "Flaming Hakama by Elaine" 
Date: 3/21/17 6:47 pm
To: "Lilypond-User Mailing List" 


My general observation on this "premusic" concept is that it is an attempt 
to abstract some aspects of musical content (namely, pitch name, rhythm and 
lyrics), and ignoring others (like dynamics, tempo, even the octave of the 
pitch is ambiguous in your "perfect" system, as well as tempo, markup, etc.), 
without any consideration of how to actually notate it.

Even if this format were useful for someone to input or edit the incomplete 
musical information it models, in order to actually engrave a piece of sheet 
music, you would have to have another layer on top to contain all of that 
information:  grouping for beams, the orientation of slurs and articulations, 
barlines, how staves are grouped into staff groups, etc.


I hope that what you take away from this discussion includes:

o You have not fully considered what is required to define music even in an 
abstract way, so your design is not useful for people who are trying to 
process, manage or manipulate musical content.

o You have not at all considered what information is required to define 
sheet music (which goes beyond the abstract musical representation), so your 
design is not useful for people who are trying to produce sheet music.

o Your proposed file format--even assuming that we don't care about all the 
ways in which the problem it claims to solve is not even considered, let alone 
solved--is not convenient:  it is difficult to view, to read and to manage.


Best of luck,

David Elaine Alt
415 . 341 .4954   "Confusion is 
highly underrated"
ela...@flaminghakama.com
self-immolation.info
skype: flaming_hakama
Producer ~ Composer ~ Instrumentalist

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 


No, yes, this is actually what some people are upset about, apparently. 
Somebody somewhere wrote music in pi-time, and somehow all the conceivable 
musical notations that can't very nicely deal with that are bad? Give me a 
break.

- Original Message -
Subject: Re: What can Premusic do that others can't?
From: "Bernardo Barros" 
Date: 3/21/17 2:27 pm
To: lilypond-user@gnu.org

Why one calls them 'irrationals'? they are rational number ratios just
as any ordinary notation, unless you're referring to a tuplet of π (pi)
or log2 3...

They look difficult because we put them in a special "difficult" place.
Unlike Carnatic musicians, who just learn rationals and "irrationals"
as two categories of the same things since the beginning. Stop that.

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

Thanks for letting me know about ASCIIDoc. That's VERY analogous to what I'm 
trying to do - though mine is a much more complicated task. My solution, 
Parallel Squares, is obviously up to the challenge! It does not need to be the 
king of fast readability. It is sufficiently readable to become the king of 
encoding premusic in a computer.

But, I'm a little confused here... Isn't this the Lilypond chatroom? Doesn't 
Lilypond look like this:

\version "2.14.1"
\include "english.ly"

\score {
  \new Staff {
\key d \major
\numericTimeSignature
\time 2/4
16 8.
%% Here: the tie on the D's looks funny
%% Too tall? Left-hand endpoint is not aligned with the B tie?
~
8 [  ]
  }
}


Because that looks to have a verbosity more like your LaTeX accusation than 
does this:

[]pi  --G4G4G4||e4
[]rh

Re: What can Premusic do that others can't?

2017-03-21 Thread Bernardo Barros

On 3/21/17 8:52 PM, msk...@ansuz.sooke.bc.ca wrote:

FWIW, I've written algorithmically-generated music with irrational
durations by a process described at
http://ansuz.sooke.bc.ca/professional/music/notes-on-notes-on-the-plane.pdf

 and I think it came out pretty well.  It's not deliberately written
with irrational timing just to be annoying; the square roots come
naturally from the underlying geometric model and couldn't be easily
removed without compromising that in a significant way.
Unfortunately, the audio recordings are currently offline because I
stopped paying for SoundCloud, but I plan to put them back online
elsewhere within a month or two, and could provide files on request
if anyone asks me off-list.



That's really interesting. Thanks for sharing.

I was not making an argument against it. My point was that we usually we
are too biased by traditional notation, and put non powers of two
divisions in the "really difficult" place when it is not the case.

BTW Conlon Nancarrow also has used irrational tempi.



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


Re: tuplet full length at breaks with large time signatures

2017-03-21 Thread Juan Cristóbal Cerrillo
Yes, many thanks!

I had to add a definition for item-gel-column as it is not defined in 2.18.2
I substituted with this (found on openlilylib)

#(define (get-paper-column grob)
   "Return the paper column of a given grob.
This property knows about the rhyhmic position in a score"
   (cond
((not (ly:grob? grob)) #f)
((grob::has-interface grob 'paper-column-interface) grob)
(else (get-paper-column
   ;; Can't use 'X' for axis because 'X' is also a music variable
   (ly:grob-parent grob 0)

all best,

jc

> 
> \version "2.19.57"
> 
> #(define (at-line-end? grob)
> ;; Thanks to David Nalesnik
>   (let* ((col (ly:item-get-column grob))
>  (ln (ly:grob-object col 'right-neighbor))
>  (col-to-check (if (ly:grob? ln) ln col)))
> (and (eq? #t (ly:grob-property col-to-check 'non-musical))
>  (= -1 (ly:item-break-dir col-to-check)


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


Re: Parallel Square Premusic

2017-03-21 Thread Malte Meyn
Please always reply to the messages you are actually quoting/referring
to so mail clients and archives put the mails in the thread in correct
order.

Am 22.03.2017 um 02:10 schrieb have@anti.capital:
> I'm not sure how the octave of a pitch is ambiguous?? Scientific pitch 
> notation is pretty well defined...
Hm … I don’t know either what the person you are referring to meant
because your mail is lacking the context described above. But I told you
about how D# for D sharp 5 is far from robust because in other keyboard
layouts numbers+shift give different results:

US layout: #
Dvorak layout: (
UK layout: £ (not present in ASCII)
German layout: § (not in ASCII)
neo layout: ℓ (neither in ASCII nor in the Latin-1 ASCII extension)
French layout: needs shift to reach the numbers so instead of shift just
use no shift and get "

Sadly there was no answer how you want to handle this problem.

> Please explain what you mean by 'markup'?
I don’t know which the original message you replied to is but “markups”
in LilyPond are all kinds of texts attached to music like “dolce”,
“ritardando”, “molto espressivo”, “arco”, “V. S.”, …

> I don't see any particularly compelling reason to demand inclusion of 
> artifacts of sheet music such as the grouping of beams, when a rendering 
> program could easily determine the most typical grouping.
Have you played much classical music? Beam grouping often is used to show

1. Accents/heavy times/downbeats/beat grouping (I’m not sure about the
correct English term) in meters like 5/8, 8/8 (look f. e. at Bartók).
5/8 can be 2+3 or 3+2. And it can change in every measure.

2. Syncopations and shifted meter (look f. e. at Schumann).

3. (Often—but not always—in combination with double stems) an additional
voice made from a selection of many small notes in another voice (look
f. e. at Chopin or many other romantic piano composers).

> Unless you think we'll run out of square characters?
Let’s make a quick calculation: There are 46 printable ASCII characters
plus the space. So you have 47²=2209 possible “square characters”.
That’s less than “characters” in the chinese “alphabet” so not enough
for all purposes. Now to be fair look only at music: Maybe you don’t
need that many different characters for music encoding and even less
because you have different contexts. But many combinations of two random
characters don’t make sense, sometimes you need some redundancy to keep
something readable/understandable (even or computers!).

> It is a new project and I want to discuss it with people before afterthoughts 
> such as these are decided upon. The framework is solid, and like it or not, 
> this will proceed to become the plaintext music format.
You want to discuss but “like it or not: it’s perfect and will become
*the* standard”? That sounds very contradictory to me and to be honest
also a little bit megalomaniac/narcissistic.

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


Fwd: Decrease space between header and staff

2017-03-21 Thread Cal
-- Forwarded message --
From: Cal 
Date: Tue, Mar 21, 2017 at 9:25 PM
Subject: Re: Decrease space between header and staff
To: Kieren MacMillan 


Thank you! That helps LOTS more. I've looked through the
//ly files, and I think I understand why, too. Thank
you, again.

On Mon, Mar 20, 2017 at 3:24 PM, Kieren MacMillan <
kieren_macmil...@sympatico.ca> wrote:

> Hi Cal,
>
> > I wish I could say it does, but I'm afraid I’m too novice to go on just
> that. I looked at scoreTitleMarkup already, but without any spacing
> commands in it already for me to modify, I'm not really sure what changes
> to make. I tried the naive vspace I mentioned, but it did not work. Could
> you please point me to the place from which scoreTitleMarkup inherits its
> spacing?
>
> Does this help more?
>
> \version "2.19.54"
>
> \paper {
> ragged-right = ##f
> scoreTitleMarkup = \markup \fontsize #12 \fill-line { "Title" }
> markup-system-spacing =
> #'((basic-distance . 0) ( minimum-distance . 0) (padding . 0)
> (stretchability. 0))
> }
>
> \new Staff { \clef bass f1 }
>
> As you can see, there is essentially no space between the title and the
> staff.
>
> Cheers,
> Kieren.
> 
>
> Kieren MacMillan, composer
> ‣ website: www.kierenmacmillan.info
> ‣ email: i...@kierenmacmillan.info
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


How do you align a TextSpanner with a RehearsalMark?

2017-03-21 Thread Stefano Troncaro
Hello everyone. The question is in the subject, example code:

\version "2.19.53"

\layout {
  \context {
\Score
\override RehearsalMark.self-alignment-X = #LEFT
\override TextSpanner.to-barline = ##t
  }
}

\score {
  \new Staff {
\relative c' {
  \override TextSpanner.bound-details.left.text = \markup { \teeny {
"align with" } }
  c \startTextSpan d e f |
  g \stopTextSpan \mark "This" a b c |
}
  }
}

How can you make the TextSpanner and the RehearsalMark objects aligned, in
a similar way to how \< aligns with \f.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How do you align a TextSpanner with a RehearsalMark?

2017-03-21 Thread Andrew Bernard
Hi Stefano,

When you say aligned, do you mean having the baseline of the texts aligned?

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


Re: Entering (lute) tablature

2017-03-21 Thread David Kastrup
"Trevor Daniels"  writes:

> Also, David's method of entering bars of irregular length causes the
> bar numbering to be incorrect, although the bar lines appear in the
> correct positions.

Yes, I think something like a scorewide

\set Timing.measureLength = #100

is needed connected with something like

"|" = { \partial 1*0 }

(and then one does not need to muck with the bar engraver anymore).  Not
tested: at the current moment it might do nonsense.  But something like
that should be salvageable into sane behavior eventually.

-- 
David Kastrup

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