Re: Tie Crusade

2013-07-14 Thread Janek Warchoł
2013/7/14 Frédéric Bron :
>>> I have looked at the examples. Have you also a set of good examples?
>>> Of course, we do not want them to become bad...
>>
>> Do you mean ties that are currently engraved correctly by default, or
>> example good-looking ties scanned from hand-engraved music?
>
> I mean engraved correctly by default.

Ah, ok.  Well, i don't recollect many of these :)  But i do collect
them, mostly in real-lie examples/consider these.
Also, "systematic tests" serve as a good testing ground that should
ensure that there are no regressions.

On to your next email...

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


Re: Tie Crusade

2013-07-14 Thread Frédéric Bron
>> I have looked at the examples. Have you also a set of good examples?
>> Of course, we do not want them to become bad...
>
> Do you mean ties that are currently engraved correctly by default, or
> example good-looking ties scanned from hand-engraved music?

I mean engraved correctly by default.

>> But maybe the
>> regression tests just play that role?
> I don't think so.  There simply aren't enough ties in the regression tests.'

OK, have you started a list of good examples or can I start this?
Frédéric

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


Re: Tie Crusade

2013-07-14 Thread Janek Warchoł
2013/7/14 Frédéric Bron :
> I have looked at the examples. Have you also a set of good examples?
> Of course, we do not want them to become bad...

Do you mean ties that are currently engraved correctly by default, or
example good-looking ties scanned from hand-engraved music?

> But maybe the
> regression tests just play that role?

I don't think so.  There simply aren't enough ties in the regression tests.'

cheers,
Janek

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


Re: Tie Crusade

2013-07-14 Thread Frédéric Bron
I have looked at the examples. Have you also a set of good examples?
Of course, we do not want them to become bad... But maybe the
regression tests just play that role?
Frédéric

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


Re: Tie Crusade

2013-07-14 Thread Urs Liska

Am 13.07.2013 18:15, schrieb Trevor Daniels:

Urs Liska wrote Saturday, July 13, 2013 4:59 PM



The same goes for ties spanning clef or staff changes. I suggest catching such 
cases and implicitly pass on to a slur.

That might look acceptable in the printed score, but it would break the midi 
output.

Trevor

OK, maybe I have to think more precisely.

We can't replace a tie for a slur on the input level (i.e. pretend the 
user had entered a slur).
Besides the midi output issue this would also interfere with another 
slur that is already in effect. A setting like


c d( e~ e f)

should of course not be affected when the tie is replaced for a slur.

I don't know enough about how LilyPond works internally, but isn't the 
midi generation somewhat independent from the graphical output?


In other words: Is the engraver that prints a tie in any way related at 
all with the midi output?
If not it should be possible to defer the graphical generation of the 
the grob from the Tie to the Slur engraver in such cases, isn't it?


The following cases should be caught:

c~ \clef alto c
c~ \change Staff = "down" c
c~ bis

BTW when checking them I noticed that the second line crashes lilypond 
when "preprocessing graphical objects".


Urs


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


Re: Tie Crusade

2013-07-14 Thread Janek Warchoł
2013/7/14 Michael Rivers :
> I'd like to join the effort, but I don't have the skills -- the last
> programming I did was 12 years ago in college, and it was it C, not C++ (I
> don't even know what the difference is).

That's not a problem *at all!*  We have a few non-programming tasks;
the only skill required is the ability to think :-)

> However, I'd be willing to make a
> small financial contribution if someone could tell me where to send it --
> this seems like an worthy cause.

Thanks for the offer!  We'll see when we're past 50% of the work.  At
least I wouldn't want to take money in advance myself.

> I still think that throwing an error for an enharmonic tie is as bad as
> having bad looking ties. It's the first case I've encountered where Lilypond
> doesn't understand pretty basic music notation.

I fully agree that this is important and i would really like to fix
it.  I just don't want to stretch the scope of the project, but i'll
keep this in mind when reading code.
...actually, i found the place that is probably responsible for this.
I'll investigate, but before that i have to get back my laptop or set
up my development environment, which may take a day or two.

best,
Janek

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


Re: Tie Crusade

2013-07-14 Thread Michael Rivers
I'd like to join the effort, but I don't have the skills -- the last
programming I did was 12 years ago in college, and it was it C, not C++ (I
don't even know what the difference is). However, I'd be willing to make a
small financial contribution if someone could tell me where to send it --
this seems like an worthy cause.

I still think that throwing an error for an enharmonic tie is as bad as
having bad looking ties. It's the first case I've encountered where Lilypond
doesn't understand pretty basic music notation.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Tie-Crusade-tp147937p148011.html
Sent from the User mailing list archive at Nabble.com.

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


Re: Tie Crusade

2013-07-13 Thread Trevor Daniels

Urs Liska wrote Saturday, July 13, 2013 4:59 PM


> The same goes for ties spanning clef or staff changes. I suggest catching 
> such cases and implicitly pass on to a slur.

That might look acceptable in the printed score, but it would break the midi 
output.

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


Re: Tie Crusade

2013-07-13 Thread Urs Liska
The same goes for ties spanning clef or staff changes. I suggest catching such 
cases and implicitly pass on to a slur.



"Janek Warchoł"  schrieb:

>2013/7/13 Michael Rivers :
>> As long as we're at it, how about fixing the bug where ties don't
>work with
>> enharmonic notes?
>
>It's not listed as one of the goals of the project - nevertheless i
>expect that after we're finished we'll know the tie code well enough
>to handle this as well.
>
>Stay tuned, and maybe you'd like to join the effort?
>Janek
>
>___
>lilypond-user mailing list
>lilypond-user@gnu.org
>https://lists.gnu.org/mailman/listinfo/lilypond-user

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tie Crusade

2013-07-13 Thread Janek Warchoł
2013/7/13 Michael Rivers :
> As long as we're at it, how about fixing the bug where ties don't work with
> enharmonic notes?

It's not listed as one of the goals of the project - nevertheless i
expect that after we're finished we'll know the tie code well enough
to handle this as well.

Stay tuned, and maybe you'd like to join the effort?
Janek

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


Re: Tie Crusade

2013-07-13 Thread Michael Rivers
As long as we're at it, how about fixing the bug where ties don't work with
enharmonic notes?



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Tie-Crusade-tp147937p147970.html
Sent from the User mailing list archive at Nabble.com.

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


Re: Tie Crusade

2013-07-12 Thread Janek Warchoł
Forwarding to bug-lilypond:

2013/7/12 Jacques Menu :
> This sample [example of bad ties by David Kastrup, from issue 2607]
> causes 2.17.20-1 on Mac OS X 10.8.4 to loop forever after
> producing:
>
>  Traitement de « /Users/menu/Documents/LaTeX/PartitionsLilypond/AwfulTies.ly
> »
> Analyse...
> Interprétation en cours de la musique...
> Interprétation en cours de la musique...[8][16][16]
> Pré-traitement des éléments graphiques...
> Sortie MIDI vers « AwfulTies.midi »...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> Calcul des sauts de ligne...
> Dessin des systèmes...
> Interprétation en cours de la musique...
> Pré-traitement des éléments graphiques...
> 

Re: Tie Crusade

2013-07-12 Thread Janek Warchoł
Hi,

2013/7/12 David Kastrup :
> Urs Liska  writes:
>> So anybody who is interested in getting better default ties from
>> LilyPond _please_ read his post at
>> http://lilypondblog.org/2013/07/lilypond-tie-crusade and consider
>> joining him. While the most urgent need would be people who analyze
>> and improve the C++ code with him he will also be grateful for any
>> discussion (of design strategies, engraving goals ...) or even
>> examples of badly engraved default ties.
>>
>> Feedback is welcome on this list, lilypond-devel, the blog post or
>> directly by email to Janek.
>
> Well, here is a cross-referenced parade of partly awful ties.

Ah, the one from issue 2607?  I already have it in my collection :)
https://www.dropbox.com/sh/vsq32b11migflt3/WviqSGEua2/real-life%20examples/bad%20ties/multiple%20bad%20ties%20-%20from%20issue%202607.png
Anyway, thanks for discovering it!

Janek

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


Re: Tie Crusade

2013-07-12 Thread Jacques Menu
This sample causes 2.17.20-1 on Mac OS X 10.8.4 to loop forever after producing:

 Traitement de « /Users/menu/Documents/LaTeX/PartitionsLilypond/AwfulTies.ly »
Analyse...
Interprétation en cours de la musique...
Interprétation en cours de la musique...[8][16][16]
Pré-traitement des éléments graphiques...
Sortie MIDI vers « AwfulTies.midi »...
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes... 
Interprétation en cours de la musique...
Pré-traitement des éléments graphiques...
Calcul des sauts de ligne... 
Dessin des systèmes

Re: Tie Crusade

2013-07-12 Thread David Kastrup
Urs Liska  writes:

> As some of you will have noticed, Janek yesterday published an article
> on lilypondblog.org announcing that he intends to make a considerable
> effort substantially improving LilyPond's tie formatting - one of the
> fields Lily really can use some updates.
> After having collected countless examples of badly formatted ties and
> having spent countless hours with tweaking ties he decided to give it
> a serious try.
>
> I'm not posting this to praise Janek but to make sure _everybody_ gets
> the chance to see that post. While he already has done very thorough
> research the project is just too big for him alone.
>
> So anybody who is interested in getting better default ties from
> LilyPond _please_ read his post at
> http://lilypondblog.org/2013/07/lilypond-tie-crusade and consider
> joining him. While the most urgent need would be people who analyze
> and improve the C++ code with him he will also be grateful for any
> discussion (of design strategies, engraving goals ...) or even
> examples of badly engraved default ties.
>
> Feedback is welcome on this list, lilypond-devel, the blog post or
> directly by email to Janek.

Well, here is a cross-referenced parade of partly awful ties.

\version "2.17.7"
\header { tagline = ##f title = "Conny rates Jazz" }
\score
{
  {  $@(map!
   (lambda (p d) #{ \footnote #'(1 . 2)
% This is the simplest way to make a chord name markup?  Ugh.
			\markup \score { \new ChordNames { < $@p > }
 \layout { } } Stem
< $@p >$@d #})
; this $@ produces elements for a sequential music list via map!.  Each
; element is constructed from p, a list of pitches making up a chord,
; and from d, which is a list first containing a duration followed by
; _optional_ articulations, so $@d actually can return several tokens of
; _different_ type.
;
; The following form constructs the list of pitch lists for use in p
   (map!
	(lambda (i)
	  (map!
	   (lambda (i)
	 (ly:make-pitch 2 (+ 1 (* 9 (quotient i 5)) (* i -2)) 0))
	   (iota 5 i)))
	(append! (iota 34) (list 32)))
; The following form constructs an (end-less) list of lists containing
; a duration and maybe articulations.
   (apply
	circular-list
(map!
  (lambda (m) (cons (ly:music-property m 'duration)
(ly:music-property m 'articulations)))
  (extract-typed-music
	 #{ s4.~ s~ s4~ s2~ s2 #}
 'skip-event
  1 \bar "|."
  }
  \midi { \tempo 4 = 220
	  \set Staff.midiInstrument = "acoustic grand"
	}
  \layout { }
}


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