Halving/doubling durations

2017-06-14 Thread peter

Hi Folks,
   Lots of older music is written in 4/2 or 3/2 time, and uses minims
   as the standard note.  I'd like to be able to enter it exactly for
   proof reading, then halve all the note values (and the time
   signature) so the main melody is in crotchets instead of minims.

   Example, the old Hymn Tune, `All Saints'

\score {
  \new Staff \relative c'' {
   \key bes \major  \time 4/2
   bes2 f g g |
   f es d4( c) bes2
   }
}

I'd like to convert this automatically to

\score {
  \new Staff \relative c'' {
   \key bes \major  \time 4/4
   bes4 f g g |
   f es d8( c) bes4
  }
}

by something like
   \halveDurations { music ... }


It'd be fairly easy to write a music function that does this,  but I
wanted to ask first if there was one already existing I could use.

Peter C

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


Re: Halving/doubling durations

2017-06-14 Thread Robert Schmaus

Hi Peter,

if you use Frescobaldi for writing your music (and I very much can 
recommend that!!), it has a lot of such things built in.


http://www.frescobaldi.org/index.html

Best,
Robert



Am 14.06.17 um 12:02 schrieb pe...@chubb.wattle.id.au:


Hi Folks,
Lots of older music is written in 4/2 or 3/2 time, and uses minims
as the standard note.  I'd like to be able to enter it exactly for
proof reading, then halve all the note values (and the time
signature) so the main melody is in crotchets instead of minims.

Example, the old Hymn Tune, `All Saints'

\score {
  \new Staff \relative c'' {
   \key bes \major  \time 4/2
   bes2 f g g |
   f es d4( c) bes2
}
}

I'd like to convert this automatically to

\score {
  \new Staff \relative c'' {
   \key bes \major  \time 4/4
   bes4 f g g |
   f es d8( c) bes4
  }
}

by something like
\halveDurations { music ... }


It'd be fairly easy to write a music function that does this,  but I
wanted to ask first if there was one already existing I could use.

Peter C

___
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


How to make vertical arrow between staves

2017-06-14 Thread Rutger Hofman

Good morning list,

in Berg's Violin Concerto, bar 93, there is a vertical arrow between the 
solo violin and the first violins. See attached. I am convinced this is 
a voice follower indication. This construct occurs numerous times in 
this score, as in many other works by Berg.


I don't know how I can make this in Lilypond. An obvious construction 
(which appeals to me because it is 'semantically correct') would be a 
separate invisible voice and a 0-length starter note like:


   ... g4*0 \once \showStaffSwitch \change Staff = mvtIvlnI g8 ...

and the arrow can be obtained by \override 
VoiceFollower.bound-details.right.arrow = ##t (found on the web, 
although I couldn't locate the specs for bound-details.right in the docs).
But this doesn't work. It gives me some warnings about 'adding note head 
to incompatible stem' and doesn't display the voice follower.


Making some time distance between start and end note of the voice 
follower of course works, but then the arrow is not vertical, which is 
obviously Berg's intent.


I also tried cross-staff glissando, but again to no avail.

Is there any other way to achieve this voice follower? Can I force the 
angle of the follower line? Or should I try to abuse glissando, for 
instance?


Obviously, an arrow can be drawn in markup, but that is not really 
portable. Its length would be fixed, and need to be retuned for each 
different situation, or score/parts, or whatever. I would love to stay 
away from that.


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


Re: How to make vertical arrow between staves

2017-06-14 Thread Marc Hohl

Am 14.06.2017 um 12:34 schrieb Rutger Hofman:

Good morning list,


[...]

Does

http://lsr.di.unimi.it/LSR/Item?id=962

what you want?

Marc


Rutger Hofman
Amsterdam


___
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 make vertical arrow between staves

2017-06-14 Thread Rutger Hofman

On 06/14/2017 12:47 PM, Marc Hohl wrote:

Am 14.06.2017 um 12:34 schrieb Rutger Hofman:

Good morning list,


[...]

Does

http://lsr.di.unimi.it/LSR/Item?id=962

what you want?

Marc


This LSR snippet uses VoiceFollower and Glissando. I cannot make it draw 
*vertical* lines/arrows, is there anything I overlook?


Rutger


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


Re: Halving/doubling durations

2017-06-14 Thread David Kastrup
pe...@chubb.wattle.id.au writes:

> Hi Folks,
>Lots of older music is written in 4/2 or 3/2 time, and uses minims
>as the standard note.  I'd like to be able to enter it exactly for
>proof reading, then halve all the note values (and the time
>signature) so the main melody is in crotchets instead of minims.
>
>Example, the old Hymn Tune, `All Saints'
>
> \score {
> \new Staff \relative c'' {
>  \key bes \major  \time 4/2
>  bes2 f g g |
>  f es d4( c) bes2
>}
> }
>
> I'd like to convert this automatically to
>
> \score {
> \new Staff \relative c'' {
>  \key bes \major  \time 4/4
>  bes4 f g g |
>  f es d8( c) bes4
> }
> }
>
> by something like
>\halveDurations { music ... }
>
>
> It'd be fairly easy to write a music function that does this,  but I
> wanted to ask first if there was one already existing I could use.

\shiftDurations #1 #0 { music ... }

-- 
David Kastrup

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


Re: How to make vertical arrow between staves

2017-06-14 Thread marc
Am 14.06.2017 1:15 nachm. schrieb Rutger Hofman :On 06/14/2017 12:47 PM, Marc Hohl wrote:

> Am 14.06.2017 um 12:34 schrieb Rutger Hofman:

>> Good morning list,

> 

> [...]

> 

> Does

> 

> http://lsr.di.unimi.it/LSR/Item?id=962

> 

> what you want?

> 

> Marc



This LSR snippet uses VoiceFollower and Glissando. I cannot make it draw 

*vertical* lines/arrows, is there anything I overlook?
I thought that this snippet allows for vertical arrows as well, but I was wrong. Sorry for the noise.Marc


Rutger





___

lilypond-user mailing list

lilypond-user@gnu.org

https://lists.gnu.org/mailman/listinfo/lilypond-user


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


lilypond export

2017-06-14 Thread Jan-Peter Voigt

Hi list-members,

I have been working on an export module for lilypond. The last month 
there was no time to work on it. So I send you this link despite its 
pre-alpha state, because otherwise the project might fall asleep ;-)


https://github.com/jpvoigt/lilypond-export

It is designed as an openlilylib-plugin so you should clone it next to 
oll-core (if you want to try it) It comes with one example file that 
shows the core commands.


Now, if you import lilypond-export/package.ily you have a command and a 
context-mod in place to export music with or without typesetting it:


music = { ... }
\exportMusic \default xml \music

will export a MusicXML-file .xml in many cases. Well, it is in 
pre-alpha stage, but for example if you have a simple choir piece, it 
should produce a MusicXML-file that can be read by MuseScore.
The other exporter produces Humdrum, that can for example be tested at 
http://verovio.humdrum.org/


The exporter uses some engravers to collect all note-events and store 
them in a tree-structure. The exporter-modules then traverse the tree 
and writes the corresponding strings to the output file. Right now ties 
and slurs are not collected, but lyrics are exported to XML. Beams are 
watched and exported.


This is one first sketch how it should work. There is a lot to do to add 
basics, like ties and slurs, and to make it a stable export module that 
is able to handle complex scores. But I appreciate any feedback and 
maybe someone likes to collaborate?


Best
Jan-Peter

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


point-and-click to the finger not the moon

2017-06-14 Thread Pierre-Luc Gauthier
Hello there,

I guess my question would be, where does the "point-and-click"
embedded reference (li . col) points to? and how could I make point it
shallower (i.e. make it point to "the finger" and not the moon)

Since am I using lots of \quoteDuring and \cueDuring, I often get in
the situation where it gets quite hard to know where I am in the code
especially in large pieces.

I tried making a very simple command to show me "where am I" in the
code by producing some clickable arbitrary markup. The usage would be
to sprinkle this command in some blind notation (e.g. {s1*8\wtfami
s1*8\wtfami} etc) and later click on these instancies to get to where
the command was called in the code. Producing the grob is working fine
as expected; but when I click on the said grob, it obviously jumps to
the command itself rather than to where it was called.

Thinking out loud : I know some command (e.g. the slur of the
\acciaccatura command) points to internal LilyPond code. I suppose it
is an error as most command I enter points to my own code. So I
suspect there is a way of adjusting how deep the point-and-click
function points to.

Is there a way to "promote" (I have no idea of what I'm talking about)
my \wtfami markup to include its position *where it was called* in the
generated grob?

'hope this makes sense to you all…

MWE :
http://lilybin.com/kbeps8/1
% BEGIN
\version "2.19.63"

wtfami = <>^\markup {
  \fontsize #5
  \bold
  "!"
}

quoted = \relative c' {
  \repeat unfold 8 {
c4 \acciaccatura cis8 d4 f
  }
}
\addQuote "quoted" \quoted

someStaff = \new Staff {
  \quoteDuring "quoted" {
s1*2 |
\wtfami
s1*2 |
\wtfami
s1*2 |
  }
}

\score {
  \someStaff
  \layout {}
}
% END

Thanks
-- 
Pierre-Luc Gauthier
\version "2.19.63"

wtfami = <>^\markup {
  \fontsize #5
  \bold
  "!"
}

quoted = \relative c' {
  \repeat unfold 8 {
c4 \acciaccatura cis8 d4 f
  }
}
\addQuote "quoted" \quoted

someStaff = \new Staff {
  \quoteDuring "quoted" {
s1*2 |
\wtfami
s1*2 |
\wtfami
s1*2 |
  }
}

\score {
  \someStaff
  \layout {}
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: lilypond export

2017-06-14 Thread Kieren MacMillan
Hi Jan-Peter,

> I have been working on an export module for lilypond. […]
> you have a command and a context-mod in place to export music with or without 
> typesetting it


This is very exciting! Thanks for the great work.

> I appreciate any feedback and maybe someone likes to collaborate?

I will test and give feedback. If there's a way I can contribute beyond that, I 
will do my best!

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


Re: point-and-click to the finger not the moon

2017-06-14 Thread Kieren MacMillan
Hi Pierre-Luc,

> where does the "point-and-click"
> embedded reference (li . col) points to? and how could I make point it
> shallower (i.e. make it point to "the finger" and not the moon)

This is something I'm struggling with, as well.

On a related note: Do you use Frescobaldi? I imagine the implementation of a 
really good solution to this problem would be easier there than "in the wild"… 
Maybe something like: right-click on a grob to get a list of possible targets 
in the code (e.g., "Staff, Voice, quoted source, Lilypond definition of 
'acciaccatura'"), select item and be taken to that 'level'.

Sorry I don't have an actual answer for you… but I'm interested in hearing 
where this thread goes.

Best,
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


Re: point-and-click to the finger not the moon

2017-06-14 Thread Pierre-Luc Gauthier
Thanks for the reply Kieren,

> On a related note: Do you use Frescobaldi?

Mainly yes.
Although I am using emacs more and more on a daily basis and I expect
to migrate my LilyPond workflow into it the following years.


> I imagine the implementation of a really good solution to this problem would 
> be easier there than "in the wild"…

I'm not sure I understand what you mean.


> Maybe something like: right-click on a grob to get a list of possible targets 
> in the code (e.g., "Staff, Voice, quoted source, Lilypond definition of 
> 'acciaccatura'"), select item and be taken to that 'level'.

IFAIK, no such information are contained in the PDF itself which would
mean Frescobaldi (or any other editor) would have to infer it from the
code (quite the impossible), is that what you mean?


-- 
Pierre-Luc Gauthier

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


Re: point-and-click to the finger not the moon

2017-06-14 Thread Kieren MacMillan
Hi Pierre-Luc,

>> On a related note: Do you use Frescobaldi?
> 
> Mainly yes.
> Although I am using emacs more and more on a daily basis and I expect
> to migrate my LilyPond workflow into it the following years.

Interesting!

>> I imagine the implementation of a really good solution to this problem would 
>> be easier there than "in the wild"…
> 
> I'm not sure I understand what you mean.

Well, an IDE would be able to do more with the information provided by a PDF 
link than a simple text editor.

>> Maybe something like: right-click on a grob to get a list of possible 
>> targets in the code (e.g., "Staff, Voice, quoted source, Lilypond definition 
>> of 'acciaccatura'"), select item and be taken to that 'level'.
> 
> IFAIK, no such information are contained in the PDF itself which would
> mean Frescobaldi (or any other editor) would have to infer it from the
> code (quite the impossible), is that what you mean?

Yes. Why is that impossible? If the link is attached to (e.g.) a NoteHead grob 
which is inside a quote defined in VariableA but incorporated into VoiceB and 
displayed in StaffC, why couldn't the editor work out a target list like:

   StaffC
   StaffC > VoiceB
   StaffC > VoiceB > VariableA

??

Right now, Frescobaldi knows how to "Jump to definition" from some bits of code 
to others… In fact, given

   \new Staff << \globalStuff \noteStuff >>

one can already [in Frescobaldi] click on either \globalStuff or \noteStuff and 
be taken to that part of the code. I don't immediately see why what I've 
outlined above isn't just a fancy version of this existing feature.

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


markup and midi

2017-06-14 Thread Gianmaria Lari
Why this code does not generate any midi file?

\version "2.19.60"
\markup {
  \score {
{c' d'}
\midi{}
\layout{}
  }
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: Halving/doubling durations

2017-06-14 Thread Mark Stephen Mrotek
Peter,

In Frescobaldi:
Tools, rhythm, double/half duration

Mark

-Original Message-
From: lilypond-user
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
pe...@chubb.wattle.id.au
Sent: Wednesday, June 14, 2017 3:02 AM
To: lilypond-user@gnu.org
Subject: Halving/doubling durations


Hi Folks,
   Lots of older music is written in 4/2 or 3/2 time, and uses minims
   as the standard note.  I'd like to be able to enter it exactly for
   proof reading, then halve all the note values (and the time
   signature) so the main melody is in crotchets instead of minims.

   Example, the old Hymn Tune, `All Saints'

\score {
  \new Staff \relative c'' {
   \key bes \major  \time 4/2
   bes2 f g g |
   f es d4( c) bes2
   }
}

I'd like to convert this automatically to

\score {
  \new Staff \relative c'' {
   \key bes \major  \time 4/4
   bes4 f g g |
   f es d8( c) bes4
  }
}

by something like
   \halveDurations { music ... }


It'd be fairly easy to write a music function that does this,  but I wanted
to ask first if there was one already existing I could use.

Peter C

___
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: markup and midi

2017-06-14 Thread Guy Stalnaker
On Wed, Jun 14, 2017 at 10:47 AM, Gianmaria Lari 
wrote:

> \version "2.19.60"
> \markup {
>   \score {
> {c' d'}
> \midi{}
> \layout{}
>   }
> }
>

​This does - note no \markup required:


\version "2.19.60"
  \score {
<<
{c' d'}
>>
\midi{}
\layout{}
  }
​


Guy Stalnaker
jimmyg...@gmail.com
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: markup and midi

2017-06-14 Thread Gianmaria Lari
yes, but that was just a "distilled" (concise) example :)

Ok, something more real:

\version "2.19.60"
\markup \fill-line {
  \score {
{c' d'}
\midi{}
\layout{}
  }
  \score {
{c' d'}
\midi{}
\layout{}
  }
}

On 14 June 2017 at 18:01, Guy Stalnaker  wrote:

>
> On Wed, Jun 14, 2017 at 10:47 AM, Gianmaria Lari 
> wrote:
>
>> \version "2.19.60"
>> \markup {
>>   \score {
>> {c' d'}
>> \midi{}
>> \layout{}
>>   }
>> }
>>
>
> ​This does - note no \markup required:
>
> 
> \version "2.19.60"
>   \score {
> <<
> {c' d'}
> >>
> \midi{}
> \layout{}
>   }
> ​
>
>
> Guy Stalnaker
> jimmyg...@gmail.com
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


fill-line

2017-06-14 Thread Gianmaria Lari
I'm playing with the \fill-line command:

Please have a look to the following example:

\version "2.19.60"
\markup \fill-line {Word Super_super_super_long_word
Another_super_super_super_long_word}

As you can see there are three words in the markup:

(1)Word  (2)Super_super_super_long_word
(3)Another_super_super_super_long_word


If you check the output (see attached screenshot) the second and third word
are overlapped even if there is some empty space on the first word. Is
there any way I can avoid overlapping but use all the line? (plain concat
is not an option :))

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


Re: fill-line

2017-06-14 Thread Kieren MacMillan
Hi Gianmaria,

> Is there any way I can avoid overlapping but use all the line?

How about using \justify-line?

Hope this helps,
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


Re: fill-line

2017-06-14 Thread Gianmaria Lari
>
> How about using \justify-line?
>

fantastic! This work perfectly! Thank you!
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to make vertical arrow between staves

2017-06-14 Thread Juan Cristóbal Cerrillo
How about this

\version "2.18.2"
<<
  \new Staff {
c1
_\markup {
  \combine
  \draw-line #'(0 . 4)
  \arrow-head #Y #DOWN ##f
}
  }
  \new Staff c1
>>

http://lilypond.org/doc/v2.18/Documentation/notation/formatting-text#graphic-notation-inside-markup

> On Jun 14, 2017, at 6:20 AM, m...@hohlart.de wrote:
> 
> 
> 
> Am 14.06.2017 1:15 nachm. schrieb Rutger Hofman  >:
> On 06/14/2017 12:47 PM, Marc Hohl wrote: 
> > Am 14.06.2017 um 12:34 schrieb Rutger Hofman: 
> >> Good morning list, 
> > 
> > [...] 
> > 
> > Does 
> > 
> > http://lsr.di.unimi.it/LSR/Item?id=962 
> > 
> > what you want? 
> > 
> > Marc 
> 
> This LSR snippet uses VoiceFollower and Glissando. I cannot make it draw 
> *vertical* lines/arrows, is there anything I overlook? 
> 
> I thought that this snippet allows for vertical arrows as well, but I was 
> wrong. 
> 
> Sorry for the noise.
> 
> Marc
> 
> Rutger 
> 
> 
> ___ 
> lilypond-user mailing list 
> lilypond-user@gnu.org  
> https://lists.gnu.org/mailman/listinfo/lilypond-user 
>  
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org 
> https://lists.gnu.org/mailman/listinfo/lilypond-user 
> 
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to make vertical arrow between staves

2017-06-14 Thread Kieren MacMillan
Hi Juan,

OP: "Obviously, an arrow can be drawn in markup, but that is not really 
portable. Its length would be fixed, and need to be retuned for each different 
situation, or score/parts, or whatever. I would love to stay away from that."

=)

Cheers,
Kieren.

> How about this
> 
> \version "2.18.2"
> <<
>   \new Staff {
> c1
> _\markup {
>   \combine
>   \draw-line #'(0 . 4)
>   \arrow-head #Y #DOWN ##f
> }
>   }
>   \new Staff c1
> >>


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


Re: markup and midi

2017-06-14 Thread Guy Stalnaker
I see what you're trying to do, but I don't think (others on this list can
correct me if I'm wrong) that \markup is intended for this kind of use:


A \markup block is used to typeset *text* with an extensible syntax called
“markup mode”


From:  http://lilypond.org/doc/v2.19/Documentation/notation/formatting-text

Also:
http://lilypond.org/doc/v2.18/Documentation/notation/text-markup-commands

I could be wrong, of course.


Guy Stalnaker
jimmyg...@gmail.com

On Wed, Jun 14, 2017 at 11:10 AM, Gianmaria Lari 
wrote:

> yes, but that was just a "distilled" (concise) example :)
>
> Ok, something more real:
>
> \version "2.19.60"
> \markup \fill-line {
>   \score {
> {c' d'}
> \midi{}
> \layout{}
>   }
>   \score {
> {c' d'}
> \midi{}
> \layout{}
>   }
> }
>
> On 14 June 2017 at 18:01, Guy Stalnaker  wrote:
>
>>
>> On Wed, Jun 14, 2017 at 10:47 AM, Gianmaria Lari > > wrote:
>>
>>> \version "2.19.60"
>>> \markup {
>>>   \score {
>>> {c' d'}
>>> \midi{}
>>> \layout{}
>>>   }
>>> }
>>>
>>
>> ​This does - note no \markup required:
>>
>> 
>> \version "2.19.60"
>>   \score {
>> <<
>> {c' d'}
>> >>
>> \midi{}
>> \layout{}
>>   }
>> ​
>>
>>
>> Guy Stalnaker
>> jimmyg...@gmail.com
>>
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Cross-staffs where a note is already displaced

2017-06-14 Thread David Wright
On Mon 12 Jun 2017 at 09:17:31 (+0200), Thomas Morley wrote:
> 2017-06-12 6:43 GMT+02:00 David Wright :
> > I can't figure out how to make crossStaff work when one component
> > has been displaced by the interval of a second. I came up with a
> > hack (a hidden note) in example 3, but it has the side effect of
> > leaving the accidental (when there is one) rather far over.
> > Is there a better way?
> 
> See:
> http://lists.gnu.org/archive/html/lilypond-user/2016-11/msg00230.html
> 
> For your example:
> 
> \version "2.19.59"
> 
> \header { tagline = ##f }
> 
> pushNC =
> \once \override NoteColumn.X-offset =
[…]

Thanks for this code. I searched back through the archives, but
skated straight over this thread because I didn't recognise its
relevance, perhaps because there wasn't an image of Andrew/LP's
failing case. (Most of Andrew's scores are far too esoteric for
me to understand.)

Would I be right in thinking it searches through the grobs for
this moment, finds out if any have been displaced, and returns
the displacement? Would it be worth having a snippet with a
title that involves words like "determining the horizontal
displacement of colliding simultaneous notes for eg crossstaffs"
so that google (and others) might find it?

Despite having some scheme code that I don't understand
bundled into an .ily file, it makes my LP code much simpler.
Thanks again.

Cheers,
David.

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


Re: markup and midi

2017-06-14 Thread Kieren MacMillan
Hi Gianmaria,

> Ok, something more real:
> 
> \version "2.19.60"
> \markup \fill-line {
>   \score {
> {c' d'}
> \midi{}
> \layout{}
>   }
>   \score {
> {c' d'}
> \midi{}
> \layout{}
>   }
> }

Hmm… maybe something like this (WARNING: didn't try it myself!)?

\version "2.19.60"

%%  visual output
\markup \fill-line {
  \score {
{c' d'}
  }
  \score {
{c' d'}
  }
}

%%  MIDI output
\score {
  {c' d'}
  \midi{}
}
\score {
  {c' d'}
  \midi{}
}

Hope this helps,
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


Re: markup and midi

2017-06-14 Thread Gianmaria Lari
I wanted to try to avoid to split the midi in a different "block" but I
will go in this way.

Thank you Kieren and Guy!
g.


On 14 June 2017 at 19:02, Kieren MacMillan 
wrote:

> Hi Gianmaria,
>
> > Ok, something more real:
> >
> > \version "2.19.60"
> > \markup \fill-line {
> >   \score {
> > {c' d'}
> > \midi{}
> > \layout{}
> >   }
> >   \score {
> > {c' d'}
> > \midi{}
> > \layout{}
> >   }
> > }
>
> Hmm… maybe something like this (WARNING: didn't try it myself!)?
>
> \version "2.19.60"
>
> %%  visual output
> \markup \fill-line {
>   \score {
> {c' d'}
>   }
>   \score {
> {c' d'}
>   }
> }
>
> %%  MIDI output
> \score {
>   {c' d'}
>   \midi{}
> }
> \score {
>   {c' d'}
>   \midi{}
> }
>
> Hope this helps,
> 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


Re: How to make vertical arrow between staves

2017-06-14 Thread Kieren MacMillan
Hi Rutger,

> I cannot make it draw *vertical* lines/arrows, is there anything I overlook?

If the staves are guaranteed to be adjacent, maybe you can hack Arpeggio? 
Here's a start:

%%%  SNIPPET BEGINS
\version "2.19.62"

arpfix = {
  \once \override GrandStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
  \once \override GrandStaff.Arpeggio.X-offset = #0.5
  \once \override GrandStaff.Arpeggio.protrusion = #0
}

upper = { \arpfix c''1\arpeggio }
lower = { f'1\arpeggio }

\score {
  \new GrandStaff <<
\new Staff = "upper_staff" \upper
\new Staff = "lower_staff" \lower
  >>
  \layout {
\context {
  \GrandStaff
  \override VerticalAxisGroup.staff-staff-spacing.padding = #12
  connectArpeggios = ##t
}
  }
}
%%%  SNIPPET ENDS

Ultimately, it would be great to have a way to connect any two grobs/positions 
on a system/page (or even across pages!?), by simply giving ids. I don't know 
what has been thought about and/or worked on in that direction (e.g., we now 
have nested spanners on the same staff via ids, so maybe there's something in 
the works for cross-staff uses).

Hope this helps,
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


Re: How to make vertical arrow between staves

2017-06-14 Thread Thomas Morley
2017-06-14 12:34 GMT+02:00 Rutger Hofman :
> Good morning list,
>
> in Berg's Violin Concerto, bar 93, there is a vertical arrow between the
> solo violin and the first violins. See attached. I am convinced this is a
> voice follower indication. This construct occurs numerous times in this
> score, as in many other works by Berg.
>
> I don't know how I can make this in Lilypond. An obvious construction (which
> appeals to me because it is 'semantically correct') would be a separate
> invisible voice and a 0-length starter note like:
>
>... g4*0 \once \showStaffSwitch \change Staff = mvtIvlnI g8 ...
>
> and the arrow can be obtained by \override
> VoiceFollower.bound-details.right.arrow = ##t (found on the web, although I
> couldn't locate the specs for bound-details.right in the docs).
> But this doesn't work. It gives me some warnings about 'adding note head to
> incompatible stem' and doesn't display the voice follower.
>
> Making some time distance between start and end note of the voice follower
> of course works, but then the arrow is not vertical, which is obviously
> Berg's intent.
>
> I also tried cross-staff glissando, but again to no avail.
>
> Is there any other way to achieve this voice follower? Can I force the angle
> of the follower line? Or should I try to abuse glissando, for instance?
>
> Obviously, an arrow can be drawn in markup, but that is not really portable.
> Its length would be fixed, and need to be retuned for each different
> situation, or score/parts, or whatever. I would love to stay away from that.
>
> Rutger Hofman
> Amsterdam

Probably use GridLine

Here
http://lists.gnu.org/archive/html/lilypond-user/2017-04/msg00375.html
I tweaked the stencil to put out parentheses, arrows should be far easier.
Not yet tested, though.

Cheers,
  Harm

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


OpenLilyLib (Was: Re: lilypond export)

2017-06-14 Thread Johan Vromans
On Wed, 14 Jun 2017 15:01:19 +0200, Jan-Peter Voigt  wrote:

> It is designed as an openlilylib-plugin so you should clone it next to 
> oll-core (if you want to try it) It comes with one example file that 
> shows the core commands.

Which reminds me...

When I visit https://openliliylib.org/ I get a page with text but nothing
to click on. No links (except for the generic links (github,
facebook, ...) at the bottom). This is confusing and discouraging...

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


Re: OpenLilyLib (Was: Re: lilypond export)

2017-06-14 Thread Kieren MacMillan
Hi Johan,

> When I visit https://openliliylib.org/ I get a page with text but nothing
> to click on. No links (except for the generic links (github

Clicking on the GitHub link will take you to the current repository.

Hope this helps!
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


Re: Halving/doubling durations

2017-06-14 Thread Peter Chubb
> "David" == David Kastrup  writes:

David> pe...@chubb.wattle.id.au writes:
>> 
>> It'd be fairly easy to write a music function that does this, but I
>> wanted to ask first if there was one already existing I could use.

David> \shiftDurations #1 #0 { music ... }

Thanks David!  That's exactly what I want.  But I think I'll try to
get a patch to add \shiftDurations to the docs so it can be found by
others ...

Peter C

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


Re: OpenLilyLib (Was: Re: lilypond export)

2017-06-14 Thread Johan Vromans
On Wed, 14 Jun 2017 15:44:24 -0400, Kieren MacMillan
 wrote:

> Hi Johan,
> 
> > When I visit https://openliliylib.org/ I get a page with text but
> > nothing to click on. No links (except for the generic links (github  
> 
> Clicking on the GitHub link will take you to the current repository.
> 
> Hope this helps!

No, it doesn't.

Clicking on the GitHub link will show a list of mysterious repositories.
The only repo that makes sense is "openlilylib". Oops, it is deprecated.

For the file exporter I seem to need oll-core, but this repo doesn't say
anything about how to use it. Just scary warnings like "this code (and
documentation) is currently in a conceptual state of pre-alpha quality".

The OpenLilyLib web page talks about "Learn how to get up and running with a
few steps" and "Browse the package list and search the full online
documentation" but there is no way to actually achieve this.

In particular, "Learn how to get up and running with a few steps" would be
helpful, as would "Browse the package list and search the full online
documentation".

I don't want to sound negative, but I find this rather discouraging. 

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


Re: point-and-click to the finger not the moon

2017-06-14 Thread Pierre-Luc Gauthier
>>> Maybe something like: right-click on a grob to get a list of possible 
>>> targets in the code (e.g., "Staff, Voice, quoted source, Lilypond 
>>> definition of 'acciaccatura'"), select item and be taken to that 'level'.
>>
>> IFAIK, no such information are contained in the PDF itself which would
>> mean Frescobaldi (or any other editor) would have to infer it from the
>> code (quite the impossible), is that what you mean?
>
> Yes. Why is that impossible? If the link is attached to (e.g.) a NoteHead 
> grob which is inside a quote defined in VariableA but incorporated into 
> VoiceB and displayed in StaffC, why couldn't the editor work out a target 
> list like:
>
>StaffC
>StaffC > VoiceB
>StaffC > VoiceB > VariableA
>
> ??

How could the editor know?
What if VariableA is used by two voices? Which one should it refer to?
And how would it know it refers to that voice in the first place?

I usually write things as separated as possible keeping most the
content out and far from the presentation.
Roughly, oboeI = {lotsOfMusic} which is in its own file (e.g.
oboeI.ily) with no include in *that* file; the editor is in a dead
end.
And somewhere else, in a whole other obscure file, that oboeI variable
gets called in by oboeI-IIPart partcombine stuff, oboeI for clarinet
in A, oboeI for clarinet in Bf, and in the concert pitch score and
finally in the transposed one.
To what voice should it refer to? (let alone what staff uses it‽)
And how could the program (e.g. Frescobaldi) know how to list those
voices (Staff, etc)?
From what I understand, the editor would have to be at least as wise
as LilyPond to figure that out.

> Right now, Frescobaldi knows how to "Jump to definition" from some bits of 
> code to others… In fact, given
>\new Staff << \globalStuff \noteStuff >>
> one can already [in Frescobaldi] click on either \globalStuff or \noteStuff 
> and be taken to that part of the code. I don't immediately see why what I've 
> outlined above isn't just a fancy version of this existing feature.

Well, in most of my files, Frescobaldi fails to "Jump to [my] definition"s.
It just cannot look around in my whole project(computer) to know where
that definition is.

% \begin{bogus example} :
definitions.ily : someCommand = {…}
music.ily : music = {…}
theContent.ily : <<\someCommand \music>>
engravePlease.ly = \include "music.ily" \include "definitions.ily"
\include "theContent.ily"

-- 
Pierre-Luc Gauthier

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


Re: OpenLilyLib (Was: Re: lilypond export)

2017-06-14 Thread Simon Albrecht

On 14.06.2017 23:14, Johan Vromans wrote:

The OpenLilyLib web page talks about "Learn how to get up and running with a
few steps" and "Browse the package list and search the full online
documentation" but there is no way to actually achieve this.

In particular, "Learn how to get up and running with a few steps" would be
helpful, as would "Browse the package list and search the full online
documentation".

I don't want to sound negative, but I find this rather discouraging.


The current version of openLilyLib may be found at 
. If there is insufficient 
documentation, and the whole project is in a kind of intermediary state 
that may indeed be confusing, that’s because Urs has been having other 
things on his mind, I think.


Best, Simon

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


Re: OpenLilyLib (Was: Re: lilypond export)

2017-06-14 Thread Kieren MacMillan
Hi Johan,

> The OpenLilyLib web page talks about "Learn how to get up and running with a
> few steps" and "Browse the package list and search the full online
> documentation" but there is no way to actually achieve this.
> 
> In particular, "Learn how to get up and running with a few steps" would be
> helpful, as would "Browse the package list and search the full online
> documentation".

Patches or other concrete contributions are gratefully accepted.

Regards,
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


Re: point-and-click to the finger not the moon

2017-06-14 Thread Kieren MacMillan
Hi Pierre-Luc,

> How could the editor know?
> What if VariableA is used by two voices? Which one should it refer to?

The one you clicked on in the PDF.  ;)

I suppose in the *extremely rare* circumstance that a single grob is contained 
at exactly the same [physical] spot in the same parent (e.g., Staff) context in 
two or more different Voice contexts and the source of that grob is a variable… 
well, I guess the editor would have to give up or present multiple targets. But 
I've never had or seen that situation in my 16 years of using Lilypond — I 
can't even quite figure out how it could happen…

> From what I understand, the editor would have to be at least as wise
> as LilyPond to figure that out.

No… it already has the PDF to work backwards from (which Lilypond doesn't).

> Well, in most of my files, Frescobaldi fails to "Jump to [my] definition"s.
> It just cannot look around in my whole project(computer) to know where
> that definition is.
> 
> % \begin{bogus example} :
> definitions.ily : someCommand = {…}
> music.ily : music = {…}
> theContent.ily : <<\someCommand \music>>
> engravePlease.ly = \include "music.ily" \include "definitions.ily"
> \include "theContent.ily"

I still don't see how that path can't be navigated in reverse (i.e., from the 
PDF back to the source locations): if you can do it manually (which I'm sure 
you can), then it almost certainly can be automated.

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


Re: markup and midi

2017-06-14 Thread Thomas Morley
2017-06-14 17:47 GMT+02:00 Gianmaria Lari :
> Why this code does not generate any midi file?
>
> \version "2.19.60"
> \markup {
>   \score {
> {c' d'}
> \midi{}
> \layout{}
>   }
> }



As others already said, markup can't create midi, but I looked for a
method to extract the scores from markup and to reprocess them as
midi.

Probably:

\version "2.19.61"

%% the markup-definition
mrkp =
\markup \box \line {
\score { { c' d' } \layout {} }
\score { { cis' dis' } \layout {} }
\score { { d' e' } \layout {} }
}

%% call the markup
\mrkp

getMidiFromScoreMarkup =
#(define-void-function (mrkp)(markup?)
"Takes a markup, filters for scores, puts them out each in a new bookpart as
midi"
  (let* ((scores
   (filter
 (lambda (arg) (ly:score? arg))
 ;; brute-force ...
 (flatten-list mrkp)))
(midi-scores
   (map
 ;; TODO
 ;; is it possible to insert \midi into a ready score, other than
 ;; recreating the score?
 (lambda (e) #{ \score { #(ly:score-music e) \midi {} } #})
 (reverse scores
;; TODO
;; better/shorter method?
(ly:book-process
  (ly:make-book-part midi-scores)
  $defaultpaper
  $defaultmidi
  (ly:parser-output-name

%% put out the midis
\getMidiFromScoreMarkup \mrkp


Cheers,
  Harm

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


Re: OpenLilyLib (Was: Re: lilypond export)

2017-06-14 Thread Urs Liska


Am 14.06.2017 um 23:14 schrieb Johan Vromans:
> On Wed, 14 Jun 2017 15:44:24 -0400, Kieren MacMillan
>  wrote:
>
>> Hi Johan,
>>
>>> When I visit https://openliliylib.org/ I get a page with text but
>>> nothing to click on. No links (except for the generic links (github  
>> Clicking on the GitHub link will take you to the current repository.
>>
>> Hope this helps!
> No, it doesn't.

Of course it doesn't. The Github link leads to an organization page,
which is not more than an uncommented collection of repositories.
Something most developers will be familiar with but not what an end user
will easily deal with.

>
> Clicking on the GitHub link will show a list of mysterious repositories.
> The only repo that makes sense is "openlilylib". Oops, it is deprecated.
>
> For the file exporter I seem to need oll-core, but this repo doesn't say
> anything about how to use it. Just scary warnings like "this code (and
> documentation) is currently in a conceptual state of pre-alpha quality".
>
> The OpenLilyLib web page talks about "Learn how to get up and running with a
> few steps" and "Browse the package list and search the full online
> documentation" but there is no way to actually achieve this.

The current state of what can be seen at openlilylib.org is the result
of commenting out the further functionality of a single-page (MEAN) web
application with which I got stuck for two different reason. On the one
hand I ran into learning problems when trying to populate my contents
from manageable files instead of hand-written JSON files. On the other
hand (and more fundamentally) the intent is to integrate openLilyLib
package documentation in the website, and that documentation system is
still non-existent.

>
> In particular, "Learn how to get up and running with a few steps" would be
> helpful, as would "Browse the package list and search the full online
> documentation".
>
> I don't want to sound negative, but I find this rather discouraging. 
>

Am 14.06.2017 um 23:26 schrieb Simon Albrecht:
>
> If there is insufficient documentation, and the whole project is in a
> kind of intermediary state that may indeed be confusing, that’s
> because Urs has been having other things on his mind, I think.
>

I would put that differently: the underlying reason is that the whole
openLilyLib thing is (apart from the numerous contributions to the
snippets repository) still very much a one-man show, and I simply can't
afford doing much more than what I really need for my own purposes. This
is a pity, but I must also say that with some notable exceptions any
calls for collaboration or support haven't returned significant feedback
yet.

Am 14.06.2017 um 23:29 schrieb Kieren MacMillan:
> Patches or other concrete contributions are gratefully accepted. 

That said, currently there are two distinct areas where any engagement
could be fruitful:

A)
I'd be more than happy if someone could help me or take over the
implementation of the website. Currently it is written as a
(artificially crippled) Node/Angular application, but I'm having
difficulties populating the datasets on the Node side.
I'd be interested in continuing on that track, but I'd equally value a
completely new approach, for example based on a static site builder.

B)
Together with Andrew Bernard and Matteo Ceccarello I've just started a
"project" with the goal of creating a toolchain to generate
documentation from openLilyLib packages
(https://github.com/openlilylib/oll-core/projects/1). This should be of
general interest as it will probably also produce a specification and
toolkit to create documentation for one's own files and libraries,
independent from the openLilyLib context.
This is a project that requires quite some discussion and planning and
later non-neglectable coding in to-be-decided languages (I'd guess
Scheme and Python). And I'd predict that this project is more likely to
succeed - and finally make openLilyLib accessible for regular use - if
there will be some collaboration/contribution.

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: point-and-click to the finger not the moon

2017-06-14 Thread Pierre-Luc Gauthier
2017-06-14 17:34 GMT-04:00 Kieren MacMillan :
>> How could the editor know?
>> What if VariableA is used by two voices? Which one should it refer to?
>
> The one you clicked on in the PDF.  ;)

Oooh, so you mean that grobs now containing mostly a
textedit:///path/to/file:line:column:something could then include much
more stuff.
A sort of dictionary containing lots of information (voice staff and
so many possible mores! ;-) ) that some editor could fetch and
interpret and link to. That sounds awesome (from my
no-so-much-of-a-real-programmer point of view) !

If I understand correctly that implies LilyPond should provide each
grob with such information encapsulation for an eventual
"point-and-choose-and-click" interface.

So is /that/ what your saying?

-- 
Pierre-Luc Gauthier

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


Re: Cross-staffs where a note is already displaced

2017-06-14 Thread Thomas Morley
2017-06-14 18:58 GMT+02:00 David Wright :
> On Mon 12 Jun 2017 at 09:17:31 (+0200), Thomas Morley wrote:
>> 2017-06-12 6:43 GMT+02:00 David Wright :
>> > I can't figure out how to make crossStaff work when one component
>> > has been displaced by the interval of a second. I came up with a
>> > hack (a hidden note) in example 3, but it has the side effect of
>> > leaving the accidental (when there is one) rather far over.
>> > Is there a better way?
>>
>> See:
>> http://lists.gnu.org/archive/html/lilypond-user/2016-11/msg00230.html
>>
>> For your example:
>>
>> \version "2.19.59"
>>
>> \header { tagline = ##f }
>>
>> pushNC =
>> \once \override NoteColumn.X-offset =
> […]
>
> Thanks for this code. I searched back through the archives, but
> skated straight over this thread because I didn't recognise its
> relevance, perhaps because there wasn't an image of Andrew/LP's
> failing case. (Most of Andrew's scores are far too esoteric for
> me to understand.)
>
> Would I be right in thinking it searches through the grobs for
> this moment, finds out if any have been displaced, and returns
> the displacement?

Actually, all Stem-grobs are filtered from the current PaperColumn.
The value returned is the difference between the most left and the
most right Stem.
The NoteColumn where \pushNc (usually note the one on which
\crossStaff works) is applied to is moved by this amount.

As result the stems are aligned, so \crossStaff can join their stems.
One needs to full-fill the condition that the stems are _very_ close.

To get more detailed info whats coded, I always find displaying whats
done very helpful. Here:

pushNC =
\once \override NoteColumn.X-offset =
  #(lambda (grob)
(let* ((p-c (ly:grob-parent grob X))
   (p-c-elts (ly:grob-object p-c 'elements))
   (stems
 (if (ly:grob-array? p-c-elts)
 (filter
   (lambda (elt)(grob::has-interface elt 'stem-interface))
   (ly:grob-array->list p-c-elts))
 #f))
   (stems-x-exts
 (if stems
 (map
   (lambda (stem)
 (ly:grob-extent
   stem
   (ly:grob-common-refpoint grob stem X)
   X))
   stems)
 '()))
   (sane-ext
 (filter interval-sane? stems-x-exts))
   (cars (map car sane-ext)))
(format #t "\np-c: ~a" p-c)
(format #t "\np-c-elts: ~y" (ly:grob-array->list p-c-elts))
(format #t "\nstems: ~a" stems)
(format #t "\nstems-x-exts: ~y" stems-x-exts)
(format #t "\nsane-ext: ~y" sane-ext)
(format #t "\ncars: ~a" cars)

(let ((amount-to-move
(if (pair? cars)
(abs (- (apply max cars)  (apply min cars)))
0)))
  (format #t "\namount-to-move: ~a" amount-to-move)
  amount-to-move
  ;0
  )))

> Would it be worth having a snippet with a
> title that involves words like "determining the horizontal
> displacement of colliding simultaneous notes for eg crossstaffs"
> so that google (and others) might find it?

Well, I'm not sure it will always work or more precisely, that it will
always work as wished...
Needs more testing, I'd say.

> Despite having some scheme code that I don't understand
> bundled into an .ily file, it makes my LP code much simpler.
> Thanks again.
>
> Cheers,
> David.

Cheers,
  Harm

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


Re: point-and-click to the finger not the moon

2017-06-14 Thread Kieren MacMillan
Hi Pierre-Luc,

> Oooh, so you mean that grobs now containing mostly a
> textedit:///path/to/file:line:column:something could then include much
> more stuff. A sort of dictionary containing lots of information (voice staff 
> and
> so many possible mores! ;-) ) that some editor could fetch and
> interpret and link to.

Precisely.  =)

> If I understand correctly that implies LilyPond should provide each
> grob with such information encapsulation for an eventual
> "point-and-choose-and-click" interface.
> 
> So is /that/ what your saying?

Yes. My intuition says that if it simply gave the TOP-LEVEL file:line:column, 
the editor could take it from there — if not, then a contextid:moment should 
certainly be enough.

Anyway, I think we can at least agree that:
(1) the current situation is insufficient; and
(2) it's not a moon-shot to a much more useful situation.

More soon!
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


Re: markup and midi

2017-06-14 Thread Kieren MacMillan
Harm,

> markup can't create midi, but I looked for a method to extract
> the scores from markup and to reprocess them as midi.

You're my spirit animal.  =)

Best (and 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


Re: markup and midi

2017-06-14 Thread Gianmaria Lari
Ciao Thomas,

thank you for your code, I made some test and it works perfectly! But it
also scares me :)
g.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user