Re: [abcusers] [ABCp] Parts

2004-10-30 Thread Remo D.
Wil Macaulay wrote:
Yes, I do have a suggestion: if you really want to implement a 
'generic parser', start by choosing a standard to implement.  If you 
want to suggest changes to the standard, do so as an independent 
process.  Otherwise you'll end up with a parser that only parses 
non-standard abc...
I've chosen the following approach:
- first of all be compliant with 2.0 draft standard,
- then include 1.6 standard as long as it does not harm the 2.0 compliancy
- than  include non standard (but commonly used and/or useful) syntax.
For example, the 2.0 standard includes the -8 keyword to transpose an 
octave down, I've added the -15 and -22 keyword (that are avalaible in 
other notation packages) and also extended it to other clefs so that 
treble-8 is recognized (as the 2.0 standard requires) but so does 
baritone+15!

There is one important thing to note here. ABCp is, at the present 
stage, a scanner, not a parser. This means that, in this case, ABCp 
reports to the host program that the user specified a clef with TWO 
octave transposition. It is entirely to the host program to decide if 
this is acceptable or not!

ABCp is an enabler for programmers that want to write software that 
accept ABC files as input. Using ABCp they can concentrate on the 
functions of their software instead of losing time to accomodate this or 
that ABC extension.

This concept is very crucial. Let me bore you a little bit with an 
example:. This is a 2.0 compliant Key:

K:Bb mix ^^c_d  mezzosoprano transpose=+5  stafflines=3
while this is the same key
K:Bb Mix Db C##\
  mezzo t5 s3
that makes use of some extensions.
As far as the host program is concerned, the two keys above get reported 
exactly in the same way:

[EMAIL PROTECTED]  Sf   [EMAIL PROTECTED] 053  @
(The string above is a serialized version of the binary representation 
of the parsed key field.)

The host program will use a function like abcKeyTonic() to get Bb and 
abcKeySemitoneTranspose() to get 5  regardless the way those 
information are actually represented in the abc file.

A function abcError() will report if something went wrong (for example 
if  K:Lmin was encountered).

If the host program wants to deal with the string itself, it may well do 
so using the abcString() function that returns the Key string as it 
appears in the file.

I hope I've been clear enough. Please feel free to comment!
BTW. I still have to figure out a clean interface! The functions above 
(abcKeySemitoneTranspose for example) are so ugly that I'm a little be 
ashamed to publicly release them!

 R:D
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


[abcusers] [Han-Wen Nienhuys] LilyPond 2.4.0 released

2004-10-30 Thread Laura Conrad


LilyPond version 2.4 was released today!


LilyPond is a program for making beautiful music notation.  It is
open source/free software, and is available for all popular operating
systems. It runs on most Unix flavors --including Linux and MacOS X--
and MS Windows. Use it for your music too!

With this release, LilyPond does not rely anymore on TeX to do titling
and page layout, but distributes page breaks optimally by itself to
produce evenly spaced pages, while respecting user specified turning
points.

The slur formatting code has been completely rewritten, and now yields
classical engraving quality results for most cases.

In addition, version 2.4 adds fret diagrams, a safe execution mode for
webserver use, a further simplified input format, better typography
for ledger lines, many bugfixes and a fully revised and updated
manual.

Go and grab it at

  http://lilypond.org



A big thank-you goes out to our contributors:

Carl Sorensen
David Svoboda
Guy Gascoigne-Piggford
Heikki Junes
Hendrik Maryns
Kristof Bastiaensen
Mats Bengtsson
Michael Welsh Duggan
Peter Lutek
Werner Lemberg


Also thanks to our bug-hunters:

Antti Kaihola, Bertalan Fodor, Brian Clements, Christian Hitz,
Christoph Ludwig, Christophe Papazian, Daniel Berjón Díez, Dave
Phillips, David Bobroff, David Brandon, Doug Asherman, Ed Jackson,
Heinz Stolba, Jefferson dos Santos Felix, Karl Hammar, Marco Gusy,
Martin Norbäck, Matthias Neeracher, Maurizio Tomasi, Michael
Kiermaier, Pascal Legris, Peter Rosenbeck, Russ Ross, Stephen Pollei,
Thomas Scharlowski, Will Oram, Yuval Harel,


Happy music printing,



The LilyPond development team,

Han-Wen Nienhuys  Jan Nieuwenhuizen
Core development

Graham Percival
Documentation Editor

Erik Sandberg
Bugmeister

Pedro Kroeger
Build meister



-- 

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



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


-- 
Laura (mailto:[EMAIL PROTECTED] , http://www.laymusic.org/ )
(617) 661-8097  fax: (501) 641-5011
233 Broadway, Cambridge, MA 02139


To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html