Trevor Bača | 1 Apr 03:40 2006
Picon

Re: al niente / de niente - was Re: (no subject)

On 3/31/06, Erlend Aasland <erlenda <at> gmail.com> wrote:
> Hi
>
>
> On 3/31/06, Trevor Bača <trevorbaca <at> gmail.com> wrote:
> > Yeah, you've definitely got the idea; the best examples are in scores
> > of Sciarrino's recent music and I'll have time to dig through some
> > this weekend and make a few small scans.
>
>
> Great!

OK, here are two nice examples.

The first is near the end of the second page of Sciarrino's 'All'aure
in una lontananza' and the second is the very last bit of 'Come
vengono prodotti gli incantesimi?'.

Note, too, the use of back-to-back hairpins in the first example, with
the 'niente' circle at the center.

[While we're looking at the notation, I'd like to take a moment to
plug these pieces: the complete set of Sciarrino's flute music is one
of the most attractive, hypnotic bodies of work you can ever hope to
find. The small motions that build up each piece come from a
pleasantly, bewilderingly different number of directions, and the
cumulative psychological effect of listening through any one of the
pieces is, for me anyway, a disassociation with time that is almost
total. Also the notation is really cool. Very much recommended.]

(Continue reading)

Trevor Bača | 1 Apr 03:41 2006
Picon

Re: al niente / de niente - was Re: (no subject)

On 3/31/06, Trevor Bača <trevorbaca <at> gmail.com> wrote:
> On 3/31/06, Erlend Aasland <erlenda <at> gmail.com> wrote:
> > Hi
> >
> >
> > On 3/31/06, Trevor Bača <trevorbaca <at> gmail.com> wrote:
> > > Yeah, you've definitely got the idea; the best examples are in scores
> > > of Sciarrino's recent music and I'll have time to dig through some
> > > this weekend and make a few small scans.
> >
> >
> > Great!
>
> OK, here are two nice examples.
>
> The first is near the end of the second page of Sciarrino's 'All'aure
> in una lontananza' and the second is the very last bit of 'Come
> vengono prodotti gli incantesimi?'.
>
> Note, too, the use of back-to-back hairpins in the first example, with
> the 'niente' circle at the center.
>
> [While we're looking at the notation, I'd like to take a moment to
> plug these pieces: the complete set of Sciarrino's flute music is one
> of the most attractive, hypnotic bodies of work you can ever hope to
> find. The small motions that build up each piece come from a
> pleasantly, bewilderingly different number of directions, and the
> cumulative psychological effect of listening through any one of the
> pieces is, for me anyway, a disassociation with time that is almost
> total. Also the notation is really cool. Very much recommended.]
(Continue reading)

Graham Percival | 1 Apr 06:47 2006
Picon

Re: lilypond ./ChangeLog scm/lily-library.scm lily/...


On 31-Mar-06, at 1:13 AM, Han-Wen Nienhuys wrote:

> Graham Percival wrote:
>>     (format #f
>> -	   (_ "no \\version statement found,  add~afor future 
>> compatibility")
>> +	   (_ "no \\version statement found, please add~afor future 
>> compatibility")
>>  	   (format #f "\n\n\\version ~s\n\n" (lilypond-version))))))
>
> Please revert.  "please" is a superfluous word.

True, but it's also a "nice" word.  It doesn't introduce any confusion, 
and it will make some users feel better.  I think it's worth keeping it 
in there.

- Graham
Graham Percival | 1 Apr 08:45 2006
Picon

Re: Lilypond on Mac OSX Terminal


On 31-Mar-06, at 12:49 AM, Han-Wen Nienhuys wrote:

> Graham Percival wrote:
>> On 29-Mar-06, at 7:10 PM, David Rogers wrote:
>>> In your .profile somewhere, add this line:
>>>
>>> export PATH=$PATH:/Applications/LilyPond.app/Contents/Resources/bin
>> Thanks, I've added this to the manual.
>> - Graham
>
> I'm not sure if this is the right solution though. That directory also 
> contains private versions of (among others) Ghostscript, that require 
> setting GS_LIB.

Could we set up a  .../Resources/external-bin/   directory, containing 
symlinks to the files in .../bin  that users should be able to run?  
(convert-ly, lilypond, lilypond-book, midi2ly, etc)

- Graham
Graham Percival | 1 Apr 08:48 2006
Picon

can we remove input/test/text-spanner.ly ?

I'm not certain what
input/test/text-spanner.ly
is supposed to demonstrate.  Could we either clarify this example, 
delete it, or move it to the regression tests (if it's useful as such) 
?

Cheers,
- Graham
Erlend Aasland | 1 Apr 14:32 2006
Picon

Re: al niente / de niente - was Re: (no subject)

Hi Trevor, and thanks for the scans! I did some work last night, and a new and better patch is attached.

I've renamed the property to circled-tip. Height and thickness is now read from the hairpin properties. The width of the hairpin is now modified when circled tips are used. I also use a circle drawing routine now (instead of the hack in the previous patch).

I'll take a look at the examples you sent and do some more work today. The n glyph is still the same as the previous patch.


Erlend

On 4/1/06, Trevor Bača <trevorbaca <at> gmail.com> wrote:
On 3/31/06, Trevor Bača <trevorbaca <at> gmail.com> wrote:
> On 3/31/06, Erlend Aasland <erlenda <at> gmail.com> wrote:
> > Hi
> >
> >
> > On 3/31/06, Trevor Bača <trevorbaca <at> gmail.com> wrote:
> > > Yeah, you've definitely got the idea; the best examples are in scores
> > > of Sciarrino's recent music and I'll have time to dig through some
> > > this weekend and make a few small scans.
> >
> >
> > Great!
>
> OK, here are two nice examples.
>
> The first is near the end of the second page of Sciarrino's 'All'aure
> in una lontananza' and the second is the very last bit of 'Come
> vengono prodotti gli incantesimi?'.
>
> Note, too, the use of back-to-back hairpins in the first example, with
> the 'niente' circle at the center.
>
> [While we're looking at the notation, I'd like to take a moment to
> plug these pieces: the complete set of Sciarrino's flute music is one
> of the most attractive, hypnotic bodies of work you can ever hope to
> find. The small motions that build up each piece come from a
> pleasantly, bewilderingly different number of directions, and the
> cumulative psychological effect of listening through any one of the
> pieces is, for me anyway, a disassociation with time that is almost
> total. Also the notation is really cool. Very much recommended.]

Also the attachments would help.


--
Trevor Bača
trevorbaca <at> gmail.com


Attachment (niente.patch): application/octet-stream, 7166 bytes
Attachment (niente-test.pdf): application/pdf, 50 KiB
_______________________________________________
lilypond-devel mailing list
lilypond-devel <at> gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel
R. Mattes | 1 Apr 15:17 2006
Picon

make web fails for LilyPond 2.8.0/2.9.0 source drop [Also] Re: Futile attempts to build LilyPond 2.8.0

On Thu, 30 Mar 2006 21:15:57 +0200, R. Mattes wrote:

> Ok, I've almost been able to build LilyPond 2.6.0
> ex fontes on our Debian/Ubuntu Package builder 
> using a pbuilder environment (read: strict building 
> in a clean and well-defined build environment).
> Unfortunately the package build process stops with
> the following error message (slightly shortened where
> indicated):
> 

Ok, i found the "bug". It looks like this is triggered
by using guile-1.6.n instead of guile-1.8 - this also
explains why Andreas' build failed. The distributed binary
ships with guile-1.8.
Hmm, i thought the n.8-Branch was supposed to be stable?

 Cheers, Ralf Mattes
Trevor Bača | 1 Apr 16:11 2006
Picon

Re: al niente / de niente - was Re: (no subject)

On 4/1/06, Erlend Aasland <erlenda <at> gmail.com> wrote:
> Hi Trevor, and thanks for the scans! I did some work last night, and a new
> and better patch is attached.
>
> I've renamed the property to circled-tip. Height and thickness is now read
> from the hairpin properties. The width of the hairpin is now modified when
> circled tips are used. I also use a circle drawing routine now (instead of
> the hack in the previous patch).

Hi Erlend,

Cool :-) If Han-Wen likes the patch then I'll use 2.9.2 to typeset an
example or two for the NEWS (and, eventually, for the 3.0 manual!).

Really cool of you to cook up the code; I'll actually be using the
setting in my current piece.

--
Trevor Bača
trevorbaca <at> gmail.com
_______________________________________________
lilypond-devel mailing list
lilypond-devel <at> gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel
David Feuer | 1 Apr 19:22 2006
Picon

More improvements to PostScript backend

In my nonexistent free time I've done some more work.  I'd really like
to do something about the compulsive gsave x y translate 0 0 moveto
grestore wrapping that everything gets.  Could someone give me an idea
of what could get stuffed into placebox?  Is there actually some kind
of global graphics state that we need to maintain as a default?  It
looks like pretty much everything sets all the variables it cares
about.  I'd like to change all the drawing procedures to draw at the
current point.  If they want to translate to make their lives easier
they should clean up after themselves.  Then the box wrapper becomes
simply x y moveto, and we don't have to waste our time pushing and
popping graphics states for no reason.  By the way, in the future,
should I include patches inline or attach them?  This time I did both.
 The attached one is less likely to have line wrapping problems.  This
patch is against the versions in CVS.

Changelog:

* Cleaned up PostScript code

* Cleaned up interfaces between PostScript and Scheme

* Moved computations from PostScript to Scheme

* Rewrote glyph-string: it should now be much easier to read and edit.

* Removed apparently-unused draw_box (note: if something actually uses this,
  it should be implemented using draw_round_box, rather than
duplicating all the code.)

* Removed print_letter (print_glyphs is now simple enough not to need a helper)

David Feuer

diff -u --strip-trailing-cr original/framework-ps.scm latest/framework-ps.scm
--- original/framework-ps.scm   2006-04-01 11:57:18.109097600 -0500
+++ latest/framework-ps.scm     2006-04-01 11:32:15.448377600 -0500
 <at>  <at>  -43,9 +43,6  <at>  <at> 
   (define (define-font command fontname scaling)
     (string-append
       "/" command " { /" fontname " " (ly:number->string scaling) "
output-scale div selectfont } bind def\n"))
-;    (string-append
-;     "/" command " { /" fontname " findfont "
-;     (ly:number->string scaling) " output-scale div scalefont } bind def\n"))

   (define (standard-tex-font? x)
     (or (equal? (substring x 0 2) "ms")
diff -u --strip-trailing-cr original/lilyponddefs.ps latest/lilyponddefs.ps
--- original/lilyponddefs.ps    2006-04-01 11:57:18.109097600 -0500
+++ latest/lilyponddefs.ps      2006-04-01 11:26:32.515264000 -0500
 <at>  <at>  -11,8 +11,7  <at>  <at> 

 /set-ps-scale-to-lily-scale {
-       lily-output-units output-scale mul
-       lily-output-units output-scale mul scale
+       lily-output-units output-scale mul dup scale
 } bind def

diff -u --strip-trailing-cr original/music-drawing-routines.ps
latest/music-drawing-routines.ps
--- original/music-drawing-routines.ps  2006-04-01 11:57:18.109097600 -0500
+++ latest/music-drawing-routines.ps    2006-04-01 11:26:08.270401600 -0500
 <at>  <at>  -10,6 +10,36  <at>  <at> 
 /pdfmark where
 {pop} {userdict /pdfmark /cleartomark load put} ifelse

+% llx lly urx ury URI
+/mark_URI
+{
+    /command exch def
+    /ury exch def
+    /urx exch def
+    /lly exch def
+    /llx exch def
+    [
+       /Rect [ llx lly urx ury ]
+
+% it's possible to eliminate the coordinate variables by doing [ /Rect [ 7 3
+% roll It is, however, kind of ugly.  Another possibility, probably better, is
+% to put the [ and ] into the other side, so this procedure will take an array.
+% Yet another is to make pdfmark take its coordinates on the stack.
+
+
+/Border [ 0 0 0 ]
+
+        /Action
+           <<
+               /Subtype /URI
+               /URI command
+           >>
+        /Subtype /Link
+    /ANN
+    pdfmark
+}
+bind def
+
 % from adobe tech note 5002.
 /BeginEPSF { %def
     /b4_Inc_state save def % Save state for cleanup
 <at>  <at>  -28,7 +58,6  <at>  <at> 
     } if
 } bind def

-
 /EndEPSF { %def
   count op_count sub {pop} repeat % Clean up stacks
   countdictstack dict_count sub {end} repeat
 <at>  <at>  -54,28 +83,7  <at>  <at> 
 } bind def

-% llx lly urx ury URI
-/mark_URI
-{
-    /command exch def
-    /ury exch def
-    /urx exch def
-    /lly exch def
-    /llx exch def
-    [
-       /Rect [ llx lly urx ury ]
-       /Border [ 0 0 0 ]

-        /Action
-           <<
-               /Subtype /URI
-               /URI command
-           >>
-        /Subtype /Link
-    /ANN
-    pdfmark
-}
-bind def

 /set_tex_dimen
 {
 <at>  <at>  -89,104 +97,56  <at>  <at> 
        1 copy mul exch 1 copy mul add sqrt
 } bind def

-% FIXME.  translate to middle of box.
-% Nice rectangle with rounded corners
-/draw_box % breapth width depth height
-{
-%      currentdict /testing known {
-               %% real thin lines for testing
-               /blot 0.005 def
-%      }{
-%              /blot blot-diameter def
-%      } ifelse
-
-       0 setlinecap
-       blot setlinewidth
-       1 setlinejoin
-
-       blot 2 div sub /h exch def
-       blot 2 div sub /d exch def
-       blot 2 div sub /w exch def
-       blot 2 div sub /b exch def
-
-       b neg d neg moveto
-       b w add 0 rlineto
-       0 d h add rlineto
-       b w add neg 0 rlineto
-       0 d h add neg rlineto
-
-       currentdict /testing known {
-               %% outline only, for testing:
+/stroke_and_fill {
+       gsave
                stroke
-       }{
-               closepath gsave stroke grestore fill
-       } ifelse
+       grestore
+       fill
 } bind def

-
-/draw_round_box % breapth width depth height blot
+/draw_round_box % x y width height blot
 {
-       /blot exch def
-
+       setlinewidth
        0 setlinecap
-       blot setlinewidth
        1 setlinejoin

-       blot 2 div sub /h exch def
-       blot 2 div sub /d exch def
-       blot 2 div sub /w exch def
-       blot 2 div sub /b exch def
-
-       b neg d neg moveto
-       b w add 0 rlineto
-       0 d h add rlineto
-       b w add neg 0 rlineto
-       0 d h add neg rlineto
-
        currentdict /testing known {
                %% outline only, for testing:
-               stroke
        }{
-               closepath gsave stroke grestore fill
+               4 copy
+               rectfill
        } ifelse
+       rectstroke
 } bind def

-/draw_polygon % x(n) y(n) x(n-1) y(n-1) ... x(1) y(1) n blot fill
+/draw_polygon % fill? x(n) y(n) x(n-1) y(n-1) ... x(0) y(0) n blot
 {
-       /fillp exch def
-       /blot exch def
+       setlinewidth %set to blot

        0 setlinecap
-       blot setlinewidth
        1 setlinejoin

-       /points exch def
-       2 copy
-       moveto
-       1 1 points { pop lineto } for
+       3 1 roll
+       moveto % x(0) y(0)
+       { lineto } repeat % n times
        closepath
-       fillp {
-               gsave stroke grestore fill
+       { %fill?
+               stroke_and_fill
        }{
                stroke
        } ifelse
 } bind def

-/draw_repeat_slash % width slope thick
+/draw_repeat_slash % x-width width height
 {
+       2 index % duplicate x-width
        1 setlinecap
        1 setlinejoin
-
-       /beamthick exch def
-       /slope exch def
-       /width exch def
-       beamthick beamthick slope div euclidean_length
-         /xwid exch def
+
        0 0 moveto
-       xwid 0  rlineto
-       width slope width mul rlineto
-       xwid neg 0 rlineto
-      %  width neg width angle sin mul neg rlineto
+         0  rlineto % x-width 0
+            rlineto % width height
+       neg 0 rlineto % -x-width 0
        closepath fill
 } bind def

 <at>  <at>  -201,27 +161,24  <at>  <at> 
        lineto
        curveto
        closepath
-       gsave
-       fill
-       grestore
-       stroke
+       stroke_and_fill
 } bind def

 /draw_dot % x1 y2 R
 {
 %      0 360 arc fill stroke
-       0 360 arc closepath fill stroke
+       0 360 arc closepath stroke_and_fill
 } bind def

-/draw_circle % R T F
+/draw_circle % F R T
 {
-       /filled exch def
        setlinewidth
        dup 0 moveto
        0 exch 0 exch
        0 360 arc closepath
-       gsave stroke grestore
-       filled { fill } if
+               { stroke_and_fill }
+               { stroke }
+       ifelse
 } bind def

 <at>  <at>  -273,19 +230,13  <at>  <at> 
        stroke
 } bind def

-/print_letter {
-       currentpoint
-       3 2 roll
-       glyphshow
-       moveto
-} bind def
-
 /print_glyphs {
-       -1 1
        {
-               3 mul -3 roll
-               print_letter
+               currentpoint
+               3 2 roll
+               glyphshow
+               moveto
                rmoveto
-       }for
+       }repeat
 }bind def
 %end music-drawing-routines.ps
diff -u --strip-trailing-cr original/output-ps.scm latest/output-ps.scm
--- original/output-ps.scm      2006-04-01 11:57:18.109097600 -0500
+++ latest/output-ps.scm        2006-04-01 11:25:55.051393600 -0500
 <at>  <at>  -48,6 +48,9  <at>  <at> 
             (lily))

 ;;; helper functions, not part of output interface
+;;;
+
+
 (define (escape-parentheses s)
   (regexp-substitute/global #f "(^|[^\\])([\\(\\)])" s 'pre 1 "\\" 2 'post))

 <at>  <at>  -102,10 +105,11  <at>  <at> 

 (define (circle radius thick fill)
   (format #f
-   "~f ~f ~a draw_circle" (round4 radius) (round4 thick)
+   "~a ~f ~f draw_circle"
    (if fill
-       "true "
-       "false ")))
+     "true "
+     "false ")
+   (round4 radius) (round4 thick)))

 (define (dashed-line thick on off dx dy)
   (format #f "~a ~a ~a [ ~a ~a ] 0 draw_dashed_line"
 <at>  <at>  -143,32 +147,31  <at>  <at> 
                      cid?
                      w-x-y-named-glyphs)

-  (format #f "gsave
-  /~a ~a ~a output-scale div scalefont setfont\n~a grestore"
-         postscript-font-name
-
-         ;; with normal findfont, GS throws /typecheck for glyphshow.
+  (define (glyph-spec w x y g)
+    (let ((prefix (if (string? g) "/" "")))
+      (format #f "~f ~f ~a~a"
+             (round2 (+ w x))
+             (round2 y)
+             prefix g)))
+
+  (format #f
          (if cid?
-             " /CIDFont findresource "
-             " findfont")
+"gsave
+/~a /CIDFont findresource ~a output-scale div scalefont setfont
+~a
+~a print_glyphs
+grestore"
+
+"gsave\n/~a ~a output-scale div selectfont
+~a
+~a print_glyphs
+grestore")
+         postscript-font-name
          size
-         (string-append
-           (apply
-             string-append
-             (map (lambda  (item)
-                    (let*
-                      ((w (car item))
-                       (x (cadr item))
-                       (y (caddr item))
-                       (g (cadddr item))
-                       (prefix (if  (string? g) "/" "")))
-
-                      (format #f "  ~f ~f ~a~a\n" (round2 (+ w x))
-                              (round2 y) prefix g)
-                      ))
-                  w-x-y-named-glyphs))
-           (format #f "~a print_glyphs" (length w-x-y-named-glyphs)))
-         ))
+         (string-join (map (lambda (x) (apply glyph-spec x))
+                           (reverse w-x-y-named-glyphs)) "\n")
+         (length w-x-y-named-glyphs)))
+

 (define (grob-cause offset grob)
   (let* ((cause (ly:grob-property grob 'cause))
 <at>  <at>  -226,28 +229,38  <at>  <at> 
 ~a
 grestore\n"

-   (str4 x)
-   (str4 y)
-   s))
+  (str4 x)
+  (str4 y)
+  s))

 (define (polygon points blot-diameter filled?)
   (format #f "~a ~a ~a ~a draw_polygon"
+         (if filled? "true" "false")
          (numbers->string4 points)
-         (str4 (/ (length points) 2))
-         (str4 blot-diameter)
-         (if filled? "true" "false")))
-
-(define (repeat-slash wid slope thick)
-  (format #f "~a draw_repeat_slash"
-   (numbers->string4 (list wid slope thick))))
+         (number->string (- (/ (length points) 2) 1))
+         (str4 blot-diameter)))
+
+(define (repeat-slash width slope beam-thickness)
+  (define (euclidean-length x y)
+    (sqrt (+ (* x x) (* y y))))
+
+  (let ((x-width (euclidean-length slope (/ beam-thickness slope)))
+       (height (* width slope)))
+    (format #f "~a draw_repeat_slash"
+           (numbers->string4 (list x-width width height)))))

 ;; restore color from stack
 (define (resetcolor) "setrgbcolor\n")

-(define (round-filled-box x y width height blotdiam)
-  (format #f "~a draw_round_box"
-         (numbers->string4
-           (list x y width height blotdiam))))
+(define (round-filled-box left right bottom top blotdiam)
+  (let* ((halfblot (/ blotdiam 2))
+        (x (- halfblot left))
+        (width (- right (+ halfblot x)))
+        (y (- halfblot bottom))
+        (height (- top (+ halfblot y))))
+    (format #f "~a draw_round_box"
+           (numbers->string4
+             (list x y width height blotdiam)))))

 ;; save current color on stack and set new color
 (define (setcolor r g b)
Attachment (newchanges.diff): application/octet-stream, 9 KiB
_______________________________________________
lilypond-devel mailing list
lilypond-devel <at> gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Han-Wen Nienhuys | 1 Apr 19:28 2006

Re: Improvements to Postscript backend (patches included)

David Feuer schreef:
> On 3/31/06, Han-Wen Nienhuys <hanwen <at> lilypond.org> wrote:
> 
>>> According to the Postscript reference, selectfont can be used with CID
>>> resources as well as regular fonts.  Unfortunately, I can't make the
>>> utf-8 regression test work either with or without my changes, so I
>>> can't be sure I got this right.
>> unfortunately, Ghostscript disagrees. It throws a /typecheck error from
>> --glyphshow-- , if you load the font as a regular font.
> 
> Yech.  I suspect this is a bug in Ghostscript, though I could be
> reading the PostScript reference wrong.  Could you take a look at
> section 5.11.3 (CIDFont Dictionaries), the entry for selectfont in the
> operator index (page 656, or PDF page 670), and the entry for
> glyphshow (page 602, PDF page 616)?

I suspect you may know more about postscript than me, your guess is as 
good as mine; If you think it is bug, can you file a bug with 
ghostscript development?

I can send you a file with an embedded CFF CID font.

Gmane