Re: we now have lilypond organization on GitHub

2013-09-18 Thread Karl Hammar
Urs Liska:
 Am 17.09.2013 18:21, schrieb David Kastrup:
  Janek Warchołjanek.lilyp...@gmail.com  writes:
 
  2013/9/16 David Kastrupd...@gnu.org:
  So the question is what we should be telling the Savannah operators
  to make working on GNU projects using Git more feasible.
  Here you go:
  A web interface with online editor, allowing to create commits from a
  web browser, on any branch (as well as creating branches), integrated
  with pull requests and automatic forking (so that when someone without
  write access tries to modify a file, Savannah automatically forks the
  repository for him and when he's done making the change, a pull
  request is sent to the original repository).  Also, being able to post
  comments on commits, and integration of pull requests with code
  review.  And the ability to update a pull request with new commits.
 
  As far as i know Savannah doesn't have these features.  When it will
  have, i'll be happy to switch, but i don't expect it will happen today
  or tomorrow, so i'm going to use Github for now.
  Now basically we have to split these into two different sets of
  requirements: Savannah does not provide accounts or services to the
  general public; its services will be restricted to actual developers.
 
  But what you list above mostly is _not_ related to participating with
  the project but rather with managing one's own repository using a
  graphical interface that just happens to be provided as a web service,
  in a similar vein to Gmail providing a web interface to handling a mail
  account.
 
 I think that's not quite true.
 IIUC Janek lists options that allow people to contribute to LilyPond 
 without officially applying to be developers.
 
 You are doing code reviews through a web interface already, isn't it?
 And this is because that's a quite natural way to communicate, comment 
 on code etc.

What's natural is different for different people.

Web interfaces are not natural for me, to the contrary, for me
they appear constrained.

 You can't do _that_ with plain Git.

Github isn't plain git either.

I'm perfectly fine with git and email, your requirments might differ
from mine.

///

I don't know about github, but I wouldn't be surprised if their rules
would be something that I wouldn't accept. You might be more liberal
in what you tolerate from 3rd parties.

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: website suggestion: live Lilypond preview

2013-07-06 Thread Karl Hammar
Janek:
 when i was talking with MuseScore developers some time ago, they
 mentioned that it would be great to have a try lilypond in your
 browser thing on our website, similar to these:
 http://tryhaskell.org/
 http://try.github.io/levels/1/challenges/1
 
 I have no idea how difficult that would be, but i agree that it would
 be great!  At the very least we could perhaps have a prominent link to
 tunefl/weblily/lilybin/mediawiki score extension live preview.
 (should we have an issue for this?)

tunefl is the top item on

 http://www.lilypond.org/easier-editing.html

perhaps you could simply add the others to that page.

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: Suggestions for participating institutions?

2013-03-26 Thread Karl Hammar
Trevor Daniels:
 Han-Wen Nienhuys wrote Tuesday, March 26, 2013 10:52 AM
  On Tue, Mar 26, 2013 at 9:52 AM, David Kastrup d...@gnu.org wrote:
 
  I met a former colleague in the bus to Chemnitz, and he is at least
  knowledgeable about EU research programmes.  Do people here have ideas
  about possible institutions who could be made to participate?  I think
  
  Take in mind that EU research programmes come with an incredible
  amount of burocracy and require both academic and industry partners,
  the more the merrier. The projects that get funded are buzzword
  compliant, but often nobody knows what they set out to do, except
  divert EU money into the partnering institutions. Have a look at
 
 Indeed.  When I was involved in bidding for EU research funding in
 what now seems to be a previous life the process involved many meetings
 with potential and later actual partners, who have to come from, I believe
 at least 3 separate countries, plus presentations in Brussels, all involving
 lots of international travel.  And at the end of that expense of time, effort
 and money we were unsuccessful.  This is not like bidding for an Arts
 grant.

I think we can meet the 3 seperate countries requirement.
I would like to try to set up something here with possible the
University in Uppsala and/or the Church.

I don't know if I qualify as an industry (note. eu defines an
industry as something that manuf. phycical goods, no I don't have the
ref. handy) partner, tought I have a company that have been involved
in typesetting for pay.
 And I don't know if I can get any interest from the Univ. (they used
Sibelius a few years ago) or the Church.

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


ice-9/psyntax.scm:1417:32: Syntax error:

2012-03-10 Thread Karl Hammar
Do anyone have a clue what to do about this error:

$ git describe
release/2.15.33-1-4-gb04051d
$ ./autogen.sh  http://turkos.aspodata.se/tmp/log.autogen.sh
$ make all  http://turkos.aspodata.se/tmp/log.make 21
$ tail log.make 
;;; compiling 
/var/home/karl/Net/git/lilypond/out/share/lilypond/current/scm/part-combiner.scm
;;; WARNING: compilation of 
/var/home/karl/Net/git/lilypond/out/share/lilypond/current/scm/part-combiner.scm
 failed:
;;; ERROR: Syntax error:
;;; unknown location: source expression failed to match any pattern in form when
ice-9/psyntax.scm:1417:32: In procedure expand-macro:
ice-9/psyntax.scm:1417:32: Syntax error:
unknown location: source expression failed to match any pattern in form when
make[1]: *** [out/internals.texi] Error 1
make[1]: Leaving directory `/var/home/karl/Net/git/lilypond/Documentation'
make: *** [all] Error 2
$

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: ice-9/psyntax.scm:1417:32: Syntax error:

2012-03-10 Thread Karl Hammar
David:
 k...@aspodata.se (Karl Hammar) writes:
  Do anyone have a clue what to do about this error:
...
  $ ./autogen.sh  http://turkos.aspodata.se/tmp/log.autogen.sh
...
 Guilev2 is not supported yet.  What does autoconf tell?

$ grep -iC2 guile log.autogen.sh 
checking for working metafont mode... ljfour
checking for kpsewhich... kpsewhich
checking for guile-config... guile-config
checking guile-config version... 2.0.5
checking guile compile flags... -pthread -I/usr/include/guile/2.0  
checking guile link flags... -lguile-2.0 -lgc  
checking libguile.h usability... yes
checking libguile.h presence... yes
checking for libguile.h... yes
checking for scm_boot_guile in -lguile... no
checking for scm_boot_guile... yes
checking for scm_t_hash_fold_fn... yes
checking for scm_t_hash_handle_fn... yes
checking for scm_t_subr... yes
checking for usable C++ demangler... yes
checking GUILE rational bugfix... ok
checking for python-config... python-config
checking Python.h usability... yes
--
checking for -windres... no
checking for windres... no
checking for guile... guile
checking for guile... /usr/bin/guile
checking for perl... perl
checking for perl... /usr/local/bin/perl
$

Ok, I'll try to downgrade guile then, thanks.

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: Moving away from make

2011-09-25 Thread Karl Hammar
David Kastrup:
...
 The main problem I see is that dependencies don't work out, and that
 presumably is mostly because the temporary/work files of lilypond-book
 are not in the rules and get stomped over by parallel make.
...

I have given up on lilypond-book and make.
Instead I've made two scripts depend_ly and depen_tex [1] which finds
out what depends on what (think gcc -M), and make [2] takes care of the
rest.

Would it be good to make lilypond print out a files dependancies like
gcc?

Regards,
/Karl Hammar

[1] http://turkos.aspodata.se/git/musik/bin/
[2] http://turkos.aspodata.se/git/musik/include/Makefile

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: What's the deal with String_convert::reverse?

2011-08-23 Thread Karl Hammar
Reinhold:
 Am Tuesday, 23. August 2011, 22:30:24 schrieb David Kastrup:
...
  Is this used anywhere?
 A git grep didn't show any usage, but maybe I'm missing something.

Make does not complain about this patch (on my box).

$ git diff |cat
diff --git a/flower/include/string-convert.hh b/flower/include/string-convert.hh
index 55c1486..0675384 100644
--- a/flower/include/string-convert.hh
+++ b/flower/include/string-convert.hh
@@ -49,7 +49,7 @@ public:
   static string i64_string (I64, char const *fmt = 0);
   static string to_lower (string s);
   static string to_upper (string s);
-  static string reverse (string s);
+  static string reverseX (string s);
 };
 
 #endif // __STRING_CONVERT_HH //
diff --git a/flower/string-convert.cc b/flower/string-convert.cc
index d46426e..01cf3e5 100644
--- a/flower/string-convert.cc
+++ b/flower/string-convert.cc
@@ -362,7 +362,7 @@ String_convert::to_lower (string s)
 }
 
 string
-String_convert::reverse (string s)
+String_convert::reverseX (string s)
 {
   return (char *) memrev ((unsigned char *)s.data (), s.length ());
 }

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: Comand token too long?

2011-08-14 Thread Karl Hammar
Reinhold Kainhofer:
 Am Sunday, 14. August 2011, 03:36:05 schrieb Karl Hammar:
  Works here:
 Doesn't work here on a German Kubuntu system:
...
  $ echo $LANG
  C
 $ echo $LANG
 de_AT.UTF-8

$ LANG=de_AT.UTF-8
$ echo 'z:/' | egrep '^(/|[A-z]:/)'
egrep: Das Ende des angegebenen Intervalls ist nicht gültig
$ echo 'z:/' | egrep '^(/|[A-Za-z]:/)'
z:/
$ export LC_ALL=C
$ echo 'z:/' | egrep '^(/|[A-z]:/)'
z:/
$

So that means that this bug is due to collation order, and as
you wrote yesterday the interval should be changed to A-Za-z.

The egrep thing is there to detect if a filename is absolute,
i.e. starting with / as in /usr/bin/true (unix style), or
C:/ (or another device letter) as in
C:/WINDOWS/SYSTEM32/FILE.DLL (Dos/Windows style).

As written in man grep:

 To obtain the traditional interpretation of bracket
 expressions, you can use the C locale by setting the
 LC_ALL environment variable to the value C.

we can go around this bug by setting LC_ALL to C.

This bug is fixed in [1]:

-  echo $command_line_filename | $EGREP '^(/|[A-z]:/)' 6 \
+  echo $command_line_filename | LC_ALL=C $EGREP '^(/|[A-Za-z]:/)' 6 \

We might go around the bug with the attaced patch (texi2dvi is called 
from texi2pdf), but I have not had time to test it.

Regards,
/Karl Hammar

[1] http://ftp.gnu.org/gnu/texinfo/texi2dvi

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57

diff --git a/make/doc-i18n-root-rules.make b/make/doc-i18n-root-rules.make
index f510ded..83f2ee6 100644
--- a/make/doc-i18n-root-rules.make
+++ b/make/doc-i18n-root-rules.make
@@ -18,7 +18,7 @@ $(top-build-dir)/Documentation/$(outdir)/%.$(ISOLANG).html: $(outdir)/%.texi $(X
 
 $(top-build-dir)/Documentation/$(outdir)/%.$(ISOLANG).pdf: $(outdir)/%.texi
 	cd $(outdir)  \
-	texi2pdf $(TEXI2PDF_FLAGS) $(TEXINFO_PAPERSIZE_OPTION) $*.texi  \
+	LC_ALL=C texi2pdf $(TEXI2PDF_FLAGS) $(TEXINFO_PAPERSIZE_OPTION) $*.texi  \
 	mkdir -p $(dir $@)  mv $*.pdf $@
 
 $(outdir)/version.%: $(top-src-dir)/VERSION___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Comand token too long?

2011-08-13 Thread Karl Hammar
Francisco Vila:
 2011/8/13 Francisco Vila paconet@gmail.com:
  Hello, does anybody what this error means?
 
  cd Documentation/
  cd ./out-www; texi2pdf -I ./out-www -I ../out -I .. -I .. --quiet  
  notation.texi
  egrep: Invalid range end
 
 This is caused by line 1713 of /usr/bin/texi2dvi  (GNU Texinfo 4.13)
 1.135 in my system,
 
  # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex),
   # prepend `./' in order to avoid that the tools take it as an option.
   echo $command_line_filename | $EGREP '^(/|[A-z]:/)' 6 \
   || command_line_filename=./$command_line_filename
 
 and [A-z] is an invalid range.

Works here:

$ echo '/usr/' | egrep '^(/|[A-z]:/)'
/usr/
$ echo 'B:/' | egrep '^(/|[A-z]:/)'
B:/
$ echo 'z:/' | egrep '^(/|[A-z]:/)'
z:/
$ echo 'bin/' | egrep '^(/|[A-z]:/)'
$ egrep --version | head -1
GNU grep 2.6.3
$ echo $LANG 
C
$

[A-z] is a valid range in the C locale. Maybe you have a locale with a
sorting order where z comes before A.

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: Postscript printer errors with rounded barlines?

2011-07-22 Thread Karl Hammar
Han-Wen Nienhuys:
 On Thu, Jul 21, 2011 at 12:31 PM, Karl Hammar k...@aspodata.se wrote:
...
  After dup there is two blots, gt consumes one and setlinewidth
  the other.
 
 I'm sorry - I misunderstood; I thought you saw a problem with the code
 rather than the comments.

No problem. I see no problem with the code, it was just the comment
that didn't match the code.

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: Postscript printer errors with rounded barlines?

2011-07-21 Thread Karl Hammar
Han-Wen Nienhuys:
...
 Werner, can you have a look at http://codereview.appspot.com/4819041 ?

   /draw_round_box % width height x y blot
   {
  -   setlinewidth % w h x y
  -   0 setlinecap
  -   1 setlinejoin
  +dup
  +   0.0 gt {
  +   setlinewidth % w h x y
  +   0 setlinecap
  +   1 setlinejoin
  +

There is no blot on the stack below (as indicated by the comment),
it was swallowed by setlinewidth.

  +   rmoveto % b w h
  +   currentpoint % b w h x1 y1
  +   4 2 roll % b x1 y1 w h
  +   4 copy
  +   rectfill
  +   rectstroke
  +   } {
  +   pop % w h x y
  +   rmoveto % w h
  +   currentpoint % w h x1 y1
  +   4 2 roll % x1 y1 w h
  +   rectfill
  +   } ifelse
  +} bind def

You don't seem to use this, why defining it?

  +/draw_box % width height x y
  +{
  rmoveto % w h
  currentpoint % w h x1 y1
  4 2 roll % x1 y1 w h
  4 copy
  rectfill
  -   rectstroke
   } bind def

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: Postscript printer errors with rounded barlines?

2011-07-21 Thread Karl Hammar
Han-Wen Nienhuys:
 On Thu, Jul 21, 2011 at 8:11 AM, Karl Hammar k...@aspodata.se wrote:
  Han-Wen Nienhuys:
  Werner, can you have a look at http://codereview.appspot.com/4819041 ?
  There is no blot on the stack below (as indicated by the comment),
 there is; the dup puts it on the stack.  The comment indicate the
 state after the call.

   /draw_round_box % width height x y blot
   {
w h x y b
 dup
w h x y b b
 0.0 gt
w h x y b a_bool  % the a_bool it consumed by the ifelse below
 {
w h x y b
 setlinewidth % w h x y
w h x y
 0 setlinecap
 1 setlinejoin
w h x y
 rmoveto % b w h
w h
 currentpoint % b w h x1 y1
 4 2 roll % b x1 y1 w h
 4 copy
 rectfill
 rectstroke
 } {
 pop % w h x y
 rmoveto % w h
 currentpoint % w h x1 y1
 4 2 roll % x1 y1 w h
 rectfill
 } ifelse
   } bind def

After dup there is two blots, gt consumes one and setlinewidth
the other.

///

Also if there were a blot at rmoveto time due to a dup, it would
be at top of stack, not below w h as indicated by the comment.

///

If it would behave as the comment indicate, then

 w h x y 0draw_round_box = -
 w h x y blot draw_round_box = blot

e.i. it would leave a lone blot at the top of the stack if it's  0.

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: GOP-PROP 3 - C++ formatting (probable decision)

2011-07-05 Thread Karl Hammar
Graham:
...
 ** Eliminate tabs
 
 I'm going to make the bold step of assuming that we will eliminate
 tabs in all C++ files.
...

That implies that tabs in strings should be replaced with \t, is that
what you want?

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: No more releases: savannah sometimes does not like git fetch --depth

2011-06-10 Thread Karl Hammar
Trevor:
 I've attached an email which explains a similar problem
...
Attached email

Path-mtu-discovery is described in rfc-1191 and some problems with it
in rfc-2923. The symtoms described in attached email is matches
black hole in rfc-2923.

It should be wholly agnostic to the git fetch --depth 1 vs.
git clone choise. The black hole problem happens only for large
packets.

**
If it is the black hole:

The best fix is to correct your router, setting the mtu in the router
might be a solution for that, but your router should return
a proper icmp error response (ICMP Destination Unreachable messages
with a code meaning fragmentation needed and DF set) if the packet is
too large. Make sure the router and your host don't filter out thoose
icmp packets.

///

The second best is to send smaller packets from your host going through
that route. This can be set with 

 route del default gw your router
 route add default gw your router mss some value

where mss = maximum segment size. A good first try is MTU - 80, see 
rfc-879 for details.

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: No more releases: savannah sometimes does not like git fetch --depth

2011-06-09 Thread Karl Hammar

Graham:
...
   mkdir new-lilypond-dir
   cd new-lilypond-dir
   git init
   git config core.bare false
   git remote add -t master origin git://git.sv.gnu.org/lilypond.git
   git fetch --depth 1
 
 fails every time.  Until this is fixed,
   *** I CANNOT MAKE ANY MORE LILYPOND RELEASES. ***
...

Works here (turkos.aspodata.se):

$ mkdir new-lilypond-dir
$ cd new-lilypond-dir
$ git init
Initialized empty Git repository in /var/home/karl/new-lilypond-dir/.git/
$ git config core.bare false
$ git remote add -t master origin git://git.sv.gnu.org/lilypond.git
$ git fetch --depth 1
remote: Counting objects: 4236, done.
remote: Compressing objects: 100% (4031/4031), done.
remote: Total 4236 (delta 643), reused 1669 (delta 191)
Receiving objects: 100% (4236/4236), 15.06 MiB | 206 KiB/s, done.
Resolving deltas: 100% (643/643), done.
From git://git.sv.gnu.org/lilypond
 * [new branch]  master - origin/master
$

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: GOP-PROP 1: python formatting

2011-06-06 Thread Karl Hammar
Graham:
 (this proposal will be rushed because nobody will argue against
 it. Initial discussion 6 June, summary and tentative decision 8
 June, implementation 10 June)

Having set a policy about policy discussions and then breaking it
the first thing you do is not a good policy.

If there is no rush, don't break the rules. On the contrary, how
can I feel confidence in the rules if they are beeing broken.

 Proposal: let’s follow PEP-8.
 http://www.python.org/dev/peps/pep-0008/
 
 * use 4 spaces per indentation level
 * never max tabs and spaces

In the code I presume, in strings this wouldn't apply.

 * Code indented with a mixture of tabs and spaces should be
   converted to using spaces exclusively 

Presenting rules without rationales, gives no ground for decisions.
One could the feeling that this is pure nonsense. If you really
care about this, provide a pretty printer instead, and stipulate
that all code should go through that.

I propose instead:

. Don't ever provide patches whith white space changes (in the code)
  unless the patch is only about white space changes

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: GOP-PROP 1: python formatting

2011-06-06 Thread Karl Hammar
Graham:
 On Mon, Jun 06, 2011 at 10:58:11AM +0200, Karl Hammar wrote:
  Graham:
   (this proposal will be rushed because nobody will argue against
   it. Initial discussion 6 June, summary and tentative decision 8
   June, implementation 10 June)
  Having set a policy about policy discussions and then breaking it
  the first thing you do is not a good policy.
...
 I felt a bit of a rush because the mix of indentation is delaying
 some much-needed improvements to our build system, but I agree
...

Well then, say so. I wouldn't argue against that.

...
  Presenting rules without rationales, gives no ground for decisions.
  One could the feeling that this is pure nonsense. If you really
  care about this, provide a pretty printer instead, and stipulate
  that all code should go through that.
 I am not aware of any pretty printers for python code -- remember

A quick search did not turn up anything useful either, well, sorry
for that then.

For the simple case of removing tabs, col -b -x could be one.
Manually finding/expanding tabs is a pain.

 that unlike C++ or scheme, indentation in python is the way that
 one indicates code blocks.  (this makes mixing tabs and spaces
 particularly horrible!)
...

There is your rationale.

There is a check the python code should pass python -tt, maybe
it could be run as part of some make process...

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: Openoffice import?

2011-06-05 Thread Karl Hammar
David:
 Offlist URL:http://www.haumacher.de/svg-import/ has been suggested to
 me.  The JAR file mentioned in there works for converting lilypond-book
 images placed into PDF, extracted with preview.sty, converted with
 pdf2svg to SVG to .odg files (OpenOffice Draw Graphics?) as OLE links
 into an OpenOffice document from where they will export to scalable PDF
 again.  So there is a reasonable hope they might also export to scalable
 DOC contents.
...

I found

 http://sk1project.org/modules.php?name=Productsproduct=uniconvertor

which claims to be able to do eps - svg, can that be of any help...

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



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


Re: Black mensural notation

2011-01-07 Thread Karl Hammar
James Lowe:
...
 Lukas (although for some reason I am getting bounces from your email address 
 so I hope you are reading this on the lists)!

Lukas cannot do anything about this except changing mail provider.

The mailing list should be fine.

You can do something by making sure the sending mailserver ip-number
and dns name points back to each other, ask your mail- and dnsadmin.

 Is anyone else getting
 
 
 10.mx.freenet.de rejected your message to the following e-mail addresses:
 
 Lukas Pietsch (lukas.piet...@freenet.de)mailto:lukas.piet...@freenet.de
 
 10.mx.freenet.de gave this error:
 inconsistent or no DNS PTR record for 173.221.96.141 (see RFC 1912 2.1)

 Yes, freenet.de only accepts mail from mail-servers with a valid 
 reverse pointer.

 If I like to find out who 172.221.96.141 is, I can do:

$ host -t ptr 173.221.96.141
141.96.221.173.in-addr.arpa domain name pointer cas-ftl1.datacore.com.
$

 But cas-ftl1.datacore.com doesn't poin back to the same number:

$ host cas-ftl1.datacore.com.
cas-ftl1.datacore.com has address 205.237.192.88
$

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Black mensural notation

2011-01-04 Thread Karl Hammar
Lukas:
 Hi, I'm quite new to Lilypond programming, but I thought I'd jump in at what
 seemed to me to be pretty much the deep end, and try if I could get black
 mensural notation implemented. Here's what I've come up with so far: 
 http://lukas-pietsch.de/Music/blackmensural.ly (source file)
 http://lukas-pietsch.de/Music/blackmensural.pdf (doc)
 
 It's all just scheme functions and embedded postscript, and works for me under
 the current stable 2.12.3.
 
 The biggest stumbling block turned out to be black ligatures, which I found no
 other way of doing than rewriting from scratch in a rather hackish way,
 sidestepping the normal ligature engraver completely; and horizontal spacing,
 for which I had to figure out some rather ugly workarounds (probably far from
 optimal).
 
 If anybody finds it useful, please feel free to use or modify.

On line 22 in the ly-file:

  %% Accidentals are valid only once (same as

Shouldn't the accidental be valid for the next note and any same 
repeted note, this has bothered me with the current white mesural
support. E.g. if you say bes bes bes, it should be only one b-flat
sign?

And the b-flat sign could be displaced horisontally to the left as
in gregorian chant?

The rests looks a little thick in section 1.4 in the pdf.



Wery nice, I'm very happy to see this!!!

Regards,
/Karl Hammar

-
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: critical issues

2011-01-01 Thread Karl Hammar
Graham:
 On Sat, Jan 01, 2011 at 09:10:49AM +0100, Werner LEMBERG wrote:
...
  But maybe there is a group of LilyPond philanthropists who can afford
  this and are willing to do so...
 I'm not optimistic about that; I think a more realistic
 opportunity would be to get some grant money from some artistic
 organization.  ...
 
 Of course, writing artistic and research grants is a non-trivial
 amount of work, and it's hardly guaranteed to have any results.
 But I think that with the right angle -- be that collaborative
 folk music archival, or high-quality, specialized music
 notation, or educational software for cheap 3rd-world donated
 computers, I could imagine getting a grant.

In Uppsala there is one person at the music institution who is
interested in Schenker analysis. Could that be a lead?

Regards,
/Karl Hammar

-
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: sustainable development in LilyPond

2010-08-03 Thread Karl Hammar
Graham:
...
 http://percival-music.ca/blog/2010-08-01-sustainable-development.html
...

Thank you for the slides, I liked them.

Regards,
/Karl Hammar

-
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Issue 881 Arpeggios may collide with laissezVibrer ties (was Re: Critical issues)

2010-05-17 Thread Karl Hammar
-
This is a multipart MIME message.
Karl Hammar:
 Carl Sorensen:
 ...
  I've posted a patch on Rietveld.  Can you do the
  regression test?
  http://codereview.appspot.com/1195044
 
 After a make test-redo I get:
 
 . the mandatory output-distance.
 . a diff of tree.gittext, showing Carls patch
 . 314 below threshold
 . 2062 unchanged
 
 From this I assume Carls patch does not affect any present regression
 test.

Sorry to bring this up again, but this conclusion is still unproven,
since the test was done with test-redo. As I have found out in the 
thread for the issue 915, test-redo does not test the things we
wanted to test.

***



$ git-status 
# On branch master
# Untracked files:
#   (use git add file... to include in what will be committed)
#
#   issue1195044_1_2.diff
#   issue1195044_1_3.diff
#   issue931041_1.diff
nothing added to commit but untracked files present (use git add to track)
$ git-log | head -1
commit 22d889f4d27469864c31db81445e9de49774ae23
$ cat issue1195044_1_[23].diff | patch -p1  
patching file scm/define-grobs.scm
patching file scm/output-lib.scm
$ make check  log 21
...

And I get a distance of 18.406667 in the attached output. The
difference seems to be because the c and the b are horizontally closer 
to each other.

Regards,
/Karl Hammar

attachment: tie-semi-single.compare.jpegattachment: tie-semi-single.png___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Issue 881 Arpeggios may collide with laissezVibrer ties (was Re: Critical issues)

2010-05-17 Thread Karl Hammar
And here comes the test-baseline file.

Regards,
/Karl Hammar
attachment: tie-semi-single.png___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Issue 915 Multi-measure rests dependent on prefatory matter in other staves

2010-05-16 Thread Karl Hammar
Neil Puttock:
 On 15 May 2010 14:37, Karl Hammar k...@aspodata.se wrote:
  git-pull
  wget http://codereview.appspot.com/download/issue931041_1.diff
  patch -p1  issue931041_1.diff --dry-run
  patch -p1  issue931041_1.diff
  make  log 21; make test-redo  log 21
 
 I very rarely use `make test-redo'.

The difference between test-redo and check is small:

$ grep -A 6 ^test-redo: GNUmakefile 
test-redo:
for a in `cat $(RESULT_DIR)/changed.txt` ; do \
echo removing $$a* ; \
rm -f $$a* ;\
done
$(MAKE) check

$ grep RESULT_DIR GNUmakefile | head -1
RESULT_DIR=$(top-build-dir)/out/test-results
$ cat out/test-results/changed.txt; echo # missing final newline
input/regression/out-test//test-output-distance
input/regression/out-test//rest-collision-beam-note
input/regression/out-test//tree
$

Does it matter, if not, why is in the contributor manual ?

 I basically do what Carl outlined in the other thread:
 
 make test-baseline
 
 git apply issue931041_1.diff
 
 make check

The contributor manual says (3.6.3.1):

   * Initial test:

  make [-jX]
  make test-baseline
  make [-jX CPU_COUNT=X] check

   * Edit/compile/test cycle:

  _## edit source files, then..._

  make clean_## only if needed (see below)_
  make [-jX]_## only if needed (see below)_
  make test-redo_## redo files differing from baseline_
  make [-jX CPU_COUNT=X] check  _## CPU_COUNT here?_

   * Reset:

  make test-clean

It has an make check after the test-baseline which you don't have, is 
it redundant?

git-apply and patch -p1 produces the same result, so that is not the 
cause of our different output:

$ cd ..
$ cp -a lilypond/ lilypond.b
$ cd lilypond.b/
$ git-apply -v issue931041_1.diff 
Applied patch lily/bar-line.cc cleanly.
Applied patch lily/include/bar-line.hh cleanly.
Applied patch lily/include/note-spacing.hh cleanly.
Applied patch lily/include/paper-column.hh cleanly.
Applied patch lily/multi-measure-rest.cc cleanly.
Applied patch lily/note-spacing.cc cleanly.
Applied patch lily/paper-column.cc cleanly.
Applied patch scm/define-grob-properties.scm cleanly.
Applied patch scm/define-grobs.scm cleanly.
$ cd ../lilypond
$ patch -p1  issue931041_1.diff 
patching file lily/bar-line.cc
patching file lily/include/bar-line.hh
patching file lily/include/note-spacing.hh
patching file lily/include/paper-column.hh
patching file lily/multi-measure-rest.cc
patching file lily/note-spacing.cc
patching file lily/paper-column.cc
patching file scm/define-grob-properties.scm
patching file scm/define-grobs.scm
$ cd ..
$ diff -Naur lilypond*   
$

  Also, it would be much easier to look throuht the patch if it did not
  contain so many whitespace changes. In the first 100lines, I see:
 
 Why would you want to look at the bare diff?

Isn't the diff a complete statement of what you want to change?
Also you *did* cite the diff.

  The whole point of
 uploading the patchset to Rietveld is to make it easier to see the
 changes in each file.

Well, it might help someone else, but not me -- I have mail and git.
Putting things on web sites and getting things from them makes it take
more time.

***

If I take it from the beginning:

$ git-log | head -1
commit 22d889f4d27469864c31db81445e9de49774ae23
$ git-status  
# On branch master
# Untracked files:
#   (use git add file... to include in what will be committed)
#
#   issue1195044_1_2.diff
#   issue1195044_1_3.diff
#   issue931041_1.diff
#   log
nothing added to commit but untracked files present (use git add to track)
$ make clean  /dev/null 2/dev/null
$ make  log 21
$ make test-baseline  log1 21
Processing ./snippet-map-1678077630
...
Processing 41/lily-67666737
Failed files: ()
$ make check  log2 21
Processing ./snippet-map-1678077630
...
Processing 90/lily-015675ea
Failed files: ()
$ patch -p1  issue931041_1.diff 
$ make  log3 21
$ make test-redo  log4 21
Processing ./snippet-map--1837524129
...
Failed files: ()
$ fgrep 'img src=input/regression/out-test/' out/test-results/index.html | 
grep -v test-output-distance.compare.jpeg
img src=input/regression/out-test//rest-collision-beam-note.compare.jpeg 
style=border-style: none; max-width: 500px;
$ # above file attached
$ make check  log5 21
Processing ./snippet-map-170730255
...
Failed files: ()
$  # the same output is produced
$ ls -1  input/regression/out-test/multi-measure-rest-multi-staff-center*
input/regression/out-test/multi-measure-rest-multi-staff-center-1.eps
input/regression/out-test/multi-measure-rest-multi-staff-center-1.signature
input/regression/out-test/multi-measure-rest-multi-staff-center-systems.count
input/regression/out-test/multi-measure-rest-multi-staff-center-systems.tex
input/regression/out-test/multi-measure-rest-multi-staff-center-systems.texi
input/regression/out-test/multi-measure-rest-multi-staff-center.eps
input/regression/out

Re: Issue 915 Multi-measure rests dependent on prefatory matter in other staves

2010-05-16 Thread Karl Hammar
Karl Hammar:
 Neil Puttock:
...
  I basically do what Carl outlined in the other thread:
  
  make test-baseline
  
  git apply issue931041_1.diff
  
  make check
 
 The contributor manual says (3.6.3.1):
 
* Initial test:
 
   make [-jX]
   make test-baseline
   make [-jX CPU_COUNT=X] check
 
* Edit/compile/test cycle:
 
   _## edit source files, then..._
 
   make clean_## only if needed (see below)_
   make [-jX]_## only if needed (see below)_
   make test-redo_## redo files differing from 
 baseline_
   make [-jX CPU_COUNT=X] check  _## CPU_COUNT here?_
 
* Reset:
 
   make test-clean

After yet another run:

make clean  /dev/null 
patch -p1  issue931041_1.diff 
make  log 21
make check  log 21

I get the expected output (i.e. Neil's output).

Regards,
/Karl Hammar



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


contributors manual

2010-05-16 Thread Karl Hammar
From the debacle with Issue 915 I have learned that

. make test-redo does not catch regression due to program changes
. rest-collision-beam-note.ly changes is more or less expected
. section 8 Regression tests is related to section 3.6.3.1


Does make check after test-baseline serve any purpose ?

What is the purpose for test-redo, is it there to test changes in
the regression test files themselves, and only that ?

Regards,
/Karl Hammar



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Issue 881 Arpeggios may collide with laissezVibrer ties (was Re: Critical issues)

2010-05-15 Thread Karl Hammar
Carl Sorensen:
...
 I've posted a patch on Rietveld.  Can you do the
 regression test?
 http://codereview.appspot.com/1195044

After a make test-redo I get:

. the mandatory output-distance.
. a diff of tree.gittext, showing Carls patch
. 314 below threshold
. 2062 unchanged

From this I assume Carls patch does not affect any present regression
test.

***

But I also notice that there are no test for the present problem.
Perhaps one should be added?

The one presented in the report[1] could be a candidate, comments?

\version 2.12.1 % regression: 2.10.33 and 2.8.8 are ok

{
 f'\laissezVibrer f  a' \arpeggio
 f'\laissezVibrer g  a' \arpeggio \mark never
 f'\laissezVibrer a  a' \arpeggio
 f'\laissezVibrer b  a' \arpeggio
 \bar ||
 f'\laissezVibrer f  g' \arpeggio
 f'\laissezVibrer g  g' \arpeggio \mark sometimes
 f'\laissezVibrer a  g' \arpeggio
 f'\laissezVibrer b  g' \arpeggio
 \bar ||
 f'\laissezVibrer f  f' \arpeggio
 f'\laissezVibrer g  f' \arpeggio \mark always
 f'\laissezVibrer a  f' \arpeggio
 f'\laissezVibrer b  f' \arpeggio
}

***

I also note that input/regression/laissez-vibrer-ties.ly has a bar 
check failure:

\relative c' {
  c e g\laissezVibrer r4
  c f g\laissezVibrer r
  c d f g\laissezVibrer r
  c d f g4.\laissezVibrer r % here we get a bar check failure

In Documentation/snippets/laissez-vibrer-ties.ly we have a r8 at that 
point, otherwise thoose two are basically the same.

What was the point of having a bar check failure in the regression 
test?

Regards,
/Karl Hammar

[1] http://code.google.com/p/lilypond/issues/detail?id=881



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Issue 915 Multi-measure rests dependent on prefatory matter in other staves

2010-05-15 Thread Karl Hammar
Patching with [3] (see [2]) still gives something (see attachment)
more like rest-2.12.png in [1], i.e. it was not fixed.

The comment for the fix:

  Allow user override of left/right spacing of full-bar rests relative
  to barlines or prefatory material.

implies that one has to do an override. The comment gives no help for
what override to use.

Since this regression is considered critical, should not the default 
be for 2.11.27 behaviour instead of 2.11.28 or later ?

Regards,
/Karl Hammar

[1] http://code.google.com/p/lilypond/issues/detail?id=915
[2] http://codereview.appspot.com/931041/show
[3] http://codereview.appspot.com/download/issue931041_1.diff



3.pdf
Description: 3.pdf
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Issue 915 Multi-measure rests dependent on prefatory matter in other staves

2010-05-15 Thread Karl Hammar
Neil Puttock:
 On 15 May 2010 09:58, Karl Hammar k...@aspodata.se wrote:
  Patching with [3] (see [2]) still gives something (see attachment)
  more like rest-2.12.png in [1], i.e. it was not fixed.
 
 You must've done something wrong when applying the patch/rebuilding.
 
 I wouldn't post a patch on Rietveld without first confirming the
 regression is fixed.

I don't think so either, you are more than welcome to point out what I 
did wrong:

git-pull
wget http://codereview.appspot.com/download/issue931041_1.diff
patch -p1  issue931041_1.diff --dry-run
patch -p1  issue931041_1.diff 
make  log 21; make test-redo  log 21

   Allow user override of left/right spacing of full-bar rests relative
   to barlines or prefatory material.
 
  implies that one has to do an override. The comment gives no help for
  what override to use.
 
 The patched files should make it clear:
 
 + (spacing-pair ,pair? A pair of booleans which set the spacing for a
 +multi-measure rest relative to its left and right @code{BreakAlignment}s.
 +If true, the rest is spaced to the bar line, ignoring prefatory items such
 +as clefs and time signatures; if false, it is spaced relative to the
 +BreakAlignment, which includes prefatory items. )
 
 + (spacing-pair . (#f . #t))
 
 ^ default value for MultiMeasureRest

Yes, I can see the lines (last in the patch) when you point the out for me.
But, nevertheless I got the result I got.

Also, it would be much easier to look throuht the patch if it did not 
contain so many whitespace changes. In the first 100lines, I see:

+bool
+Bar_line::non_empty_barline (Grob *me)
+{
+  return has_interface (me)  !me-extent (me, X_AXIS).is_empty ();
+}
+

and the rest is whitespace changes. That makes the reader tired.

Regards,
/Karl Hammar



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Critical issues

2010-05-14 Thread Karl Hammar
Carl Sorensen:
 On 5/13/10 1:11 PM, Karl Hammar k...@aspodata.se wrote:
...
 make test-baseline
...
 make check
...

Ok, done that.

With the guidance from http://code.google.com/p/lilypond/issues/detail?id=881:

  I can't explain why, but making the print function pure by redefining 
ly:tie::print
  just for LaissezVibrerTie seems to fix this (I haven't done a regtest check, 
so it
  might end up breaking something else):

  (define-public (laissez-vibrer::print grob)
(ly:tie::print grob))

  (then add laissez-vibrer::print to pure-print-callbacks)

I tried this:

  diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm
  index 176debd..35186f8 100644
  --- a/scm/define-grobs.scm
  +++ b/scm/define-grobs.scm
  @@ -2345,8 +2345,12 @@
(interval-union '(0 . 0) (cons smaller larger)))
  '(0 . 0

  +(define-public (laissez-vibrer::print grob)
  +  (ly:tie::print grob))
  +
   (define pure-print-callbacks
 (list
  +   laissez-vibrer::print
  fret-board::calc-stencil
  note-head::brew-ez-stencil
  print-circled-text-callback

$ make test-redo

 out/test-results/index.html
 
 that shows the results of the regression tests.
...

I got (except the test-output-distance.ly) an distance of 0300030 and
HEAD is: 22d889f4d27469864c31db81445e9de49774ae23 to the right and
left plus the git-diff to the rigth.

So I assume it was the wrong patch try. Does anybody have Neil's
proposed fix available ?

Regards,
/Karl Hammar

___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Issue 881 Arpeggios may collide with laissezVibrer ties (was Re: Critical issues)

2010-05-14 Thread Karl Hammar
Carl Sorensen:
 On 5/14/10 7:01 AM, Karl Hammar k...@aspodata.se wrote:
  Carl Sorensen:
...
 You also need to redefine the 'stencil for laissez-vibrez tie in
 scm/define-grobs.scm.
...

I can help with doning the regression test. Second-guessing what 
Niels patch was about was not included in that offer.

Regards,
/Karl



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Critical issues

2010-05-13 Thread Karl Hammar
Issue  881: Arpeggios may collide with laissezVibrer ties

According to the bug tracker, v2.11.19's output is what to aim for.

Neil gave the fix:

(define-public (laissez-vibrer::print grob)
  (ly:tie::print grob))

(then add laissez-vibrer::print to pure-print-callbacks)

But he has not done a regtest check.

///

How do one do a regtest?
I remember there were discussion about this a while ago, but doing a 
quick search (regtest check lilypond) did not turn up anything useful,
except [1] and [2].

[1] 
http://lilypond.org/doc/v2.13/Documentation/contributor/checking-and-verifying-issues
[2] http://lilypond.org/test/

Perhaps it should be documented, maybe it already are.

Doing info ./Documentation/out/lilypond-contributor.info-1 I find:

  8.1 Introduction to regression tests

  The regression tests are automatically compiled using special `make'
  targets.  The output of the regression tests is also automatically

So, what targets?
The targets test* seems to have something with the regression directory 
to do, but I don't understand how to do a comparision to a known good set.

. Do we have a known good set?
. If so, how do I compare current output with it?

Regards,
/Karl



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Critical issues

2010-05-13 Thread Karl Hammar
Issue  815: Enhancement: AJAX-powered search auto-completion for the online 
documentation

Issue 1038: more technical website items

Theese two seem to be related to the web site, not to the released 
software. I can understand that it can be critical for the official
site, but how can that be critical for the release ?

Regards,
/Karl



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Critical issues

2010-05-13 Thread Karl Hammar
Graham:
 On Thu, May 13, 2010 at 10:06:45AM +0200, Karl Hammar wrote:
  How do one do a regtest?
 
 Regression check; by compiling stuff.
 
8.1 Introduction to regression tests
  
The regression tests are automatically compiled using special `make'
targets.  The output of the regression tests is also automatically
  
  So, what targets?
 
 They might be make baseline-test, followed by applying a patch,
 followed by make check, but I'm not certain.  It's explained
 somewhere in Contributing 2.

Ok, found something in 3.6.3 Testing LilyPond (though nothing in the 
chapter on regression tests).

   * Initial test:

  make [-jX]
  make test-baseline
  make [-jX CPU_COUNT=X] check

   * Edit/compile/test cycle:

  _## edit source files, then..._

  make clean_## only if needed (see below)_
  make [-jX]_## only if needed (see below)_
  make test-redo_## redo files differing from baseline_
  make [-jX CPU_COUNT=X] check  _## CPU_COUNT here?_

Hmm, the make check seems redundant since test-redo already does it:

$ find . -name GNUmakefile | xargs grep -A 10 test-redo
...
./GNUmakefile:test-redo:
./GNUmakefile-  for a in `cat $(RESULT_DIR)/changed.txt` ; do \
./GNUmakefile-  echo removing $$a* ; \
./GNUmakefile-  rm -f $$a* ;\
./GNUmakefile-  done
./GNUmakefile-  $(MAKE) check
...

./scripts/build/out/output-distance seems to be the workhorse of the 
regression tests. I cannot find any useful documentation of it with:

 find . -type f | xargs grep output-distance

except the source code itself.

But if I already have a known good result from the code tracker,
how do I compare it with the new result?

Regards,
/Karl



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Critical issues

2010-05-12 Thread Karl Hammar
Graham complaind about 10 critical issues in the last lilypond report.

***

Issue  815: Enhancement: AJAX-powered search auto-completion for the online 
documentation

Why is this a critical issue for the lilypond release?

***

Issue 1080: Regression: bar lines in double bar are positioned too close 
together

pnorcks mentions commit 27a4d9354effb09c696925881ec4df007da8a0db
as a possible cause. Reverting part of that commit:

diff --git a/lily/bar-line.cc b/lily/bar-line.cc
index d3f21e5..85b2e52 100644
--- a/lily/bar-line.cc
+++ b/lily/bar-line.cc
@@ -196,11 +196,9 @@ Bar_line::compound_barline (Grob *me, string str, Real h,
   /*
should align to other side? this never appears
on the system-start?
+  */
   m.add_at_edge (X_AXIS, RIGHT, thin, 0);
   m.add_at_edge (X_AXIS, RIGHT, thin, thinkern);
-  */
-  m.add_at_edge (X_AXIS, LEFT, thin, thinkern / 2);
-  m.add_at_edge (X_AXIS, RIGHT, thin, thinkern / 2);
 }
   else if (str.find (S) != NPOS || str == |._.|)
 {

gives me the attached grace-start result which resembles the 2.13.17 
result presented in the bug tracker.

What should we do about it?

***

Issue  989: ensure that no information is only in the regtests

Though Graham complain about this issue in the report,
this seems to be taken by Valentin. He has a list at
http://wiki.lilynet.net/index.php/Regtests

What to do about it?
Shall we discuss individual items on the list?

***

Issue  915: Multi-measure rests dependent on prefatory matter in other staves

There seems to be a fix: http://codereview.appspot.com/931041/show
Do you need help testing the fix?

***

Issue 1031: constantly-changing input/regression/rest-collision-beam-note.ly

If it is changes every time, what is the correct output?


grace-start.pdf
Description: grace-start.pdf
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Where is the bug tracker?

2010-05-12 Thread Karl Hammar
Wouldn't it be nice to have a link to the bug tracker from

 http://lilypond.org/devel/

Regards
/Karl Hammar



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Aligning single systems?

2010-05-08 Thread Karl Hammar
James Bailey:
 On 07.05.2010, at 21:53, David Kastrup wrote:
  Boris Shingarov b...@shingarov.com writes:
  for theoretical work it often is necessary to write several short
  systems in one line, interspersed with text.
...
  \markuplines {
\justified-lines {
  some text
  \score { e''' \layout {} }
  more text
  \score { c \layout {} }
}
  }
  Nothing lines up.  Text is in the sky, music systems are skewed.
 While not completely ideal, frequently, markup has to be aligned. So  
 the original snippet:
[Bailey: attachment, above with \vcenter added]

One can add placeholders to define vertical extent (how do one make 
it zero length?):

\version 2.13.0
\paper {
  indent = 0\mm
}
range = {
 \hideNotes
 c e4
 \unHideNotes
}

\markuplines {
\justified-lines {
   some text
   \vcenter
   \score { { \range e''' } \layout { } }
   more text
   \vcenter
   \score { { \range c } \layout { } }
}
}

Regards,
/Karl Hammar




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Aligning single systems?

2010-05-07 Thread Karl Hammar
David:
 Hi, for theoretical work it often is necessary to write several short
 systems in one line, interspersed with text.
 
 I don't manage to have
 a) new systems continue aligned to the previous system in a line, like
 when doing
...
 b) to have interspersed text appear at useful height with relation to
 the surrounding score.

 An additional problem is when using lilypond-book: there is no baseline
 info for the included images, leading to additional nuisances when
 images are to be placed in-line.

With latex, I've done (see [1], for my tries):

\newcommand{\INL}[1]{\raisebox{-0.8ex}{\includegraphics[height=3ex]{#1}}}
...
The limit of the \emph{Medium} register in all female voices varies
from \INL{op31_fig4.eps}; as a general rule, however,
\INL{op31_fig5.eps} should be looked as the highest note.
...

But I have to hand-tune the \raisebox and the height.

 Would it be possible to have some Staff property, say, baseline-height
 that specifies a Staff line to be aligned with the baseline of
 surrounding constructs?  If it were #f, we'd get the old behavior, and
 of course only one Staff's baseline-height could be heeded within a
 StaffGroup.  This might not be easy to make work in lilypond-book, but
 at least for interspersed text and staffs all within Lilypond, it might
 help.

Good idéa!

What I would need is the total height, and the amount of space
below the staff,

The values are available in some form, since the notation manual
(for v2.13), sec. 4.6.1 Displaying spacing demonstrates
 \paper { annotate-spacing = ##t }, where one can find numbers for
bottom-of-extent and extent-estimate.

As a workaround one could, if possible, set thoose two heights (with
margins) to fixed values, then you'd only have to hand-tune it once.

Regards,
/Karl Hammar

[1] git://turkos.aspodata.se/musik.git




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Why don't we get rid of \chordmode?

2010-04-30 Thread Karl Hammar
Kieren:
  It's not obvious to me whether
   c\chord #'(1 7)
  should produce c b or c bes.  Musically speaking, I'd look at
  the key signature; if it were c major, I would assume it meant
  c b since b is the seventh note of the scale.
  
  This may be a problem for the numeric syntax.  I suppose we could
  define each number as being a perfect, major, or minor interval;
  users can adjust those intervals with + or - as required.
 
 Or... we could use dodecaphonic intervals, i.e.
 
   c\chord #'(1 11) is a minor seventh
   c\chord #'(1 12) is a major seventh
 
 Of course, none of these ideas support systems with 
 other-than-12-tones-per-octave…  =(

I propose we skip the number things and go for a local translate,
see below last in mail.



One could misuse floating poing values:

  c\chord_float #'(1 6.5) % minor seventh
  c\chord_float #'(1 7.0) % major seventh

To explain that eis == f is doable, but how would one explain
that 3.5 == 4 ??

(That flaw was present in my inital proposal c 3 5)

Rationals:

 c\chord_rational #'(1 5/4 3/2) % perfect 3rd and 5th
 % replace 5/4 etc. with the proper scheme expression

Cents:

 c\chord_cent #'(0 386 702) % just intonation

Or other variants.

One could also define a shorthand translating thing, something like 
(though I'm not shure what syntax to use):

 cis\chord_barre c e g - cis eis gis

//

If we are discussing shortcuts to notate music (chordal notation are 
shortcuts, is it not?), consider the similarity of:

 d fis a - d\chord #'(1 3 5) % parallell music
 {d fis a} - d\seq   #'(1 3 5) % sequential music

There are two things here:

 . replacing a note name with a number, eg. e - 3
   . naively replacing 3 for the interval third, gives use the enharmonic 
 problem of 3.5 == 4, and what does 7 mean, a minor or major 7th?
   . using dodecaphonic, cents, retionals or the like somehow misses the
 shortcut-idéa

 . a local transposition, eg. d\chord... == \translate c d { c\chord... }
   this would be a better \translate, since it would put the music
   in the current octave



The chords are easily defined, we don't need any special
syntax for that (like \chordmode):

 chord_major = \relative c { c e g }

\translate below does not work since the d is not relative the
previous music:

 ... music ...
 \translate c d \chord_major 
 ... music ...

Could something like this (or some other syntax) be useful:

 ... music ...
 d\tr\chord_major % -- d fis a in the current octave
 ... music ...

Going this route, one could define whatever complex chord expressable 
in an ordinary ...

Regards,
/Karl Hammar




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Why don't we get rid of \chordmode?

2010-04-29 Thread Karl Hammar
David Kastrup:
 Graham Percival gra...@percival-music.ca writes:
...
 And what if you see \chordmode { c,4:1/c c g,:1/g c } in the input
 (which is basically how you put bass notes in now if you really must)?
...

For the simple chords c\maj c\dim c\maj7 etc. could suffice.
For more complex chords one could extend the c e g syntax to c 3 5.

Regards,
/Karl Hammar

-
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Why don't we get rid of \chordmode?

2010-04-29 Thread Karl Hammar
Graham:
...
 OTOH, what about doing something like this:
   c\maj
   c\dim
   c\chord #'(1 4 5)
   c\chord #'(1 3 5 7 11)

I like this.

Regards,
/Karl Hammar




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Solution for including a file only once

2010-02-12 Thread Karl Hammar
Reinhold Kainhofer:
...
 In my view there are two different kinds of include uses:
 1) To include package-like .ily files, which define additional functionality. 
 There many utility functions really might/should be in their own namespace, 
 but many definitions (and in particular all \header, \paper or \layout 
 blocks) 
 need to be at toplevel.

I would be interested in conditionally including files with \paper and 
\header blocks, so can with a command line flag get output for 
choirbook booklets or plain a4 sheets. The common thing with this 
thread would be the ability to \include thoose blocks.

 2) ...
...
 I think it should be as easy and straightforward to use to a non-programmer 
 as 
 possible, while allowing more complex use without making easy things harder 
 than necessary for easy things. 

Ack.

Regards,
/Karl

---
Karl HammarAspö Data   k...@aspodata.se
Lilla Aspö 148 Networks
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: The \\ construct for simultaneous voices

2009-09-07 Thread Karl Hammar
...
  or when there are lyrics to assign.
 What do you mean here?
 Do you mean lyrics to assign to the *second voice* (since the first  
 voice assignment would be automagic)?

Try:

\version 2.13.0

\score {
  \new Staff {
\time 4/4
\relative g' { g4  g \\ d  g2 }
  }
  \addlyrics{ a b c }
}

No voice in the  \\  section gets any lyrics here.

Regards,
/Karl

---
Karl HammarAspö Data   k...@aspodata.se
Lilla Aspö 148 Networks
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: ly files as a MIMEtype?

2008-09-01 Thread Karl Hammar
Valentin wrote:
 sometimes I wonder what it would take to register .ly files as an
 official text/lilypond MIMEtype (for instance at IANA, on
 http://www.iana.org/cgi-bin/mediatypes.pl )

Very nice idéa!

But it seems you have to read a lot of rfc's for that.

An easier way might be to file a bug report in debian like
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=379838
and other distributions.

Or the lilypond installation might add it.

...
 (if you don't know which icon I'm referring to, have a look at
 http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=Documentation/pictures/ly.xpm
 )
 
 Therefore, I have taken the liberty to draw some icons (attached
 here), based on the note icon.
 - one follows the Apple human interface guidelines
 - one follows the MS Vista guidelines (yeah, no comment)
 - one follows the Tango guidelines (GNOME, XFCE and GTK)
 - one follows the Oxygen guidelines (the official theme for KDE4)

Wery nice examples, but I must say my first reaction is the it looks 
like a stand, a claw, or something, but not a note.

 I don't know what to do with these, maybe you guys will have an idea.
 It would be just great if GNOME or KDE included a default lilypond
 MIMEtype Icon for .ly files (the Windows/Apple ones could just be
 provided with the binary program).

Great work.
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Build requires t1asm

2008-07-18 Thread Karl Hammar
 It's a bit of a halfbaked solution. If you don't want to compile lily,
 why not use the pre-rolled binary.
 
 Also, it would be nice if some of these perverse hackers could just
 add an autoconf check for said program.

Hmm, something like [1] (s/inkscape/t1asm/) ?

[1] http://lists.gnu.org/archive/html/lilypond-devel/2007-10/msg2.html

 On Fri, Jul 18, 2008 at 8:37 AM, Werner LEMBERG [EMAIL PROTECTED] wrote:
 
  FWIW I also like the idea of having less dependencies, but not at
  the price of being unable to hack the source.  Even if that is the
  source to a font.
 
  Well, adding pre-compiled fonts to the tarball just remove a
  dependency.  As soon as you remove the fonts, they are rebuilt.
  Where's the problem?

Regards,
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: \once \macro

2008-03-26 Thread Karl Hammar
Graham:
 [EMAIL PROTECTED] (Karl Hammar) wrote:
   1)  Does anybody else remember if this worked in the past?  (ie am
   I going crazy?)
  {
c'4
\once \override Stem  #'direction = #DOWN
%\stemDown
c'4
c'
  }
 Yes, I know that works.  I'm asking a general question about the
 way we handle tweaks, for documentation purposes.  If I had an
 actual question about actually writing music, I'd sent it to the
 -user list.

I forgot to answer the question, I see. I tested 2.6.5 and 2.11.33 and 
it did not work with them.

Regards,
/Karl



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: \once \macro

2008-03-25 Thread Karl Hammar
 I could have sworn that
 
 {
   c'4
   \once \stemDown
   c'4
 }
 
 worked, but it clearly doesn't.
 1)  Does anybody else remember if this worked in the past?  (ie am
 I going crazy?)
...

Try

{
  c'4
  \once \override Stem  #'direction = #DOWN
  %\stemDown
  c'4
  c'
}

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: Incipits

2008-02-11 Thread Karl Hammar
Till:
 Juergen Reuter schrieb:
  as far as I understand, all problems with incipits boil down to the 
  following two major issues:
 
(1) horizontal spacing, and

I did not focus on that, it is an ancient notation issue, it is not
specific to incipits.

(2) the system start delimiter.
 
  Karl's solution unfortunately leaves horizontal space between the 
  incipit and the actual score; hence it does *not* solve issue (2).  
  Rather, the score lines should not stop inbetween.

If you don't like the space, then remove the \stopStaff \startStaff 
thing. But then, whats wrong with the \bar || variant as Till suggests
below. (cont. below)

 Well, I am not so sure about that. I agree, the space is a bit too big 
 here, but I personally like Nocolas' solution where the space mainly 
 covers the distance between the choirstaff brace and the beginning of 
 the staff. I know that much incipits are engraved with the double line 
 method that is now used in the templates, but it feels logical to me 
 that the real staff with the brace start only after the incipit. I 
 somehow recall this would be also hand engraved convention, but I 
 might be wrong. There is an example pdf on the list sent by Stefan 
 Slapeta that shows a broad range of incipits which show mainly the staff 
 lines going through all the way. So it might be my personal opinion only 
 that it would be nice to have the incipit seperated by a little white space.

Getting less space is simple, us less space between \stop-\startStaff.
See attached pdf.

$ diff -u  c.ly.old c.ly
--- c.ly.old2008-02-11 19:41:54.923054408 +0100
+++ c.ly2008-02-11 19:42:34.417301808 +0100
@@ -34,8 +34,8 @@
   \stopStaff
   \once \override Score.TimeSignature #'print-function = ##f
   \nor
-  \time 3/8
-  s4.
+  \time 1/16
+  s16
   \revert Score.SpanBar #'print-function
   \revert Score.BarLine #'print-function
   \startStaff
@@ -74,7 +74,7 @@
 \score {
   \new ChoirStaff \with {
 % a pain to set? Thats Right!!!
-\override SystemStartBracket #'extra-offset = #'( 38.8 . 0 )
+\override SystemStartBracket #'extra-offset = #'( 30.2 . 0 )
   } {
 
   \new Staff {

 
 Till
 
  IMHO, all other features have been quite well demonstrated in template 
  A.5.1 for a while now.  Hence, you probably should concentrate on 
  solving these two remaining issues.
 
  Regarding issue (2), maybe the right solution is to extend the 
  system start delimiter implementation in such a way, that
 
(a) automatic printing at the system start may be suppressed for a
specific range of the score with kind of
\turnSystemStartDelimiterOff and \turnSystemStartDelimiterOn
commands, and
 
(b) a kind of \bar #'system-start-delimiter command prints an
additional system start delimiter whereever you want.  (But if this
bar should happen to appear at the system start, the delimiter
should not be printed twice.)

That would be nice, but you can use the workaround with the 
extra-offset as shown above.

  Regarding issue (1), I am not sure what the right solution is.  
  Please note that the note durations in the incipit are typically much 
  larger than in the actually score.  Karl and Nicolas, did you check 
  what happens with the horizontal spacing in your incipit solutions, if 
  you double or quadruple the note durations in the incipit (and only 
  there)?  In your examples, in the incipts you are unfortunately using 
  the same durations as in the actual score.  I may be wrong, but I 
  suspect that your solutions do *not* solve issue (1).

No I did not try. Try this (\men \nor as in previous mail)

 cold = { \clef petrucci-c4 }
 cnew = { \clef treble_8 }

 \new Voice \relative c {
   \men\cold d\breve*1/8 e\longa*1/16 f\maxima*1/32 g\breve*1/8
   \nor\cnew | d4 e2 f4~ | f2. g4 |
 }

I tried with 

 B = #(ly:make-duration -1 0 1 8)
...
 d\B e\L f\M

but it didn't work.

Maybe someone have know how to write a function \foo:
 breve - breve*1/8
 ...

I tried with

% as a first test
#(define-public (nop music)
  (if (ly:duration? music)
   (let music (ly:make-duration -1 0 1 8

foo = #(define-music-function (parser location music)
(ly:music?)
(let ((new-music (ly:music-deep-copy music)))
 (music-map nop new-music)
 new-music))

but it didn't work. 

%%%

You can use the lsr snippet 305 to scale down the note values (and a 
modern lilypond version). There is the problem with/without ligatures
with solutions like A.5.1 and the one I provided. And it would 
probably be som problems with incipits in vaticana style.

%%%

What would be nice is to be able to glue to \scores together, without a 
newline. Then one could have independent engraving on the historical 
and the modern part, or to have multiple parts stacked together,
continuing on the same line.

%%%

Also it would be nice to have an
 #(set-accidental-style 'renaissance)
which would be like 'forget, except it remebers the 

Re: Incipits

2008-02-11 Thread Karl Hammar
Han-Wen:
 Sorry for looking at this so late.
 
 General comments:
 
 - you're adding an enormous bunch of code to the instrument name
 engraver. That's a bad idea. If this idea merits an engraver, it
 should be a separate one.
...
 - If I'm reading this correctly, this is all a grand hack to add a
 little staff to an instrument name.   I don't see the essential
 difference between this and
 
   \set instrumentName = \markup { \score { .. } the-real-name }
 
 except that this is longer, more error prone and less flexible. Again,
 what problem are you trying to solve?
 
 2008/2/9, Nicolas Sceaux [EMAIL PROTECTED]:
   Here is draft patch: the Instrument_name engraver is used to create an
   Incipit grob before the first line when an incipit has been specified.
   There are several problems in it:
...
  Both these problems are solved in the following patch.
  Do core developpers see a problem with it?

Inicipits can be done with the code below.

Regards,
/Karl

%---

\version 2.6.4

men = {
  \override Accidental  #'style = #'mensural
  \override NoteHead  #'style = #'petrucci
  \override Rest  #'style = #'neomensural
  \override Staff.TimeSignature  #'style = #'mensural
  \override Stem #'flag-style = #'mensural
  \override Stem #'thickness = #0.8
%  \set Score.timing = ##f
  \set Staff.defaultBarType = 
  #(set-accidental-style 'forget)
}
nor = {
  \override Accidental  #'style = #'default
  \override NoteHead  #'style = #'default
  \override Rest  #'style = #'default
  \override Staff.TimeSignature  #'style = #'default
  \override NoteHead #'font-size = #'0
  \override Stem #'flag-style = #'default
  \override Stem #'thickness = #1.9
  \override TimeSignature #'style = #'default
  #(set-accidental-style 'default)
%  \set Score.timing = ##t
}

staa = {
  \override Score.SpanBar #'print-function = ##f
  \override Score.BarLine #'print-function = ##f
  \men
}

jump = {
  \stopStaff
  \once \override Score.TimeSignature #'print-function = ##f
  \nor
  \time 3/8
  s4.
  \revert Score.SpanBar #'print-function
  \revert Score.BarLine #'print-function
  \startStaff
  \once \override Score.TimeSignature #'print-function = ##f
  \time 1/16
  s16
  \override Score.SpanBar #'print-function = ##f
  \once \override Staff.Clef #'full-size-change = ##t
  \set Staff.forceClef = ##t
  \clef bass
  \time 4/4
  \bar 
}

%
% Music and lyrics

clefic = { \clef petrucci-c1 }
vic = \relative c' { c1 c }
lic = \lyricmode { A B }

clefmc = { \clef soprano }
vmc = \relative c' { \vic d }
lmc = \lyricmode { \lic c d e f g }

clefib = { \clef petrucci-f }
vib = \relative c { a1 a }
lib = \lyricmode { A B }

clefmb = { \clef bass }
vmb = \relative c { \vib g }
lmb = \lyricmode { \lib c d e f g }

%

\score {
  \new ChoirStaff \with {
% a pain to set? Thats Right!!!
\override SystemStartBracket #'extra-offset = #'( 38.8 . 0 )
  } {

  \new Staff {
\set Staff.instrument = \markup { Cantus }
\context Voice = vc { \clefic \staa \vic  \jump  \clefmc \vmc }
  }
  \context Lyrics = lc \lyricsto vc { \lic \lmc }

  \new Staff {
\set Staff.instrument = \markup { Bassus }
\context Voice = vb { \clefib \staa \vib  \jump  \clefmb \vmb }
  }
  \context Lyrics = lb \lyricsto vb { \lib \lmb }

  }
  \layout {
\context {
  \Score
  \consists Span_bar_engraver
  \remove System_start_delimiter_engraver
}
  }
}



c.pdf
Description: c.pdf
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [patch] first-clef property

2008-02-02 Thread Karl Hammar
Nicolas Sceaux:
...
 \tag does not solve the first-clef detection problem, but the two  
 editions problem, about which the proposed patch is not about.
 I know about \tag,
...

I also find \tag messy and there is no else part either.

  Anyway, wouldn't it be nicer to have some kind of scheme macro that  
  expands to code that prints an incipit?  Your first clef could  
  then be just part of the incipit that the macro creates.  And maybe  
  the clef's name either could passed as argument to the scheme  
  macro.  Or, alternatively, you set an, say, original-clef property  
  that the macro recognizes and accordingly acts upon.
 
 As I understand it, incipits are hackingly achieved using the
 instrument name. I want instrument names to be defined separately
 from incipit (they are not the same thing, there is no serious
 reason to bind them, beside purely technical ones):
 
 \new Staff 
\global
\set Staff . instrumentName = \markup { The instrument name }
\clef xyz %% automagically set the incipit clef
{ ... the notes ... }
  
 
 How could you make the mix of the two?
 
 Now, seeing the incipt examples, I realize that my patch is a hack
 too, for it would be nice to have also the time and key signatures,
 not only the ancient clef.

For the time and key signatures you can have to varialbles like

mensural = {
  \override Accidental  #'style = #'mensural
  \override NoteHead  #'style = #'petrucci
  \override Rest  #'style = #'neomensural
  \override Staff.TimeSignature  #'style = #'mensural
  \override Stem #'flag-style = #'mensural
  \override Stem #'thickness = #0.8
  \set timing = ##f
  \set Staff.defaultBarType = 
  #(set-accidental-style 'forget)
}
normal = {
  \override Accidental  #'style = #'default
  \override NoteHead  #'style = #'default
  \override Rest  #'style = #'default
  \override TimeSignature  #'style = #'default
  \override NoteHead #'font-size = #'0
  \override Stem #'flag-style = #'default
  \override Stem #'thickness = #1.9 % 
default
  \override TimeSignature #'style = #'default
  #(set-accidental-style 'default)
}

and use them like

 \new Staff { \normal   \relative c' { ... } }
 \new Staff { \mensural \relative c' { ... } }

For the clefs I use

 %clefcs = { \clef petrucci-c2 }
 %clefct = { \clef petrucci-c4 }
 %clefcb = { \clef petrucci-f }
 clefcs = { \clef treble }
 clefct = { \clef treble_8 }
 clefcb = { \clef bass }

What I think would be useful is either a setting

 \override Clef = #'style = #'petrucci % e.g alto - petrucci-c3
 \override Clef = #'style = #'modern   % e.g petrucci-c3 - alto
 \override Clef = #'style = #'lazysinger % e.g petrucci-c3 - treble

 so I can include them in the variable above

or a function like 

 % always keep as close to source as possible
 aa = \relative c { \clef petrucci-f \time 2/2 c\breve d\longa ... }

 \makeThisMensural { \aa } % no change?
 \makeThisModern   { \aa } % petrucci-f - bass, c\breve - c1 ...
 \makeThisIncipit  { \aa } % mensural but only first breve or semiminima

 Maybe creating an incipit engraver, reading new context properties,
 like incipitKeySignature, incipitTimeSignature, etc, and creating a

In some instances it would be useful to be able to append \score's on 
the same line, somewhat like if you used { \startStaff s1 \stopStaff }.

Regards,
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [patch] first-clef property

2008-02-02 Thread Karl Hammar
Reinhold Kainhofer:
 Am Freitag, 1. Februar 2008 schrieb Nicolas Sceaux:
  When typesetting ancient music, one may want to produce two editions:
  eventually one with original clefs, as found in the manuscripts, and an
  other one with new fashioned clefs. It is also custom in the later case
...
 Actually, we're already two ;-) 
 I'm transcribing some old pieces by Schubert, who wrote the vocal voices 
 using 
 soprano/alto/tenor clef, while modern typesetting practice uses only the 
 treble clef for these voices. Now, I want to make two editions, one with the 
 original clefs, the other with modern clefs (but the original clefs as 
 incipits). So, you see, I'm having exactly the same problem.
...

There is two problems here,

1, should the clef look ancient or modern, e.g. 
  { \clef petrucci-f } or { \clef bass }

2, should we exchange a C clef for a G clef

For problem 1 one can look at what theese do
 \displayMusic { \clef petrucci-f c1 c }
 \displayMusic { \clef bass c1 c }

(make-music
  'SequentialMusic
  'elements
  (list (make-music
  'ContextSpeccedMusic
  'context-type
  'Staff
  'element
  (make-music
'SequentialMusic
'elements
(list (make-music
'PropertySet
'value
clefs.petrucci.f
'symbol
'clefGlyph)
(make-music
  'EventChord
...
  (ly:make-pitch -1 0 0
(make-music
  'EventChord
...
  (ly:make-pitch -1 0 0))


Where the difference is clefs.petrucci.f vs. clefs.F.
So an \ancientToModernClef should traverce the list and exchange
ancient clefs.xx to a modern variant.

===

Problem two is similar

  \displayMusic { \clef petrucci-c2 c1 c }
  \displayMusic { \clef petrucci-c3 c1 c }

gives this diff

  $ diff -u b.log b2 
  --- b.log   2008-02-02 20:46:38.888477652 +0100
  +++ b2  2008-02-02 20:47:08.884108561 +0100
  @@ -12,19 +12,19 @@
   (list (make-music
   'PropertySet
   'value
  -clefs.petrucci.c2
  +clefs.petrucci.c3
   'symbol
   'clefGlyph)
 (make-music
   'PropertySet
   'value
  --2
  +0
   'symbol
   'middleCPosition)
 (make-music
   'PropertySet
   'value
  --2
  +0
   'symbol
   'clefPosition)
 (make-music

and

  \displayMusic { \clef petrucci-c2 c1 c }
  \displayMusic { \clef petrucci-g c1 c }

this

  $ diff -u b.log b2 
  --- b.log   2008-02-02 20:48:23.373258918 +0100
  +++ b2  2008-02-02 20:48:44.370200812 +0100
  @@ -12,13 +12,13 @@
   (list (make-music
   'PropertySet
   'value
  -clefs.petrucci.c2
  +clefs.petrucci.g
   'symbol
   'clefGlyph)
 (make-music
   'PropertySet
   'value
  --2
  +-6
   'symbol
   'middleCPosition)
 (make-music

To make a generic \changeClef one has to find the part between a-b below (a
list), and exchange it for something else

  (make-music
'SequentialMusic
'elements
(list (make-music
'ContextSpeccedMusic
'context-type
'Staff
'element
(make-music
  'SequentialMusic
  'elements
a
  (list (make-music
  'PropertySet
  'value
  clefs.petrucci.g
  'symbol
  'clefGlyph)
(make-music
  'PropertySet
  'value
  -6
  'symbol
  'middleCPosition)
(make-music
  'PropertySet
  'value
  -2
  'symbol
  'clefPosition)
(make-music
  'PropertySet
  'value
  0
  'symbol
  'clefOctavation
b
  ...
(ly:make-pitch -1 0 0))

=

Or what do you think.
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Ancient notation: spacing, ligatures, bar lines: some ideas...

2008-01-03 Thread Karl Hammar
Till:
 Hi all, who are interested in Ancient notation.

I am.

 I started now some trial how to improve the spacing of the notes. The 
 goal is to have an even spacing where each note head regardless of their 
 length takes up just the same space. Visible signs in the score as 
 accidentals, clefs and lyrics should influence the spacing, though, as 
 well as alignment of more than one system (even though this is quite 
 rare in mensural music, it should be possible).

If the notes are note are not aligned to each other (syncroniced on the
time axis) then we must more manually specify where to put them, 
time-wise. I think it is good to skip such layouts for the moment.

 To acchieve this I 
 started removing the spaces that get added to a notehead according to 
 its duration. I came up with those properties:
  
 \override SpacingSpanner #'spacing-increment = #0
 \override SpacingSpanner #'common-shortest-duration = 
 #(ly:make-moment 1 1)
 \override SpacingSpanner #'base-shortest-duration = 
 #(ly:make-moment 4 1)
 \override SpacingSpanner #'shortest-duration-space = #1

I have used

  \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 
1)
  \override Score.SpacingSpanner #'common-shortest-duration = #(ly:make-moment 
1 4)

but it did not help much.

 The first means, that longer notes than the smallest won't get more 
 spacing around them (ie it gets increased by 0).
 The next three properties, though, I was not so sure about what they do. 
 As I understand I get quite close spacing when assigning the 
 common-shortest-duration to a long note. But it seems a whole is the 
 longes note it can handle,

Seems so.

  I don't see any changes in the layout when 
 assigning it for instance to 4/1. The next property didn't seem to have 
 much influence on spacing in this case -- can it just be ommitted, or 
 did I understand this wrong?  
 The last, I understand, sets the space the shortest note takes, to 1, 
 that is to one notehead-width plus some amount left and right. I would 
 understand that if my common-shortest-duration is a whole that this 
 whole gets assigned the 1. But, as you can see from the attached file: 
 The first semibreves (wholes) are much wider spaced than the smaller 
 note values further on. When switching on the bar lines they reveal 
 quite a lot of space they take up. This might be the reason why the 
 semibreves get spaced so widely.
 But there are also bigger and smaller gaps between notes of different 
 duration. They show better in the example whith normal note heads, but 
 are still present in the mensural examples as well. Yet they become more 
 obvious when using a barline instead of the empty barline. Is this 
 some space added to each bar? Something about centering notes in bars? I 

Yes, the empty bar line seems to take some space. In

 http://aspodata.se/noter/victoria/o_quam_gloriosum/motet/

it does so anyhow, but that might be because of the barnumbers.

 don't understand where this space comes from.
  
 Speaking of barlines: There are three ways avoiding bar lines, as I see it.
 1. Remove the engraver. This is not a good solution, because sometimes 
 there have to be inserted bar lines, for instance at the end of a piece.
 2. Switch on Cadenza. There are two problems with this approach: First 
 we don't have any breaks anymore. I thought of a funktion that enquires 
 the last bar number of the engraved piece and sets then in regular 
 spaces invisible bar lines, for instance repeating the pattern {\skip 
 1*4 \bar  } n/4 times, if the measures are a whole long. The other, 
 bigger problem, are ligatures: they get really ugly squeezed when 
 switching on Cadenza. What can we do there?
 3. The approach from now. In addition the space bar lines take should be 
 reduced. This again interferes with the cases when we actually need 
 barlines. They should then get (automatically) added additional space.

\cadensaOn is not a good solution, I use \set Score.defaultBarType = 

One way to do it would be to have loong measures without bars:

 % get rid of the bars
 \set Score.defaultBarType = 

 % set the mensuration sign manually
 \set Staff.timeSignatureFraction = #'(2 . 2)

 % use what ever long measures you want
 \time 2/1

 Another problem are ligatures (and to some extent also ligature 
 brackets). If I understand the underlying techniques right, ligatures 
 get produced from legal note durations. Their duration is known to the 
 spacing engine and they get accordingly space around them. But since 
 ligatures are drawn as one graph of closely realted heads, the 
 additional space that is counted to fit normallly between noteheads gets 
 accumulated at the end of the ligature.

I see no other way if you use it in a score, what would you otherwise 
do (i.e. if you want the notes to line up)?

In a single voice you could write it like

  music = \relative c' {
   d\breve*1/8 d\longa*1/16 b\breve*1/8 b\longa*1/16
  

Inkscape needed for make web

2007-10-01 Thread Karl Hammar

Suggests attached patch.

Regards,
/Karl

diff --git a/configure.in b/configure.in
index 15a41e9..8c98e9a 100644
--- a/configure.in
+++ b/configure.in
@@ -176,6 +176,9 @@ STEPMAKE_GUILE(OPTIONAL)
 # perl for help2man.
 STEPMAKE_PERL(OPTIONAL)
 
+# inkscape for make web, to generate svg-files
+STEPMAKE_INKSCAPE(OPTIONAL)
+
 # New makeinfo for multi-page website docs Simply always require new
 # makeinfo should avoid bug reports; if people want to build lily
 # without the docs, they can find this comment and use an older
diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4
index b69dc9c..5afdc76 100644
--- a/stepmake/aclocal.m4
+++ b/stepmake/aclocal.m4
@@ -1305,3 +1305,7 @@ AC_DEFUN(STEPMAKE_WINDOWS, [
 STEPMAKE_PROGS(WINDRES, $target-windres windres, x)
 AC_SUBST(WINDRES)
 ])
+
+AC_DEFUN(STEPMAKE_INKSCAPE, [
+STEPMAKE_PROGS(INKSCAPE, inkscape, $1)
+])___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


texi2dvi, @appendixsubsec and utf-8

2007-10-01 Thread Karl Hammar
When running

 $ make web  log 21

i get:

 ./fdl.pdftexi:371: Undefined control sequence.
 argument SUPPLÃ89
   MENT : comment utiliser cette licence pour vos documents

when it tries to run

 texi2pdf --batch  lilypond-program.pdftexi

in

 Documentation/fr/user/out-www

The lines in fdl.pdftexi is:

 @page
 @appendixsubsec SUPPLÃ89MENT : comment utiliser cette licence pour vos 
documents

Copying SUPPLÉMENT to two lines below makes the error message go away...

Soo, what is going on, cannot you have utf-8 chars in arguments to
@appendixsubsec, is my texi2pdf broken, or what?

 $ texi2pdf --version | head -1
 texi2dvi (GNU Texinfo 4.8) 1.34

Regards,
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Bash completion strings

2007-04-23 Thread Karl Hammar
[EMAIL PROTECTED]:
...
 In order to handle the .ly-extension correctly, on needs to install bash
 completion string in file /etc/bash_completion.d/lilypond :
 
 # LilyPond completion.
 complete -f -X '!*.@(ly|LY)' lilypond

Nice tip, but you have to have the shell option extglob to be able to 
use the @(...) construct:

$ complete -f -X '!*.@(ly|LY)' lilypond
$ lilypond  TABTAB 
 no reaction

$ shopt -s extglob
$ complete -f -X '!*.@(ly|LY)' lilypond
$ lilypond  TABTAB
Mliv.ly Sliv.ly ...
$ lilypond 

Why not just ignore uppercase LY and add lytex

complete -f -X '!*.ly' lilypond
complete -f -X '!*.lytex' lilypond-book

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: Saying hello and considering my first contribution

2007-04-13 Thread Karl Hammar
[EMAIL PROTECTED]:
 I am currently working with a cataloging project at the British  
 Library which is recording all musical manuscripts between the years  
 1600 and 1800, I have developed an application for them to data input  
 and manage the manuscripts.  The information supplied with each  
 manuscript sometimes comes with an incipit for the beginning of the  
 music.  Here is an example of an entire incipit pulled from the  
 record for Sonata 1 by Johann Sebastian Bach:
 
 ''4G{3G FbEDC'BA5 BG}{8GxF+}{3FEDEFGA''5C'B}/''8{C+3C5DC'3B''C} 
 {6.Ct'5B''C6D'A}'' 8G'3-{G5AB''CD}{8b E'B}/{6BA''bED}8-{BxF} 
 {6D3DbEDC'B''5C'A}{3BxFGDbE''5DC'B''CC'B''C}/
 
 I would like to convert this to Lily textual notation so that Lily  
 can then reproduce it in musical notation so regular users of the web  
 catalogue can just click a link and run this up into Lilypond.  My  
...

If you provide the syntax rules for the record I might be able to help
you. Will the archive be publically searchable or is just for thoose
who have a subcription?

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
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: GIT pull error

2007-01-23 Thread Karl Hammar

[EMAIL PROTECTED]:
 Sorry. Now I actually checked: the url is
 
   http://git.sv.gnu.org/r/lilypond.git
 
 (Note that not only http://; is new, but also /r/).

Ok, so I update this file:

 $ grep URL .git/remotes/origin 
 URL: http://git.sv.gnu.org/r/lilypond.git
 $

in my local copy,

 $ git-pull 
 Fetching refs/heads/master from http://git.sv.gnu.org/r/lilypond.git using http
 got 6ba19b9f48c1ce10adb30a69557ce38b8a073785
 walk 6ba19b9f48c1ce10adb30a69557ce38b8a073785
...

and things works again.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


git problem

2007-01-21 Thread Karl Hammar

 Does anybody have a solution for this problem?

$ git-pull
fatal: protocol error: bad line length character
Fetch failure: git://git.sv.gnu.org/lilypond.git
fatal: protocol error: bad line length character
Failed to find remote refs
No changes.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Melisma_translator obsolete?

2007-01-16 Thread Karl Hammar
From Documentation/misc/ChangeLog-2.10:

  2006-08-02  Erik Sandberg  [EMAIL PROTECTED]
...
* ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
ManualMelismaEvent, and obsoletes Melisma_translator.

So what should be done with:

  $ lily_git -I input/manual input/test/engraver-one-by-one.ly 
  GNU LilyPond 2.11.12
  Processing `input/test/engraver-one-by-one.ly'
  Parsing...
  error: unknown translator: `Melisma_translator'
  $

and

  $ grep Melisma_translator python/convertrules.py 
  str = re.sub (r'Melisma_engraver', 'Melisma_translator', str)
  $

???

Regards
/Karl

export LILY_SRC_DIR=$HOME/most/music/lilypond/git/lilypond

lily_git() {
$LILY_SRC_DIR/out/bin/lilypond --relocate $@
}




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Styles [Was Re: Barline scans]

2007-01-09 Thread Karl Hammar
[EMAIL PROTECTED]:
 Karl Hammar wrote:
  [moving this from bug-lilypond]
  
  [EMAIL PROTECTED]:
  Karl Hammar wrote:
  Maybe we should have a my style section in the doc.
  Like section 4.3 Style sheets ?
  
  There you tell us how to do it. But perhaps more like the snippet
  respository, examples of different styles. Right now we only have
  one style, the default one. Plus tweaks, where the tweaks are more
  something you do when lilypond don't cope with it, not a different 
  style.
 
 I have no objection to this; see
 http://lilypond.org/web/devel/participating/documentation-adding

I guess it would go to 9.4 Style examples.

Before I can present any new style I have to make one though.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: makeinfo with utf-8 support

2007-01-08 Thread Karl Hammar
 [EMAIL PROTECTED]:
  Le jeudi 04 janvier 2007 à 00:33 +0100, Karl Hammar a écrit :
   Hmm, when building I get:
   
out/lilypond.nexi:62: warning: unrecognized encoding name `utf-8'.
 ...
   Does anybody know where the makeinfo with utf-8 support is, a patch ?
  
  AFAIK Texinfo does no character encoding conversion for the Info and
  HTML output, so the LilyPond devels have decided to use the modern
  character set UTF-8, not Latin1. This will really become a problem for
  the PDF (outputted by Texinfo/TeX) when we decide to make PDF of Lily
  docs translation.
  
  Well, you can safely ignore these warnings.
  
  See also 
  http://lists.gnu.org/archive/html/lilypond-devel/2007-01/msg00047.html
 
 Tried cvs version [1] of texinfo/makeinfo
 
   $ makeinfo --version
   makeinfo (GNU texinfo) 4.8.90
 
 But the warning persist. Well, never mind.
 
 Regards
 /Karl
 
 [1] http://savannah.gnu.org/cvs/?group=texinfo

This is fixed in latest texinfo cvs:

Karl Berry:
 I just added UTF-8 to the list of encoding names recognized by makeinfo
 (from CVS).  It just passes through the bytes as they are received,
 which hopefully will be better than nothing.  I can't undertake to
 actually parse UTF-8 at this point (I added it to the TODO file :).

 Thanks,
 Karl

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Styles [Was Re: Barline scans]

2007-01-08 Thread Karl Hammar
[moving this from bug-lilypond]

[EMAIL PROTECTED]:
 Karl Hammar wrote:
  Maybe we should have a my style section in the doc.
 
 Like section 4.3 Style sheets ?

There you tell us how to do it. But perhaps more like the snippet
respository, examples of different styles. Right now we only have
one style, the default one. Plus tweaks, where the tweaks are more
something you do when lilypond don't cope with it, not a different 
style.

Regards,
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: LilyPond suggestions

2007-01-05 Thread Karl Hammar
[EMAIL PROTECTED]:
 Jesse Engle wrote:
 
  4.) There is no way to create an entire page of exercises (a feature 
  that would be incredibly useful for music teachers such as myself) 
  like this:
 
  http://jengle.waferbaby.com/tmp/lp/exercises.png
 Actually, you could do this too within LilyPond, since you can use
 \markup commands to create several columns and you can embed scores
 into a \markup command. Here's a simple example:
...

Whu not use \startStaff and \stopStaff, like:

\score {
  
\new Staff {
  \relative c' {
\clef alto c1 c \stopStaff s1
\startStaff b1 b \stopStaff s1
\startStaff a1 a \stopStaff
  }
}
\new Staff {
  \relative c' {
 \clef alto c1 c \stopStaff s1
 \startStaff b1 b \stopStaff s1
 \startStaff a1 a \stopStaff
  }
}
\new Staff {
  \relative c' {
 \clef alto c1 c \stopStaff s1
 \startStaff b1 b \stopStaff s1
 \startStaff a1 a \stopStaff
  }
}
 
}

See staff-halfway.ly [1] in the regression tests.

[1] http://lilypond.org/doc/v2.11/input/regression/lily-1a72868935.ly

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: makeinfo with utf-8 support

2007-01-04 Thread Karl Hammar
[EMAIL PROTECTED]:
 Le jeudi 04 janvier 2007 à 00:33 +0100, Karl Hammar a écrit :
  Hmm, when building I get:
  
   out/lilypond.nexi:62: warning: unrecognized encoding name `utf-8'.
...
  Does anybody know where the makeinfo with utf-8 support is, a patch ?
 
 AFAIK Texinfo does no character encoding conversion for the Info and
 HTML output, so the LilyPond devels have decided to use the modern
 character set UTF-8, not Latin1. This will really become a problem for
 the PDF (outputted by Texinfo/TeX) when we decide to make PDF of Lily
 docs translation.
 
 Well, you can safely ignore these warnings.
 
 See also 
 http://lists.gnu.org/archive/html/lilypond-devel/2007-01/msg00047.html

Tried cvs version [1] of texinfo/makeinfo

  $ makeinfo --version
  makeinfo (GNU texinfo) 4.8.90

But the warning persist. Well, never mind.

Regards
/Karl

[1] http://savannah.gnu.org/cvs/?group=texinfo




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: makeinfo with utf-8 support

2007-01-04 Thread Karl Hammar
[EMAIL PROTECTED]:
  Tried cvs version [1] of texinfo/makeinfo
  
$ makeinfo --version
makeinfo (GNU texinfo) 4.8.90
  
  But the warning persist. Well, never mind.
 
 Please report this to bug-texinfo, together with a small example (if
 possible).

Done.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: GUILE-with-rational-bugfix

2007-01-03 Thread Karl Hammar

[EMAIL PROTECTED]:
 Rune Zedeler escreveu:
  Where can the famous patch be found?
  (Unable to compile latest guile-cvs).
 
 see install.txt

There is no install.txt, and the INSTALL.txt I found does not mention it:

  $ git-pull
  remote: Generating pack...
...
   rename input/{no-notation/parse5.ly = 
regression/warn-conflicting-key-signatures.ly} (100%)
  $ find . -name install.txt
  $ find . | grep -i install.txt
  ./Documentation/topdocs/out/INSTALL.txt
  $ grep -C2 -i guile Documentation/topdocs/out/INSTALL.txt 
   work.

 * GUILE (http://www.gnu.org/software/guile/guile.html) (version
   1.6.7 or newer).  If you are installing binary packages, you may
   need to install guile-devel or guile-dev or libguile-dev too.

 * Texinfo (ftp://ftp.gnu.org/gnu/texinfo/) (version 4.8 or newer).
  --
 * Pango (http://www.pango.org/) (version 1.12 or newer).

 * GUILE (http://www.gnu.org/software/guile/guile.html) (version
   1.8.0 or newer).

  --


  export GUILE=guile-1.6
  export GUILE_CONFIG=guile-1.6-config
  export 
PKG_CONFIG_PATH=/sw/lib/freetype219/lib/pkgconfig/:/sw/lib/fontconfig2/lib/pkgconfig/
  ./configure
  $

Regards
/Karl


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: GUILE-with-rational-bugfix

2007-01-03 Thread Karl Hammar
 Rune Zedeler [EMAIL PROTECTED] writes:
  Where can the famous patch be found?
...
 http://lilypond.org/vc/gub.darcs/patches/guile-1.8-rational.patch
...

Got the patch and build debian guile debs for i386.
If anybody would need them, they are available at:

  http://kalle.csb.ki.se/pub/lilypond/

You need debian unstable to use them.
To build them do:

  # apt-get install -t unstable debhelper
...
  # apt-get build-dep guile-1.8
...

  $ wget http://lilypond.org/vc/gub.darcs/patches/guile-1.8-rational.patch
  $ apt-get source guile-1.8
  Reading package lists... Done
  Building dependency tree... Done
  Need to get 0B/2829kB of source archives.
  dpkg-source: extracting guile-1.8 in guile-1.8-1.8.1+1
  $ cd guile-1.8-1.8.1+1/libguile
  $ patch -p1   ../../guile-1.8-rational.patch
  patching file libguile/numbers.c
  patching file libguile/numbers.h
  $ cd ..
  $ fakeroot ./debian/rules 
  #   this goes first so we clean using patched code
  rm -f debian/stamp/build
...
  dh_builddeb
  dpkg-deb: building package `guile-1.8' in `../guile-1.8_1.8.1+1-4_i386.deb'.
  dpkg-deb: building package `guile-1.8-dev' in 
`../guile-1.8-dev_1.8.1+1-4_i386.deb'.
  dpkg-deb: building package `guile-1.8-libs' in 
`../guile-1.8-libs_1.8.1+1-4_i386.deb'.
  make[1]: Leaving directory `/home/karl/most/music/lilypond/guile-1.8-1.8.1+1'
  $

./autogen.sh works for me now.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: GUILE-with-rational-bugfix

2007-01-03 Thread Karl Hammar
 Karl Hammar wrote:
 
 [EMAIL PROTECTED]:
   
 
 Rune Zedeler escreveu:
 
 
 Where can the famous patch be found?
 (Unable to compile latest guile-cvs).
   
 
 see install.txt
 
 
 
 There is no install.txt, and the INSTALL.txt I found does not mention it:
   
 
 
 At www.lilypond.org, click on the documentation link
 for version 2.11 and then on INSTALL.
 
/Mats

Ohh, I see, a catch-22 situation. I could have seen it if I peeked
inside Documentation/topdocs/INSTALL.texi, but was mislead by the
configure.in text.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


makeinfo with utf-8 support

2007-01-03 Thread Karl Hammar

Hmm, when building I get:

 out/lilypond.nexi:62: warning: unrecognized encoding name `utf-8'.
 out/lilypond-internals.nexi:10: warning: unrecognized encoding name `utf-8'.
 out/music-glossary.nexi:6: warning: unrecognized encoding name `utf-8'.
 out/INSTALL.texi:6: warning: unrecognized encoding name `utf-8'.
 out/README.texi:6: warning: unrecognized encoding name `utf-8'.

I've got:

 $ makeinfo --version
 makeinfo (GNU texinfo) 4.8

The latest texinfo at http://ftp.gnu.org/gnu/texinfo/ seems to be too old. 
Does anybody know where the makeinfo with utf-8 support is, a patch ?

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: `Vera Bold' replaced by `AlbanyAMT-Bold'

2006-11-06 Thread Karl Hammar

Werner:
   Hmm.  What do you get with fc-match?  Just for comparison purposes.
  [EMAIL PROTECTED] lilypond]$ fc-match  Vera
  DejaVuLGCSans.ttf: DejaVu LGC Sans Book
 Ah, ok, so you also don't get `Vera'.  This is good to know.
...

Don't be too happy:

 $ fc-match Vera
 Bitstream-Vera-Sans.ttf: Bitstream Vera Sans Roman
 $ fc-match Albany
 Bitstream-Vera-Sans.ttf: Bitstream Vera Sans Roman
 $ fc-match DejaVu  
 Bitstream-Vera-Sans.ttf: Bitstream Vera Sans Roman
 $ fc-match courie
 Bitstream-Vera-Sans.ttf: Bitstream Vera Sans Roman
 $ fc-match courier
 cour.pfa: Courier Regular
 $ fc-match --version
 fontconfig version 2.4.1

Seems that vera is something of a default over here.

Regards,
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Some fixes to musicxml2ly

2006-09-16 Thread Karl Hammar

[EMAIL PROTECTED]:
 On Fri, 2006-09-15 at 19:33 +0200, Han-Wen Nienhuys wrote:
  
   else:
   -   return 0
   +   tolerance_exp = -4  # means that notes that are 1/32 or less 
   shorter
   than 1/4 are quarter notes etc.
   +   return int (math.ceil (-math.log(self._duration) / 
   math.log(2)  -
   2**tolerance_exp))
  
  Since music notation uses exact rational numbers, using math.log () is 
  usually forbidden, and it's better to use exact arithmetic.  Can you 
  doublecheck whether or not exact arithmetic applies to your case, please 
  add an explanation comment why you're using floating point numbers?
 
 In this case inexactness doesn't matter. The term 2**tolerance_exp makes
 sure that notes that are slightly shorter than the next whole duration
 are rounded to the whole duration instead of somethin like c8.. In
 some cases floating point arithmetic can cause some randomness regarding
 whether the note becomes c8... or c4 (if the duration is exactly 1/32
 from the next whole duration), but I don't think that matters -- such
 note length are weird enough to start with.
 
 When determining the number of dots the use of floating point arithmetic
 doesn't obviously harm, because the result is rounded anyway.
 
 I can't think of any simple way to achieve the same result without using
 math.log().
 
 The attached diff for musicxml.py now has an explanatory comment.
 

I don't understand this:

  tolerance_exp = -4
  a = - math.log(self._duration) / math.log(2)
  b = 2**tolerance_exp
  c = a - b

1:
 if tolerance_exp is a constant, why don't you simply say b = 1/16
 (another constant), which is clearly a duration(?) value.

2:
 why are you taking the difference between the log of a duration and a
 duration?

 In physics there is something which is called a dimension test: you
 simply cannot do 1 meter - 1 second. In math, you don't easily agree to
 do log(entity) - entity. And in this case I read your code as
 -2log( seconds ) - seconds which is clearly wrong.

 Now b seems to be an implementation detail caused by using floating
 point values, the same with math.ceil, is it so?

 If you simply want to map a duration to its -2log, why don't you use
 something like arr = [ 1, 2, 4, ...]; f(x) = arr[x]; which is a clear
 statement about what you are doing (although incomplete, I sense that
 self._duration is a rational number).

3:
 I don't understand what you are trying to do and your comment does not
 match the code

4:
 using floating point values for exact things usually open up enough
 nasty bugs and is very hard to verify due to rounding errors. Unless
 you have VERY good reason, just don't do it, it is not worth the
 trouble.

===

Later in your patch:

+factor = self._duration / 2**(-self.get_duration_log())
+return int (round (-math.log(2 - factor) / math.log(2)))

If:

 a = 1/2**(-self.get_duration_log())

then:

 a = 2**self.get_duration_log()

assuming that get_duration_log() returns a 2log and
that get_duration() exists, then

 a = self.get_duration()

get_duration() look suspiciously like _duration(), so my guess is that

 factor = self._duration ** 2

by quickly reading the code as a math guy.

Now, if duration usually is less than 1 (we don't see many breves and
longas today), then

 -math.log(2 - factor) / math.log(2)

more or less reduces to a near constant -1.

Is that your intention, or am I reading your code false?
I assume that duration is the lenght of a note, like whole note is 1,
a quater note is 1/4, ...

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: configure find wrong python path

2006-06-26 Thread Karl Hammar

[EMAIL PROTECTED]:
...
 Unfortunately, configure completely bails out then using something like
 
 $ PYTHON=/usr/local/bin/python2.4 ./configure ...
 
 The problem is in STEPMAKE_GETVERSION, since it takes the first
 line that looks like it contains a version number of the output
 from [Path stripped to take the line shorter]:
 
 $ python2.4 --version 21 || python2.4 -V 21
 
 which is
 
 Unknown option: --
 usage: python2.4 [option] ... [-c cmd | -m mod | file | -] [arg] ...
 Try `python -h' for more information.
 Python 2.4.3
 
 The net result is that, for whatever reason, configure first detects
 2.4.3, but later 2.3.5.
 
 I think the attached patch fixes this. (Works at least when configuring
 on OpenBSD).

Seen same problem, your patch fixes this for me also.

 Note that the patch contains another quick hack to let the version
 check work on OpenBSD and other systems where the shell has 32 bit
 integer arithmetic (without it, you'll get too large version numbers
 for fontforge, letting configure think that 20060413 is smaller
 than the requested version).
 
 Ciao,
   Kili
 
 ps: do we really still have to use backticks instead of $(...)?
 Anyone running LilyPond on old systems with rotten shells?

configure is about portability, why not keep the backticks?
The same goes for shells with 32bit int arith.

 pps: I *only* tested the configure step yet. No idea wether it will
 actually build and run.
...

It builds and runs ok (using debian v3.1).

Regards,
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: configure: readlink problem

2006-06-05 Thread Karl Hammar
 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: configure: readlink problem

2006-06-05 Thread Karl Hammar
[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 EOF | $PYTHON - $NCSB_FILE
+import os.path, sys
+print os.path.realpath(sys.argv[1])
+EOF`
+  changequote([, ])#dnl
   NCSB_SOURCE_FILES=$NCSB_FILE $NCSB_SOURCE_FILES
 done
   else
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 20:53:18 -
@@ -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,11 @@
   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
+  NCSB_FILE=`cat EOF | $PYTHON - $NCSB_FILE
+import os.path, sys
+print os.path.realpath(sys.argv.pop(1))
+EOF`
   NCSB_SOURCE_FILES=$NCSB_FILE $NCSB_SOURCE_FILES
 done
   else
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: configure: readlink problem

2006-06-04 Thread Karl Hammar
 Hi,
 
 I'm trying to build lilypond on freebsd 6.1, mostly on a whim.  
 ./configure complains that
 ...
 readlink: illegal option -- f
 usage: readlink [-n] [file ...]
 ...
 
 This is called in only one place,
 
if test $FCMATCH != ; then
  for style in Roman Italic Bold Italic Bold; do
NCSB_FILE=`$iiFCMATCH --verbose Century Schoolbook L:style=$style 
 | grep 'file:'`
 
NCSB_FILE=`echo $NCSB_FILE | sed 's/^.*\(.*\).*$/\1/g'`
NCSB_FILE=`readlink -f $NCSB_FILE`
NCSB_SOURCE_FILES=$NCSB_FILE $NCSB_SOURCE_FILES
  done
 
 I'm not certain what it does, so I can't suggest an alternative.  If 
 it's a big deal to fix, don't bother -- especially since GUB is 
 available for freebsd.  I've actually already downloaded GUB; I'm 
 running ./configure so that I get the makefiles so I can make web.
 
 Cheers,
 - Graham

 The -f option tells readlink to rekursively resolv all links and find 
the file which the link finally points to. Without the -f readlink just 
just gives you what this link points to. On my system the file pointed 
to by fc-match is a link to the real file, so for me it would suffice to 
use readlink without the -f. Also we don't need the readlink at all for
finding the pfb file, the problem comes later, somewhere else when we 
want the afm file. Currently lilypond assumes it is in the same
directory as the pfb file.

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.

Regards,
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


out/bin/*.ly ?

2006-05-24 Thread Karl Hammar

What is the meaning of *.ly which point to nothing below ?

$ ls -l out/bin/
total 0
lrwxrwxrwx  1 karl users 22 May 22 17:57 *.ly - ../../scripts/out/*.ly
lrwxrwxrwx  1 karl users 28 May 22 17:57 convert-ly - 
../../scripts/out/convert-ly
lrwxrwxrwx  1 karl users 23 May 22 17:57 lilypond - ../../lily/out/lilypond
lrwxrwxrwx  1 karl users 31 May 22 17:57 lilypond-book - 
../../scripts/out/lilypond-book
$

Maybe it should read ln -s .../*2ly . instead of *.ly ?

If so, use attached patch.
Also note that target $(tree-share-prefix)/lilypond-force in toplevel 
GNUmakefile is run before the generation of the files in scripts/out/
so any wildcard are useless in the line above, and will generate the 
file *.ly instead of expanding to future files.

* GNUmakefile.in: wildcard in ln -s .../*.ly . don't work when
newly checkout'ed

Regards,
/Karl

Index: GNUmakefile.in
===
RCS file: /sources/lilypond/lilypond/GNUmakefile.in,v
retrieving revision 1.188
diff -u -r1.188 GNUmakefile.in
--- GNUmakefile.in  25 Feb 2006 00:20:51 -  1.188
+++ GNUmakefile.in  24 May 2006 12:09:13 -
@@ -132,9 +132,8 @@
mkdir -p $(tree-share-prefix)/tex
cd $(tree-bin)  \
ln -sf ../../lily/$(outconfbase)/lilypond .  \
-   ln -sf ../../scripts/$(outconfbase)/convert-ly .  \
-   ln -sf ../../scripts/$(outconfbase)/lilypond-book .  \
-   ln -sf ../../scripts/$(outconfbase)/*.ly .
+   for i in abc2ly convert-ly etf2ly lilypond-book 
lilypond-invoke-editor midi2ly musicxml2ly; \
+   do ln -sf ../../scripts/$(outconfbase)/$$i . ; done
cd $(tree-lib-prefix)  \
ln -s ../../../../python/$(outconfbase) python
cd $(tree-share-prefix)  \
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


configure find wrong python path

2006-05-24 Thread Karl Hammar

Given:
  $ ls -l /usr/bin/python*
  lrwxrwxrwx  1 root root   9 May 24 15:51 /usr/bin/python - python2.3
  -rwxr-xr-x  1 root root  958764 Mar  6 11:32 /usr/bin/python2.3
  -rwxr-xr-x  1 root root 1024460 Apr 23 01:34 /usr/bin/python2.4

configure will report wrong path of python:

  $ ./configure
  ...
  checking for bash... /bin/sh
  checking for python... python
  checking python version... 2.3.5
  checking for python... /usr/bin/python
  checking for gcc... gcc
  ...
  checking New Century Schoolbook PFB files... /usr/share/fonts/type...
  checking for python... /usr/bin/python
  checking /usr/bin/python version... 2.3.5
  python
  checking python version... 2.3.5
  python2
  python2.4
  checking python2.4 version... 2.4
  checking for python2.4... (cached) /usr/bin/python
  checking gcc version... 4.0.3
  ...
  $ make
  ...
  import subprocess
  ImportError: No module named subprocess
  make[2]: *** [out/lilypond.nexi] Error 1
  make[2]: Leaving directory 
`/home/karl/most/music/lilypond/head/Documentation/user'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/karl/most/music/lilypond/head/Documentation'
  make: *** [all] Error 2
  $


STEPMAKE_PYTHON is run twice during configure:
 STEPMAKE_PYTHON(REQUIRED, 1.5)
  configure.in line 15: STEPMAKE_INIT() -
  stepmake/aclocal.m4 line 755
and
 STEPMAKE_PYTHON(REQUIRED, 2.4)
  configure.in line 87.

STEPMAKE_PYTHON() calls
 AC_PATH_PROG() which calls
  AC_CACHE_VAL([ac_cv_path_$1], ... )

The second time AC_PATH_PROG() takes path from cache as seen in
configure trace above.

Since STEPMAKE_PYTHON() have a second argument (req. version)
and the cache don't know of versions, one should clear the cache when
seraching for a new python path.

Attached patch corrects the error above.

* stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value
since arg 2 might point us to a new binary

Regards
/Karl


Index: stepmake/aclocal.m4
===
RCS file: /sources/lilypond/lilypond/stepmake/aclocal.m4,v
retrieving revision 1.168
diff -u -r1.168 aclocal.m4
--- stepmake/aclocal.m4 3 May 2006 20:30:59 -   1.168
+++ stepmake/aclocal.m4 24 May 2006 21:18:50 -
@@ -994,6 +994,8 @@
 if test -n $pv; then
STEPMAKE_ADD_ENTRY($1, $pv)
 fi
+# clear cached value since arg 2 might point us to a new binary
+unset ac_cv_path_PYTHON
 AC_PATH_PROG(PYTHON, $PYTHON)
 AC_SUBST(PYTHON)
 ])
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


lilypond 2.8 make fails

2006-05-22 Thread Karl Hammar
Patch in attachment.
Building lilypond 2.8 (from todays cvs), make fails:

  $ ./configure 
  checking build system type... i686-pc-linux-gnu
  checking Package... LILYPOND
  ...
  checking for mftrace... mftrace
  checking mftrace version... 1.2.4
  ...
  $ make
  cd /home/karl/most/music/lilypond/2.8/out  rm -rf bin lib share
  mkdir -p ./out/bin
  ...
  make[1]: Entering directory `/home/karl/most/music/lilypond/2.8/mf'

  ERROR: mftrace not found

  For obtaining PFA/SVG fonts, either install mftrace 
  (see http://www.xs4all.nl/~hanwen/mftrace/ ),
  or try one of the following commands in this directory: 

   make get-fonts 
   make get-rpm-fonts 
   make get-deb-fonts 

  These commands will try to download the files from internet.
  make[1]: Leaving directory `/home/karl/most/music/lilypond/2.8/mf'
  $

Error is in mf/GNUmakefile:

  $ grep -B1 -A3 '(MFTRACE)' mf/GNUmakefile 
  pfa_warning:
  ifneq ($(shell $(MFTRACE) --version | sed 's/ .*//'),mftrace)
  @echo 
  @echo ERROR: mftrace not found
  @echo 
  $

Running the shell line:

  $ mftrace --version | sed 's/ .*//'
  mftrace

  This
  License
  under
  information.

  Copyright



  $

It becomes mftrace This License under information. Copyright  in make,
which is not eq to mftrace.

It worked fine with older mftrace since they produced one line versions:

  $ /usr/bin/mftrace --version
  mftrace 1.1.17
  $

Regards
/Karl

Index: mf/GNUmakefile
===
RCS file: /sources/lilypond/lilypond/mf/GNUmakefile,v
retrieving revision 1.193.2.1
diff -u -r1.193.2.1 GNUmakefile
--- mf/GNUmakefile  29 Mar 2006 16:19:38 -  1.193.2.1
+++ mf/GNUmakefile  22 May 2006 14:22:08 -
@@ -138,7 +138,7 @@
${MAKE} -C $(top-build-dir) link-mf-tree
 
 pfa_warning:
-ifneq ($(shell $(MFTRACE) --version | sed 's/ .*//'),mftrace)
+ifneq ($(shell $(MFTRACE) --version | sed 's/ .*//;1q'),mftrace)
@echo 
@echo ERROR: mftrace not found
@echo 
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: lilypond 2.8 make fails

2006-05-22 Thread Karl Hammar

 Karl Hammar schreef:
  Patch in attachment.
  Building lilypond 2.8 (from todays cvs), make fails:
 
  
  Index: mf/GNUmakefile
  ===
  RCS file: /sources/lilypond/lilypond/mf/GNUmakefile,v
  retrieving revision 1.193.2.1
  diff -u -r1.193.2.1 GNUmakefile
  --- mf/GNUmakefile  29 Mar 2006 16:19:38 -  1.193.2.1
  +++ mf/GNUmakefile  22 May 2006 14:22:08 -
  @@ -138,7 +138,7 @@
  ${MAKE} -C $(top-build-dir) link-mf-tree
   
   pfa_warning:
  -ifneq ($(shell $(MFTRACE) --version | sed 's/ .*//'),mftrace)
  +ifneq ($(shell $(MFTRACE) --version | sed 's/ .*//;1q'),mftrace)
 
 I don't have this in todays CVS of lilypond 2.8.
...

 Oops, wrong tag, sorry for the noise.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


lilypond 2.8, make fails, NCSB_SOURCE_FILES

2006-05-22 Thread Karl Hammar

$ ./configure; make
...
make[1]: Entering directory `/home/karl/most/music/lilypond/2.8/mf'
make[1]: *** No rule to make target [EMAIL PROTECTED]@', needed by 
`out/CenturySchL-Ital.otf'.  Stop.
make[1]: Leaving directory `/home/karl/most/music/lilypond/2.8/mf'
make: *** [all] Error 2
$

Does not resolve symlinks when looking for gs fonts.

Patch 'cvs diff -u -r lilypond_2_8 configure.in' attached.

Regards
/Karl

Index: configure.in
===
RCS file: /sources/lilypond/lilypond/configure.in,v
retrieving revision 1.184.2.2
diff -u -r1.184.2.2 configure.in
--- configure.in9 May 2006 08:21:57 -   1.184.2.2
+++ configure.in22 May 2006 16:15:11 -
@@ -75,6 +75,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_SOURCE_FILES=$NCSB_FILE $NCSB_SOURCE_FILES
 done
   else
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: configure does not check for python version =2.4

2006-05-12 Thread Karl Hammar
 Hi,
 
 On Fri, 12 May 2006, Karl Hammar wrote:
 
 make: *** [all] Error 2
   
   Which fails due to missing module subprocess.
   It was introduced recently:
 
 And it was discussed recently:
 
 http://article.gmane.org/gmane.comp.gnu.lilypond.devel/8996

Yes, but without any resolution or action.

  Hm, configure.in seems better suited for that change than
  stepmake/aclocal.m4.
 
 And distributing subprocess.py even better!

Why not.

 Ciao,
 Dscho

Now you have two choises, choose one.

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


configure does not check for python version =2.4

2006-05-11 Thread Karl Hammar

Running whith e.g python 2.3.5 gives me:

  $ make
  ...
  make[1]: Entering directory `/home/karl/most/music/lilypond/head/scripts'
  cat convert-ly.py | sed -e '#'  -e '[EMAIL PROTECTED]@!/bin/sh!g'  -e '[EMAIL 
PROTECTED]
  chmod 755 out/convert-ly
  /usr/bin/perl /home/karl/most/music/lilypond/head/buildscripts/out/help2man 
out/convert-ly  out/convert-ly.1
  help2man: can't get `--help' info from out/convert-ly
  make[1]: *** [out/convert-ly.1] Error 1
  make[1]: Leaving directory `/home/karl/most/music/lilypond/head/scripts'
  make: *** [all] Error 2

Which fails due to missing module subprocess.
It was introduced recently:

  $ grep -B7 -A1 subprocess ChangeLog 

  2006-03-12  Han-Wen Nienhuys  [EMAIL PROTECTED]

  * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
  tmphandle.

  * python/lilylib.py (system): rewrite system() using
  subprocess. Remove  redirection trickery.

Which makes python ver. 2.4 a requirement:
 http://www.python.org/doc/2.4.2/lib/module-subprocess.html

Attached patch seems to solve that, though it gives strange error message:

  $./configure
  ...
  config.status: creating config.hh

  ERROR: Please install required programs:  python2.3 = 2.4 (installed: 2.3) 
Python.h (python-devel, python-dev or libpython-dev package)

  See INSTALL.txt for more information on how to build LilyPond

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

Index: ChangeLog
===
RCS file: /sources/lilypond/lilypond/ChangeLog,v
retrieving revision 1.4948
diff -u -r1.4948 ChangeLog
--- ChangeLog   11 May 2006 13:00:10 -  1.4948
+++ ChangeLog   11 May 2006 22:58:37 -
@@ -1,3 +1,7 @@
+2006-05-12  Karl Hammar  [EMAIL PROTECTED]
+
+   * stepmake/aclocal.m4: bump python requirement to version 2.4
+
 2006-05-11  Graham Percival  [EMAIL PROTECTED]
 
* Documentation/user/programming-interface.itely: first round of
Index: stepmake/aclocal.m4
===
RCS file: /sources/lilypond/lilypond/stepmake/aclocal.m4,v
retrieving revision 1.168
diff -u -r1.168 aclocal.m4
--- stepmake/aclocal.m4 3 May 2006 20:30:59 -   1.168
+++ stepmake/aclocal.m4 11 May 2006 22:58:37 -
@@ -752,7 +752,7 @@
 fi
 AC_SUBST(SHELL)
 
-STEPMAKE_PYTHON(REQUIRED, 1.5)
+STEPMAKE_PYTHON(REQUIRED, 2.4)
 
 if expr $MAKE : '.*\(echo\)' /dev/null; then
$MAKE -v 2 /dev/null | grep GNU  /dev/null
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: configure does not check for python version =2.4

2006-05-11 Thread Karl Hammar
 
 Running whith e.g python 2.3.5 gives me:
 
   $ make
   ...
   make[1]: Entering directory `/home/karl/most/music/lilypond/head/scripts'
   cat convert-ly.py | sed -e '#'  -e '[EMAIL PROTECTED]@!/bin/sh!g'  -e 
 '[EMAIL PROTECTED]
   chmod 755 out/convert-ly
   /usr/bin/perl /home/karl/most/music/lilypond/head/buildscripts/out/help2man 
 out/convert-ly  out/convert-ly.1
   help2man: can't get `--help' info from out/convert-ly
   make[1]: *** [out/convert-ly.1] Error 1
   make[1]: Leaving directory `/home/karl/most/music/lilypond/head/scripts'
   make: *** [all] Error 2
 
 Which fails due to missing module subprocess.
 It was introduced recently:
 
   $ grep -B7 -A1 subprocess ChangeLog 
 
   2006-03-12  Han-Wen Nienhuys  [EMAIL PROTECTED]
 
 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
 tmphandle.
 
 * python/lilylib.py (system): rewrite system() using
 subprocess. Remove  redirection trickery.
 
 Which makes python ver. 2.4 a requirement:
  http://www.python.org/doc/2.4.2/lib/module-subprocess.html
 
 Attached patch seems to solve that, though it gives strange error message:
 
   $./configure
   ...
   config.status: creating config.hh
 
   ERROR: Please install required programs:  python2.3 = 2.4 (installed: 2.3) 
 Python.h (python-devel, python-dev or libpython-dev package)
 
   See INSTALL.txt for more information on how to build LilyPond

Hm, configure.in seems better suited for that change than
stepmake/aclocal.m4.

Changelog:

2006-05-12  Karl Hammar  [EMAIL PROTECTED]

* configure.in: bump python requirement to version 2.4

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

Index: configure.in
===
RCS file: /sources/lilypond/lilypond/configure.in,v
retrieving revision 1.191
diff -u -r1.191 configure.in
--- configure.in9 May 2006 08:21:17 -   1.191
+++ configure.in12 May 2006 00:01:44 -
@@ -83,7 +83,7 @@
 
 
 
-STEPMAKE_PYTHON(REQUIRED, 2.3)
+STEPMAKE_PYTHON(REQUIRED, 2.4)
 STEPMAKE_GCC(REQUIRED, 4.0)
 STEPMAKE_CXX(REQUIRED)
 STEPMAKE_GXX(REQUIRED, 4.0)
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


MergeKern: Failed to find kern info in file

2006-05-11 Thread Karl Hammar

(Current cvs)

  $ make
...
  make[1]: Entering directory `/home/karl/most/music/lilypond/head/mf'
  /usr/bin/fontforge -script ../buildscripts/pfx2ttf.fontforge /usr/X11R6/l...
  Copyright (c) 2000-2005 by George Williams.
   Executable based on sources from 12:08 5-Dec-2005.
  MergeKern: Failed to find kern info in file
  Called from...
   ../buildscripts/pfx2ttf.fontforge: line 5
  make[1]: *** [out/CenturySchL-Ital.otf] Error 1
  make[1]: Leaving directory `/home/karl/most/music/lilypond/head/mf'
  make: *** [all] Error 2

configure checks where the pfb files for Century Schoolbook are,
and assumes that the afm files are in the same directory.
Which fails if the given file is a link the real pfb file
(in some other direcotory):

  $ fc-match --verbose 'Century Schoolbook L:style=Italic' | grep file:
  file: /usr/X11R6/lib/X11/fonts/Type1/c059033l.pfb(s)
  $ ls -l /usr/X11R6/lib/X11/fonts/Type1/c059033l.*  
  lrwxrwxrwx  1 root root 53 Nov 29 12:20 
/usr/X11R6/lib/X11/fonts/Type1/c059033l.pfb - 
../../../../../share/fonts/type1/gsfonts/c059033l.pfb
  $ ls -l /usr/share/fonts/type1/gsfonts/c059033*
  -rw-r--r--  1 root root  43546 Apr  3  2005 
/usr/share/fonts/type1/gsfonts/c059033l.afm
  -rw-r--r--  1 root root 113732 Apr  3  2005 
/usr/share/fonts/type1/gsfonts/c059033l.pfb

Attached patch solves that (still assuming that the afm is in the same 
directory as the real pfb file).

One could possible do the same for the
./configure --with-ncsb-dir=... case.

2006-05-12  Karl Hammar  [EMAIL PROTECTED]

* configure.in: resolve symlinks for pfb-files, to be able to 
find its afm file.

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

Index: configure.in
===
RCS file: /sources/lilypond/lilypond/configure.in,v
retrieving revision 1.191
diff -u -r1.191 configure.in
--- configure.in9 May 2006 08:21:17 -   1.191
+++ configure.in12 May 2006 00:41:35 -
@@ -71,6 +71,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_SOURCE_FILES=$NCSB_FILE $NCSB_SOURCE_FILES
 done
   else
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: removing unwanted accidentals

2005-04-17 Thread Karl Hammar
 Attatched is a version or act1.ly, act1_.ly, that puts the final movement in 
 its own score block. I know you may not want to put each movement in its own 
 score, but lilypond expects this by default and notice how all the problems 
 associated with doing it as you have it set up disappear.
 
 Stephen

Thanks for the suggestion, the code below will work nice as a 
workaround.
I'll settle with it for engraving, and using the former for midi.

\score {
   \ss
\new GrandStaff 
  \new Staff {
\set Staff.instrument = \markup { V1   }
\set Staff.instr = \markup { V1   }
{ \keyAM \clefva \vaAM }
  }
  \new Staff {
\set Staff.instrument = \markup { V2  }
\set Staff.instr = \markup { V2  }
{ \keyAM \clefvb \vbAM }
  }

  \new Staff {
\set Staff.instrument = \markup { Va  }
\set Staff.instr = \markup { Va  }
{ \keyAM \clefvc \vcAM }
  }
  \new Staff {
\set Staff.instrument = \markup { BC }
\set Staff.instr = \markup { BC }
{ \keyAM \clefvd \vdAM }
  }
  \context FiguredBass \fbAM
  
  \layout {
indent = 0.0\mm
  }
}

...
  I don't want them to appear as seperate scores, because they flow into
  each other.
  Except the different acts, of cause.
...
   *No*, the forget does not work for:
act 1, aria 13, bar  6 Violin II: the b is shown with natural
act 1, aria 13, bar 11 Violin  I: the f is shown with natural
   Elsewhere yes, but not for theese two notes.
...

Regards
/Karl



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: removing unwanted accidentals

2005-04-16 Thread Karl Hammar
 Citerar Karl Hammar [EMAIL PROTECTED]:
...
   \version 2.4.0
   
   #(define-public (print-+100-text-callback grob)
 (let* ( ;(text (ly:grob-property grob 'text))
(text (number-string (+ 100 (string-number (ly:grob-property
  grob 
   'text)
(layout (ly:grob-layout grob))
(defs (ly:output-def-lookup layout 'text-font-defaults))
(props (ly:grob-alist-chain grob defs))
(text-stencil (Text_interface::interpret_markup layout props
  text)))
   (ly:stencil-add (centered-stencil text-stencil
   
   
   \new Staff {
   \set Score.barNumberVisibility = #(every-nth-bar-number-visible 1)
   \override Score.BarNumber  #'print-function =
   #print-+100-text-callback
   
   \repeat unfold 9 { c1 \break } \bar |.
   }
   
   HTH,
   Erik
  
  I think you misunderstand me, I wanted smallish bar numbers since that 
  is easier
  to say at a rehersal, not something that is +100.
 
 Yes, of course you can substitute -100 for 100 then, or alternatively do
 (- (...) 100) iso. (+ 100 (...))
 
 Erik

I see, since I have trouble with lilyponds barnumbering, I sort of do 
it myself.
Then I have to:
. keep track of number of bars per movement (= offset for next movement)
. add up the offsets per movements
. make sure it woun't print a 1?

Ok, that is a way to do it.

Can I in the same time tell the print function to not to align to a 
breath mark
just before the bar line, detect if there is a volta spanner, staff 
group bracket,
note or slur to avoid?

Regards,
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: removing unwanted accidentals

2005-04-16 Thread Karl Hammar

 Karl,
 
 The problem appears when you put all the movements together **under the same 
 score**. I consider this to be a midi bug.

No, the unwanted accidentals are still there if I remove the midi block.

 If you put each movement in its 
 own score, all your engraving problems would disapear, the movements would 
 appear as they do in the separate scores.

I don't want them to appear as seperate scores, because they flow into 
each other.
Except the different acts, of cause.

 The midi files would overwrite 
 each other as the movements were processed leaving the midi file only 
 representing the final movement.

Yes, that is what happens e.g. in my all.ly, only the last act is in 
the midi file.

 
 It would be nice if midi worked the sames as engraving, just as the separate 
 scores are concatenated into the same book with a default amount of space 
 separating each one, might not the midi files from each score be 
 concatenated into the same midi file with a default amount of silence 
 between each score?

Sounds, reasonable, but midi is not my top priority, engraving is.

...
 In addition, it would be nice if you added different midi instruments to the 
 voices:
 
 \set Staff.midiInstrument = violin etc.

I once did that with another piece, and that voice was silent in 
timidity.
I could easily add that, but I'd rather hear it. Any suggestions?

 
 I haven't been very helpful to you so far, but I think this is all useful 
 advice, germane to your project.
 
 Stephen
 
 - Original Message - 
 From: Karl Hammar [EMAIL PROTECTED]
 To: lilypond-devel@gnu.org
 Sent: Friday, April 15, 2005 12:59 PM
 Subject: Re: removing unwanted accidentals
 
 
  *No*, the forget does not work for:
   act 1, aria 13, bar  6 Violin II: the b is shown with natural
   act 1, aria 13, bar 11 Violin  I: the f is shown with natural
  Elsewhere yes, but not for theese two notes.
...

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: removing unwanted accidentals

2005-04-16 Thread Karl Hammar
 Citerar Stephen [EMAIL PROTECTED]:
 
  I think we want Lilypond to continue to follow standard practive. If we give
  users the ability to violate those rules then total novices will start
  making mistakes.
 
 We don't have to document the feature in a way such that novices will be able
 to
 use it. I just htink it's a good idea to have the feature for completeness. If
 there is a bug somewhere that makes an unwanted accidental pop up, it's nice 
 if
 there is a possiblilty to just write a quick workaround.
 
  I think you know that in the example you gave, a person reading the score
  would just play an f sharp where you want an f natural if you suppressed the
  natural. Why supply a way to suppress that natural if we also have to say
  never actually do if you do not want them to play f sharp? 
 
 What I meant, was related to Karl's example. I don't have lily where I am now,
 but imagine a combo of his and my example; something like
 
 \key d\major fis4 r r r | f2 f | \set Score.barNumber = #1 r2 f |
 
 Here someone might want to avoid the natural before the last f (there might
 exist better examples), and I think it's impossible with current lily due to
 the bug Karl found.
 
 It's just an example, and it's constructed, but shows that there is a 
 potential
 need for this kind of setting. I can recall earlier discussions with similar
 content.
 
 The main reason I want it, however, is the philosophy that if you want to 
 tweak
 something, you often want to express exactly what you are tweaking, no more, 
 no
 less. All Karl wanted to express in his code, was that for a particular note,
 the accidental should be turned off. He didn't want to express that this note
 belongs to a part of the music which uses an alternative practise for
 displaying accidentals. 

I don't want the singer/instrumentalist to believe that the composer or 
me
demands that this note to have this accidental, since it is not in the
original score.
And since the 'forget did not work for two notes, it would nice to have
something to force it away, so I don't have to delay till the bug hunt 
is over.

 
 
 Another application of a \noAccidental feature, is a mail that was sent some
 days ago to lily-user iirc. There was a sharp before the cis2 in {cis1~\break
 cis2}, and this person (Thomas iirc) wanted to suppress this. 
 You could do that like
 {cis1~\break #(set-accidental-style 'no-forget) cis2 #(set-accidental-style
 'default) }
 but IMHO this would be more logical,  easier to read and write:
 {cis1~\break cis2\noAccidental}
 
 Erik

Regards,
/Karl



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: removing unwanted accidentals

2005-04-15 Thread Karl Hammar

[EMAIL PROTECTED]:
 On Thursday 14 April 2005 21.31, Stephen wrote:
...
  In the example, '\set Score.currentBarNumber = #1' creates the problem. I

Correct.

  don't see why the numbering is reset there other than to remove the number
  from that bar because it collides with the mark D. There must be another
  way to suppress the bar number at that bar.
 
 It also changes the numbering of all subsequent bars. I don't know the 
 author's intent in this case (I didn't write that snippet), but I guess it 
 could be something like an attaca movement.

Yes. The bigger picture is H. Purcells opera Dido  Æneas:

 http://aspodata.se/motett/noter/act*

I did not like idea of big bar number, like 543.
I think it is better with aria/movement 23, bar 25.

 
  However, I fixed it by setting the accidental style to 'forget'. See? there
  is already a way to do it.

*No*, the forget does not work for:
 act 1, aria 13, bar  6 Violin II: the b is shown with natural
 act 1, aria 13, bar 11 Violin  I: the f is shown with natural
Elsewhere yes, but not for theese two notes.

I don't know how to solv theese.
If I put another f before bar 11 for V1, that f gets the natural.
It seems that the first f, in this case, gets the natural, and I
tried to insert a \hideNote f \unHideNote, but it was still visible.

Btw, I solved the issue for the other places by starting each aria like:

  \set Score.explicitKeySignatureVisibility = #begin-of-line-visible
  \set Score.printKeyCancellation = ##f
  \key c \minor

when the previous part already was in c minor.

It would be nice if I could write:

  \key c \minor \music02
  \key c \minor \music03
  \key c \minor \music04
  \key c \minor \music05

and the key-engraver only shows the key signature when it *changes*.
I tried hack around in lily/key-engraver.cc and doing things like
if (scm_is_eq (last, key)) return, found no solution.

...
 
 Erik
 
  - Original Message -
  From: Erik Sandberg [EMAIL PROTECTED]
  To: lilypond-devel@gnu.org
  Sent: Monday, April 11, 2005 3:53 PM
  Subject: removing unwanted accidentals
 
   Hi,
  
   There seems to be a need for a way to notate that a single note should
   _not_
   have an accidental displayed, something like a 'force-no-accidental'
   property.

Possible, but for this case I would prefer:
1, fixing the bug
2, make key-engraver only show changes

The reason for 2, is that I prefer to put the workaround in one place,
instead of littering down the .ly with bug-corrections, that must be
refound when the bug is removed.

  
   I think there was a discussion about this over a year ago, without a
   conclusion. Now there have been 2 or 3 (implicit) requests for it in a
   short
   time, and IMHO it's a reasonable feature.
  
   Also it looks pretty trivial to implement; may I give it a try?
  
   Erik
  
   On Sunday 10 April 2005 14.32, Karl Hammar wrote:
   How do I remove the unwanted explicit flats in the next to last
   measure in:
  
   \version 2.4.2
  
   \relative c'' {
 \override Score.BarNumber  #'break-visibility = #end-of-line-invisible
 \mark #03
 \clef treble
 \key c \minor
 a2 b |
 d1 |
 \mark #04
 \set Score.currentBarNumber = #1
 d2 es8. as,16 bes8 c |
   % ^ ^ unwanted explicit flats here
 d1
   }
  
   Regards
   /Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: removing unwanted accidentals

2005-04-15 Thread Karl Hammar
 *No*, the forget does not work for:
  act 1, aria 13, bar  6 Violin II: the b is shown with natural
  act 1, aria 13, bar 11 Violin  I: the f is shown with natural
 Elsewhere yes, but not for theese two notes.
 
 When I print out Score13, neither of these errors are present, even if I add 
 the line:

No one of the ScoreXX has theese problems.
I used them to speed up proofreading.

The problem appears when I put all the movements together and resets
the bar number, as in act1.ly.

 
 #(set-accidental-style 'forget), which should suppress it in context of the 
 total score. Don't forget you can set that anywhere in the score and reverse 
 it with:
 
 #(set-accidental-style 'default).
 
 Stephen 
 

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: lilypond book issues version 2.5.19

2005-04-15 Thread Karl Hammar
...
  Its not a matter circumventing any limitations of Lilypond, but of being
  able to use the full power of LaTeX. It would not be practical to add
  anything to LilyPond itself to get this functionality as using it would
  involve (at least) two calls to lilypond. Actually I already have this
  functionality (and more) as I call Lilypond from LyX, using a LyX
  converter that I am developing and this can do some post-processing on
  the file produced by lilypond-book. The code for the converter at the
  moment is a bit of a mess and is really only usable by me. I will
  release it sometime, but I will probably wait till the next version of
  LyX is released as that will change the way converters are handled.
  However life would be easier if it could be done with  a macro.
 
 I'm just trying to help the LilyPond hackers to judge if your request
 is of sufficiently general interest to be worth to implement and
 support. So far, I have to say that your request looks fairly exotic
 to me and I can't see that there would be a large group of users that
 would use it.
 If you prove me wrong, I'd be happy to change my mind (can't promise
 about the main developers, though).
 
 /Mats

I would appreciate if I in latex could get the first and last \piece,
\mark number, and bar number on a page to be able to put it in page
headers/footers, or add some footnotes from within the music,
as some editors do.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: removing unwanted accidentals

2005-04-15 Thread Karl Hammar

 On Friday 15 April 2005 10.56, Karl Hammar wrote:
  [EMAIL PROTECTED]:
   It also changes the numbering of all subsequent bars. I don't know the
   author's intent in this case (I didn't write that snippet), but I guess
   it could be something like an attaca movement.
 
  Yes. The bigger picture is H. Purcells opera Dido  Æneas:
 
   http://aspodata.se/motett/noter/act*
 
 nice! (will this end up on mutopia?)

Anyone is welcome to use it (it is still being worked on).
The code is gpl (cc-sa if you insist) and Purcells music is public 
domain.

 
  I did not like idea of big bar number, like 543.
  I think it is better with aria/movement 23, bar 25.
 
 You could use something like this (based on print-circled-text-callback in 
 scm/output-lib.scm) to achieve what you want more cleanly. It works with 
 2.5.19, but not with 2.4 for some reason.
 
 \version 2.4.0
 
 #(define-public (print-+100-text-callback grob)
   (let* ( ;(text (ly:grob-property grob 'text))
  (text (number-string (+ 100 (string-number (ly:grob-property grob 
 'text)
  (layout (ly:grob-layout grob))
  (defs (ly:output-def-lookup layout 'text-font-defaults))
  (props (ly:grob-alist-chain grob defs))
  (text-stencil (Text_interface::interpret_markup layout props text)))
 (ly:stencil-add (centered-stencil text-stencil
 
 
 \new Staff {
 \set Score.barNumberVisibility = #(every-nth-bar-number-visible 1)
 \override Score.BarNumber  #'print-function =
 #print-+100-text-callback
 
 \repeat unfold 9 { c1 \break } \bar |.
 }
 
 HTH,
 Erik

I think you misunderstand me, I wanted smallish bar numbers since that 
is easier
to say at a rehersal, not something that is +100.

Regards
/Karl




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: 'make web' hung?

2005-03-08 Thread Karl Hammar
 Just compiled LilyPond 2.5.15 (ChangeLog 1.3261) an hour ago or so.  I
 tried 'make web' and it has seemingly frozen at:
 
 
 lily-51095895-1.epslily-659133186-1.eps] [253lily-563569828-1.eps
 lily-2030054610-1.epslily-993345859-1.epslily-288871224-1.eps]
 [254]
 [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266]
 [267]
 [268]
 ps2pdf -sPAPERSIZE=a4 out-www/lilypond.pdf.pdfps out-www/lilypond.pdf
 
 It has stopped there for quite some time now.  Close to an hour, I
 think. At first I thought it was taking some time to create a large PDF
 file or something, but it has been stuck for so long that I think
 something else is going on (or more to the point *not* going on).

It might be a gs version problem.
I have gs version 7.07.1.
From Changelog:

2004-12-21  Jan Nieuwenhuizen  [EMAIL PROTECTED]

* python/lilylib.py (setup_environment): Set GS_FONTPATH, GS_LIB
to empty.  Fixes make web, using gs-gpl-8.01.  In fact,
gs-afpl-8.50 has more trouble with make web (ie, uses *a lot* 
more
resourses; 3x MAXSIZE, 4x MAXRSS, 1.5x user).

* mf/GNUmakefile (pfa_warning): Use less broken check.

* python/lilylib.py (setup_environment): Remove cruft from
GS_FONTPATH.

* configure.in: Bump mftrace requirement to 1.1.1.

I didn't mind not building pdf's for the moment so I did:

 # cd /usr/bin
 # mv ps2pdf ps2pdf.org
 # ln -s /bin/true ps2pdf

And I got past that problem.

 
 Also, I'm still getting the extra large sans serif font for time
 signatures and multimeasure rests (reported last night on bug-lilypond).
 
 I'm no longer getting a seemingly spurious error message about a
 programming error, and some stencil being moved to the edge.  It did not
 seem to indicate any visible problem with the output.  As I said, I'm
 not getting this error any more.
 
 -David




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


make web fails

2004-11-12 Thread Karl Hammar
  $ make web
...
  /usr/bin/python ./buildscripts/mutopia-index.py -o 
/home/karl/lilypond/examples.html ./
  generating HTML list /home/karl/lilypond/examples.html

  cd /home/karl/lilypond  [EMAIL PROTECTED]  /usr/bin/python 
/home/karl/lilypond/stepmake/bin/add-html-footer.py  --name LilyPond --version 
2.5.0 `find . -name '*.html' -print`
  /bin/sh: /usr/bin/python: Argument list too long
  make[1]: *** [local-WWW-post] Error 126
  make[1]: Leaving directory `/home/karl/lilypond'
  make: *** [web] Error 2


Patch, this patch assumes that xargs is available and that
  .../add-html-footer.py a
  .../add-html-footer.py b
is equivalent to
  .../add-html-footer.py a b


$ grep ChangeLog CVS/Entries
/ChangeLog/1.2835/Fri Nov 12 06:21:36 2004//
$ head -5 ChangeLog 
2004-11-12  Karl Hammar  [EMAIL PROTECTED]

* GNUmakefile.in (local-WWW-post): `find ...` overflows the
cmdline, use xargs instead

Regards
/Karl
Index: GNUmakefile.in
===
RCS file: /cvsroot/lilypond/lilypond/GNUmakefile.in,v
retrieving revision 1.128
diff -u -r1.128 GNUmakefile.in
--- GNUmakefile.in  6 Nov 2004 10:54:57 -   1.128
+++ GNUmakefile.in  12 Nov 2004 17:41:44 -
@@ -67,12 +67,13 @@
 
 web-ext = gz html midi pdf png txt ly
 
-footify = [EMAIL PROTECTED]  $(PYTHON) $(step-bindir)/add-html-footer.py  
--name $(PACKAGE_NAME) --version $(TOPLEVEL_VERSION)
+footify = $(PYTHON) $(step-bindir)/add-html-footer.py  --name $(PACKAGE_NAME) 
--version $(TOPLEVEL_VERSION)
+footifymail = [EMAIL PROTECTED]
 
 local-WWW-post:
$(PYTHON) $(buildscript-dir)/mutopia-index.py -o 
$(builddir)/examples.html ./
-   cd $(builddir)  $(footify) `$(FIND) . -name '*.html' -print`
-   cd $(builddir)  rm -f `find . -name \*.html~ -print`
+   cd $(builddir)  $(FIND) . -name '*.html' -print | $(footifymail) 
xargs $(footify)
+   cd $(builddir)  find . -name \*.html~ -print | xargs rm -f
cd $(builddir)  find Documentation input \
$(web-ext:%=-path '*/out-www/*.%' -or) -false \
 $(outdir)/weblist
Index: ChangeLog
===
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.2835
diff -u -r1.2835 ChangeLog
--- ChangeLog   12 Nov 2004 01:44:28 -  1.2835
+++ ChangeLog   12 Nov 2004 17:42:37 -
@@ -1,3 +1,8 @@
+2004-11-12  Karl Hammar  [EMAIL PROTECTED]
+
+   * GNUmakefile.in (local-WWW-post): `find ...` overflows the
+   cmdline, use xargs instead
+
 2004-11-11  Graham Percival  [EMAIL PROTECTED]
 
* Documentation/user/lilypond-book.itely: add short warning about
___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: programming error: Grob `NoteHead' has no interface for property ...

2004-11-08 Thread Karl Hammar
Juergen Reuter [EMAIL PROTECTED] wrote:

 
 
 On Mon, 8 Nov 2004, Karl Hammar wrote:
 
  ...
  
  I have found a way to get rid of the errors.
  
  Previous run, lots of errors from make web:
  
$ grep -i error log | wc -l  
1359
$
  
  New idea:
  
$ (./autogen.sh --prefix=$HOME; make clean; make all install; . 
  buildscripts/out/lilypond-profile; make web)  log 21
$ grep -i error log | uniq -c
  3 make[1]: [out/parser.hh] Error 1 (ignored)
  1 make[1]: [out/parser.cc] Error 1 (ignored)
 40 Do not worry about the @ signs in the output, they are not 
  errors. 
  1  file:line:error style messages enabled.
$
  
  So the cause of the programming errors is a missing path in TEXMF.
  
 
 Are you sure that the .ly snippets were actually rebuilt?  make clean 
 does not delete them, IIRC.  Please also note that, during make web, 
 lilypond is called with the option:
 
 -e '(ly:set-option (quote internal-type-checking) #t)'
 
 Without explicitly adding this option (e.g. when calling lilypond 
 manually), lilypond will not issue any Grob 'xyz' has no interface for 
 property ... warning.
 
 Greetings,
 Jürgen

My bad, youre right.

  $ unset TEXMF
  $ (./autogen.sh --prefix=$HOME; make clean; make all install; make web)  log 
21
  $ grep -i error log | uniq -c
3 make[1]: [out/parser.hh] Error 1 (ignored)
1 make[1]: [out/parser.cc] Error 1 (ignored)
   40 Do not worry about the @ signs in the output, they are not errors. 
1 make[1]: [out/parser.cc] Error 1 (ignored)
1  file:line:error style messages enabled.
  $ (./autogen.sh --prefix=$HOME; make clean; make web-clean; make all install; 
make web)  log 21
  $ grep -i error log | wc -l
  1332
  $ (./autogen.sh --prefix=$HOME; make clean; make web-clean; make all install; 
. buildscripts/out/lilypond-profile; make web)  log 21
  $ grep -i error log | wc -l
  1332

It was too god to be true.

(And yes, make web-clean fails with 
  rm -f ./out-www/*
  /bin/sh: /bin/rm: Argument list too long
I suggest
  find ./out-www -name lily-1\* | xargs rm -f
or
  rm -rf ./out-www; mkdir out-www
)

Regards
/Karl


___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: make fails.

2004-11-07 Thread Karl Hammar
Erik Sandberg [EMAIL PROTECTED] wrote:

 Using debian/testing.
 
 make output with 2.4 cvs of make clean; ./autogen.sh; make:
 
 []
 FontForge used to be named PfaEdit.
 
 mv feta-braces-g.pfa ./out
 mftrace --encoding feta-braces-h.enc -I ./out/ --pfa --simplify feta-braces-h
 sh: line 1: potrace: command not found
 mftrace 1.0.34
 Font `feta-braces-h'...
 Using encoding file: `./out/feta-braces-h.enc'
 Running Metafont...
 Tracing bitmaps... [0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16]
 [17][18][19][20][21][22][23][24][25][26][27][28][29][30][31][32][33][34][35]
 [36][37][38][39][40][41][42][43][44][45][46][47][48][49][50][51][52][53][54]
 [55][56][57][58][59][60][61][62][63]
 Assembling font to `feta-braces-h.pfa'...
 Simplifying font... Copyright (c) 2000-2004 by George Williams.
  Executable based on sources from 07:34 12-Oct-2004.
 FontForge used to be named PfaEdit.
 
 mv feta-braces-h.pfa ./out
 mftrace --encoding feta-braces-i.enc -I ./out/ --pfa --simplify feta-braces-i
 sh: line 1: potrace: command not found
 mftrace 1.0.34
 Font `feta-braces-i'...
 Using encoding file: `./out/feta-braces-i.enc'
 Running Metafont...
 Tracing bitmaps... [0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16]
 [17][18][19][20][21][22][23][24][25][26][27][28][29][30][31][32][33][34][35]
 [36][37][38][39][40][41][42][43][44][45][46][47][48][49][50][51][52][53][54]
 [55][56][57][58][59][60][61][62][63]
 Assembling font to `feta-braces-i.pfa'...
 Simplifying font... Copyright (c) 2000-2004 by George Williams.
  Executable based on sources from 07:34 12-Oct-2004.
 FontForge used to be named PfaEdit.
 
 mv feta-braces-i.pfa ./out
 mftrace --encoding feta-din10.enc -I ./out/ --pfa --simplify feta-din10
 sh: line 1: potrace: command not found
 mftrace 1.0.34
 Font `feta-din10'...
 Using encoding file: `./out/feta-din10.enc'
 Running Metafont...
 Tracing bitmaps... [33][102][109][112][114][115][122]
 Assembling font to `feta-din10.pfa'...
 Simplifying font... Copyright (c) 2000-2004 by George Williams.
  Executable based on sources from 07:34 12-Oct-2004.
 FontForge used to be named PfaEdit.
 error: fontforge: command exited with value 11
 Traceback (most recent call last):
   File /usr/bin/mftrace, line 1188, in ?
 cleanup_font (basename + '.pfa')
   File /usr/bin/mftrace, line 841, in cleanup_font
 system (%s -script simplify.pe %s %s % (fontforge_cmd, file, tfmfile))
   File /usr/bin/mftrace, line 246, in system
 error (msg)
   File /usr/bin/mftrace, line 137, in error
 raise _ (Exiting ... )
 Exiting ...
 make[1]: *** [out/feta-din10.pfa] Error 1
 make[1]: Leaving directory `/home/erik/lily/lilypond24/mf'
 make: *** [all] Error 2

I have been able to reproduce your problem and I suggest you install potrace:

  # apt-get install potrace

I suggest that potrace is added to the Build-Depends: in debian/control.

How to reproduce:

  $ cat run
  (./autogen.sh --prefix=$HOME; make clean; make $@)  log 21
  $ ./run all
  $ tail log
  make[4]: Leaving directory `/home/karl/lilypond/input/mutopia/W.A.Mozart'
  make[4]: Entering directory `/home/karl/lilypond/input/mutopia/R.Schumann'
  true
  make[4]: Leaving directory `/home/karl/lilypond/input/mutopia/R.Schumann'
  make[3]: Leaving directory `/home/karl/lilypond/input/mutopia'
  make[2]: Leaving directory `/home/karl/lilypond/input'
  make[2]: Entering directory `/home/karl/lilypond/vim'
  true
  make[2]: Leaving directory `/home/karl/lilypond/vim'
  make[1]: Leaving directory `/home/karl/lilypond'
  # su
  Password: 
  # dpkg -P potrace
  # exit
  $ ./run all
  $ tail -30 log
  Simplifying font... Copyright (c) 2000-2004 by George Williams.
   Executable based on sources from 07:34 12-Oct-2004.
  FontForge used to be named PfaEdit.

  mv feta-braces-i.pfa ./out
  mftrace --encoding feta-din10.enc -I ./out/ --pfa --simplify feta-din10
  sh: potrace: command not found
  mftrace 1.0.34
  Font `feta-din10'...
  Using encoding file: `./out/feta-din10.enc'
  Running Metafont...
  Tracing bitmaps... [33][102][109][112][114][115][122]
  Assembling font to `feta-din10.pfa'... 
  Simplifying font... Copyright (c) 2000-2004 by George Williams.
   Executable based on sources from 07:34 12-Oct-2004.
  FontForge used to be named PfaEdit.
  error: fontforge: command exited with value 11
  Traceback (most recent call last):
File /usr/bin/mftrace, line 1188, in ?
  cleanup_font (basename + '.pfa')
File /usr/bin/mftrace, line 841, in cleanup_font
  system (%s -script simplify.pe %s %s % (fontforge_cmd, file, tfmfile))
File /usr/bin/mftrace, line 246, in system
  error (msg)
File /usr/bin/mftrace, line 137, in error
  raise _ (Exiting ... )
  Exiting ... 
  make[1]: *** [out/feta-din10.pfa] Error 1
  make[1]: Leaving directory `/home/karl/lilypond/mf'
  make: *** [all] Error 2
  $

Regards
/Karl


___
lilypond-devel mailing list
[EMAIL PROTECTED]

Re: programming error: Grob `NoteHead' has no interface for property ...

2004-11-07 Thread Karl Hammar

Juergen Reuter [EMAIL PROTECTED] wrote:

 
 This is a known annoying problem (not only) with ancient notation, but 
 harmless.  Just consider it as a reminder for the developers; see the 
 thread starting at:
 
 http://lists.gnu.org/archive/html/lilypond-devel/2004-09/msg00073.html

If it is because of internal variables,
 how come I got rid of the errors below?

 
 Greetings,
 Jürgen
 
 On Sat, 6 Nov 2004, Karl Hammar wrote:
 
  
$ grep ChangeLog CVS/Entries
/ChangeLog/1.2805/Fri Nov  5 17:00:22 2004//
$ cat run 
(./autogen.sh --prefix=$HOME; make clean; make $@)  log 21
$ ./run all install web
$ grep 'programming error: Grob `NoteHead'\'' has no interface for 
  property' log | wc
   1253   12626   98715
$ grep 'programming error: Grob `NoteHead'\'' has no interface for 
  property' log | sed -e 's/^.*property//;' | sort | uniq -c
 24  `add-cauda'
 52  `add-join'
...
  9  `virga'
138  `x-offset'
$
...

I have found a way to get rid of the errors.

Previous run, lots of errors from make web:

  $ grep -i error log | wc -l  
  1359
  $

New idea:

  $ (./autogen.sh --prefix=$HOME; make clean; make all install; . 
buildscripts/out/lilypond-profile; make web)  log 21
  $ grep -i error log | uniq -c
3 make[1]: [out/parser.hh] Error 1 (ignored)
1 make[1]: [out/parser.cc] Error 1 (ignored)
   40 Do not worry about the @ signs in the output, they are not errors. 
1  file:line:error style messages enabled.
  $

So the cause of the programming errors is a missing path in TEXMF.

I somehow lost track among all makefiles,
 which makefile (make/lilypond-vars.make I guess) should be changed and
 which directory should be added to TEXMF if lilypond is not installed?

The installed share/ and the build share/ seems to differ:

  $ ls share/lilypond/tex/
  mf-out  source  tex-out
  $ ls $HOME/share/lilypond/2.5.0.hwn1/tex/
  feta-braces-a.tex  feta-din8.tex  feta18.tex 
parmesan13.tex
  feta-braces-b.tex  feta-nummer10.tex  feta20.tex 
parmesan14.tex
...

maybe the share/.../tex directory doesn't matter.

Regards
/Karl


___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: 2.4.0 on cygwin - Bad fd number

2004-11-06 Thread Karl Hammar
Han-Wen Nienhuys [EMAIL PROTECTED] wrote:

 [EMAIL PROTECTED] writes:
...
  Error invoking `latex \\nonstopmode \\input simple.tex 21 1 
  /dev/null '. Return value 512Error invoking `dvips  -t a4   
  -u+ec-mftrace.map -u+lilypond.map -Ppdf simple 21 1 /dev/null '. 
  Return value 512
 
 Ah wait, the shell is struggling with the redirection syntax.
 
 are there any unix gurus that know the correct syntax for redirecting
 all output to /dev/null?

Short story:

  $ ...  /dev/null 21
or
  $ ...  /dev/null 2 /dev/null

Long story:

. echo writes to stdout (file descriptor 1)
. redirection $cmd a file is:
  (common case: a==1 || a==2)
  close(a); open(file,O_WRONLY) /* == a */;
. to make it write to stderr (fd 2), dup2(b,a) it by $cmd ab
. you can omit the 1 in 1... below, because it is the default number

  $ (echo output; echo error 12 )
  output
  error
  $

  Example A
=
Example below works since:
1 close(1); open(a,O_WRONLY) /* == 1 */;
2 fork() and exec() subshell /* remember file descriptor table is inherited */
3 run echo sequentially

  $ (echo output; echo error 12 ) 1 a
  error
  $ cat a
  output
  $

  Example B
=
  $ (echo output; echo error 12 ) 2 b
  output
  $ cat b
  error
  $

  Example C
=
close(1); open(c,O_WRONLY) /* == 1 */; dup2(1,2);
  $ (echo output; echo error 12 ) 1 c 21
  $ cat c
  output
  error
  $

  Example D
=
This one is equivalent to the above, but less to type
it is a special syntax to redirect both stdout and stderr
(you could also use   d)
  $ (echo output; echo error 12 )  d
  $ cat d
  output
  error
  $
The drawback is that not all shells accepts it,
e.g. ash treats it like
. a (echo output; echo error 12 )  command
. followed by a commandless redirection  d, which empties the file
  $ ash
  $ (echo output; echo error 12 )  d
  $ output
  error

press return to get a new prompt
  [1] + Done   (echo output; echo error 12)
  $ cat d
  $


  Example E
=
Redirection is order dependant, this one does:
dup2(1,2); close(1); open(e,O_WRONLY) /* == 1 */;
  $ (echo output; echo error 12 )  21 1 e
  error
  $ cat e
  output
  $

  Example F
=
And yes, you can bypass it (/dev/tty is current tty)
  $ (echo output; (echo wall  /dev/tty; echo error) 12 )   f
  wall
  $ cat f
  output
  error
  $

  Example G
=
So:
  $ (echo output; echo error 12 )  21 1 g
  error
  $ cat g
  output
  $
will become:
 dup2(1,2); /* all's well, stderr will go to current stdout (/dev/tty) */
 close(1); open(g,O_WRONLY) /* == 1 */;

  Example H
=
And lastly, don't use 1,
bash accepts it and treats it like , but
ash says it's a syntax error
  $ (echo output; echo error 12 )  21 1 h
  $ cat h
  output
  error
  $ ash
  $ (echo output; echo error 12 )  21 1 h
  ash: Syntax error: Bad fd number
  $

Regards
/Karl


___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


programming error: Grob `NoteHead' has no interface for property ...

2004-11-06 Thread Karl Hammar

  $ grep ChangeLog CVS/Entries
  /ChangeLog/1.2805/Fri Nov  5 17:00:22 2004//
  $ cat run 
  (./autogen.sh --prefix=$HOME; make clean; make $@)  log 21
  $ ./run all install web
  $ grep 'programming error: Grob `NoteHead'\'' has no interface for property' log | wc
 1253   12626   98715
  $ grep 'programming error: Grob `NoteHead'\'' has no interface for property' log | 
sed -e 's/^.*property//;' | sort | uniq -c
   24  `add-cauda'
   52  `add-join'
9  `add-stem'
3  `ascendens'
   18  `auctum'
2  `balloon-original-callback'
2  `balloon-text'
2  `balloon-text-offset'
2  `balloon-text-props'
  157  `context-info'
  169  `delta-pitch'
   15  `deminutum'
   12  `descendens'
5  `flexa-height'
   17  `flexa-width'
  138  `glyph-name'
   31  `head-width'
   13  `inclinatum'
   15  `join-left-amount'
5  `oriscus'
   57  `pes-or-flexa'
  138  `prefix-set'
   31  `primitive'
5  `quilisma'
5  `stropha'
   10  `text'
  169  `thickness'
9  `virga'
  138  `x-offset'
  $

Is this a problem?

My file:///home/karl/lilypond/input/regression/out-www/collated-files.html
looks good though even if I don't know if it is complete.

Regards
/Karl


___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


  1   2   >