Re: configure: readlink problem
> Karl Hammar schreef: > > > > Since configure does not test for readlink it is perhaps a bad choise, > > the alternative would be to use a shell or python script or if someone > > comes up with a good way to find the afm files. > > we rely on python anyway, so I'm all for a Python based solution. > Patch? > > > -- > > Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen > > LilyPond Software Design > -- Code for Music Notation > http://www.lilypond-design.com > Ack, later this week. Regards, /Karl --- Karl HammarAspö Data [EMAIL PROTECTED] Lilla Aspö 2340Networks S-742 94 Östhammar +46 173 140 57 Computers Sweden +46 70 511 97 84 Consulting --- ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: test results available!
Joe Neeman schreef: On Mon, 2006-06-05 at 02:36 +0200, Han-Wen Nienhuys wrote: Hi there, the first test results are finally available. Grovel at http://lilypond.org/doc/v2.9/v2.8.4/index.html and see what features we broken in the latest release! Awesome! This patch fixes spacing-stick-out.ly, can I apply it? Yes - if it doesn't break things. As a matter of style and robustness, can you add Column_desc::Column_desc() so we never get to see uninitialized data anywhere? The same for Rod_desc. Also, how can I get this running in my working copy? try python lilypond/buildscripts/output-distance.py \ lilypond-old/out-www/web-root lilypond-new/out-www/web-root you have to have done "make web" in both directories before. You can also check out GUB, which has all the script to make this run from cron-jobs automatically. -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen LilyPond Software Design -- Code for Music Notation http://www.lilypond-design.com ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
improved cue support
Consider the following situation: Main Voice: c1| Cue Voice 1: g4 r2.| Cue Voice 2: r2 e4 g e | I want to have this appear in the part: g4 e g e | c1 | with other words, the first two quarters are taken from cue voice 1, and the last two quarters from voice 2. It's straightforward to insert two \cueDuring commands to get the proper cues from cue voice 1 and 2. The very problem is the main voice since the whole note has to be split into two half notes, the first one has to get the appearance of a whole note, and the second one must be invisible. Any idea how this could be avoided? My idea is to have a list which tells lilypond the time spans and the associated cue voices. As an additional benefit, this would allow to have more than a single cue at the same time. Here my proposed syntax -- of course, I have no idea whether it is possible to implement that. \cue #'(( ) ( ) ...) { } `skip' and `active' are simply arguments to the `make-moment' function, but maybe you have a better idea. Example: \cue #'((CueOne UP nil (1 4)) (CueTwo UP (1 4) (3 4))) { c1 } Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: improved cue support
Werner LEMBERG wrote: Consider the following situation: Main Voice: c1| Cue Voice 1: g4 r2.| Cue Voice 2: r2 e4 g e | I want to have this appear in the part: g4 e g e | c1 | with other words, the first two quarters are taken from cue voice 1, and the last two quarters from voice 2. It's straightforward to insert two \cueDuring commands to get the proper cues from cue voice 1 and 2. The very problem is the main voice since the whole note has to be split into two half notes, the first one has to get the appearance of a whole note, and the second one must be invisible. Why not use c1*1/2 s2 /Mats ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: improved cue support
> with other words, the first two quarters are taken from cue voice 1, > and the last two quarters from voice 2. Should be `the first quarter is taken from cue voice 1, and the last three quarters from voice 2'. Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: improved cue support
> >It's straightforward to insert two \cueDuring commands to get the > >proper cues from cue voice 1 and 2. The very problem is the main > >voice since the whole note has to be split into two half notes, the > >first one has to get the appearance of a whole note, and the second > >one must be invisible. > > > > > Why not use > c1*1/2 s2 This is what I've said, haven't I? Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
RE: Scripts Manual Sect. 6.6.1 (Articulations)
imho, people WOULD want to alter the defaults for things like segno. By default they attach to notes. I normally see them attached to barlines (I can't remember them anywhere else, actually). So no, just moving the info about them to the repeats section (which imho is where they belong) is a bad move unless you point out that by default they don't attach to barlines, and include the stuff about how to do that. Oh - I don't think fermata should be moved - your using that as the example of something tied to a barline is "interesting" to me, as I don't ever remember seeing one like that... Another tweak you might like to document (I don't know how to do it, or I'd suggest the wording ...) - two things I see with articulation is that in most music I see they go *above* the *system*. I know you can specify '^' to put a mark above, but how do you make that the default? And I can't remember whether I was told this ages ago, but isn't there something you can set to force all articulations to print above the system? Cheers, Wol -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] u.org] On Behalf Of Graham Percival Sent: 03 June 2006 00:36 To: Juergen Reuter Cc: lilypond-devel@gnu.org Subject: Re: Scripts Manual Sect. 6.6.1 (Articulations) On 2-Jun-06, at 9:40 AM, Juergen Reuter wrote: > just a comment to Sect. 6.6.1 (Articulations): > > IMHO, the signum congruentiae, all fermatas, the segno sign and the > coda signs are no articulation signs. Historically, they were put > together with the articulation signs into the same manual section, > because their implementation was based on the same piece of C++ code. > Musicologically, I think they should go into a separate section, maybe > called "Rehearsal directives" or similar. Or maybe they should be > just merged into Sect. 8.2.3 (Rehearsal marks)? I like the idea of merging them into 8.2.3, although make sure that you include @findex \segno @findex \coda etc in the revised 8.2.3. > However, I am not sure what you would do about the "Commonly tweaked > properties" paragraph in 6.6.1 when splitting this section (Duplicate > it? Add a "See also"?). I would simply omit it. It's unlikely that people would need to alter the defaults for \segno and whatnot -- you want them to be over everything else. If thye do want to tweak it, they can either consult chapter 9, or remember about the tips in 6.6.1. You could add a "These commands are impleneted as Script objects, just like @ref{Articulations}" sentence in the new docs, though. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel * * This transmission is intended for the named recipient only. It may contain private and confidential information. If this has come to you in error you must not act on anything disclosed in it, nor must you copy it, modify it, disseminate it in any way, or show it to anyone. Please e-mail the sender to inform us of the transmission error or telephone ECA International immediately and delete the e-mail from your information system. Telephone numbers for ECA International offices are: Sydney +61 (0)2 8272 5300, Hong Kong + 852 2121 2388, London +44 (0)20 7351 5000 and New York +1 212 582 2333. * * ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: improved cue support
Werner LEMBERG schreef: Any idea how this could be avoided? My idea is to have a list which tells lilypond the time spans and the associated cue voices. As an additional benefit, this would allow to have more than a single cue at the same time. Here my proposed syntax -- of course, I have no idea whether it is possible to implement that. it would be easier to make \cueDuring accept a list of interesting voices, and use existing functionality to filter the rests, eg. \cueDuring #'(uceVoice1 cueVoice2) { \set CueVoice.quotedEventTypes = #'(note-event) s1 } -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen LilyPond Software Design -- Code for Music Notation http://www.lilypond-design.com ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: DOCS: minimumVerticalExtent
Here are the links: http://lilypond.org/doc/v2.9/Documentation/user/lilypond-internals/Axis_005fgroup_005fengraver.html#Axis_005fgroup_005fengraver - Original Message - From: "Graham Percival" <[EMAIL PROTECTED]> To: "Eduardo Vieira" <[EMAIL PROTECTED]> Cc: Sent: Saturday, June 03, 2006 9:12 PM Subject: Re: DOCS: minimumVerticalExtent On 3-Jun-06, at 7:33 AM, Eduardo Vieira wrote: I think the documentation (liypond-internals) still needs to update this section, where now the syntax is minimum-Y-extent iso. minimumVerticalExtent. Or am I mistaken? Could you give us some more info? Where exactly are you looking? - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: gub progress
Hi, On Sun, 4 Jun 2006, Pedro Kröger wrote: > Johannes Schindelin <[EMAIL PROTECTED]> writes: > > > although you are free to call me an idiot. > > no need to do that :-) ;-) > > - The repository format itself is fragile, just as cvs'. It is based on > > patches, so if there is one single patch corrupt, you loose the history > > from then on. > > hum, I haven't tought of that. I actually had a fsck-up, because I accidentally issued a "rm -rf ." in one of my private projects. I was not really fast enough with Ctrl-C, but git could still access most of the revisions. > > - git makes it _really_ easy to access older version without checking them > > out. For example, I can get the differences in lily/music.cc between > > version 1.3.108 and 2.9.7 with "git diff lilypond_1_3_108:lily/music.cc > > lilypond_2_9_7:lily/music.cc". > > this is something that's a little bit annoing about darcs. > > Thanks for your email. I think I'll give git a try. Please do. And if you run into problems, do not hesitate to ask me, or the list. There are even some people on irc... Ciao, Dscho ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Segfaults and GC
The attached patch fixes a segfault/heap corruption that I was having, but I'm not really sure why because I don't fully understand how the guile garbage collection works. Valgrind was complaining about reads/writes to unallocated memory from line 57 of tuplet-number.cc. The memory had been freed in a garbage collection sweep. Index: lily/tuplet-number.cc === RCS file: /sources/lilypond/lilypond/lily/tuplet-number.cc,v retrieving revision 1.4 diff -u -r1.4 tuplet-number.cc --- lily/tuplet-number.cc 20 Mar 2006 11:47:13 - 1.4 +++ lily/tuplet-number.cc 5 Jun 2006 21:15:58 - @@ -44,16 +44,16 @@ return SCM_EOL; } - Stencil *stc = unsmob_stencil (Text_interface::print (smob)); - - stc->align_to (X_AXIS, CENTER); - stc->align_to (Y_AXIS, CENTER); - SCM cpoints = tuplet->get_property ("control-points"); Drul_array points; points[LEFT] = ly_scm2offset (scm_car (cpoints)); points[RIGHT] = ly_scm2offset (scm_cadr (cpoints)); + Stencil *stc = unsmob_stencil (Text_interface::print (smob)); + + stc->align_to (X_AXIS, CENTER); + stc->align_to (Y_AXIS, CENTER); + stc->translate ((points[RIGHT] + points[LEFT]) / 2); return stc->smobbed_copy (); ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: configure: readlink problem
[EMAIL PROTECTED]: > > Karl Hammar schreef: > > > > > > Since configure does not test for readlink it is perhaps a bad choise, > > > the alternative would be to use a shell or python script or if someone > > > comes up with a good way to find the afm files. > > > > we rely on python anyway, so I'm all for a Python based solution. > > Patch? ... > > Ack, later this week. ... Attached (diff) is a possible patch: * configure.in: readlink -f is system dependent, replaced with python version 1. One could maybe write it as an one-liner: $ ls -l /usr/bin/emacs lrwxrwxrwx 1 root root 23 Nov 12 2005 /usr/bin/emacs -> /etc/alternatives/emacs $ ls -l /etc/alternatives/emacs lrwxrwxrwx 1 root root 18 Nov 24 2005 /etc/alternatives/emacs -> /usr/bin/emacs21-x $ python -c 'import os.path, sys; print os.path.realpath(sys.argv.pop(1))' /usr/bin/emacs /usr/bin/emacs21-x $ 2. It requires python >= 2.2. One could put the python version check elsewhere. 3. the manual doesn't indicate wheter sys.argv is ro or rw --- so sys.argv.pop(1) could fail for others, the alternative is to use changeqoute's and sys.argv[1] instead, as in diff2 4. one could put the python code in a seperate file, as in diff3, and put readlink.py in python/ or elsewhere Regards, /Karl import os import sys for i in sys.argv[1:]: print os.path.realpath(i) Index: configure.in === RCS file: /sources/lilypond/lilypond/configure.in,v retrieving revision 1.194 diff -u -r1.194 configure.in --- configure.in24 May 2006 09:11:18 - 1.194 +++ configure.in5 Jun 2006 21:33:30 - @@ -53,6 +53,8 @@ # must come before any header checks STEPMAKE_COMPILE +# os.path.realpath() requires python 2.2 and unix +STEPMAKE_PYTHON(REQUIRED, 2.2) AC_CHECK_PROG(FCMATCH, fc-match, fc-match) AC_MSG_CHECKING([New Century Schoolbook PFB files]) AC_SUBST(NCSB_SOURCE_FILES) @@ -71,7 +73,7 @@ NCSB_FILE=`$FCMATCH --verbose "Century Schoolbook L:style=$style" | grep 'file:'` NCSB_FILE=`echo $NCSB_FILE | sed 's/^.*"\(.*\)".*$/\1/g'` - NCSB_FILE=`readlink -f $NCSB_FILE` + NCSB_FILE=`$PYTHON python/readlink.py $NCSB_FILE` NCSB_SOURCE_FILES="$NCSB_FILE $NCSB_SOURCE_FILES" done elseIndex: configure.in === RCS file: /sources/lilypond/lilypond/configure.in,v retrieving revision 1.194 diff -u -r1.194 configure.in --- configure.in24 May 2006 09:11:18 - 1.194 +++ configure.in5 Jun 2006 21:19:05 - @@ -53,6 +53,8 @@ # must come before any header checks STEPMAKE_COMPILE +# os.path.realpath() requires python 2.2 and unix +STEPMAKE_PYTHON(REQUIRED, 2.2) AC_CHECK_PROG(FCMATCH, fc-match, fc-match) AC_MSG_CHECKING([New Century Schoolbook PFB files]) AC_SUBST(NCSB_SOURCE_FILES) @@ -71,7 +73,13 @@ NCSB_FILE=`$FCMATCH --verbose "Century Schoolbook L:style=$style" | grep 'file:'` NCSB_FILE=`echo $NCSB_FILE | sed 's/^.*"\(.*\)".*$/\1/g'` - NCSB_FILE=`readlink -f $NCSB_FILE` + # resolv symbolic links + changequote(<<<, >>>)#dnl + NCSB_FILE=`cat
shortened Hairpin hack; how to get "width" of current ChordEvent?
Hello, all! I'm trying to hack an easy way to end hairpins early... Here's what I've got so far (a variation on the dynamic+text function Nicolas helped me with): %% CODE SNIPPET ENDS \version "2.9.7" dynNull = #(define-music-function (parser location width event-chord) (number? ly:music?) ;; add a null dynamic of desired width to the EventChord (set! (ly:music-property event-chord 'elements) (cons (make-music 'AbsoluteDynamicEvent 'text (markup #:hspace width)) (ly:music-property event-chord 'elements))) ;; return the chord with the right-aligned null dynamic attached (make-music 'SequentialMusic 'elements (list (make-music 'ContextSpeccedMusic 'property-operations '() 'context-type 'Bottom 'element (make-music 'OverrideProperty 'once #t 'grob-property-path (list 'self-alignment-X) 'grob-value 1 'symbol 'DynamicText 'pop-first #t)) event-chord))) \relative c' { c\> c\! c\> \dynNull #2 c | c c c c } %% CODE SNIPPET ENDS So, as you can see, you put in the "width" of the blank dynamic you want, and Lilypond attaches it (right-aligned) to the EventChord, thus forcing the hairpin to end "early". [OK, it ain't pretty -- but it's prettier than skipped notes in a separate Voice, or reduction factors which screw up the MIDI values, etc., for the sake of a visual adjustment.] Although this works pretty well, the number isn't a percentage of the "natural width" of the EventChord, but a hard-coded value (in staff spaces) -- in other words, this value needs to be modified to adapt to different layouts/spacing. Is there any way to make such a function "intelligent" enough that c\> \shortenHairpin #25 c would shorten the Hairpin by 25% (of its "natural width") automatically? Or is there a better way to do what I want, given the current state of the Dynamics code? Thanks, Kieren. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: configure: readlink problem
Hi, On Mon, 5 Jun 2006, Karl Hammar wrote: > 2. It requires python >= 2.2. One could put the python version check >elsewhere. No problem. We need subprocess.py anyway (which comes with python 2.4, but works also with 2.3, but not with 2.2 IIRC). Ciao, Dscho ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: improved cue support
> it would be easier to make \cueDuring accept a list of interesting > voices, and use existing functionality to filter the rests, eg. > >\cueDuring #'(uceVoice1 cueVoice2) { > \set CueVoice.quotedEventTypes = #'(note-event) > s1 >} How would you notate the situation described in my previous mail? Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
strange "make web" behaviour
When I "make web" a clean lilypond CVS version, instrument-name.ly compiles to the first attached png file. If I do $ rm input/regression/out-www/lily-409* input/regression/out-www/coll* $ make web I get the second attached png file. I also get the second attached png file if I try to generate it manually with $ ./lily/out/lilypond input/regression/instrument-name.ly or $ ./lily/out/lilypond -b eps input/regression/out-www/lily-409*.ly If I get rid of the whole input/regression/out-www directory, I'm back to the first png again: $ rm -fr input/regression/out-www $ make web Just to make things a bit weirder, I have a working copy with modifications that _should_ be completely irrelevant (the spacing-stick-out patch). In this working copy, I get the second png file no matter what. Can anyone shed light on this? lily-4095863611973176886.png Description: PNG image lily-4095863611973176886.png Description: PNG image ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel