Re: Invalid overrides in ly/gregorian.ly?

2009-01-31 Thread Juergen Reuter

Hi, all!

The horizontal placing of breathing signs in Gregorian Chant is anyway 
somewhat broken.  Looking e.g. at the "Sanctus, Sanctus, Sanctus" 
example in "2.8.4 Typesetting Gregorian chant", the distance for the 
second divisio minima (after the second "Sanctus") is fine, while the 
distance for the other two divisiones minimae is too wide.


I suggest the following: If removing the extra-X-extent from 
gregorian-init.ly does not increase the distance between the breathing 
sign and the preceding note (particularly the distance after the second 
"Sanctus"), then please remove it without replacement, since the minimum 
distance looks ok and the other bad distances can not be fixed by a 
constant extra extent anyway.  For double-checking, you should also ensure 
that removing the extra X extent has no visible impact on the "Salve, 
Regina" example at the beginning of chapter 2.8.


Many thanks & greetings,
Juergen


On Sat, 31 Jan 2009, Patrick McCarty wrote:


Hello,

After looking through source, I can't find a spot where
'extra-X-extent and 'extra-Y-extent are recognized, yet they are
documented in the grob interface and an 'extra-X-extent override is
used six times in ly/gregorian.ly.

If they are no longer functional, should a convert-ly rule be added for them?

Do 'minimum-X-extent and 'minimum-Y-extent replace these old
properties?  If not, which overrides should be used instead for
\virgula, \caesura, etc. in ly/gregorian.ly?

Thanks,
Patrick


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




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


Re: Mensural style

2009-01-04 Thread Juergen Reuter



On Sun, 4 Jan 2009, Trevor Daniels wrote:


BTW, the term "accidental style" appears twice in the documentation with a
completely different meaning:
- in 1.1.3, meaning the way how to display and reset accidentals


In the detailed explanation they are named "rules" so I propose to
always call them "accidental rules" and remove the word "styles" from
the whole section.


Hmm.  Unfortunately the function is called set-accidental-style,
so calling them "rules" might be just as confusing.


- in 2.8.3, meaning the graphical appearance of accidentals


If we do the latter, this can be kept as "accidental styles" or be
augmented with "graphic accidental styles".


I think changing the description here to "glyph" might be
better, since the override here already uses "glyph-name...".

So "The style for accidentals and key signatures is ..." would become
"The glyphs used for accidentals and key signatures are ..."



The "Accidental" property "style" has only recently been replaced by a new 
property "glyph-name-alist".  Apart from that, Lily almost consistently 
uses the term "style" for choosing between different sets of related 
glyphs:


- a "style" property is available and documented at least for each of the 
grobs "Notehead", "Rest" and "TimeSignature";


- a property "flag-style" is available and documented for "Stem" grobs;

- clef styles for the \clef command are documented in Sect. 2.8.3 and 
2.8.4.


I heavily vote for sticking to this naming convention as consistently as 
possible.


Best wishes,
Juergen


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


Re: NR 2.8 Ancient music ready for review

2008-10-01 Thread Juergen Reuter


Very nice, I like the structure and your explanatory add-ons!  Just a 
few nitpicking comments:


* 2.8.3 (Typesetting mensural music): "There are no rests in Gregorian 
chant notation; instead, it uses Divisiones."  I would have expected this 
statement to appear somewhere in 2.8.4 (Typesetting Gregorian chant) 
instead.


* 2.8.4 (Typesetting Gregorian chant):

  * "... by placing one of the joining commands pes or flexa ..." => "...
by placing one of the joining commands \pes or \flexa ..."

  * "... by modifying the shape of a single-note neume with \auctus and
one of the direction markers \descendens or \ascendens, e.g.  \[
\auctus \descendens a \] ...": Replace "\auctus" => "\auctum".  N.B.:
From an implementation point of view, I felt the need to minimize
redundancy in the input language and therefore only defined the
neutrum form "auctum".  Maybe users prefer using the correctly
declined forms?

  * FYI: gregorian.ly defines also the commands \versus, \responsum,
\ij, \iij, \IJ, and \IIJ that will produce the corresponding
characters (e.g. for use in lyrics).  However, since these commands
uses quite special unicode characters, they will only work with
properly installed unicode fonts that support these characters.
Unfortunately, to my knowledge there is no slashed "A" character
available in unicode.  (As far as I know, all of these commands
have not at all been documented so far.)

* 2.8.5 (Working with ancient music): When talking about incipits and 
Mensurstriche layout, maybe one could refer to Learning Manual A.5.1 
(Transcription of mensural music) for a more comprehensive example.


Greetings,
Juergen

On Wed, 1 Oct 2008, =?ISO-8859-1?Q?Eyolf_=D8strem_ wrote:


The section on Ancient music is now ready for comments. It has been
completely rewritten and reorganized, so please have a look at it and
comment, correct, or criticize.

Here's a "changelog":

- The main change is that the general organization has been revised into
 two main sections: Gregorian chant notation and Mensural music. There was
 fairly little overlap between the alternative signs, which were mostly
 ancient, and the additional, which mostly belonged to the Gregorian
 section.
- The two ligature tables in the Gregorian section have been merged into
 one.
- There are still a few TODOs left, as well as missing cross references
 here and there, the odd example of bad formatting, etc. This is
 particularly true about the last section, which has not yet been written.
 I focused on the main text for this first round; there will be another
 round for this kind of formalities later on.

Eyolf



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




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


Re: Episema not showing

2008-09-26 Thread Juergen Reuter



On Thu, 25 Sep 2008, =?ISO-8859-1?Q?Eyolf_=D8strem_ wrote:


It is mentioned as one of the known issues in the ancient section of the
documentation that "The episema line is not displayed in many cases." That
in itself does not make it very useful, but it's doubly bad when it doesn't
even show up in the example that illustrates it.



Yes.  Over the last few years, the episema first worked, then broke, then 
worked again, then broke again, and so forth, probably because people were 
working on the text spanner implementation.  I still have the vision that 
with the next revision of the text spanner code, the episem will be 
(re-)fixed as if by a ghost's hand.  Hence, the documentation sounds 
currently odd, but I hope it can be left as is in prospect of future lily 
releases... ;-)


Greetings,
Juergen


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


Re: Three questions for ancient.itely

2008-09-26 Thread Juergen Reuter



On Wed, 24 Sep 2008, =?ISO-8859-1?Q?Eyolf_=D8strem_ wrote:


I'm working on the docs for ancient music,


Nice to hear!


3. The form "Episem" is used, both as a lilypond command and in the
documentation text. Since it's not really a medieval concept at all, but a
term invented by the Solesmes monks when plainchant was revised/-vived in
the late nineteenth century, it is not an established term in any language
other than french, where it is episeme (and it doesn't appear neither in
Merriam-Webster nor in the full OED). If anything, Episem is the german
form.  I would strongly recommend going with the latinized greek "episema",
which is what the Vatican editions have.



Originally, I borrowed the term "Episem" from the OpusTeX implementation 
of Gregorian Chant.  Just a couple of minutes ago, I did a small search on 
Google and have to agree that the form "Episema" is obviously much more 
used than "Episem", especially in non-German languages.


As you are working on the docs, there is another thing that comes into my 
mind:  Currently, \augmentum is introduced in Sect. 2.8.3.6 (Gregorian 
square neumes ligatures).  This was motivated from an implementation 
point of view, which is special for \augmentum within ligatures. 
However, from a user's perspective, I think \augmentum should be 
introduced in Sect. 2.8.3.1 (Ancient articulations), showing simply an 
augmented punctum note.  Then, in Sect. 2.8.3.6, it should be stated that 
\augmentum is treated specially within ligatures (i.e. all dots 
vertically aligned after the ligature), showing "\[ \augmentum a 
\flexa \augmentum g \]" as an example.


And yet another thing: The "Hufnagel" style of Gregorian Chant is in 
English language obviously better known as "Gothic" style.  However, 
now that lily 2.12 is already in beta release stage, I would not recommend 
performing such a big rename at present.


Thanks & greetings,
Juergen


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


Re: Sad news

2008-08-26 Thread Juergen Reuter

To all,

also my condolences to all of Rune's family and friends.
I fully agree with at least dedicating a lily version to him!

Sad greetings,
Juergen


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


Re: Incipits

2008-02-11 Thread Juergen Reuter



On Mon, 11 Feb 2008, Robert Memering wrote:


Am Montag, 11. Februar 2008 16:36 schrieb Juergen Reuter:

IIRC, the spacing engine maintains a variable that keeps track of shortest
available duration in a peace in computes the ideal distance of larger
note values in a logarithmic scale based on the shortest duration.  Maybe
this computation needs to be changed for the incipit (and only there!) to
get tighter spacing in the incipit.


IMO, horizontal spacing in incipits should be completely
"turned off", i.e. uniform (and rather tight) spacing
regardless of note values, as seen in the renaissance
manuscripts.

Robert



Yes, IIRC we once used to have a global boolean variable "compact" for 
exactly this purpose, but I think it never worked as expected due to the 
complex resolving of competetive spacing constraints.  Remember that you 
almost always need to stretch something somewhere to get your line of 
score filled; so you can not achieve solely uniform spacing unless in 
combination with ragged printing of systems.  I guess switching from 
uniform ragged spacing in the incipit to non-uniform spacing in the 
remaining score would require a major rewrite of the whole horizontal 
spacing engine.


Greetings,
Juergen


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


Re: Incipits

2008-02-11 Thread Juergen Reuter

Hi all,

as far as I understand, all problems with incipits boil down to the 
following two major issues:


  (1) horizontal spacing, and

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


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

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


IIRC, the spacing engine maintains a variable that keeps track of shortest 
available duration in a peace in computes the ideal distance of larger 
note values in a logarithmic scale based on the shortest duration.  Maybe 
this computation needs to be changed for the incipit (and only there!) to 
get tighter spacing in the incipit.


Greetings,
Juergen


___
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 Juergen Reuter



On Sat, 2 Feb 2008, Nicolas Sceaux wrote:


...

I have worked today on a draft, simple incipit engraver, with clef,
key signature and time signature. Might someone comment on it? I have
no experience with that part of the code. If something can be made
more eleguant, please speak :-)



Thanks a lot!  To me, your code looks fine, except for the condition

+  if (clef_)
+clef_ = key_signature_ = time_signature_ = 0;

which probably should be something like:

+  if (clef_ || key_signature_ || time_signature_)
+clef_ = key_signature_ = time_signature_ = 0;

Or maybe completely remove the condition.

However, I see a very important feature missing in this approach:
An incipit should (at least in my view) be thought of as the beginning of 
a piece written in notation that comes close to the autograph or first 
publishing.  That is, the incipit actually starts the music.  Then, at 
some point (e.g. after the clef or after the first note of each voice or 
after the first few notes), the music is reset to its start, the notation 
switches to modern style, and printing starts again, this time from the 
very beginning to the very end.


In particular, as Laura points out, many people want to include one or 
more notes in the incipit.  More generally, virtually any music expression 
could appear in an incipit -- it's just printed in an old-fashioned style 
or otherwise coming much closer to the original.


Thus, the ideal behavior of an incipt engraver would be to ordinary start 
printing the piece, using (for example) a mensural context and the info 
from IncipitClef, IncipitSignature, and IncipitTimeSignature.  Then, when 
the InciptEngraver has done its work, the music should rewind back to the 
very beginning, and ordinary type setting should start.


A couple of weeks ago, I think I already posted the idea of having a 
scheme function, say "\makeIncipit {  }", that takes all 
of the music as argument and creates from it another music expression with 
the incipit.  You could then say something like "\makeIncipt {  } 
" to create the incipit, followed by the actual music.  However 
note, that currently it is not possible to implement such a scheme 
function for several technical details, such as the system start delimiter 
that would also have to be placed *after* the incipit.  Maybe with some 
more changes at your incipit engraver, this engraver can be used to 
actually implement the "\makeIncipit" scheme function.  This is what I 
thought of when I used the word "challenging". ;-)


Greetings,
Juergen


___
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 Juergen Reuter



On Sat, 2 Feb 2008, Nicolas Sceaux wrote:


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


This is just one possible approach.  Template A.5.1 demonstrates a 
different approach.  Apparently, both approaches have limitations/flaws.



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?



Ok, I think I understand the problem.


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.

Maybe creating an incipit engraver, reading new context properties,
like incipitKeySignature, incipitTimeSignature, etc, and creating a
grob of the same nature as the instrument name.



Yes, this idea definitely sounds very reasonable!  Still, implementing 
such an engraver may turn out challenging...


Greetings,
Juergen


nicolas



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


Re: [patch] first-clef property

2008-02-01 Thread Juergen Reuter
Hmmh, maybe I do not understand correctly, but wouldn't it be possible to 
get equivalent behavior with tagged music?  I mean, put both \clef 
commands ('\clef "soprano"' and '\clef "treble"') into the code, put 
different tags on each of them, and then "turn" them "on/off" or switch 
between the two editions by filtering the music for the proper tags.


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.


Greetings,
Juergen

On Fri, 1 Feb 2008, Nicolas Sceaux wrote:


Hi,

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
to print first the ancient clef (which bears some extra meaning, for
instance which particular instrument should play that part), then the
modern one, at the beginning of a piece.

I use a customized version of the \clef command, which allows specifying
two clefs, eg. \clef "soprano/treble". If some option is set, it behaves
like \clef "soprano", otherwise it behaves like \clef "treble", except
at the beginning of the first line, where a little soprano clef is
printed before the treble clef. The first-clef property makes it
possible to detect when it is the beginning of the piece.

The attached patch adds this first-clef grob property. May I apply it?
I understand that it may not be preferable to add code that presumably
would be useful to a single person... but this patch is very tiny :-)
And I've seen some posts showing interest for this kind of feature.

Nicolas





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


Re: Postponed Bugs #83 and #297: "a Someone Else Problem"

2008-01-30 Thread Juergen Reuter



On Tue, 29 Jan 2008, Han-Wen Nienhuys wrote:


2008/1/27, Juergen Reuter <[EMAIL PROTECTED]>:

The ligature events are implemented as 'command-event', like \bar and
\time, which fall in between the notes.This is inconsistent with
start/stop commands like [ ] , but I can't really judge if that is the
best way to do it.


Hmmh, I don't understand.  In Lily 2.7.x, in define-music-types.scm,
LigatureEvent has "(types . (general-music span-event ligature-event
event))", i.e. it is a SpanEvent, or am I missing something?  In Lily
2.11.x, it is implemented as StreamEvent, due to Erik's changes.  How is
this related to "command-event" (which, btw, I could not find in the
sources)?


this distinction is not in the music 'type-system', but rather how the
events are attached to other things.  Beam/slur/etc. start/stop are
attached to the notes, so in

 c4]

the ] starts at the beginning of the note.  Commands like \bar , \clef
and \] are not attached to notes, so for

 c4 \]

the event registers at the end of the note, at the start of the new time-step.



Aah, ok, I see.


I don't know what the best solution is, but for consistency, it would
probably be best if they were attached to notes like beams.


Yes.  Honestly speaking, I did not feel too much comfortable, when the 
post attributes-like "c4[ c4]" kind of notation for slurs and beams was 
introduced.  But you are right, for the sake of consistency, ligature 
notation probably should follow this approach, too (as already mentioned 
in the docs, btw.).



The
downside to attaching to notes is that you would not be able to do

 ligs = { \[ s2 \] }

 <<  { c8 d e f }
   \ligs >>

and have the ligature enclose the 4 notes.



I think this is a non-issue, because having a ligature in one voice 
definitely does not imply that there are simultaneous ligatures in other 
voices.  That is, in the above example, having the ligature enclose the 4 
notes would actually be a bug.  By the way, if you are using ligature 
brackets, there should be only a single voice per staff anyway; otherwise, 
the notation would easily become confusing for the human reader (i.e. 
which ligature bracket belongs to which notes, etc.).





(Oh, you are right, it's difficult to find me on the web, since my old
home page unfortunately died a while ago; there is now a new one at
www.juergen-reuter.de).


maybe you can update the relevant web-pages? That would be a useful
exercise in git use :-)



You should claim sponsoring from the git guys for advertising and 
spreading use of their piece of software among the lilypond community! :-)
Ok, I will eventually try, as soon as I find some time to browse through 
the git docs!


Greetings,
Juergen


--
Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen




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


Re: Postponed Bugs #83 and #297: "a Someone Else Problem"

2008-01-27 Thread Juergen Reuter



On Sun, 27 Jan 2008, Han-Wen Nienhuys wrote:


Juergen (CC-d) is the person who wrote the ligature code, including
the one for the brackets.



Yepp, ages ago (around early 2002)...

I'm looking at the issues now, but there is something I don't 
understand.


The ligature events are implemented as 'command-event', like \bar and
\time, which fall in between the notes.This is inconsistent with
start/stop commands like [ ] , but I can't really judge if that is the
best way to do it.


Hmmh, I don't understand.  In Lily 2.7.x, in define-music-types.scm, 
LigatureEvent has "(types . (general-music span-event ligature-event 
event))", i.e. it is a SpanEvent, or am I missing something?  In Lily 
2.11.x, it is implemented as StreamEvent, due to Erik's changes.  How is 
this related to "command-event" (which, btw, I could not find in the 
sources)?



For issue 297, I can change the formatting to end exactly on the last
note; would that solve the problem?  Juergen?


Probably yes, at least in many cases, as far as I understand.

2008/1/27, Robert Memering wrote

If this is the case, is there any chance I might
sponsor fixing this bug?


Speaking for me personally, it's more a problem of time lacking rather 
than of sponsoring (I even did not yet get acquainted with the git 
versioning system)...  But there may be other people interested.



And, by the way, as I haven't been involved in
Lilypond development: Who is Juergen?



Me! :-)

(Oh, you are right, it's difficult to find me on the web, since my old 
home page unfortunately died a while ago; there is now a new one at 
www.juergen-reuter.de).


Greetings,
Juergen


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


Re: MIDI staffs or voices?

2007-10-28 Thread Juergen Reuter

On Sun, 28 Oct 2007, Paco Vila wrote:


El Sat, 20 de Oct de 2007, a las 11:45:28AM -0200, Han-Wen Nienhuys dijo:

IIRC the real problem is the limits that MIDI imposes (IIRC: you can
have only 15 channels/track);


They are 16, numbered from 1 to 16 (conventionally) but coded 0 to 15 in binary.


Yes, but according to the GM standard channel #10 is reserved for drums; 
hence only 15 are left.


Greetings,
Juergen


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


Re: Update to mf/README

2007-10-02 Thread Juergen Reuter

Hi,

by the way, when creating the ancient font many years ago, I added 
documentation in a similar vein which is now at the top of the files 
parmesan-clefs.mf and parmesan-heads.mf, but is also valid for the feta 
font.  I guess this docu could also be moved to the README file.  However, 
the docu is very old and possibly partially outdated; so it may have to be 
proof-read by someone more qualified/up-to-date than me.


Greetings,
Juergen


On Tue, 2 Oct 2007, Maximilian Albert wrote:


Hi,

long ago I promised to add some info to mf/README about how stem attachments 
work for lilypond glyphs. Here finally is a patch. Since the conclusions I 
drew were derived by trial and error, I may have misinterpreted or overlooked 
something. Thus I'd be grateful if one of the metafont experts could give it 
a quick review. Also, please feel free to modify the wording as you like - I 
keep realizing that in English I find it difficult to write clearly and 
concisely at the same.


Thanks,
Max




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


Re: accidental changes: review

2007-09-26 Thread Juergen Reuter

On Tue, 25 Sep 2007, Han-Wen Nienhuys wrote:


2007/9/25, Rune Zedeler <[EMAIL PROTECTED]>:

+  int octave_;
+  int notename_;
+  Rational alteration_;


Why don't you use a Pitch object for this combination? You would get
Scale* for free.


Primarily because the two values octave_ and has_octave_ are very
closely related.
They really /should/ be joined to an int option - if such a thing did
exist in c++.


you might want to look into making octave optional for pitch; I'm not
sure if it is worth the trouble, but it would make key signatures more
logical to specify.

Otherwise, you could use an int*




I am just curious: Why not introducing a new class "Octaveless_pitch" 
or "Octave_Pitch" (i.e. pitch within an octave) that contains all of 
"Pitch" except for the octaves, and then making "Pitch" a subclass of 
"Octaveless_pitch" that just adds the octaves to its superclass?


Greetings,
Juergen


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


Re: GDP: documentation guidelines

2007-09-23 Thread Juergen Reuter

On Fri, 21 Sep 2007, Graham Percival wrote:

I've updated the README.txt with more guidelines about writing/maintaining 
documentation.  I'll be asking the GDP Helpers to fix any Section organiztion 
and Formatting issues, as well as any Readability or Technical writing issues 
they feel comfortable updating.


If I've forgotten anything from this list, please speak up so we can add them 
now.




I would expect the contents of README.txt to be part of the online 
documentation and therefore available at: 
http://lilypond.org/doc/v2.10/Documentation/user/README
However, obviously this file is not generated from README.txt or at least 
not put into the documentation out directory.  Or is it available under 
some different URL?


I also strongly suggest to put a link to this resource on some prominent 
page, maybe on: 
http://lilypond.org/web/devel/participating/
Otherwise, I think this file is too well hidden to be found by occasional 
documentation writers.


Greetings,
Juergen


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


Re: Lilypond crash in 2.11.32

2007-09-20 Thread Juergen Reuter

On Wed, 19 Sep 2007, Till Rettig wrote:


...
Sounds great! I am really unhappy with the German translation for the binary 
(e.g. ligature is translated as Bindung (sic!)).

...


Ouch, I did not recognize that one yet!  (Maybe that's why/because the 
default language on my machine is set to English...) Yes, of course you 
are right, this should be "Ligatur".


Thanks,
Juergen


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


Re: Lilypond crash in 2.11.32

2007-09-18 Thread Juergen Reuter

On Tue, 18 Sep 2007, Reinhold Kainhofer wrote:


...
Fortsetzung, die Finger kreuzen
Segmentation fault



By the way, I guess a proper translation of "crossing fingers" into 
German would be something like "Daumen druecken"...  Till, what do 
you think?


Greetings,
Juergen


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


Re: Logo for Lilypond

2007-09-14 Thread Juergen Reuter

On Fri, 14 Sep 2007, Jonas Nystr�m wrote:



As I reviewed the website, I thought that perhaps something as simple as
replacing the photograph of the pond with a beautifully-engraved piece of
complex music might improve the first impression.

Carl Sorensen



Exactly! The site should communicate the unique qualities and possibilites
of the program.
Why not doing that the first seconds a new visitor reaches the site, using
nice and clarifying graphics?
Right now, you have to search to find examples that make that clear.

Well, I guess that I should stop talking and try to create something
myself...
Take a look at the attached pictur.

Regards / Jonas



Also very nice, but I suggest _not_ to chose the Jubilate snippet as 
"traditional notation", since it may actually scare new users (e.g. 
observe that the "Ju" in the alto voice is vertically aligned with the 
soprano "bi", although the "Ju" occurs one quarter note earlier than the 
"bi", which may be considered even as a bug, just like the bar lines 
that are missing from this snippet...).


The "Screech and boink" snippet (see Sect. 1.5 in the manual) may be 
another interesting snippet.


Greetings,
Juergen___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: GDP: six

2007-09-14 Thread Juergen Reuter

Just for the record:

Ancient notation _could_ be split genre-wise into two separate chunks 
"Gregorian Chant" and "Mensural Notation".  However, for a _reference_ 
manual, I think it is ok as it currently is (e.g. having a single section 
on ligatures rather than separate ones per genre).  For a _tutorial_, 
however, IMO you definitely would like to split it genre-wise.


Greetings,
Juergen


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


Re: musicxml merge

2007-09-13 Thread Juergen Reuter

On Thu, 13 Sep 2007, Han-Wen Nienhuys wrote:


2007/9/13, Reinhold Kainhofer <[EMAIL PROTECTED]>:

+if filename[-1] == '.':
+filename += "xml"
+elif not re.match ("\.xml$", filename):
+filename += ".xml"

this looks a bit strange.
Do you mean a boolean or here?


No, I'm checking the filename and appending .xml if it's not there (or only
xml if the filename already ends in a "."). The logic is:

If file with given filename exists => Use that filename


both if-bodies are the same. That can't be right.



Isn't the right thing to completely drop the first "if"?  If a user really 
choses a filename that ends with ".", I think the correct behavior 
is to append ".xml" (rather than just "xml").  For example, imagine a 
windows user chosing the filename "This is a complete sentence."  If you 
only append "xml", the dot will disappear from the filename that is 
displayed to the user in the windows GUI.  I think, the correct full 
filename should in this case be "This is a complete sentence..xml".  Or do 
I miss something?


Greetings,
Juergen


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


Re: Logo for Lilypond

2007-09-13 Thread Juergen Reuter

OK. This is a first draft. (but we can just use the character, as Rune
suggested)


Very nice!  It's IMO the best choice for a lily logo that I have seen so 
far.


Greetings,
Juergen


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


Re: GDP: rearrangement

2007-09-11 Thread Juergen Reuter

2007/9/11, Till Rettig <[EMAIL PROTECTED]>:

Hello,


For instance I could imagine
a chapter "Ancient music", and one on educational subjects. At least I
don't see why Ancient is "instrument specific", so why not put it in 7
from the current suggestion, right after educational and special noteheads.




Maybe "genre specific" instead of "instrument specific" is the correct 
term here.  Then, the "vocal music" can also stay in the chapter without 
singers complaining that the the human voice is not an instrument (btw. 
IMO the human voice _is_ an instrument, though a very special one).  But, 
of course, I am also happy if you think that ancient music deserves a 
chapter of its own. ;-)


Greetings,
Juergen


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


Re: GDP: length/page-splitting of subsections

2007-09-10 Thread Juergen Reuter

On Mon, 10 Sep 2007, Graham Percival wrote:


To summarize some discussions:
...

- Does anybody _like_ the current layout?  If so, speak up now or forever 
hold your peace.  :)




I am _fine_ with the current layout.  However, I agree that for 
global searching in the web browser, you need a big html page, as has 
already pointed out by various other people.  However, if you really _cry_ 
for global searching, this fact may indicate that the current index is 
(for whatever reason) unsufficient.


Regarding the current index, I wonder why the items of the command index 
also appear in the large index, thus making it unnecessarily long.  Lack 
of consistency is IMHO another major problem (btw. there is a typo in the 
index as of .32: "\displayLilyMusc" iso. "\displayLilyMusic").  Another 
problem is that documentation writers often do not consider under which 
terms a reader of the manual may try to look up a feature; often only the 
most specific term is used; synonyms or categorizing terms are missing. 
One example (which is most likely my own fault ;-)) is ancient notation: 
if you are looking for "ancient" in alphabetical order, you will not find 
anything in the index.  "Ancient" only occurs in composed terms such as 
"rests, ancient" or as part of the associated section name.  At least in 
the printed version (i.e. without CTRL-F search available) you are lost. 
Similarly, you will find "killCues" only under "k" but not under "cues" 
(i.e. if you do not know the exact name, it will be hard for you to find 
it in the manual).


Furthermore, I would like to see entries like

  \displayLilyMusic: Displaying LilyPond notation
  \displayLilyMusic: Displaying music expressions

rather being structured as follows:

  \displayLilyMusic:
  Displaying LilyPond notation
  Displaying music expressions

Given the large size of the documentation, a single person probably can 
not care for documentation-wide consistency of these (important!) 
nitpicks.  Maybe a general good idea is to collect a couple of "do" and 
"don't" examples as guideline for documentation writers?


Greetings,
Juergen


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


\markup placement (Was: Re: collision barline with accidental)

2007-08-21 Thread Juergen Reuter

Hi all,

while you are at it (I mean, the placement/spacing code, though I am not 
sure if this is anyhow related)...


I noticed that in Manual Sect. 7.7.10.2 ("Gregorian square neumes 
ligatures") the placement of the letters in the neumes table changes from 
almost each version of the lily 2.11.x series to the next release: 
sometimes, the letters appear above the glyph, sometimes below, sometimes 
they are stacked upon each other, sometimes they appear in a horizontal 
row, with these flavors mixing even within the same version of lily...  Is 
this intended behavior?  (N.B.: In lily 2.10.29, the letters are placed 
consistently above the glyphs and in horizontal rows.)


Btw., I do not mind where the letters actually appear, as long as the 
placement is somewhat consistent and it gets clear that each letter is 
associated with a glyph.  Maybe the letters should not be typeset with the 
\markup command, as it is currently done?


Greetings,
Juergen


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


Re: license of Lilypond

2007-08-17 Thread Juergen Reuter



On Fri, 17 Aug 2007, Elie Roux wrote:


Hello,

I'm the developper of gregorio (http://home.gna.org/gregorio/), a software under
GPLv3. I would like to integrate the font parmesan in it, and redistribute the
font under GPLv3. But I can't find in the site or in the source if the files are
"GPLv2" or "GPLv2 or later". In debian they say in the copyright file "GPLv2 or
later", but I'd like to know if it is official.



I guess somewhere it says "GPLv2 or later", but I am not 100% sure. 
Anyway, regarding the parmesan font, if it says "GPLv2" only, personally I 
am also fine with GPLv3.


Greetings,
Juergen


Thank you in advance,
--
Elie



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




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


[PATCH] Bugfix: ancient accidentals mapping

2007-08-03 Thread Juergen Reuter
The attached patch (untested since I currently have no running copy of 
lily, but it's a trivial patch) should fix the wrong mapping of ancient 
accidentals to glyph names, that has recently be introduced.


Greetings,
JuergenFrom de6c6eab76592102d70b9406937b108e75b8bcf8 Mon Sep 17 00:00:00 2001
From: Juergen Reuter <[EMAIL PROTECTED]>
Date: Thu, 2 Aug 2007 17:46:54 +0200
Subject: [PATCH] * Bugfix: correct order in accidentals glyph-name-alist

---
 scm/output-lib.scm |   16 
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/scm/output-lib.scm b/scm/output-lib.scm
index bd3aa52..af454f2 100644
--- a/scm/output-lib.scm
+++ b/scm/output-lib.scm
@@ -398,24 +398,24 @@ centered, X==1 is at the right, X == -1 is at the left."
))
   
 (define-public alteration-hufnagel-glyph-name-alist
-   '((1/2 . "accidentals.hufnagel-1")
+   '((-1/2 . "accidentals.hufnagel-1")
  (0 . "accidentals.vaticana0")
- (-1/2 . "accidentals.mensural1")))
+ (1/2 . "accidentals.mensural1")))
 
 (define-public alteration-medicaea-glyph-name-alist
-   '((1/2 . "accidentals.medicaea-1")
+   '((-1/2 . "accidentals.medicaea-1")
  (0 . "accidentals.vaticana0")
- (-1/2 . "accidentals.mensural1")))
+ (1/2 . "accidentals.mensural1")))
 
 (define-public alteration-vaticana-glyph-name-alist
-   '((1/2 . "accidentals.vaticana-1")
+   '((-1/2 . "accidentals.vaticana-1")
  (0 . "accidentals.vaticana0")
- (-1/2 . "accidentals.mensural1")))
+ (1/2 . "accidentals.mensural1")))
 
 (define-public alteration-mensural-glyph-name-alist
-   '((1/2 . "accidentals.mensural-1")
+   '((-1/2 . "accidentals.mensural-1")
  (0 . "accidentals.vaticana0")
- (-1/2 . "accidentals.mensural1")))
+ (1/2 . "accidentals.mensural1")))
 
 
 
-- 
1.5.2.2

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


Re: dot changes break Gregorian notation

2007-08-02 Thread Juergen Reuter


Sorry for this late answer, but I am still overloaded with work... :-(

On Wed, 11 Jul 2007, Joe Neeman wrote:


On Wednesday 11 July 2007 17:18, Werner LEMBERG wrote:

Joe,


your latest changes break the \augmentum stuff in Gregorian notation.
(Do a search for `augmentum' and compare the example on the web page
created from the current git with the one in
http://lilypond.org/doc/v2.11/Documentation/user/lilypond-big-page


Thanks for the heads-up; I'll have a look soon.



Thanks Werner for pointing that out and thanks Joe for looking into it!

I am also noticing that in the first table in manual Section 7.7.10.2 
(Gregorian square neumes ligatures) the alignment of both the neumes and 
the text is (again/still?) broken: the letters appear sometimes over the 
neumes (e.g. in the line "3. Apostropha vel Stropha"), sometimes below the 
neumes (e.g. in the line "7. Pes Quassus").  Furthermore, few separate 
neumes collide (e.g. in the line "5. Clivis vel Flexa" the neumes that 
are marked with letters "l" and "m").  I do not know if these problems are 
related with your (otherwise excellent!) work; I just want to point out 
that these things broke lately, compared to e.g. lily v2.10.  (N.B.: These 
comments refer to the lily web site as of today, namely

http://lilypond.org/doc/v2.11/Documentation/user/lilypond/Gregorian-square-neumes-ligatures
versus
http://lilypond.org/doc/v2.10/Documentation/user/lilypond/Gregorian-square-neumes-ligatures
).


There are some other spacing problems with the Gregorian stuff -- are
you in the mood to handle this too?


Always happy to fix bugs, particularly if I'm already working on that code.
But I'm not really familiar with pre-Baroque notation so I would need to be
told exactly what needs fixing. It would be good if I had a decent pile of
examples, too, because I'm unlikely to come up with useful ones myself.



Most often, there is too much space after ligatures.  A good example is 
the 2nd line of score in "7.7.12 Mensural contexts" in the 2.11.27 manual 
(the "San - - - - ctus").  The problem is that a ligature consists of 
multiple note heads that are collapsed into a single coherent set of 
glyphs, while lily still tries to distribute remaining space *between* 
these note heads, according to the rythmic duration of each note head.  As 
a result, behind each ligature, the spaces for multiple note heads are 
cumulated.


In fact, for computing the space between musical columns (and only for 
computing the space), all note heads of a ligature should be considered 
like a single note head with an unspecified duration (i.e. assume a 
duration of 0).  On the other hand, for assigning ligature glyphs to 
musical columns, durations do have to be considered, such that e.g. 
ligatures in different lines of the score that start at the same time are 
vertically aligned (this assignment to musical columns is already done by 
the ligature implementation with the help of the 
"Coherent_ligature_engraver::move_related_items_to_column" function).


There are surely more subtle spacing problems, but I think the above is 
the most outstanding and pressing one.  If that one could be solved, 
ancient music should hopefully look much better overall.


Hope that helps!

Greetings & thanks,
Juergen


Joe


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




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


Re: New bug priority: postponed

2007-03-29 Thread Juergen Reuter


FYI: There are vague chances, that in 2008 I will be able to schedule a 
little bit more of my time for lilypond again. ;-)


Greetings,
Juergen

On Wed, 28 Mar 2007, Graham Percival wrote:

About six months ago, there was discussion about a priority level below 
"low"; at the time I argued against it.  I've now changed my mind and added a 
"Priority-Postponed" tag.


Here's my interpretation of the bug priorities:

High, Regression: fix within one or two releases
Medium: fix before next big
Low: might be fixed in one or two stable releases
Postponed: fix would be difficult without major restructuring of the lilypond 
internals, and/or there is no developer actively working in this area.  IMO, 
all ancient notation bugs qualify for this, as do esoteric collision bugs.



Cheers,
- Graham


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




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


Re: Does the center of the staff need to be zero?

2007-03-19 Thread Juergen Reuter

On Mon, 19 Mar 2007, Kevin Dalley wrote:


...
The G clef is correct, if you change your interpretation a bit.  It
confused me for quite a while also.  The documentation needs to be
improved, but I haven't figured out exactly how.

The G-clef is centered around the G note.  The center of the staff at
B above middle C, however many lines there are.

So a 4-line G-clef leaves the G-clef centered around a space,
rather than around a bar.

If you typeset a G note, it will be in the same position on the G
clef.



You are right, but this is not the issue I was trying to point out.  The 
problem is neither of musical nor notational kind, but of typographical 
kind.  Maybe I should have chosen the bass clef as a more evident example:


If you reduce the number of stafflines to 4, the bass clef will always be 
set in such a way, that the two dots of the bass clef glyph collide with 
the stafflines.  The problem is, that the typograhical design of the bass 
clef assumes that the f pitch (the f which the bass clef references) is 
always typeset on a staffline, but not in the space between two 
stafflines, such that the bass clef's two dots are always printed between 
stafflines.  Similar typographical aspects hold for other clefs.


If the y origin of a staff would always be on, say, the lowest staffline 
rather than on the center of the staff, then the bass clef would be 
aligned correctly even on a staff with 4 stafflines.



\new Staff \with {
 middleCPosition = #-2
 clefGlyph = #"clefs.G"
 clefPosition = #2
}


No, unfortunately, the clefPosition property does not help here at all, 
since it shifts the clef by an integer multiple of staffline space, while, 
in the case of an even number of stafflines, it would need to be shifted 
by an odd integer multiple of half a staffline space.


In other words, a clef is typographical designed to be always aligned with 
a staffline, but not to be aligned with the space between two stafflines. 
The only exception that I know of is the drum clef, which is typically 
always centered, regardless of the number of stafflines.


Greetings,
Juergen


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


Re: Does the center of the staff need to be zero?

2007-03-17 Thread Juergen Reuter

Hi, all!

Just a few comments:

Actually, binding the origin to a staff line (e.g. the most lower staff 
line) rather than to the center of the origin (as we currently do) would 
solve the current problem that you have to design clefs explicitly either 
for staves with an even number of staff lines or for staves with an odd 
number of staff lines.  In this sense, I would really welcome such a 
change (even though some of the ancient clefs would then have to be 
shifted by 1/2 staff line in the metafont code)!


If you do not understand what I mean, then just try to apply the ordinary 
G clef to a score with 4 staff lines or 6 staff lines instead of the 
ordinary 5 staff lines.  You will see that the clef will always be off 1/2 
staff line (unless you do some y-offset trickery with backend properties).


However, the drum clef will suffer from such a change, since the drum clef 
is usually always centered on the staff, regardles of the number of staff 
lines.  I think, the drum clef is the only clef for which this problem 
will arise.  Also, I am not sure if there are some serious implications 
of such a change for the pitch squash engraver.


Greetings,
Juergen

On Sat, 17 Mar 2007, Han-Wen Nienhuys wrote:


As far as I can see there is no strict need, fot it to be zero, so if
you have a sensible patch to change it, go ahead and post it.


BTW I know that you have an interesting patch for Lily to make line
configurations more flexible. I'll try to review it this week.

regards,

Han-Wen


2007/3/15, Kevin Dalley <[EMAIL PROTECTED]>:

In LilyPond, using line-positions, the center is required to be at 0,
otherwise there are problems with the created score.  There are a
couple of possibilities.

One is to make the documentations more clear that staffs must be
centered at 0.

The other possibility is to modify LilyPond to take staffs which are
not centered at 0.

I notice 2 areas which need to be modified.  I have a small patch for
bar-line.cc, which otherwise draws the bar line of the correct size,
but centered around 0 rather than centered around the real center.

Ledger lines need some work as well, though there are problems even if
the staff is centered, particularly if the top and bottom lines are on
even positions.

Should I post my patch for bar lines for staffs which are not centered
at 0?







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


Re: exchanged accidentals in MensuralVoice?

2007-02-28 Thread Juergen Reuter

On Wed, 28 Feb 2007, Werner LEMBERG wrote:



[lilypond 2.11.20]

Looking at section 7.7.12, `Mensural contexts', it seems to me that
the sharp and flat accidentals are intermixed.  The `fis' looks like
having a flat accidental, and the bes as if it had a sharp sign.



Right, this looks like a very recently introduced bug.  Note that in 
section 7.7.2, where the glyphs are immediately addressed with 
"\musicglyph", the glyphs are ok.  Hence, I suspect there must be 
something broken in the accidental->glyphname mapping.


Greetings,
Juergen


My knowledge of ancient music is too limited to decide whether this is
correct or not.  In case it is correct, it would probably deserve a
comment somewhere.


   Werner




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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Juergen Reuter

Hi, all!

What about unifying "\paper" and "\layout" into a single "\layout" 
directive, such that in the input language there is no syntactical 
difference any more between \paper and \layout block?  (Of course, in the 
implementation, the different scopes still could be kept.)  Then the place 
where the \layout occurs in the .ly file determines which properties can 
be changed (that is exactly what scopes are about).


Obviously, if someone operates in the wrong scope, i.e. if someone tries 
to change things on score level \layout block which only should be changed 
globally (such as paper margin), lily should emit a warning.


Greetings,
Juergen


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


Re: medieval font design

2007-02-04 Thread Juergen Reuter

On Sat, 3 Feb 2007, Till Rettig wrote:




Juergen Reuter wrote:


Hi, Till!

My personal experience is that you have to fine tune the glyphs anyway; 
hence, determining just a few coordinates should suffice (this can be 
easily done manually if you have a really big printout of the scan).
Do you mean by using xfig or inkscape or by defining the metafont source 
directly?


Of course, you can use xfig to create some self-contained mf source code 
(though I never tried).  However, note that lilypond glyphs typically 
refer to predefined values such as notespace or staff_space of 
stafflinethickness and should call lily-specific macros such as 
fet_begingroup or set_char_box rather than the corresponding native mf 
equivalents.  That is, you would have to rewrite most parts of the 
xfig generated mf code anyway.  You will get off probably better if you 
use some existing glyph as a template, duplicate and modify it.


However, as far as I know, stems are currently drawn dynamically by just 
creating rectangles on the fly, rather than outputting a fixed glyph.  The 
reason for doing so is that the actual stem length in general depends on a 
lot of other things, and therefore there is no fixed stem glyph. 
Oh, this sounds logicalt, but I think for the ancient notation there is no 
need to have different lenghts -- well, lets put it that way: in petrucci 
prints there *is* no different length, and in manuscripts naturally there is 
one.


True, but there is currently no infrastructure for typesetting stem 
glyphs.  So either you would have to provide this infrastructure in 
lily/stem.cc (could turn out to be tedious).  Or, probably much easier, 
you compute the polygon on the fly (provided that the calculation of the 
polygon's points is not too complex).


But it doesn't seem to differ that much as in modern notation mainly due 
to the fact that there are no beams.


Not only.  Stems may also be shortened to avoid colissions; notes on 
ledger lines may have shorter stems for aesthetical reasons; and I think 
there are a couple of other reasons.


Greetings,
Juergen


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


Re: medieval font design

2007-02-01 Thread Juergen Reuter

On Thu, 1 Feb 2007, Till Rettig wrote:


Hei,

I am slowly evolving in my ideas and trials on the "ancient" fonts for 
lilypond. So far I have a couple of good scans from which I would like to 
take the shapes. But how is the best to get them into metafont? I found 
something about mfpic (probably not good in this case), fig2mf (sounds 
already better) and ps2mf (this might be the best?). But are they good, can 
they do the job? I am so far imaginating that I would take the scans as a 
picture and then kind of draw around them inside of a vector programm. This 
would give them at least a really "handwritten" lining. The other idea that 
somehow sounded logical to me was the way suggested in the fontforge 
tutorial: designing a glyph by setting points at the outline of the glyph 
until there are enough points to describe the form. But how is this done for 
instance in xfig? (As far as I understand fontforge doesn't export to fm).
I acknowleged the fact that I will have to learn something about metafont 
anyways, I thought I would go through the metafont tutorial by Christophe 
Grandsire, this is old but since the program seems to be the same... At the 
moment it just seems that I won't be able to draw the wanted forms 
nonvisually, that is in the way that I would just write a mf file.




Hi, Till!

My personal experience is that you have to fine tune the glyphs anyway; 
hence, determining just a few coordinates should suffice (this can be 
easily done manually if you have a really big printout of the scan).


Then about the single parts of the font (now for some white and black 
mensural notation): I will create noteheads and stems extra, but since the 
stems in some cases will have a form like the stem from the ! sign (bigger at 
top), they won't fit together with the flags. So should there be a separate 
flag + stem or rather a stem-flag combination?




For each glyph, a charbox must be specified, such that lily knows how 
wide/high the glyph is.  In practice, a glyph may stick out of the charbox 
(even though you probably should have a good reason to do so).  In this 
case, I think sticking out glyphs could be useful; see attached drawing 
(suppose that the blue curve represents the stem, the red curve the flag, 
and the dotted lines the corresponding (simplified) charboxes).


However, as far as I know, stems are currently drawn dynamically by 
just creating rectangles on the fly, rather than outputting a fixed 
glyph.  The reason for doing so is that the actual stem length in general 
depends on a lot of other things, and therefore there is no fixed stem 
glyph.  I guess the stem printing code in lily/stem.cc would need to be 
slightly revised to enable printing of stem glyphs.  Or, even better, if 
you could express the stem by a polygonal shape and, given a stem length, 
devise a method for determining this polygonal shape's coordinates, then 
polygonal stems could be drawn on the fly in lily/stem.cc, analogous to 
the rectangular stems that we currently have.


And still the idea about introducing some variability to mimick the 
handscribe, that is to have about four or five slightly different glyphs that 
would be used in arbitrary order. Is something like this possible in 
lilypond?




Should be basically possible, if you modify lily/stem.cc accordingly. 
However, I guess the result would not look beautiful, since the 
"arbitrariness" of hand-writings actually comprehends a very complex 
process of balancing unevenness; I fear that simulating this process based 
on just some random numbers will not work well.


Greetings,
Juergen


Ok, so far
Greetings
Till
<>
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: valid html?

2007-02-01 Thread Juergen Reuter


Nope, not a bug.  The problem is that "&" characters in http references 
must be escaped (I think by "&").


Greetings,
Juergen

On Thu, 1 Feb 2007, Bertalan Fodor wrote:


I think that's a bug in the validator :-)

Bert

Korneel írta:

This little note, only to say that your current homepage does NOT validate
through this URL: http://validator.w3.org/check?uri=referer

Best wishes and please continue developping this wonderful software!
Korneel



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






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


Re: proposal: second style for quartertone accidentals

2007-01-31 Thread Juergen Reuter

On Mon, 29 Jan 2007, Han-Wen Nienhuys wrote:


. So it seems that the use of "Accidental #'style" is deprecated and one
should set the alteration-alist directly. (But changing the style
property still works in v2.11.13, even if I don't know why, given that I
couldn't find the code handling it). What is the reason for this? To me
the former notation seems much more intuitive and easy to use.


The recent microtone improvements needed a much more flexible way to map
pitches onto symbols, and it seems superfluous to have two mechanisms for
setting glyphname at the same time.  It would be possible  to have a
mechanism to set the alist based on the style property, but I thought it
would be overkill.



Maybe I should re-propose an idea that I posted maybe 5 years ago, but 
which was considered overkill at that time.


Styles could be defined in a cascaded way.  Say, there is an Accidental 
style "default" that just maps the standard non-microtonal accidentals to 
the modern accidental glyphs.  The style should be however undefined for 
microtonal accidentals.  Now, suppose that there is another style 
"arrow-microtonals" that only maps microtonal accidentals to arrow-style 
glyphs, but keeps silent on non-microtonal accidentals.  Then it would be 
nice for the lily user to compose a style by setting a list of such 
predefined styles:  "\override Accidental #'style = #'(arrow-microtonals 
default)".  That is, for each accidental, lily should first search in the 
"arrow-microtonals" mapping if the acciental is mapped to some glyph.  If 
no glyph is defined in this mapping, lily should look at the next mapping 
"default".  That is, you get a combination of standard modern accidentals 
with arrowed microtonals.


There is one downside:  If the style "default" defines only the glyphs for 
non-microtonal accidentals, one always has to explicitly set a microtonal 
style, if microtonals are to be used.  In other ways, the value for the 
style property tends to become a long list.  In order to fix this 
downside, one may also allow a style to "import" further styles.  For 
example, suppose accidental style "standard" implicitly imports 
"non-arrow-microtonals".  That is, if you set "\override Accidental 
#'style = #'(default)", you also implicitly get non-arrow-microtonal 
accidentals, just as if you would have said "\override Accidental #'style 
= #'(default non-arrow-microtonals)".  Note that you still can say 
"\override Accidental #'style = #'(arrow-microtonals default)".  This will 
effectively override the non-arrowed microtonals that are implicit in the 
default style with arrowed microtonals, because the arrowed microtonals 
mapping occurs earlier in the list.


Another downside of this approach could be performance, since each glyph 
lookup would result in iterating through nested scheme lists.  Maybe, a 
sophisticated caching or precomputing approach could alleviate any 
performance issues.


No, unfortunately I have currently no time to work on this :-(.  These are 
just generic thoughts...


Greetings,
Juergen


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


Re: proposal: second style for quartertone accidentals

2007-01-27 Thread Juergen Reuter

On Sun, 28 Jan 2007, Juergen Reuter wrote:


...
Unfortunately, the code for checking and handling the Accidental style 
property is still hardcoded in lily/accidental.cc in method


string
Accidental_interface::get_fontcharname (string style, int alteration)

rather than being handled at runtime through scheme code, as is done with 
notehead style in the scheme function note-head::calc-glyph-name in file 
scm/output-lib.scm.

...



Ooops, I just recognized that accidental handling obviously has changed 
during the last two months.  Accidentals are now indeed handled via 
scheme; see scm/output-lib.scm for details.


Greetings,
Juergen


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


Re: proposal: second style for quartertone accidentals

2007-01-27 Thread Juergen Reuter

Hi, all!

Please note that we already have a style property for Accidental grobs. 
For example, for yielding ancient notation accidentals, you may say:


\override Accidental #'style = #'vaticana

Hence, the natural way is to introduce another style for 
different microtonal glyphs.  They are not present in standard western 
europe ancient notation and therefore do not collide with ancient 
accidental styles.  Hence, it is natural to introduce a new Accidental 
style, say, for example:


\override Accidental #'style = #'arrowed

or maybe even better

\override Accidental #'style = #'default-arrowed

to indicate that the non-microtonal accidentals are still to be taken 
from the default font, i.e. default and default-arrowed only differ in 
microtonal glyphs.


Unfortunately, the code for checking and handling the Accidental style 
property is still hardcoded in lily/accidental.cc in method


string
Accidental_interface::get_fontcharname (string style, int alteration)

rather than being handled at runtime through scheme code, as is done with 
notehead style in the scheme function note-head::calc-glyph-name in file 
scm/output-lib.scm.


The input syntax ("aeh", "aesih", "gisih", etc.) should probably be 
independent from the above selection of glyphs, as we usually try to 
strictly separate musical content and engraving style.  Considering this 
principle, maybe the right thing is -- similarly to including proper 
internationalized notenames -- the user to \include his/her favourite 
naming scheme at the beginning of the user's .ly file.


Greetings,
Juergen


On Sat, 27 Jan 2007, Trevor Ba�~Ma wrote:


On 1/27/07, Orm Finnendahl <[EMAIL PROTECTED]> wrote:

Am 27. Januar 2007, 12:06 Uhr (-0600) schrieb Trevor Bača:
>
> Question: would it be possible to have access to *both* sets of
> glyphs? It seems to me that I've seen both types of glyphs mixed
> together in single scores; usually the existing quartertone glyphs
> show exact quartertone alterations while the arrowed glyphs show
> approximate alterations.
>

Well, my proposal meant to be completely backwards compatible. I
thought about something similar to the "notehead-style" property like
saying

\override #'accidental-style = "arrowed"

for getting the arrowed accidentals and

\revert #'accidental-style

for switching back.


Ah, OK. I very much vote yes. I've wanted the arrowed glyphs for quite
some time and would like to see them as part of the standard
distribution.


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


Re: Lilypond font design

2007-01-17 Thread Juergen Reuter

On Tue, 16 Jan 2007, Till Rettig wrote:


Hei,

I was wondering if I could start some contribution to the medieval
notation support


That would be great!


via redesigning the fonts that in my opinion don't look
very good. Especially referring to the mensural notehead style (I think
the petrucci looks quite fine, but neomensural and mensural heads are
lot too small and also a bit boring, eg. too conform).


Agreed.  I have been mainly concentrating on Vaticana style and Petrucci 
style.  As Werner already indicated, the ancient font was written before 
Lily used fontforge et al.  Therefore, the glyphs do not follow all 
prerequisites that Lily glyphs are nowadays supposed to consider (in 
particular, there are some metafont constructs, that should not be used). 
Personally, I had so far no time to convert them.  So, if you design new 
glyphs, please follow the guidelines that Werner mentioned.


Also, you should be aware of some subtle optical pitfalls such as the fact 
that e.g. the slightly thickened lines on the lower left and upper right 
of the semibrevis head make the head look asymetrical, which you may want 
to compensate by its geometry (IIRC this is partially commented somewhere 
in the .mf files).



I know there are
thouthands of styles due to the fact that everybody wrote their own
style, but we might choose from them one  that would be really nice
looking (kind of the same as the feta font does). I am not yet quite
finished with my thinking how the heads really should look, but I think
a really nice overall look gives the Copenhagen chancionnier, Burgung,
late 15th century. Compare for example this page: 
http://base.kb.dk/pls/hsk_web/hsk_vis.side?p_hs_loebenr=27&p_sidenr=8&p_illnr=0&p_frem=20&p_tilbage=9&p_navtype=rel&p_lang=dan

or others from this book.



For experimenting, maybe at first you want to introduce a new style 
(similarly to the Petrucci style)?  Later, if your glyphs are mature, you 
still can replace the mensural/neo-mensural glyphs with those from you.



So I would like to hear some opinions on this issue and also some hints
about how Lilypond's fonts work (fontforge doesn't show any glyphs on
the emental and I have no idea how to open svg fonts nor how they work).

Also other issues about the mensural notation support could be solved,
especially spacing (as in the picture), then those ligature issues. And


Most spacing problems in ancient notation are related with the spacing 
engine, rather than with the font (actually, the bounding boxes of the 
ancient glyphs should be fairly good).  You may find some further hints 
as comments in the lily/*ligature*.cc files as well as in 
ly/gregorian-init.ly and the ancient context definitions in 
ly/engraver-init.ly.


A couple of months ago, I figured out three places in the spacing engine 
which have to be tweaked in order to get equally tight spacing (although 
these changes also affected spacing of clefs, accidentals, etc., which is 
not desirable).  However, many things have changed since then in the 
spacing engine.



it would probably be convenient to have also a kind of init file same as
for the gregorian notation style.



Agreed.  Especially, one may want move stuff from engraver-init.ly to a 
mensural-init.ly.  On the other side, then the user will have to add a 
"\include mensural-init.ly", which you currently do not need to do (as the 
definitions in engraver-init.ly are automatically imported).  I am not 
sure about this point (i.e. having clearly separated definitions that you 
manually have to import versus putting them into engraver.ly and friends 
versus having them clearly separated but automatically always importing 
them).



On a later plane I would also like to have integration of other styles
of mensural notation, even starting from the modal notation of the 12th
century France.



Yes, sounds interesting.  Also, mannered notation would be nice.  However, 
be aware that you easily end up in a kind of bottomless pit.  I think the 
real challenge here is to make the associated mechanisms on the C++ level 
more flexible (spacing engine, glyph selection, ...), such that you have 
sufficient infrastructure in order to plug-and-play styles on the scheme 
level.


Greetings,
Juergen


Greetings
Till



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




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


Re: Re-write of documentation tree build process

2006-12-21 Thread Juergen Reuter

On Thu, 21 Dec 2006, John Mandereau wrote:


...
> doctype = '\n'
> s = doctype + s
Does the 'EN' means that the page language is English? If so, it should
be modified to handle pages of any language.


No.  The whole string is just the ID of the HTML DTD and thus does not 
change as long as you stick to HTML 4.01 Transitional).  See:

http://www.w3.org/TR/html4/struct/global.html#h-7.2

I am not sure about the exact meaning of the "EN" within the DTD ID 
string; you probably would have to look into ISO 8879; but that's not 
online available, as far as I know.


Greetings,
Juergen


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


Re: replacement for pfx2ttf.fontforge

2006-12-15 Thread Juergen Reuter

On Fri, 15 Dec 2006, Werner LEMBERG wrote:




I don't know, if this matters, but in ancient notation, there
definitely is an "ij" ligature (as well as an "IJ" ligature) that is
quite often used as a textual repetition directive in lyrics.  I
hope the according definitions at the very beginning of
ly/gregorian-init.ly will still work and handled as ligatures?


Ah, we use different terminology.  With *ligature* I mean the process
of mapping the input character sequence `I' + `J' to `IJ', not the
*ligature glyph* `IJ' -- this is still there, of course.




Ah, ok; then I am relieved! ;-)

Greetings,
Juergen


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


Re: replacement for pfx2ttf.fontforge

2006-12-15 Thread Juergen Reuter


I don't know, if this matters, but in ancient notation, there definitely 
is an "ij" ligature (as well as an "IJ" ligature) that is quite often 
used as a textual repetition directive in lyrics.  I hope the according 
definitions at the very beginning of ly/gregorian-init.ly will still work 
and handled as ligatures?


Greetings,
Juergen

On Fri, 15 Dec 2006, Werner LEMBERG wrote:




Well, my tests have worked.  BTW, there are other ligatures also:

  I+J -> IJ, i + j->ij

I think those two should be removed also (just think of
Strawinskij).


This is now in the git repository.


   Werner


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




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


Re: dejavu kievan notation message

2006-12-08 Thread Juergen Reuter
Actually, as far as I can see, it was not a repeat, but a delay of one 
week.  Maybe you were not subscribed to this list when you sent it, and it 
was therefore sent to the list moderator for manual approval.


Anyway, it's nothing to worry about. ;-)

Greetings,
Juergen

On Thu, 7 Dec 2006, Monk Panteleimon wrote:

Hi. Just got a lilypond-devel email with first message about kievan notes in 
it again. I'm not sure how that happened, but I'm sorry for the repeat.

Fr. P


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




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


Re: link to Kievan Notes page

2006-12-05 Thread Juergen Reuter

On Tue, 5 Dec 2006, Han-Wen Nienhuys wrote:


- the length of 8th note stems varies between 2 and 2.5 staff space.
What's the reasoning behind this?



As far as I understand, it is the same idea behind it as for custodes and 
mensural flags: for notes that are on stafflines, you have a different 
stem/flare length than for notes between stafflines.


See, e.g. in custos.cc:

...
  if (adjust)
font_char += (((pos ^ sz) & 0x1) == 0) ? "1" : "0";
...

or in stem.cc:

...
/* Mensural notation: For notes on staff lines, use different
   flags than for notes between staff lines.  The idea is that
   flags are always vertically aligned with the staff lines,
   regardless if the note head is on a staff line or between two
   staff lines.  In other words, the inner end of a flag always
   touches a staff line.
*/
...

I am only wondering why this adjustment for 8th note stems is applied for 
downward stems only, but not for upward stems.  I guess, it should be 
applied to both.


Greetings,
Juergen


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


Re: There no ligatures in Kievan notation (was Re: Kievan "hatchet" notes for lilypond?)

2006-12-01 Thread Juergen Reuter

On Thu, 30 Nov 2006, Monk Panteleimon wrote:


On Thursday 30 November 2006 06:01, you wrote:

Hello, Panteleimon!


Hello, thank you for your response


I fear the task of fully implementing kievan chant notation is more than
just a question of adding thirteen glyphs.
recognize at least pes ligatures (those pairwise stacked rhombic glyphs)
and clivis ligatures (e.g. the third glyph in the last line of the long
example).


Actually, those are not ligatures, and there are no ligatures at all in Kievan
notation. The two stacked diamond-shapes you refer to are simply a half note.
They refer to the space inbetween the two diamonds, in this case "mi" or
b-natural. If the diamonds where in spaces, they would refer to the line
in-between. The "squiggly-with-stem" and "double-diamond-with-stem" notes
that also seem to take up several spaces are not ligatures either, just 16th
notes. (By the way, the durations I cite are doubled by some transcribers in
order to have a whole-note as the longest duration, but this gives an
incorrect impression of the flow of the chant).



Ok, I understand.  This, of course, simplifies things a lot.  Then the 
main task really should be to incorporate these glyphs into lily.  Though 
I unfortunately have to confess that I currently have no time at all to 
care for it (I am currently working hard on a thesis, and my remaining 
time is running out soon).  Maybe Han-Wen/Jan would do it as a sponsored 
feature?


I am not sure what is the latest state of incorporating new glyphs into 
lily; so far, we used to have to design glyphs by manually writing 
Metafont code, which may result in high-quality glyphs, but is also an 
extremely time-consuming process.  But nowadays, lily supports a couple of 
font formats.  Maybe there is a simpler way of getting font characters 
into lily, e.g. by scanning + tracing them?


Han-Wen, Werner, what do you think?

In any case, I guess you would at least need to have high-resolution scans 
of hand-writings or printings (which should be sufficiently old in order 
to not violate copyright laws).



To me, the notation looks structurally quite similar to gothic
(also called "hufnagel") chant notation, though the glyphs are somewhat
different.


I would be interested to know what notation looked like in Poland in the
1600's, to see if it has  a parent for this style



Unfortunately, I am not familiar with Polish ancient notation.  Still, 
since (at least the northern and western part of) Poland is mostly 
Catholic rather than Orthodox, I strongly guess that they used gothic and 
Roman (i.e. square) neumes, as well as mensural notation.  I suspect, 
however, that it may be different for those parts of Poland near to the 
Ukrainian or Russsian border.



As I understand it, the only things necessary *besides* adding the glyphs
would be:

1. Spacing according text syllable. This is the only way notes are spaced in
this chant, as you can see. There is a small &  even block of space between
each textual syllable, all the notes whereof are equidistant and very close.
%%%(This is part of what makes this notation better for Znamenny Chant, being
closer in this regard to the neumatic origins and taking up less space for
long, involved melismata. It looks ugly if you try to do it with round
notes.)%%%
My hope is that this can be accomplished simply making slurs invisible in the
kievan-init.ly file |  Slur #'transparent = ##t  |
and then convincing lilypond to put an appropriate block of space between
syllables. At first I thought that this could be done with LyricSpace
#'minimum-distance , but that would only work for short syllables.



Right.  There are a tricks that will force lily to typeset notes rather 
densely, thus resulting in almost what you probably would like to get. 
Still, I do not know how you could achieve strictly equidistantly and 
densely spaced noteheads within melismas.



2. Right now we can set shaped noteheads in LP like this:
\set shapeNoteStyles = ##(fa # la fa # la mi)
(or something like that).  We'd have to do something similar but different in
the init.ly for kievan, since several symbols (the quarter and the eight)
have slightly different forms for lines and spaces. These differences are
very important to the overall look of the music. Note that they differ  not
to according scale-position (like shapenotes) but according to whether they
are on a line or space. That means that g,8 looks different from g8


There is currently support for line/space glyph distinction for custodes 
and mensural flags in the c++ backend.  It should not be too hard to also 
add it for noteheads, but I guess Han-Wen will not be too happy to add new 
program logic to the c++ backend.  Hence I guess, for the long term, this 
cries for migrating the whole logic to scheme.



Furthermore, the eigth note (block with long tail) has not two but *four*
slightly different forms: two for stem-up and two for stem-down.



Just like with the custos glyphs, I guess.


I th

Re: Kievan "hatchet" notes for lilypond?

2006-11-30 Thread Juergen Reuter

Hello, Panteleimon!

I fear the task of fully implementing kievan chant notation is more than 
just a question of adding thirteen glyphs.  In your example, I believe to 
recognize at least pes ligatures (those pairwise stacked rhombic glyphs) 
and clivis ligatures (e.g. the third glyph in the last line of the long 
example).  To me, the notation looks structurally quite similar to gothic 
(also called "hufnagel") chant notation, though the glyphs are somewhat 
different.  For a full implementation, beyond the glyphs, a proper 
ligature engraver would have to be implemented.  I guess, it's 
implementation would look quite close to that of gothic notation, which is 
on my TODO list, but I probably will not be able to start working on it 
earlier than in late 2008.  And the horizontal spacing problems, which 
vaticana ligatures currently have, will probably also apply to kievan 
ligatures (but I will definitely work on this problem).


Still, adding those glyphs that are not part of ligatures (sole note 
heads, clefs, custos, accidentals, etc.) would be a good starting point 
(any volunteers?).


Greetings,
Juergen

On Wed, 29 Nov 2006, Monk Panteleimon wrote:


Hello, developers of Lilypond.

I submitted to the lilypond-user list a queru regarding the possibilty of
adding symbols for kievan chant notation to lilyponds "feta" font.
I got no response, but thought I'd try the developers, specifically those
involved with older notations.

I have counted thirteen symbols that would need adding to lilypond's font
(presumably as "noteheads,"  with their stems included, two "dots" and
one "clef") in order to enable lilypond to imitate the Chant-books of the
Russian Orthodox Church. I have no idea how to make such characters, or how
to fit them into lilypond, so I'm asking this to be added as a sponsored
feature.

Being a monk I have no personal money, but if the lilypond-developers can give
me an estimated cost of sponsorship for the addition of these symbols, then I
believe that I may be able find several people interested enough to support
the feature, even if they are not already lilypond-users. I am thinking of
some Russian Chant enthusiasts and people already developing ways to
digitally reproduce Russian Liturgical books.

I have attached 2 images, one extracted from a pdf-scan of a Russian Chant
book from 1909, another being someone's attempt to reproduce this using a ttf
that is typed in to a word-processor. It should be obvious which is which. If
you like I can point out the short-comings of the ttf version.
I can also tell you what the symbols are and point you to some online
explanations of this simple notation, although I would warn you that there
are two practices of interpreting the durations of these notes, of which
practices the less accurate is the more common.

If for some reason you are adverse to adding these symbols to lilypond's
vocabulary, please let me know.
You can download complete books in kievan notation in .pdf from this page:
http://www.seminaria.ru/raritet/quadsborn.htm

Thank you for your time.

Monk Panteleimon
Hermitage of the Holy Cross
Wayne, WV USA
[EMAIL PROTECTED]
http://www.holycross-hermitage.com/
http://www.holycrosskliros.org/






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


Re: skyline vertical spacing

2006-11-14 Thread Juergen Reuter

On Tue, 14 Nov 2006, Werner LEMBERG wrote:


...
I've already `converted' all symbols except the one for ancient
notation -- Jürgen, do you have time to work on improving the glyph
shapes of the ancient notation so that mf2pt1 produces sensible
results?



Mmmh, looks currently really bad: during the next couple of months, I 
still have to work on my thesis, but I am severely behind schedule... 
Sorry!


Greetings,
Juergen___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: skyline vertical spacing

2006-11-14 Thread Juergen Reuter


Maybe the real point here is that for almost all glyphs we want to have a 
_convex_ outline (such that e.g. stems do not extend into glyphs) rather 
than a tight skyline?


On Tue, 14 Nov 2006, Han-Wen Nienhuys wrote:


Werner LEMBERG escreveu:

I'm not sure whether an automated process really gives satisfactory
results.

The skyline could approximate the real outline with arbitrary
precision.  What's the problem?


It's the opposite.  A too-good approximation of the outline might be
too tight.


It should be easy to fatten an outline to get some extra padding. Making 
outlines by hand will be error prone, and time consuming, as they have to 
scale exactly with all the MF parameters.






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


Re: warnings during `make web'

2006-11-08 Thread Juergen Reuter

On Mon, 6 Nov 2006, Juergen Reuter wrote:


On Mon, 6 Nov 2006, Han-Wen Nienhuys wrote:

Without knowing the details, I think it is easiest to define a 
LigatureNoteHead or XLigatureNoteHead, and a  XxxxLigature in 
define-grobs.scm.  (X = Gregorian, Vaticana, Coherent, Mensural)


By copying some definitions of the NoteHead grob, some C++ of Note_head can 
be shared.


A special XXX_Ligature engraver will create those heads, and arrange them 
correctly within the appropriate XxxxLigature. If the XLigature is an 
Item, then it will be on a single PaperColumn.  By putting the 
XxxxNoteHeads on the XLigature Item, the notes will also be on the same 
PaperColumn. The XxxxLigature knows all of the ligature contents, and 
hence, it can determine the final desired shape.




Ok, this may work provided that there is no code elsewhere in lily that 
receives grobs, looks into them and does some things if and only if this grob 
is a NoteHead.  Otherwise, this code would not apply to ligature heads, thus 
failing special treatment of note heads that should also apply on ligature 
heads.  I actually tried this approach a couple of years ago, and it did not 
work for this reason.  Of course, lily has changed dramatically since then; 
probably I should try again.




Actually, the above approach will not work without further modification:

Currently, note-heads-engraver.cc listens for note events and creates 
NoteHead grobs; the ligature engraver "takes over" these note heads and 
manipulates them.  To follow the above approach, I would have to make the 
note heads engraver stop producing note head grobs (and instead let the 
ligature engraver produce LigatureHead grobs).  But how can I achieve 
this?  Removing the note heads engraver completetly from its context is no 
option, since both usual note heads as well as ligatures have to appear in 
the same context.


So, how can I signal the note heads engraver that a ligature is in process 
and that it should stop producing note heads?


Greetings,
Juergen


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


Re: warnings during `make web'

2006-11-06 Thread Juergen Reuter

On Mon, 6 Nov 2006, Han-Wen Nienhuys wrote:



Juergen Reuter escreveu:
Ok, this may work provided that there is no code elsewhere in lily that 
receives grobs, looks into them and does some things if and only if this 
grob is a NoteHead.  Otherwise, this code would not apply to ligature 
heads, thus failing special treatment of note heads that should also apply 
on ligature heads.  I actually tried this approach a couple of years ago, 
and it did not work for this reason.  Of course, lily has changed 
dramatically since then; probably I should try again.


this is usually done by inspecting whether the 'interfaces property contains 
'note-head-interface




Ah, ok.  This is valuable information to know!  Thanks!

Greetings,
Juergen


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


Re: warnings during `make web'

2006-11-06 Thread Juergen Reuter

On Mon, 6 Nov 2006, Han-Wen Nienhuys wrote:

The formatting backend doesn't use subclassing at all, except for the spanner 
vs. item distinction. Therefore, subclassing by definition is the wrong 
approach. How to organize code should be decided by looking which code is 
shared. This is easiest to find out by first writing the code independently 
from the existing code, and then collapsing the common parts.


Without knowing the details, I think it is easiest to define a 
LigatureNoteHead or XLigatureNoteHead, and a  XxxxLigature in 
define-grobs.scm.  (X = Gregorian, Vaticana, Coherent, Mensural)


By copying some definitions of the NoteHead grob, some C++ of Note_head can 
be shared.


A special XXX_Ligature engraver will create those heads, and arrange them 
correctly within the appropriate XxxxLigature. If the XLigature is an 
Item, then it will be on a single PaperColumn.  By putting the XxxxNoteHeads 
on the XLigature Item, the notes will also be on the same PaperColumn. 
The XxxxLigature knows all of the ligature contents, and hence, it can 
determine the final desired shape.




Ok, this may work provided that there is no code elsewhere in lily that 
receives grobs, looks into them and does some things if and only if this 
grob is a NoteHead.  Otherwise, this code would not apply to ligature 
heads, thus failing special treatment of note heads that should also 
apply on ligature heads.  I actually tried this approach a couple of years 
ago, and it did not work for this reason.  Of course, lily has changed 
dramatically since then; probably I should try again.


IF my hunches are correct, most of the code will collapse and disappear 
because of improvements in the rest of LilyPond.


I don't think so.  Most of the code is about matching grobs and moving them 
from different paper columns into a single one, determining the correct 
glyph for each notehead by evaluating local and neighbour heads' 
properties, adding new grobs (such as vertical lines) in the right place, 
collecting dots from different heads in different paper columns and moving 
them into a single dot column (I am already using DotColumn!), etc.


Moving stuff around between paper columns should not be done in the 
typography backend.




Sorry, I was imprecise.  Moving stuff around between paper columns is done 
in the engravers, of course.


Greetings,
Juergen


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


Re: warnings during `make web'

2006-11-06 Thread Juergen Reuter

On Mon, 6 Nov 2006, Han-Wen Nienhuys wrote:


Juergen Reuter escreveu:
One theoretical solution would be to introduce a new "ligatureheads.cc" 
file instead of using the "noteheads.cc" functionality.  However, it turned 
out that almost all of the functionality of noteheads.cc would 
have to be cloned.  Even worse, some other parts of lily call methods in

noteheads.cc (at least in earlier versions of lily they did; I have not


This might have been true when you added this stuff (~ 4 years ago, I think), 
but nowadays, note-head.cc has 7 routines, of which 3 aren't used anywhere 
else.  For good measure, I just removed Note_head::get_balltype() as well. 
The other routines have to do with stem attachments, which aren't applicable 
to ligatures anyway.




Ok, I will eventually check.  (BTW, I suspect there are a bunches of 
unused #include's that could be removed...)


The easiest solution that I can see is to tolerate little polution of 
"noteheads.cc" and just add the missing interface declaration at the end of 
this file.  However, that's not my decision...


I think that this is going about the problem in the wrong way. Given how much 
lily has changed over the years, the proper solution IMO is to redo the 
ligature stuff completely.


Mmmh, but how?  Given, that things have changed, as you state, do you 
think there should be a completely new "ligatureheads.cc"?  If so, should 
I clone the print and internal_print methods or rather try to create a 
subclass?  I think a ligature primitive _is_ a special note head, so 
modeling it as a subclass does not sound bad, even if stems are not used.


IF my hunches are correct, most of the code will 
collapse and disappear because of improvements in the rest of LilyPond.




I don't think so.  Most of the code is about matching grobs and moving 
them from different paper columns into a single one, determining the 
correct glyph for each notehead by evaluating local and neighbour heads' 
properties, adding new grobs (such as vertical lines) in the right place, 
collecting dots from different heads in different paper columns and moving 
them into a single dot column (I am already using DotColumn!), etc.


I do not see any similar code elsewhere, so I am confident that the code 
would not remarkably collapse.


Greetings,
Juergen


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


Re: warnings during `make web'

2006-11-06 Thread Juergen Reuter

On Mon, 6 Nov 2006, Han-Wen Nienhuys wrote:


Werner LEMBERG escreveu:

Consider the test file apply-output.ly.  During `make web', extended
debugging is active, and processing the file gives this warning:

  programming error: Grob `NoteHead' has no interface for property `text'
  continuing, cross fingers


Hanwen, do you have an answer to my original question?  Or is this
`ancient notation'?


There is no easy way. You have to write a bit of scheme code that adds to the 
list in the interfaces detail property in the  meta property.



There are many other warnings similar to this, and I think it
would be good to fix them all.

95% of these warnings come from the ancient notation code; that
needs to be fixed first IMO.


Please give an example, together with the `right' syntax.


this is not about syntax, but about the ancient notation code misusing the 
current structure in ways that it wasn't designed to do.





Ancient notation uses "head prefixes" like \virga, \quilisma, etc. that 
are kind of attributes of the note heads for their further 
characterization (in the source code, these note heads also called 
"ligature primitives", if used in the context of ligatures).  These 
attributes further describe the heads, such as "select a virga glyph for 
this note head".  Still, the actual note head glyph depends not only on 
the attribute(s) of the note head, but also on the attributes of the 
left and right neighbour note head.  Hence, it does not make sense to 
store these attributes e.g. as notehead style.  Additionally, some 
implicit attributes derive from the combination of attributes of two 
adjacent note heads (e.g. for deciding if a vertical line has to be 
drawn between two adjacent note heads).


When the music is processed by the parser, I somewhere have to store 
this information that refers to individual note heads.  Obviously, the 
note heads themselves are the best place.  However, one of the design 
requirements of adding ancient notation to lily was to separate the new 
code as far as possible from existing code; in particular, ancient 
notation code was required not to "pollute" existing code of lily, such as 
note-heads.cc.  As a result, ancient notation inofficially uses these 
attributes without officially declaring them in noteheads.cc.


One theoretical solution would be to introduce a new "ligatureheads.cc" 
file instead of using the "noteheads.cc" functionality.  However, it 
turned out that almost all of the functionality of noteheads.cc would have 
to be cloned.  Even worse, some other parts of lily call methods in 
noteheads.cc (at least in earlier versions of lily they did; I have not 
checked for recent versions).  That is, when introducing a 
"ligatureheads.cc" I would have to add calls to methods in 
"ligatureheads.cc" all around the existing code, which would also pollute 
the code; i.e. introducing a "ligatureheads.cc" is not a solution. 
Subclassing "noteheads.cc" did not work for some technical detail that I 
currently can not remember.


The easiest solution that I can see is to tolerate little polution of 
"noteheads.cc" and just add the missing interface declaration at the end 
of this file.  However, that's not my decision...


Any comments to solve this problem are welcome; however, my time is 
currently extremely limited (still writing on my thesis and running out 
of time...), so I currently can contribute only cosmetic changes, if at 
all.


By the way, the particular warning "programming error: Grob `NoteHead' has 
no interface for property `text'" does not origin from ancient notation, 
as far as I can see.


Greetings,
Juergen


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


Re: draft release announcement

2006-10-31 Thread Juergen Reuter


"elegant input format" and "hard for other programs to parse" sounds 
somewhat like a contradiction.  Maybe "sophisticated" instead of 
"elegant" would be more appropriate?


I am not sure about capitalization in English language, but shouldn't

* all words in the headline except "than" start with a capital letter and

* the itemized texts start with small letters (except "DocBook"), since
  they continue an incomplete sentence?

Shouldn't there be a full-stop dot after the last item?

Greetings,
Juergen


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


Re: newweb ChangeLog site/news.ihtml

2006-10-24 Thread Juergen Reuter
By the way, to make site/news.ihtml result in valid HTML 4.01 again, I 
guess the unencoded "&" characters in the Bugfixes href attribute values 
should be replaced with "&" or "%26" (untested)?


Greetings,
Juergen

On Mon, 23 Oct 2006, Han-Wen Nienhuys wrote:


CVSROOT:/cvsroot/lilypond
Module name:newweb
Changes by: Han-Wen Nienhuys  06/10/23 00:09:26

Modified files:
.  : ChangeLog
site   : news.ihtml

Log message:
(href): close parenthesis.
(Preferably): typo.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/newweb/ChangeLog?cvsroot=lilypond&r1=1.498&r2=1.499
http://cvs.savannah.gnu.org/viewcvs/newweb/site/news.ihtml?cvsroot=lilypond&r1=1.158&r2=1.159

Patches:
Index: ChangeLog
===
RCS file: /cvsroot/lilypond/newweb/ChangeLog,v
retrieving revision 1.498
retrieving revision 1.499
diff -u -b -r1.498 -r1.499
--- ChangeLog   23 Oct 2006 00:06:15 -  1.498
+++ ChangeLog   23 Oct 2006 00:09:25 -  1.499
@@ -1,6 +1,7 @@
2006-10-23  Han-Wen Nienhuys  <[EMAIL PROTECTED]>

* site/news.ihtml (href): close parenthesis.
+   (Preferably): typo.

2006-10-22  Han-Wen Nienhuys  <[EMAIL PROTECTED]>

@@ -155,7 +156,7 @@

* site/about/automated-engraving/scoring-esthetics.html,
site/about/automated-engraving/divide-and-conquer.html: add
-   "Translation of CVS $Revision: 1.498 $" comment.
+   "Translation of CVS $Revision: 1.499 $" comment.

2006-06-19  Han-Wen Nienhuys  <[EMAIL PROTECTED]>


Index: site/news.ihtml
===
RCS file: /cvsroot/lilypond/newweb/site/news.ihtml,v
retrieving revision 1.158
retrieving revision 1.159
diff -u -b -r1.158 -r1.159
--- site/news.ihtml 23 Oct 2006 00:06:15 -  1.158
+++ site/news.ihtml 23 Oct 2006 00:09:26 -  1.159
@@ -1,6 +1,6 @@


Re: [bug] bad size of piano brace

2006-10-23 Thread Juergen Reuter


Right.  Though, afterwards I noticed that the bug obviously had already 
been fixed when I reported it; only the online Documentation is slightly 
outdated.  Sorry for the unnecessary uproar!


Greetings,
Juergen

On Mon, 23 Oct 2006, Phillip Kirlin wrote:


All,

Just thought I'd echo this sentiment on the piano brace, they all seem to be 
displaying too small in any document that uses a PianoStaff (including the 
2.9 documentation online).


Example: (straight from 
http://lilypond.org/doc/v2.9/Documentation/user/lily-580882106.ly)


\new PianoStaff <<
  \new Staff { \time 2/4 c4 c g' g }
  \new Staff { \clef bass c,, c' e c }
>>

--Phil Kirlin


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




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


Small doc updates

2006-10-22 Thread Juergen Reuter

Hi, Graham!

I had to make small updates to some of the ancient notation examples in 
the docs to make them better reflect the current implementation. 
Accordingly, I also updated tiny parts of the text refering to these 
examples.  I hope, that's ok?  Of course, feel free to change my changes!


Greetings,
Juergen


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


Re: [Bug?] Dotting notes by music function

2006-10-22 Thread Juergen Reuter
FYI: After looking once more through a couple of files in the scm 
directory, I finally found the shift-duration-log function that exactly 
does what I wanted.  For the moment, I take this one.


Thanks again,
Juergen

On Wed, 18 Oct 2006, Juergen Reuter wrote:


On Sun, 15 Oct 2006, Nicolas Sceaux wrote:


Juergen Reuter <[EMAIL PROTECTED]> writes:


By the way, do we have a generic substitution function that you can
pass an event type and some replacement expression to?  Maybe
something like

(replace-for-all-matches
  #(define-matching-expression (any-music-event-of-type 'NoteEvent))
  Music
  #(define-replacement-expression
(original-match) (...  ...))),


There is some kind of music pattern matcher in scm/display-lily.scm: the
with-music-match macro, which is not exported from this module however.

nicolas



Thanks, I will look into it!

Greetings,
Juergen




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


[bug] bad size of piano brace

2006-10-19 Thread Juergen Reuter

Hi,

in the online manual, Sect. 14.1 ("An example of a musicological 
document"), in the "screech and boink" example, the piano brace is too 
small.  At least, I can not see in the .ly source any reason why the brace 
should be printed smaller.


See:

http://lilypond.org/doc/v2.9/Documentation/user/lilypond/An-example-of-a-musicological-document.html#An-example-of-a-musicological-document

Greetings,
Juergen


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


Re: [Bug?] Dotting notes by music function

2006-10-18 Thread Juergen Reuter

On Sun, 15 Oct 2006, Nicolas Sceaux wrote:


Juergen Reuter <[EMAIL PROTECTED]> writes:


By the way, do we have a generic substitution function that you can
pass an event type and some replacement expression to?  Maybe
something like

(replace-for-all-matches
  #(define-matching-expression (any-music-event-of-type 'NoteEvent))
  Music
  #(define-replacement-expression
(original-match) (...  ...))),


There is some kind of music pattern matcher in scm/display-lily.scm: the
with-music-match macro, which is not exported from this module however.

nicolas



Thanks, I will look into it!

Greetings,
Juergen


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


Re: [bug] line breaking

2006-10-14 Thread Juergen Reuter

On Sun, 15 Oct 2006, Han-Wen Nienhuys wrote:


Juergen Reuter schreef:

\version "2.9.24"
\context Voice \transpose c c'' {
  c8 c4
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
}

the leading "c8" causes that never in this score a barline coincides with a 
note starting/ending.  As a result, no line break is found for this score, 
and the whole score is printed in a single line, thus exceeding the right 
margin of the paper.


I think, the score should, regardless of the missing coincidence, still be 
breakable at each of the barlines.  Or I am missing something? 


Yes; normally you'd use barchecks and figure this out immediately.


Not in (at least transciptions of) mensural music.  See, e.g. in the 
manual, Sect. D.5.1 the horrible mess of where you can and where you can 
not use barchecks.


Or remove 
Forbid_break_engraevr.




Ah, ok, thanks!

Switching this off would mean that we print scores with messed up spacing in 
this case.




No, seems to work for me (I removed Forbid_line_break_engraver from Voice 
context).  At least, for the moment it works. ;-)


Greetings,
Juergen


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


[bug] line breaking

2006-10-14 Thread Juergen Reuter

Hi,

in the following file:

\version "2.9.24"
\context Voice \transpose c c'' {
  c8 c4
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
  c c c c c c c c c c c c c c c c
}

the leading "c8" causes that never in this score a barline coincides with 
a note starting/ending.  As a result, no line break is found for this 
score, and the whole score is printed in a single line, thus exceeding the 
right margin of the paper.


I think, the score should, regardless of the missing coincidence, still be 
breakable at each of the barlines.  Or I am missing something?  (Btw., I 
found this example by investigating reasons for the often weird spacing in 
mensural notation.)


Greetings,
Juergen


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


Re: make web error (current cvs)

2006-10-14 Thread Juergen Reuter

On Sat, 14 Oct 2006, Han-Wen Nienhuys wrote:


Juergen Reuter schreef:

On Sat, 14 Oct 2006, Han-Wen Nienhuys wrote:


Juergen Reuter schreef:

/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/markup.scm:92:10: 
In procedure string-append in expression (string-append make-name ": " 
...):
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/markup.scm:92:10: 
Wrong type argument (expecting STRINGP): (1 "list of markups" ("bla" "?" 
"bla" "?" ()))


I can't reproduce this, but it seems that your version of list-join 
doesn't work.


Which version of GUILE do you have?





~/project/lilypond-2.9 > guile --version
Guile 1.6.7
Copyright (c) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004 Free Software 
Foundation

Guile may be distributed under the terms of the GNU General Public Licence;
certain other uses are permitted as well.  For details, see the file
`COPYING', which is included in the Guile distribution.
There is no warranty, to the extent permitted by law.


can you investigate whether the list-join function works for you, and 
if no, why not?




Yes, eventually (I have 3 deadlines next week, 2 papers and 1 
presentation :-(, so I may try to have a look next weekend into it, as I 
guess that may take some time...).


By the way, could it be related to a character encoding problem?  I have a 
couple of programs on my system (Fedora Core 5) that have severe problems 
regarding encoding, especially when data is passed between apps; my system 
seems to assume a default encoding of sometimes utf-8, sometimes 
iso-latin.


Greetings,
Juergen


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


Re: make web error (current cvs)

2006-10-14 Thread Juergen Reuter

On Sat, 14 Oct 2006, Han-Wen Nienhuys wrote:


Juergen Reuter schreef:

/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/markup.scm:92:10: 
In procedure string-append in expression (string-append make-name ": " 
...):
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/markup.scm:92:10: 
Wrong type argument (expecting STRINGP): (1 "list of markups" ("bla" "?" 
"bla" "?" ()))


I can't reproduce this, but it seems that your version of list-join doesn't 
work.


Which version of GUILE do you have?





~/project/lilypond-2.9 > guile --version
Guile 1.6.7
Copyright (c) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004 Free Software 
Foundation
Guile may be distributed under the terms of the GNU General Public 
Licence;

certain other uses are permitted as well.  For details, see the file
`COPYING', which is included in the Guile distribution.
There is no warranty, to the extent permitted by law.




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


make web error (current cvs)

2006-10-14 Thread Juergen Reuter


IIRC, I have seen this error from the very beginning of the new "~" 
feature for lyrics.


Greetings,
Juergen


Processing 
`/home/reuter/project/lilypond-2.9/input/regression/out-www/lily-1431938706.ly'

Parsing...[/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/init.ly[/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/declarations-init.ly[/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/music-functions-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/nederlands.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/drumpitch-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/chord-modifiers-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/script-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/scale-definitions-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/grace-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/midi-init.ly[/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/performer-init.ly]][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/paper-defaults.ly[/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/titling-init.ly]][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/engraver-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/dynamic-scripts-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/spanners-init.ly][/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/property-init.ly]][/home/reuter/project/lilypond-2.9/input/regression/out-www/lily-1431938706.ly[/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/lilypond-book-preamble.ly]
Renaming input to: `lyric-tie.ly'
Interpreting music... [2]
elapsed time: 0.00 seconds
Element count 10 (spanners 5)
Preprocessing graphical objects...
Grob count 14Backtrace:
In 
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/lily.scm:

 453: 12* [ly:parse-file "lily-1431938706"]
In unknown file:
   ?: 13* [# # #]
In 
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/ly/lilypond-book-preamble.ly:
   3: 14* (if (not (eq? # #t)) (print-score-with-defaults p (scorify-music 
m p)))

   4: 15  [print-score-with-defaults # #]
In 
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/lily-library.scm:

...
 117: 16  [ly:score-process # # ...]
In unknown file:
   ?: 17* [ly:spacing-spanner::set-springs #]
   ?: 18* [ly:axis-group-interface::width #]
   ?: 19* [ly:self-alignment-interface::aligned-on-x-parent #LyricText >]

   ?: 20* [ly:grob::stencil-width #]
   ?: 21* [lyric-text::print #]
In 
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/output-lib.scm:
 441: 22* (let* (# # # #) (ly:text-interface::interpret-markup layout 
props #))

 447: 23  [ly:text-interface::interpret-markup #< Output_def> (# # #) ...]
In unknown file:
   ?: 24* [tied-lyric-markup #< Output_def> ((# # # ...) (# # # ...) (# # 
#)) ...]
In 
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/define-markup-commands.scm:

 292: 25* (if (string-contains str "~") (let* # #) ...)
 293: 26  (let* (# # # #) (interpret-markup layout # #))
 300: 27  [ly:text-interface::interpret-markup #< Output_def> (# # #) ...
 305: 28* [make-line-markup ("bla" "?" "bla" "?" ())]
In unknown file:
   ?: 29  (let ((sig #)) (make-markup line-markup "make-line-markup" sig 
...))
In 
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/markup.scm:

...
  91: 30  [ly:error ...
  92: 31* [string-append "make-line-markup" ": " ...]

/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/markup.scm:92:10: 
In procedure string-append in expression (string-append make-name ": " 
...):
/home/reuter/project/lilypond-2.9/out/bin/../share/lilypond/2.9.24/scm/markup.scm:92:10: 
Wrong type argument (expecting STRINGP): (1 "list of markups" ("bla" "?" 
"bla" "?" ()))
command failed: /home/reuter/project/lilypond-2.9/out/bin/lilypond 
--backend=eps --formats=ps,png,pdf -dinclude-eps-fonts -dgs-load-fonts 
--header=texidoc -I /home/reuter/project/lilypond-2.9/input/manual 
-dcheck-internal-types -ddump-signatures -danti-alias-factor=2 -I 
"/home/reuter/project/lilypond-2.9/input/regression"  -I 
"/home/reuter/project/lilypond-2.9/input/regression"  -I 
"/home/reuter/project/lilypond-2.9/input/regression/out-www"  -I 
"/home/reuter/project/lilypond-2.9/input"  -I 
"/home/reuter/project/lilypond-2.9/input/regression"  -I 
"/home/reuter/project/lilypond-2.9/input/manual"  -I 
"/home/reuter/project/lilypond-2.9/input/tutorial"  -I 
"/home/reuter/project/lilypond-2.9/mf/out"  -I 
"/home/reuter/project/lilypond-2.9/mf/out" --formats=eps  --verbose 
-dread-file-list -dpad-eps-boxes  -

Re: lilypond COPYING ChangeLog

2006-10-13 Thread Juergen Reuter

On Fri, 13 Oct 2006, Han-Wen Nienhuys wrote:


Juergen Reuter schreef:

On Fri, 13 Oct 2006, Han-Wen Nienhuys wrote:


If you modify this font, you may
+extend this exception to your version of the font, but you are not
+obligated to do so. If you do not wish to do so, delete this exception
+statement from your version.



I.e., effectively, we change the licence for the font to BSD-style? (That's 
fine with me, but I would like to point out this explicitly.)


No, if you change the font, you're still obliged to put changes under GPL 
again. This exception means that PDF files don't fall under GPL.




Mmmh, I am not a lawyer, so I may be totally wrong, but ... sounds to me 
like LGPL is what are you looking for?


Greetings,
Juergen


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


Re: lilypond COPYING ChangeLog

2006-10-13 Thread Juergen Reuter

On Fri, 13 Oct 2006, Han-Wen Nienhuys wrote:


If you modify this font, you may
+extend this exception to your version of the font, but you are not
+obligated to do so. If you do not wish to do so, delete this exception
+statement from your version.



I.e., effectively, we change the licence for the font to BSD-style? 
(That's fine with me, but I would like to point out this explicitly.)


Greetings,
Juergen


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


Re: [Bug?] Dotting notes by music function

2006-10-13 Thread Juergen Reuter


Ah, thanks, now I understand!  But then, in the manual in Sect. 12.1.2 
(Simple substitution functions), in the


custosNote = #(define-music-function (parser location note)
  (ly:music?)

example, "note" should better be renamed into "event" or something similar 
to avoid misunderstandings, right?


By the way, do we have a generic substitution function that you can pass 
an event type and some replacement expression to?  Maybe something like


(replace-for-all-matches
  #(define-matching-expression (any-music-event-of-type 'NoteEvent))
  Music
  #(define-replacement-expression
(original-match) (...  ...))),

where, in this example, the specified replace function is executed exactly 
once for each 'NoteEvent (i.e. the matching expression) in Music (with 
the note event passed as "original-match" argument to the replacement 
expression) in order to replace the original match by the result of the 
replacement expression?


(By the way, please note that I do not explicitly specify here the type of 
the matching expression, i.e. the return type of the 
any-msuic-event-of-type function.  In the most general case, it could be 
an attributed music expression subgraph in order to implement a graph 
rewriting system.  For now, I would be happy, if it would be just 
a music event type such as 'NoteEvent, in order to match all events of a 
given specific type.)


I guess, such a function would save lots of duplicated code used for 
navigating through music expressions, right?  Or do we already have such a 
function?


Thanks & Greetings,
Juergen


On Fri, 13 Oct 2006, Nicolas Sceaux wrote:


Juergen Reuter <[EMAIL PROTECTED]> writes:


Hi, all!

I would expect the following lily file:

\version "2.9.22"

dottedQuarter =
#(define-music-function (parser location note) (ly:music?)
   (make-music
'NoteEvent
'duration (ly:make-duration 2 1)
'pitch (ly:music-property note 'pitch)))

\new Voice \transpose c c' {
  f4 f \dottedQuarter f f f
}

to produce the notes:

f4 f4 f4. f4 f4

However, it produces:

f4 f4 c4. f4 f4

That is, the pitch changes from "f" to "c", although I am trying to
copy it from the original note.  Is this a bug or am I doing something
wrong?


Are you sure that the note argument as a pitch property? Try:

\displayMusic f4

nicolas




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


[Bug?] Dotting notes by music function

2006-10-12 Thread Juergen Reuter

Hi, all!

I would expect the following lily file:


\version "2.9.22"

dottedQuarter =
#(define-music-function (parser location note) (ly:music?)
   (make-music
'NoteEvent
'duration (ly:make-duration 2 1)
'pitch (ly:music-property note 'pitch)))

\new Voice \transpose c c' {
  f4 f \dottedQuarter f f f
}


to produce the notes:

f4 f4 f4. f4 f4

However, it produces:

f4 f4 c4. f4 f4

That is, the pitch changes from "f" to "c", although I am trying to copy 
it from the original note.  Is this a bug or am I doing something wrong?


I just want to have a function that adds a dot to the next notehead, and 
just that one notehead, and preferably without needing surrounding "{}" 
around the (unary) music argument.


Greetings,
Juergen


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


Re: FYI: Status of Ancient Notation Implementation

2006-10-11 Thread Juergen Reuter

On Sun, 8 Oct 2006, Juergen Reuter wrote:


* The "longa notes" bug (cp.
 http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00022.html)
 has been tracked down to a general problem in output-lib.scm (see
 http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00050.html
 for details).  However, to fix it properly, note-head::calc-glyph-name
 should be completely rewritten (i.e. add test for empty style value in
 case statement and handle it identically as "default" style; also
 replace "case" statement by completely different way of dispatch to gain
 speed, e.g. with a hashtable or alist or...), which goes beyond my
 scheme skills.  Any help from scheme/guile gurus is appreciated!


Attached patch should fix this one and theoretically even *speed up* glyph 
name lookup, since it removes obsolete scheme code.  Instead of trying to 
fix the scheme code, I added a new longa note head to the feta font.  It 
looks exactly like a brevis head, but with a stem like quarter note. 
Maximae are not handled by this patch, but I actually have not ever seen a 
Maxima in modern font, so this is a generally open issue to be handled 
separately.


May I apply this patch?

Greetings,
JuergenIndex: ChangeLog
===
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.5397
diff -u -r1.5397 ChangeLog
--- ChangeLog   11 Oct 2006 19:54:32 -  1.5397
+++ ChangeLog   11 Oct 2006 20:12:37 -
@@ -7,6 +7,10 @@
 
* mf/parmesan-heads.mf: Fix typo in comment.
 
+   * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
+   adding longa head to feta font and removing obsolete default
+   mapping scheme code.
+
 2006-10-10  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
* scm/output-lib.scm (fingering::calc-text): use origin
Index: mf/feta-bolletjes.mf
===
RCS file: /cvsroot/lilypond/lilypond/mf/feta-bolletjes.mf,v
retrieving revision 1.79
diff -u -r1.79 feta-bolletjes.mf
--- mf/feta-bolletjes.mf4 Oct 2006 16:00:19 -   1.79
+++ mf/feta-bolletjes.mf11 Oct 2006 20:12:37 -
@@ -148,6 +148,77 @@
 %
 % dimensions aren't entirely right.
 %
+def draw_longa (expr up) =
+   save stemthick, fudge;
+
+   stemthick# = 2 stafflinethickness#;
+   define_whole_blacker_pixels (stemthick);
+
+   fudge = hround (blot_diameter / 2);
+
+   draw_outside_ellipse (1.80, 0, 0.707, 0);
+   undraw_inside_ellipse (1.30, 125, 0.68, 2 stafflinethickness#);
+
+   pickup pencircle scaled stemthick;
+
+   if up:
+   bot y1 = -d;
+   y2 = h;
+   rt x1 - fudge = 0;
+   x1 = x2;
+
+   fudge + lft x3 = w;
+   x4 = x3;
+   top y4 = h + 3.0 staff_space;
+   y3 = y1;
+   else:
+   bot y1 = -d - 3.0 staff_space;
+   top y2 = h;
+   rt x1 - fudge = 0;
+   x1 = x2;
+
+   fudge + lft x3 = w;
+   x4 = x3;
+   y4 = y2;
+   bot y3 = -d;
+   fi;
+
+   draw_gridline (z1, z2, stemthick);
+   draw_gridline (z3, z4, stemthick);
+enddef;
+
+
+fet_beginchar ("Longa notehead", "u-2");
+   draw_longa (true);
+
+   draw_staff (-2, 2, 0);
+fet_endchar;
+
+fet_beginchar ("Longa notehead", "d-2");
+   draw_longa (false);
+
+   draw_staff (-2, 2, 0);
+fet_endchar;
+
+
+if test > 0:
+   fet_beginchar ("Longa notehead", "u-2");
+   draw_longa (true);
+
+   draw_staff (-2, 2, 0.5);
+   fet_endchar;
+
+   fet_beginchar ("Longa notehead", "d-2");
+   draw_longa (false);
+
+   draw_staff (-2, 2, 0.5);
+   fet_endchar;
+fi;
+
+
+%
+% dimensions aren't entirely right.
+%
 def draw_brevis =
save stemthick, fudge;
 
Index: scm/output-lib.scm
===
RCS file: /cvsroot/lilypond/lilypond/scm/output-lib.scm,v
retrieving revision 1.115
diff -u -r1.115 output-lib.scm
--- scm/output-lib.scm  10 Oct 2006 13:38:32 -  1.115
+++ scm/output-lib.scm  11 Oct 2006 20:12:37 -
@@ -119,6 +119,10 @@
(log (min 2 (ly:grob-property grob 'duration-log
 
 (case style
+  ;; "default" style is directly handled in note-head.cc as a
+  ;; special case (HW says, mainly for performance reasons).
+  ;; Therefore, style "default" does not appear in this case
+  ;; statement.  -- jr
   ((xcircle) "2xcircle")
   ((harmonic) "0harmonic")
   ((baroque) 
@@ -137,16 +141,6 @@
   (string-append (number->string log) (symbol->string style
   ((neomensural)
(string-append (number-&

Re: dots grob

2006-10-11 Thread Juergen Reuter

On Wed, 11 Oct 2006, Han-Wen Nienhuys wrote:


Juergen Reuter schreef:

On Wed, 11 Oct 2006, Han-Wen Nienhuys wrote:


why not simply do

 string style =""
 if (scm_is_symbol (scm_style))
   style = ly_symbol2string (scm_style);
 string idx =  "dots.dot" + style;




Because, historically, there is no difference in lily's behaviour between 
setting style to #'default and #'().  However, if you do not 


that must have been a long time ago; I think I've tried to remove this 
feature for some time now.




By the way, it has not completely been removed.  The code related to the 
longa note bug reported last week by Ralph Little for example still 
contains some reminiscences to the old #'default feature.


Greetings,
Juergen


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


Re: dots grob

2006-10-11 Thread Juergen Reuter

On Wed, 11 Oct 2006, Han-Wen Nienhuys wrote:

Because, historically, there is no difference in lily's behaviour between 
setting style to #'default and #'().  However, if you do not 


that must have been a long time ago; I think I've tried to remove this 
feature for some time now.





Ok.


+   input parmesan-dots;


I'm missing this file in the patch.



Sorry, it's still the same one as in the previously sent mail (cvs diff -u 
unfortunately only spits out "cvs diff: mf/parmesan-dots.mf is a new 
entry, no comparison available" for new files).  It's attached to this 
mail once again.


Greetings,
Juergenfet_begingroup ("dots");

save dot_diam;

3 dot_diam# = staff_space# - stafflinethickness#;
define_whole_blacker_pixels (dot_diam);

fet_beginchar ("duration dot", "dotvaticana");
pickup pencircle scaled dot_diam;

lft x0 = 0;
top y0 = vround (.5 dot_diam);

drawdot z0;

set_char_box (0, dot_diam#, .5 dot_diam#, .5 dot_diam#);
fet_endchar;

fet_endgroup ("dots");
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: dots grob

2006-10-11 Thread Juergen Reuter

On Wed, 11 Oct 2006, Han-Wen Nienhuys wrote:


why not simply do

 string style =""
 if (scm_is_symbol (scm_style))
   style = ly_symbol2string (scm_style);
 string idx =  "dots.dot" + style;




Because, historically, there is no difference in lily's behaviour between 
setting style to #'default and #'().  However, if you do not mind, I am 
also happy with the simpler solution.


Attached is a revised version that issues a proper warning if style is set 
to #'default or some other unsupported value, such that the dot is not 
found.


Should I apply it?

Greetings,
JuergenIndex: ChangeLog
===
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.5395
diff -u -r1.5395 ChangeLog
--- ChangeLog   10 Oct 2006 13:38:32 -  1.5395
+++ ChangeLog   11 Oct 2006 10:03:50 -
@@ -1,3 +1,10 @@
+2006-10-10  Jürgen Reuter  <[EMAIL PROTECTED]>
+
+   * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
+   ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
+
+   * lily/dots.cc: Added style property for dots.
+
 2006-10-10  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
* scm/output-lib.scm (fingering::calc-text): use origin
Index: lily/dots.cc
===
RCS file: /cvsroot/lilypond/lilypond/lily/dots.cc,v
retrieving revision 1.79
diff -u -r1.79 dots.cc
--- lily/dots.cc11 Feb 2006 11:35:18 -  1.79
+++ lily/dots.cc11 Oct 2006 10:03:50 -
@@ -14,6 +14,7 @@
 #include "lookup.hh"
 #include "staff-symbol-referencer.hh"
 #include "directional-element-interface.hh"
+#include "international.hh"
 
 MAKE_SCHEME_CALLBACK (Dots, print, 1);
 SCM
@@ -26,7 +27,17 @@
 
   if (scm_is_number (c))
 {
-  Stencil d = Font_interface::get_default_font (sc)->find_by_name (string 
("dots.dot"));
+  SCM scm_style = sc->get_property ("style");
+  string style ="";
+  if (scm_is_symbol (scm_style))
+   style = ly_symbol2string (scm_style);
+  string idx =  "dots.dot" + style;
+  Stencil d = Font_interface::get_default_font (sc)->find_by_name (idx);
+  if (d.is_empty ())
+   {
+ sc->warning (_f ("dot `%s' not found", idx.c_str ()));
+ return SCM_EOL;
+   }
   Real dw = d.extent (X_AXIS).length ();
 
   /*
@@ -55,5 +66,6 @@
 
   /* properties */
   "direction "
-  "dot-count");
-
+  "dot-count "
+  "style "
+  );
Index: mf/parmesan-generic.mf
===
RCS file: /cvsroot/lilypond/lilypond/mf/parmesan-generic.mf,v
retrieving revision 1.10
diff -u -r1.10 parmesan-generic.mf
--- mf/parmesan-generic.mf  6 Jan 2006 09:13:23 -   1.10
+++ mf/parmesan-generic.mf  11 Oct 2006 10:03:50 -
@@ -33,6 +33,7 @@
input parmesan-flags;
input parmesan-timesig;
input parmesan-scripts;
+   input parmesan-dots;
 else:
 
 fi
Index: ly/engraver-init.ly
===
RCS file: /cvsroot/lilypond/lilypond/ly/engraver-init.ly,v
retrieving revision 1.309
diff -u -r1.309 engraver-init.ly
--- ly/engraver-init.ly 4 Oct 2006 10:32:26 -   1.309
+++ ly/engraver-init.ly 11 Oct 2006 10:03:50 -
@@ -765,6 +765,7 @@
   \override Custos #'style = #'vaticana
   \override Custos #'neutral-position = #3
   \override Custos #'neutral-direction = #DOWN
+  \override Dots #'style = #'vaticana
 }
 
 \context {
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


dots grob

2006-10-10 Thread Juergen Reuter

Hi,

may I apply attached patch in order to fix the size/shape of dots for 
ancient notation?  This patch adds a "style" property to the "Dots" grob 
and a new glyph to the parmesan font.


Greetings,
JuergenIndex: ChangeLog
===
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.5395
diff -u -r1.5395 ChangeLog
--- ChangeLog   10 Oct 2006 13:38:32 -  1.5395
+++ ChangeLog   10 Oct 2006 17:29:40 -
@@ -1,3 +1,10 @@
+2006-10-10  Jürgen Reuter  <[EMAIL PROTECTED]>
+
+   * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
+   ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
+
+   * lily/dots.cc: Added style property for dots.
+
 2006-10-10  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
* scm/output-lib.scm (fingering::calc-text): use origin
Index: lily/dots.cc
===
RCS file: /cvsroot/lilypond/lilypond/lily/dots.cc,v
retrieving revision 1.79
diff -u -r1.79 dots.cc
--- lily/dots.cc11 Feb 2006 11:35:18 -  1.79
+++ lily/dots.cc10 Oct 2006 17:29:40 -
@@ -26,7 +26,16 @@
 
   if (scm_is_number (c))
 {
-  Stencil d = Font_interface::get_default_font (sc)->find_by_name (string 
("dots.dot"));
+  SCM scm_style = sc->get_property ("style");
+  string style;
+  if (scm_is_symbol (scm_style))
+   style = ly_symbol2string (scm_style);
+  else
+   style = "default";
+
+  string idx =
+   (style == "default") ? "dot" : string ("dot") + style;
+  Stencil d = Font_interface::get_default_font (sc)->find_by_name ("dots." 
+ idx);
   Real dw = d.extent (X_AXIS).length ();
 
   /*
@@ -55,5 +64,6 @@
 
   /* properties */
   "direction "
-  "dot-count");
-
+  "dot-count "
+  "style "
+  );
Index: mf/parmesan-generic.mf
===
RCS file: /cvsroot/lilypond/lilypond/mf/parmesan-generic.mf,v
retrieving revision 1.10
diff -u -r1.10 parmesan-generic.mf
--- mf/parmesan-generic.mf  6 Jan 2006 09:13:23 -   1.10
+++ mf/parmesan-generic.mf  10 Oct 2006 17:29:40 -
@@ -33,6 +33,7 @@
input parmesan-flags;
input parmesan-timesig;
input parmesan-scripts;
+   input parmesan-dots;
 else:
 
 fi
Index: ly/engraver-init.ly
===
RCS file: /cvsroot/lilypond/lilypond/ly/engraver-init.ly,v
retrieving revision 1.309
diff -u -r1.309 engraver-init.ly
--- ly/engraver-init.ly 4 Oct 2006 10:32:26 -   1.309
+++ ly/engraver-init.ly 10 Oct 2006 17:29:40 -
@@ -765,6 +765,7 @@
   \override Custos #'style = #'vaticana
   \override Custos #'neutral-position = #3
   \override Custos #'neutral-direction = #DOWN
+  \override Dots #'style = #'vaticana
 }
 
 \context {
fet_begingroup ("dots");

save dot_diam;

3 dot_diam# = staff_space# - stafflinethickness#;
define_whole_blacker_pixels (dot_diam);

fet_beginchar ("duration dot", "dotvaticana");
pickup pencircle scaled dot_diam;

lft x0 = 0;
top y0 = vround (.5 dot_diam);

drawdot z0;

set_char_box (0, dot_diam#, .5 dot_diam#, .5 dot_diam#);
fet_endchar;

fet_endgroup ("dots");
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: FYI: Status of Ancient Notation Implementation

2006-10-09 Thread Juergen Reuter

On Mon, 9 Oct 2006, Geoff Horton wrote:


FWIW, I'm not sure that the horizontal episema is best done with a
TextSpanner anyhow. In Solesmes notation, at least, it goes right over
the notes, not over the staff.

Gepff



Right.  But I vaguely remember (I may be wrong) that a long time ago, 
spanner lines/brackets were able to follow into the staff directly over 
the notes.  Anyway, I currently have no time for fixing this bug in a 
serious way.  The question that I addressed to Graham is, should I just 
ignore this bug for now and do nothing about it at all, or should I try to 
apply minor tweaks to get it at least partially working in the 
documentation (with proper explanations in the @refbugs paragraph)?


Greetings,
Juergen


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


Re: FYI: Status of Ancient Notation Implementation

2006-10-09 Thread Juergen Reuter

On Sun, 8 Oct 2006, Juergen Reuter wrote:


* Section 7.7.7: The "episem" articulation does not appear (there should
 be a horizontal line above the three last noteheads).  In 2.7.x, the
 right ending was badly placed; now the episem is completely invisible.
 Also, the text scripts are colliding (but that is not really an ancient
 notation issue); they did not collide in 2.7.x.



There are obviously multiple bugs behind this one, which are not easy to 
fix.  In particular, the TextSpanner under certain circumstances produces 
lines with strange end points.  If the line is (should be) quite short, it 
is not at all displayed.


For the moment, I have tuned the figure in Sect. 7.7.7 such that the 
episem is displayed (still with bad right ending) and added an appropriate 
comment to the @refbugs paragraph (patch attached).


Graham, what do you think, should this patch be applied?  Without this 
patch, the reader of the documentation immediately sees that there must be 
something wrong but is left alone, as the figure does not show what is 
explained in the text.   With the attached patch, the reader will 
(hopefully) see that episem to some extent works (to the same extent as in 
the lily 2.7.x series), but there is an explanation in the @refbugs 
paragraph that states that the episem feature is rather buggy.


Of course, I would like to get this bug fixed, but it looks like I would 
have to rewrite major parts of TextSpanner and LineSpanner.


Greetings,
JuergenIndex: ChangeLog
===
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.5391
diff -u -r1.5391 ChangeLog
--- ChangeLog   9 Oct 2006 14:14:42 -   1.5391
+++ ChangeLog   9 Oct 2006 15:52:03 -
@@ -1,3 +1,8 @@
+2006-10-09  Jürgen Reuter  <[EMAIL PROTECTED]>
+
+   * Documentation/user/instrument-notation.itely: Tune Ancient
+   Articulations figure, such that the episem actually shows.
+
 2006-10-09  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
* ly/generate-documentation.ly: update option name.
Index: Documentation/user/instrument-notation.itely
===
RCS file: 
/cvsroot/lilypond/lilypond/Documentation/user/instrument-notation.itely,v
retrieving revision 1.106
diff -u -r1.106 instrument-notation.itely
--- Documentation/user/instrument-notation.itely27 Aug 2006 06:54:06 
-  1.106
+++ Documentation/user/instrument-notation.itely9 Oct 2006 15:52:03 
-
@@ -2911,11 +2911,11 @@
 \override TextScript #'font-family = #'typewriter
 \override TextScript #'font-shape = #'upright
 \override Script #'padding = #-0.1
-a4\ictus_"ictus" s1
-a4\circulus_"circulus" s1
-a4\semicirculus_"semicirculus" s1 s
-a4\accentus_"accentus" s1
-\[ a4_"episem" \episemInitium \pes b \flexa a \episemFinis \]
+a\ictus_"ictus" \break
+a\circulus_"circulus" \break
+a\semicirculus_"semicirculus" \break
+a\accentus_"accentus" \break
+\[ a_"episem" \episemInitium \pes b \flexa a b \episemFinis \flexa a \]
   }
 }
 @end lilypond
@@ -2925,6 +2925,10 @@
 Some articulations are vertically placed too closely to the
 correpsonding note heads.
 
+The episem line is not displayed if its length is shorter than the
+width of roughly 4 note heads.  The right end of the episem line is
+often too far to the right.
+
 @node Custodes
 @subsection Custodes
 
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: FYI: Status of Ancient Notation Implementation

2006-10-08 Thread Juergen Reuter

On Sun, 8 Oct 2006, Juergen Reuter wrote:


* Section 7.7.10.1, second figure: Ligature brackets are not at all
 displayed anymore.  Same problem also in the introductionary Section
 7.7.10.



Should be fixed now in cvs.  The adaption to the new stream event code was 
incomplete.


Greetings,
Juergen


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


FYI: Status of Ancient Notation Implementation

2006-10-07 Thread Juergen Reuter

Hi all,

just for the record in expectation of lily 2.10, here is a summary report 
of known _NEW_ bugs in ancient notation that were newly introduced in the 
2.9.x series.  I list them here as a collective todo list, for myself 
remembering them easier, but also for anybody else interested in the 
status of ancient notation implementation.  I would like to see these bugs 
fixed, such that ancient notation at least does not get worse with each 
new release of lilypond, but my time is currently extremely limited; 
nevertheless, I will try having a look at one or another bug in the next 
couple of weeks/months.  Of course, any help is highly appreciated!


Mainly looking at the manual at the website (stamped as lily 2.9.21) and 
also considering the "longa notes" thread (cp. 
http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00022.html), 
I currently see the following bugs that were introduced in 2.9.x:


* Section 7.7.7: The "episem" articulation does not appear (there should
  be a horizontal line above the three last noteheads).  In 2.7.x, the
  right ending was badly placed; now the episem is completely invisible.
  Also, the text scripts are colliding (but that is not really an ancient
  notation issue); they did not collide in 2.7.x.

* Section 7.7.9: The text scripts in the figure are unnecessarily widely
  spaced; the whole thing could be placed more tightly.  However, in lily
  2.7.x, it was placed too tightly, such that the text scripts were
  colliding.  So I am not sure, if the situation now is to be seen as an
  improvement or worsening.  Anyway, this issue is a general script
  placing issue rather than an ancient notation specific issue.

* Section 7.7.10.1, first figure: In HTML, the figure does not show at all
  (in PDF, it does; probably some arithmetic problem in spacing
  calculation that lets the bounding box of the figure horizontally
  collapse; cp.
  http://lists.gnu.org/archive/html/lilypond-devel/2006-06/msg00133.html).
  Actually, I am not sure, if this problem was not already introduced in
  the 2.7.x series.

* Section 7.7.10.1, second figure: Ligature brackets are not at all
  displayed anymore.  Same problem also in the introductionary Section
  7.7.10.

* Appendix D.5.2: Horizontal padding around divisio maior (the vertical
  bar-like line) is far too narrow.  Note, that the horizontal spacing
  looked (almost) ok, when Geoff Horton rewrote this template, cp.
  http://lists.gnu.org/archive/html/lilypond-devel/2006-03/msg00174.html,
  even though, at that time I already warned about possible problems...

* The "longa notes" bug (cp.
  http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00022.html)
  has been tracked down to a general problem in output-lib.scm (see
  http://lists.gnu.org/archive/html/lilypond-devel/2006-10/msg00050.html
  for details).  However, to fix it properly, note-head::calc-glyph-name
  should be completely rewritten (i.e. add test for empty style value in
  case statement and handle it identically as "default" style; also
  replace "case" statement by completely different way of dispatch to gain
  speed, e.g. with a hashtable or alist or...), which goes beyond my
  scheme skills.  Any help from scheme/guile gurus is appreciated!

Finally, the good news: Meanwhile, I could partially solve the 
separation-item problems reported in 
http://lists.gnu.org/archive/html/lilypond-devel/2006-04/msg00313.html,
so I hope to eventually correct placement of augmentum dots for 
vaticana-style ligatures.


That's all for now...

Greetings,
Juergen


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


Re: Longa notes

2006-10-06 Thread Juergen Reuter

Hi all,

the longa notes problem reduces to this piece of code in method 
"internal_print (Grob *me, string *font_char)" in file lily/note-head.cc:



  if (!scm_is_symbol (style))
style = ly_symbol2scm ("default");

  [... snip ...]

  if (style != ly_symbol2scm ("default"))
{
   SCM gn = me->get_property ("glyph-name");
   if (scm_is_string (gn))
   suffix = ly_scm2string (gn);
}

The problem here is that 'me->get_property ("glyph-name")' is called only 
if 'style != ly_symbol2scm ("default")'.  That is, the code in 
output-lib.scm for "default" style is dead.  That is, why longa notes are 
not working for default style.


If I remove the 'if (style != ly_symbol2scm ("default"))' condition _and_
if I explicitly say: \override NoteHead #'style = #'default
then the longa notes show correctly.  However, without explicitly setting 
#'style to #'default, I get:


/home/reuter/project/lilypond-2.9/share/lilypond/2.9.22/scm/output-lib.scm:144:58: 
In procedure symbol->string in expression (symbol->string style):
/home/reuter/project/lilypond-2.9/share/lilypond/2.9.22/scm/output-lib.scm:144:58: 
Wrong type argument in position 1 (expecting SYMBOLP): ()


Hence, obviously, the above 'if' condition was introduced to suppress this 
error, but this fix is bad, since it makes the code for the default style 
in output-lib.scm dead.


The real problem is the "case style" switch statement in line 114 of 
output-lib.  If style is not set, it erroneously selects the else case 
(rather than the "default" case) and dies when trying to execute 
symbol->string on the undefined style.


Does some scm guru know how to test _before_ the "case style" switch, if 
style is undefined, and if so, set it to "default"?  This would be 
the real fix, I guess.


Greetings,
Juergen


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


Re: Longa notes

2006-10-04 Thread Juergen Reuter

On Wed, 4 Oct 2006, Juergen Reuter wrote:

That is, lily should take a longa from neo-mensural font.  The real problem 
is the 'u' in 'noteheads.u-2': The parmesan font defines a symmetric 
'noteheads.s-2neomensural', but neither up/down specific heads.


On a second thought, not the "u" is a problem, but the error message is
wrong.  The attached patch fixes the wrong error message (but not the 
original problem; that's a different issue).  Should I apply the patch?


Greetings,
JuergenIndex: ChangeLog
===
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.5374
diff -u -r1.5374 ChangeLog
--- ChangeLog   4 Oct 2006 19:53:54 -   1.5374
+++ ChangeLog   4 Oct 2006 20:37:25 -
@@ -1,3 +1,7 @@
+2006-10-04  Jürgen Reuter  <[EMAIL PROTECTED]>
+
+   * lily/note-head.cc: Fixed programming_error message.
+
 2006-10-04  Graham Percival  <[EMAIL PROTECTED]>
 
* Documentation/user/advanced-notation.itely: added
Index: lily/note-head.cc
===
RCS file: /cvsroot/lilypond/lilypond/lily/note-head.cc,v
retrieving revision 1.167
diff -u -r1.167 note-head.cc
--- lily/note-head.cc   5 May 2006 11:26:06 -   1.167
+++ lily/note-head.cc   4 Oct 2006 20:37:25 -
@@ -43,8 +43,9 @@
 
   Font_metric *fm = Font_interface::get_default_font (me);
 
-  string idx = "noteheads.s" + suffix;
-  Stencil out = fm->find_by_name (idx);
+  string idx_symmetric, idx_directed, idx_either;
+  idx_symmetric = idx_either = "noteheads.s" + suffix;
+  Stencil out = fm->find_by_name (idx_symmetric);
   if (out.is_empty ())
 {
   string prefix = "noteheads.";
@@ -55,18 +56,20 @@
   if (stem_dir == CENTER)
programming_error ("must have stem dir for note head");
   
-  idx = prefix + ((stem_dir == UP) ? "u" : "d") + suffix;
-  out = fm->find_by_name (idx);
+  idx_directed = idx_either =
+   prefix + ((stem_dir == UP) ? "u" : "d") + suffix;
+  out = fm->find_by_name (idx_directed);
 }
 
 
   if (out.is_empty ())
 {
-  me->warning (_f ("note head `%s' not found", idx.c_str ()));
+  me->warning (_f ("none of note heads `%s' or `%s' found",
+  idx_symmetric.c_str (), idx_directed.c_str ()));
   out = Stencil (Box (Interval (0, 0), Interval (0, 0)), SCM_EOL);
 }
   else
-*font_char = idx;
+*font_char = idx_either;
 
   return out;
 }
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Another patch (this one is important) to abc2ly

2006-10-04 Thread Juergen Reuter

On Mon, 2 Oct 2006, Laura Conrad wrote:


I just tested it and in actual code, yours seems to do the same thing
mine does,


N.B.: There should be a minor difference in the handling of white space 
before/after the hyphen, which however is not essential, I guess.



except I find it harder to read.  What do you think is the
advantage of yours over mine?



Your approach


 a = re.sub ( '-', '- ', a)# split words with -


applies a rule which holds for most cases, but not all cases. 
Therefore, you introduce another rule



+a = re.sub ( ' - - ', ' -- ', a)  # unless was originally " -- "


to compensate for the error in the first rule.  Why not fixing the 
original rule rather than adding another rule for compensation? 
Compensation usually increases the oevrall complexity and thereby makes 
the code difficult to understand.


As far as readability is concerned, well, this probably depends on the 
point of view.  Looking at your compensation rule, I find it difficult to 
understand, as it is not immediately clear to me, what happens if e.g. you 
have "---" or similar.  My suggested rule simply says: replace "-" by "- " 
if and only if there is not another "-" immediately before or after the 
"-", and no further compensation is needed (hopefully).  This is quite 
clear to understand, isn't it? ;-)



The code I tested on was:

  The normal way to type multiple syllables in ABC:

  a = "mul- ti- ple syl- la- bles"

Where your version produces:

a = re.sub ( '([^-])-([^-])', '\\1- \\2', a)
print a

mul-  ti-  ple-  syl-  la-  bles

...


There shouldn't be a hyphen after "ple".  I hope, that's just a typo?

Greetings,
Juergen


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


Re: Longa notes

2006-10-04 Thread Juergen Reuter

On Wed, 4 Oct 2006, Mats Bengtsson wrote:

If I remember correctly, it's not included when you have the default note 
head
style, simply since there is not real established standard for the layout of 
a longa

note in modern typesetting. However, if you use
\override NoteHead #'style = #'mensural
you can see what \longa note looked like in the old times when it was 
actually

used.



Not really.  Citing scm/output-lib.scm:

   (case style
[...snip...]
 ((default)
   ;; The default font in mf/feta-bolletjes.mf defines a brevis, but
   ;; neither a longa nor a maxima.  Hence let us, for the moment,
   ;; take these from the neo-mensural font.  TODO: mf/feta-bolletjes
   ;; should define at least a longa for the default font.  The longa
   ;; should look exactly like the brevis of the default font, but
   ;; with a stem exactly like that of the quarter note. -- jr
   (if (< log -1)
   (string-append (number->string log) "neomensural")
   (number->string log)))

That is, lily should take a longa from neo-mensural font.  The real 
problem is the 'u' in 'noteheads.u-2': The parmesan font defines a 
symmetric 'noteheads.s-2neomensural', but neither up/down specific heads.
I wonder why an upwards head is at all requested for the default note head 
font.  Maybe something has changed in the noteheads engraver which causes 
this problem?



 /Mats

Ralph Little wrote:

Hi,
Running 2.9.17-1 on Windows, I get the following error for c\longa:

warning: note head  'noteheads.u-2' not found.

I don't really know anything about longas, but I was just experimenting 
with

different aspects of lily and this popped up...

c\breve works fine though.

Cheers,
Ralph




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







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


Re: Another patch (this one is important) to abc2ly

2006-10-01 Thread Juergen Reuter

 a = re.sub ( '-', '- ', a)# split words with -
+a = re.sub ( ' - - ', ' -- ', a)  # unless was originally " -- "


Just being curious:

Maybe I am totally wrong (since I do not know the abc format in detail), 
but shouldn't this be rather something like


a = re.sub ( '([^-])-([^-])', '\\1- \\2', a)# split words with "-" unless was 
originally "--"

or similar (untested)?

Greetings,
Juergen


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


Re: petrucci-f3 clef

2006-09-27 Thread Juergen Reuter


Oh, sorry!

Please forget about my last mail; it's nonsense; I looked wrong at the 
patch and thought you wanted to change c clefs, rather than adding 2 f 
clefs.  Your patch looks perfect!  Maybe I have slept too little...


Greetings,
Juergen


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


Re: petrucci-f3 clef

2006-09-27 Thread Juergen Reuter


Hi, Pal!

Nice to see you back on this list!  Mmmh, do you know when Petrucci 
engraved this piece of music?  Petrucci is known to have started with 
beautiful printings around 1600.  At that time, he demonstrated what is 
possible with printing as compared to manual writing, because he wanted to 
compete with manual writings and had to convince musicians and 
publishers/copyers of what is technical possible.


However later, due to lack of money of his customers, he had to simplify 
his process of printing.  Maybe this simplification also affected the 
choice of clefs?  I do not see any other reason why Petrucci should have 
perfectly balanced all clefs, but not the f3/f4 clef, other than maybe he 
was lacking a sufficient number of printing types.  As far as I know, many 
pages of a book were printed in parallel (rather than one page after the 
next one), for whatever reason, such that a huge number of identical types 
had to be used at the same time.  So, maybe he just run out of a 
particular printing type such as the f4 clef and chose the f3 clef 
instead (or the other way around)?


In doubt, we should decide in favour of the beauty of printing.  What do 
you think, does the overall appearance of a piece of music improve with 
the change that you propose?


Greetings,
Juergen


On Wed, 27 Sep 2006, Pal Benko wrote:


2006-09-26  Pal Benko  <[EMAIL PROTECTED]>

  * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
  (the latter is the same as petrucci-f which is kept for compatibility)

Petrucci uses the exact same drawing for the f3 clef as for f4, just a
line lower
(at least in the Missae Obrecht).

pal



Index: parser-clef.scm
===
RCS file: /sources/lilypond/lilypond/scm/parser-clef.scm,v
retrieving revision 1.2
diff -u -r1.2 parser-clef.scm
--- parser-clef.scm 6 Jan 2006 09:13:22 -   1.2
+++ parser-clef.scm 26 Sep 2006 18:39:15 -
@@ -60,6 +60,8 @@
("petrucci-c3" . ("clefs.petrucci.c3" 0 0))
("petrucci-c4" . ("clefs.petrucci.c4" 2 0))
("petrucci-c5" . ("clefs.petrucci.c5" 4 0))
+("petrucci-f3" . ("clefs.petrucci.f" 0 0))
+("petrucci-f4" . ("clefs.petrucci.f" 2 0))
("petrucci-f" . ("clefs.petrucci.f" 2 0))
("petrucci-g" . ("clefs.petrucci.g" -2 0




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




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


Re: changing the midi instrument; broken

2006-08-27 Thread Juergen Reuter

On Sun, 27 Aug 2006, Mats Bengtsson wrote:


Some further clarifications below.
...
However, as Erik says below, if you want to store the lyrics into a variable, 
you have to do

mylyrics = \lyricmode { Here is my ly -- rics }
and then \lyricsto ... \mylyrics



Still remains the question why at all you would want to store the lyrics 
into a variable.


Possible answer: Because you want to reuse the same lyrics at multiple 
places in the score.


Greetings,
Juergen


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


Re: lilypond ChangeLog lily/instrument-name-engrave...

2006-07-26 Thread Juergen Reuter

On Wed, 26 Jul 2006, Han-Wen Nienhuys wrote:


...
Index: lily/instrument-name-engraver.cc
===
RCS file: /cvsroot/lilypond/lilypond/lily/instrument-name-engraver.cc,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -b -r1.86 -r1.87
--- lily/instrument-name-engraver.cc26 Jul 2006 11:40:14 -  1.86
+++ lily/instrument-name-engraver.cc26 Jul 2006 11:57:22 -  1.87
@@ -41,13 +41,13 @@
  if (!text_spanner_)
{
  SCM long_text = get_property ("instrument");


Shouldn't this be instrumentName?

Greetings,
Juergen



@@ -115,9 +115,9 @@

/* read */
"currentCommandColumn "
-   "instr "
-   "instrument "
-   "vocNam "
+   "shortInstrumentName "
+   "instrumentName "
+   "shortVocalName "
"vocalName "
,
...



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


RE: Problem with partial

2006-07-10 Thread Juergen Reuter


Oh, true.  Yes, I remember having seen these double bar-like lines in the 
middle of a bar, now that you are mentioning it.


So, summarizing, we actually have two totally different types of "bar" 
lines:


* Pseudo "bar" lines, which are actually sectioning marks ("||",
  repeat signs).  Virtually, they may appear anywhere in a bar; and they
  should not affect the bar number.

* True bar lines, which indicate where the heavy beat is.  The bar number
  should increase only after a true bar line (unless manually tweaked).

I am not sure, if line breaks by default should be allowed only on true 
bar lines or also on pseudo bar lines.


Greetings,
Juergen

On Mon, 10 Jul 2006, Anthony Youngman wrote:


The repeat sign probably should include a double bar line ...

In my type of music (concert, brass band) it is quite normal to put a
double bar line in the middle of a bar when there is a major section
change, eg at the Trio. I've never come across a repeat in the middle of
a bar, though...

Cheers,
Wol

-Original Message-
From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
u.org] On Behalf Of Juergen Reuter
Sent: 07 July 2006 17:31
To: Mats Bengtsson
Cc: lilypond-devel@gnu.org; Juergen Reuter
Subject: Re: Problem with partial


Ah, ok; I understand.  Still, I think that using \partial in this
situation is kind of abuse that accidentally works.  I guess the real
problem here is that lily models repeat signs as bar lines; but I am
also
wondering how a repeat sign should actually look like, if it does not
coincide with the bound of a bar (it probably should not consist of a
vertical line)...

Greetings,
Juergen

On Thu, 6 Jul 2006, Mats Bengtsson wrote:


One common example where people today use it in the middle of a score

is

repeats, where the repeat sign is in the middle of a bar
(especially in combination with prima/secunda volta). Currently,

LilyPond

doesn't automatically take this into account. Of course, the best

solution in

this situation would be if LilyPond treated the measure position

correctly

for repeats.

 /Mats

Quoting Juergen Reuter <[EMAIL PROTECTED]>:


Hi all,

please note that \partial or \upbeat, whatever you call it, has
musicologically a special meaning: the first, incomplete bar, and the

last

bar of a piece or of a major section of a piece (typically the bar

before

the next "||" bar glyph) should sum up to a complete bar.

For example, if a song with 4/4 meter starts with "\partial 4 f4",

the last

bar should, by convention, have a total length of 3 quarter notes.

Having

said that, you never should use "\partial" or "\upbeat" somewhere

within a

piece.  If lily nevertheless accepts it within a piece without

issuing an

error or warning, I consider this a bug.

Having a bar within a piece that differs in length from the

foreassigned

meter is a different concept.

Greetings,
Juergen


On Thu, 6 Jul 2006, Graham Percival wrote:


Erik Sandberg wrote:

On Wednesday 05 July 2006 17:54, Graham Percival wrote:

IMO, \partial is just fine.  If there's some confusion, by all

means we

can clarify the docs.  As always, I gratefully accept any specific
recommendations for doc changes.


IMHO using \partial in the middle of a bar is confusing; I think

there

should be some other command that sets the length of an individual

bar.

Do you think it would make sense to invent such a command?


I'd rather keep the behavior of \partial -- ie "add an extra X

duration to

this bar", rather than "this bar should have X duration".  That

said, I

suppose we could rename \partial to \addTime or something like that.

I

don't think that \upbeat is appropriate, but we could find some

other

name.

Cheers,
- Graham


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




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








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

*  *

This transmission is intended for the named recipient only. It may contain 
private and confidential information. If this has come to you in error you must 
not act on anything disclosed in it, nor must you copy it, modify it, 
disseminate it in any way, or show it to anyone. Please e-mail the sender to 
inform us of the transmission error or telephone ECA International immediately 
and delete the e-mail from your information system.

Telephone numbers for ECA International offices are: Sydney +61 (0)2 8272 5300, 
Hong Kong + 852 2121 2388, London +44 (0)20 7351 5000 and New York +1 212 582 
2333.

* 

Re: Problem with partial

2006-07-07 Thread Juergen Reuter


Ah, ok; I understand.  Still, I think that using \partial in this 
situation is kind of abuse that accidentally works.  I guess the real 
problem here is that lily models repeat signs as bar lines; but I am also 
wondering how a repeat sign should actually look like, if it does not 
coincide with the bound of a bar (it probably should not consist of a 
vertical line)...


Greetings,
Juergen

On Thu, 6 Jul 2006, Mats Bengtsson wrote:

One common example where people today use it in the middle of a score is 
repeats, where the repeat sign is in the middle of a bar
(especially in combination with prima/secunda volta). Currently, LilyPond 
doesn't automatically take this into account. Of course, the best solution in 
this situation would be if LilyPond treated the measure position correctly 
for repeats.


 /Mats

Quoting Juergen Reuter <[EMAIL PROTECTED]>:


Hi all,

please note that \partial or \upbeat, whatever you call it, has 
musicologically a special meaning: the first, incomplete bar, and the last 
bar of a piece or of a major section of a piece (typically the bar before 
the next "||" bar glyph) should sum up to a complete bar.


For example, if a song with 4/4 meter starts with "\partial 4 f4", the last 
bar should, by convention, have a total length of 3 quarter notes. Having 
said that, you never should use "\partial" or "\upbeat" somewhere within a 
piece.  If lily nevertheless accepts it within a piece without issuing an 
error or warning, I consider this a bug.


Having a bar within a piece that differs in length from the foreassigned 
meter is a different concept.


Greetings,
Juergen


On Thu, 6 Jul 2006, Graham Percival wrote:


Erik Sandberg wrote:

On Wednesday 05 July 2006 17:54, Graham Percival wrote:

IMO, \partial is just fine.  If there's some confusion, by all means we
can clarify the docs.  As always, I gratefully accept any specific
recommendations for doc changes.


IMHO using \partial in the middle of a bar is confusing; I think there 
should be some other command that sets the length of an individual bar. 
Do you think it would make sense to invent such a command?


I'd rather keep the behavior of \partial -- ie "add an extra X duration to 
this bar", rather than "this bar should have X duration".  That said, I 
suppose we could rename \partial to \addTime or something like that. I 
don't think that \upbeat is appropriate, but we could find some other 
name.


Cheers,
- Graham


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




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








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


Re: Problem with \partial

2006-07-07 Thread Juergen Reuter

On Fri, 7 Jul 2006, Graham Percival wrote:


In my example, I _did_ state

\noTimeSignature
c4 c c c | d d d d \partial 4 d | c c c c


... and some contemporary music may want to change the number of beats in a 
bar without changing the notated time signature.  Whatever we think of that 
practice (and I dislike it too :) , I don't think we should explicitly 
disallow it inside lilypond.


Cheers,
- Graham



... "want to change the number of beats" just in a single bar or in many 
bars?  When bars are frequently changing in length, you probably want to 
completely forget about the meter and do something like this:


\version "2.9.0"
sep = \bar "|"
\score {
  \transpose c c' {
c4 d \sep
e f g \sep
f e d c \bar "|."
  }
  \layout {
\context {
  \Staff
  \remove "Time_signature_engraver"
}
\context {
  \Score
  timing = ##f
}
  }
}


If you just want to change the meter for a single or very few bars, you 
really should do it with the \time command (because that is what \time is 
for).  If you do not like the time signature change to be printed, you 
still can remove the time signature engraver or set it to transparent.


Greetings,
Juergen


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


Re: user manual

2006-07-06 Thread Juergen Reuter

On Thu, 6 Jul 2006, Mark Van den Borre wrote:


Graham,

"General improvements to "working on lilypond files", focusing on
teaching users how to write files that are easier to update.  Not that
it will do any good, since nobody reads the manual anyway."

I was not aware that you underestimate the relevance of your work so
much. It is a splendid piece of work and very important to the
Lilypond user experience.

...


100% agreed!  At least, I *do* read now and then in the manual, and it's 
now _extremely_ better than, say, 2 or 3 years ago!


Greetings,
Juergen


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


Re: Problem with \partial

2006-07-06 Thread Juergen Reuter

Hi all,

please note that \partial or \upbeat, whatever you call it, has 
musicologically a special meaning: the first, incomplete bar, and the last 
bar of a piece or of a major section of a piece (typically the bar before 
the next "||" bar glyph) should sum up to a complete bar.


For example, if a song with 4/4 meter starts with "\partial 4 f4", the 
last bar should, by convention, have a total length of 3 quarter notes. 
Having said that, you never should use "\partial" or "\upbeat" somewhere 
within a piece.  If lily nevertheless accepts it within a piece without 
issuing an error or warning, I consider this a bug.


Having a bar within a piece that differs in length from the foreassigned 
meter is a different concept.


Greetings,
Juergen


On Thu, 6 Jul 2006, Graham Percival wrote:


Erik Sandberg wrote:

On Wednesday 05 July 2006 17:54, Graham Percival wrote:

IMO, \partial is just fine.  If there's some confusion, by all means we
can clarify the docs.  As always, I gratefully accept any specific
recommendations for doc changes.


IMHO using \partial in the middle of a bar is confusing; I think there 
should be some other command that sets the length of an individual bar. Do 
you think it would make sense to invent such a command?


I'd rather keep the behavior of \partial -- ie "add an extra X duration to 
this bar", rather than "this bar should have X duration".  That said, I 
suppose we could rename \partial to \addTime or something like that. I don't 
think that \upbeat is appropriate, but we could find some other name.


Cheers,
- Graham


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




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


Re: handwritten music font

2006-06-12 Thread Juergen Reuter

Hi,

how many glyphs are you planning to add?  If your project is going to 
become a font with many dozens of glyphs over time, you could add new .mf 
files, just as the parmesan font does for ancient notation.  If you grep 
for the string "parmesan" on all files in the mf directory, you will see 
which files you have to add/modify in order to add a completely new font.


For note head selection from evaluating the style property, you have to 
extend function note-head::calc-glyph-name in file scm/output-lib.scm 
properly.  Similarly, for clefs, you have to extend scm/parser-clef.scm.
Selection of glyphs of other grob types (e.g. accidentals) is currently 
still done directly in the c++ code (e.g. lily/accidental.cc); though, on 
the long term, this code should probably also be replaced by scheme code.


Greetings,
Juergen


On Fri, 9 Jun 2006, "Johannes Sch�pfer" wrote:


hi all,

please excuse my lousy english.

i would like to design a handwritten music font for lilypond based on 
"the art of music copying" by clinton roemer.


would a modyfied feta-bolletjes.mf make sense to you to have a look at it?

regards,
johnny



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


[bug?] eps versus pdf problem?

2006-06-06 Thread Juergen Reuter

Hi,

the white mensural ligature example lily-2147380820.ly in Sect. 7.7.10.1 
collapses in the HTML manual to a width of a few pixels (see the _first_ 
(almost invisible) png image in

http://lilypond.org/doc/v2.9/Documentation/user/lilypond/White-mensural-ligatures.html).

However, in the PDF manual, the same example shows up perfectly.

Hence, I guess this behaviour is probably an eps versus pdf problem rather 
than a problem of the ligature implementation, right?


Greetings,
Juergen

P.S.: I can eliminate the symptom in the manual by slightly modifying the 
example, but I guess finding the bug would be more satisfactory... ;-)



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


Re: test results available!

2006-06-06 Thread Juergen Reuter

On Wed, 7 Jun 2006, Han-Wen Nienhuys wrote:


...

I changed this a bit. Now, you need to use

http://lilypond.org/doc/v2.9/compare-v2.8.4/index.html





Maybe you should correct the broken link on http://lilypond.org/web/index ?

Greetings,
Juergen


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


[Bug?] Concatening syllables

2006-06-02 Thread Juergen Reuter

Hi,

Sect. 7.3.2 (Entering lyrics) of the manual says:

"In order to assign more than one syllable to a single note, you must 
surround them with quotes or use a _ character between the syllables."


This works fine e.g. for:
\addlyrics { gran- de_a- mi- go }

However, neither
\addlyrics { gran- \lyricmode { de }_a- mi- go }

nor
\addlyrics { gran- \lyricmode { de_ }a- mi- go }

nor
\addlyrics { gran- \lyricmode {"de"}_a- mi- go }

works as expected (the "_" just shows no effect at all).  I need this 
problem get fixed in order to get \versus, \responsum commands of ancient 
notation properly working, such that you can e.g. say:


\addlyrics { \versus_Here comes the text. }
(where \versus constructs a special char, see ly/gregorian-init.ly).

Any ideas?

Greetings,
Juergen


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


Scripts Manual Sect. 6.6.1 (Articulations)

2006-06-02 Thread Juergen Reuter

Hi,

just a comment to Sect. 6.6.1 (Articulations):

IMHO, the signum congruentiae, all fermatas, the segno sign and the coda 
signs are no articulation signs.  Historically, they were put together 
with the articulation signs into the same manual section, because their 
implementation was based on the same piece of C++ code.  Musicologically, 
I think they should go into a separate section, maybe called "Rehearsal 
directives" or similar.  Or maybe they should be just merged into Sect. 
8.2.3 (Rehearsal marks)?


However, I am not sure what you would do about the "Commonly tweaked 
properties" paragraph in 6.6.1 when splitting this section (Duplicate it? 
Add a "See also"?).


Greetings,
Juergen


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


Re: Problems with spanish update (Re: My patch to music glossary)

2006-05-30 Thread Juergen Reuter

On Tue, 30 May 2006, Francisco Vila wrote:


Also, after a '$ cvs co' my local copy has strange '<<'- and
'>'-filled lines surrounding some of my changes, don't know if
they have been applied or not. So I really don't know how to obtain a
second patch from this.



See:
http://www.tigris.org/nonav/scdocs/ddCVS_cvscontributing.html#cvsresolving

However, this should not happen with "cvs co".  At least in the HEAD of 
the 2.9 branch, I can not see an unresolved conflict.


Greetings,
Juergen


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


  1   2   3   4   5   >