]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.20
authorfred <fred>
Sun, 22 Dec 1996 19:52:56 +0000 (19:52 +0000)
committerfred <fred>
Sun, 22 Dec 1996 19:52:56 +0000 (19:52 +0000)
Documentation/CodingStyle.pod [new file with mode: 0644]
Documentation/README.pod [new file with mode: 0644]
README

diff --git a/Documentation/CodingStyle.pod b/Documentation/CodingStyle.pod
new file mode 100644 (file)
index 0000000..a0ffcaf
--- /dev/null
@@ -0,0 +1,99 @@
+=head1 NAME
+
+CodingStyle - standards while programming for LilyPond
+
+=head1 DESCRIPTION
+
+Please use these standards while doing programming for LilyPond
+
+
+
+Functions and methods do not return errorcodes, but use assert for
+checking status. 
+
+=head2 INDENTATION
+
+in emacs:
+
+
+       (add-hook 'c-mode-hook
+                 '(lambda ()(setq c-basic-offset 4)))
+
+
+       (add-hook 'c++-mode-hook
+                 '(lambda() (c-set-style "Stroustrup")
+                    )
+                 )
+
+
+=head2 CLASSES and TYPES:
+
+       This_is_a_class
+       AClass_name     (for Abbreviation_class_name)
+
+=head2 DATA MEMBERS
+
+       Class::member
+
+if the member's name resembles its type, then I use
+
+       class Fubular { ..}
+
+       Class::fubular_
+
+=head2 COMMENTS
+
+       /// short description
+       class Class {
+               ///
+               Data data_member_;
+               /**
+                       ..
+               */
+
+               /****************/
+
+               /// short memo
+               member();
+               /**
+                       long doco of member()
+               */
+       };
+       /**
+               Class documentation.
+       */
+
+Unfortunately most of the code isn't really documented that good.
+
+=head2 CLASSNAMES (2)
+
+A lot of classes in LilyPond start with 'P', this is to distinguish
+certain parts of LilyPond: the P stands for Printer, and the P-classes
+are supposed to be more lowlevel than the others. Example:
+
+Staff uses PStaff, PScore and PCol to do the typesetting of
+symbols. Staff is  the "brains" for PStaff
+
+NB: in PCursor (which is part of the library) P stands for PointerCursor
+
+
+=head2 MEMBERS(2)
+
+Standard methods:
+
+       ///check that *this satisfies its invariants, abort if not.
+       void OK() const
+
+       /// print *this (and substructures) to debugging log
+       void print() const
+
+       /// add some data to *this; 
+       add( .. )
+       /**
+       Presence of these methods usually imply that it is not feasible to this
+       via  a constructor
+       */
+
+       /// replace some data of *this
+       set( .. )
+
diff --git a/Documentation/README.pod b/Documentation/README.pod
new file mode 100644 (file)
index 0000000..f7226fa
--- /dev/null
@@ -0,0 +1,165 @@
+=head1 NAME
+
+Lilypond - a music typesetter
+
+=head1 SYNOPSIS
+
+       lilypond [options] [inputfiles]
+
+=head1 DESCRIPTION
+
+LilyPond typesets music. It translates script files (mudela files or
+F<.ly>'s) into TeX input.
+
+=head1 OPTIONS
+
+=item  B<-d,--debug>
+debugging
+
+=item  B<-w,--warranty>
+warranty
+
+=item  B<-o,--output>
+default output file
+
+=item  B<-h,--help>
+help
+
+=head1 LICENSE
+
+GNU GPL. See file COPYING
+
+=head1 PREREQUISITES
+
+Compilation:
+
+=over 5
+
+=item  - Unix (any decent Linux distribution is fine)
+
+=item  - GNU C++ v2.7  or better (with libg++ )
+
+=item  - GNU make.
+
+=item  - flex (2.5.1 or better)
+
+=item  - bison/yacc
+
+=item  - The "flower" library, which should be available from the
+       same source you got this from.
+
+=item  - perl
+
+=back
+
+Operation:
+
+=over 5
+
+=item  - TeX
+
+=item  - the MusixTeX fonts
+
+=back
+
+The Makefile uses  perl for trivial operations,  and you could  tinker
+with it to use sed or awk.
+
+=head1 COMPILING
+
+Do:
+
+       tar zxf flower-1.11.9.tar.gz
+       mv flower-1.11.9 flower
+       cd flower; make; cd ..
+       tar zxf lilypond-1.2.13.tar.gz
+       cd lilypond-1.2.13
+       make
+
+why G++ >= 2.7? LilyPond & flower lib uses:
+
+       builtin bool
+       typeof
+       operator <?, operator >?
+       the new for-scope
+       class Rational (libg++)
+
+=head1 AUTHOR
+
+Han-Wen Nienhuys <hanwen@stack.nl>, <jan@digicash.com>
+
+=head1 EXAMPLES
+
+At this time, LilyPond is only suited for Quick & Dirty jobs (the
+output quality still is too low). If you're not discouraged; this is
+what I type in my xterm:
+
+       lilypond someinput.ly
+       tex test
+       xdvi test&
+
+This is what the output looks like over here:
+
+       hw:~/musix/spacer$ lilypond maartje.ly
+       LilyPond 0.0.17/FlowerLib 1.0.14. Compile: Dec 17 1996, 11:33:54 (g++ 2.7.2)
+       Parsing ... [symbol.ini][maartje.ly]
+       Processing ... Calculating ... Postprocessing ... 
+       output to lelie.uit...
+
+       hw:~/musix/spacer$ tex test
+       This is TeX, Version 3.14159 (C version 6.1)
+       (test.tex
+       Hyphenation patterns for english, dutch, loaded.
+       (lilyponddefs.tex) (lelie.uit) [1] [2] )
+       Output written on test.dvi (2 pages, 8072 bytes).
+       Transcript written on test.log.
+
+       hw:~/musix/spacer$ xdvi test&
+       [1] 1468
+
+Check out kortjakje.ly, it has some comments
+
+
+=head1 PROBLEMS
+
+If LilyPond bombs out, then please recompile using B<-g>, and send a gdb
+stacktrace of the crash. It also helps if you can print the values of the objects. So if you trace is
+
+       (gdb) backtrace 12
+       #0  Interval::operator+= (this=0x11fffec60..)
+           at ../flower/interval.hh:50
+       #1  0x12005195c in Item::width (this=0x14008a680) at src/item.cc:39
+       #2  0x12008fdbc in itemlist_width (its=0x11fffed58 ..
+         :
+         :
+
+Than it would help if you send a dump of the Interval and the Item
+(use: 'print *this' or use LilyPond print() methods).
+
+This is a beta version of LilyPond. Please send your helpful comments
+and patches to me,
+
+LilyPond is updated very frequently, the latest version is always available at:
+
+F<ftp://pcnov095.win.tue.nl/pub/lilypond>
+
+
+=head1 FILES
+
+F<symbol.ini> The initialisation file with symbol tables etc.
+
+=head1 HOW DOES IT WORK
+
+=over 5
+
+Use The Source, Luke. If you don't know C++, you can try editing
+the file F<.dstreamrc> for copious debugging output. (use B<-d>)
+
+the subdir Documentation/ contains some more-in-depth matter on LilyPond
+
+The source is commented in the DOC++ style.
+Check out doc++ at
+
+       http://www.ZIB-Berlin.DE/VisPar/doc++/doc++.html
+
+=back
diff --git a/README b/README
index c936c13e294415127fa531c0335f0f7ee0222d18..94d352fc5098dab4ef2700c7c0c3027e16bf79b8 100644 (file)
--- a/README
+++ b/README
@@ -1,116 +1,7 @@
--*-text-*-
+Please refer to the directory Documentation/.
 
-last update: 96/17/12, 0.0.17
+To generate the pretty-printed docs, do a:
 
-LICENSE
+       make doc
 
-See file COPYING
-
-INTRODUCTION
-
-This is a beta version of LilyPond (a music typesetter). Please send
-your helpful comments and patches to me,
-
-       hanwen@stack.nl
-
-LilyPond is updated very frequently, the latest version is always available at:
-
-       ftp://pcnov095.win.tue.nl/pub/lilypond
-
-PREREQUISITES
-
-Compilation:
-
-       - Unix (any decent Linux distribution is fine)
-       - GNU C++ v2.7  or better
-       - GNU make.
-       - flex (2.5.1 or better)
-       - bison/yacc
-       - The "flower" library, which should be available from the
-       same source you got this from.
-       - perl
-
-Operation:
-
-       - TeX
-       - the MusixTeX fonts
-
-The Makefile uses  perl for trivial operations,  and you could  tinker
-with it to use sed or awk.
-
-COMPILING
-
-Do:
-
-       tar zxf flower-1.11.9.tar.gz
-       mv flower-1.11.9 flower
-       cd flower; make; cd ..
-       tar zxf lilypond-1.2.13.tar.gz
-       cd lilypond-1.2.13
-       make
-
-why G++ >= 2.7? LilyPond & flower lib uses:
-
-       builtin bool
-       typeof
-       operator <?, operator >?
-       new for-scope
-
-USING
-
-At this time, LilyPond is only suited for Quick & Dirty jobs (the
-output quality still is too low). If you're not discouraged; this is
-what I type in my xterm:
-
-       lilypond someinput.ly
-       tex test
-       xdvi test&
-
-This is what the output looks like over here:
-
-       hw:~/musix/spacer$ lilypond maartje.ly
-       LilyPond 0.0.17/FlowerLib 1.0.14. Compile: Dec 17 1996, 11:33:54 (g++ 2.7.2)
-       Parsing ... [symbol.ini][maartje.ly]
-       Processing ... Calculating ... Postprocessing ... 
-       output to lelie.uit...
-
-       hw:~/musix/spacer$ tex test
-       This is TeX, Version 3.14159 (C version 6.1)
-       (test.tex
-       Hyphenation patterns for english, dutch, loaded.
-       (lilyponddefs.tex) (lelie.uit) [1] [2] )
-       Output written on test.dvi (2 pages, 8072 bytes).
-       Transcript written on test.log.
-
-       hw:~/musix/spacer$ xdvi test&
-       [1] 1468
-
-Check out kortjakje.ly, it has some comments
-
-
-PROBLEMS
-
-If LilyPond bombs out, then please recompile using -g, and send a gdb
-stacktrace of the crash. It also helps if you can print the values of the objects. So if you trace is
-
-(gdb) backtrace 12
-#0  Interval::operator+= (this=0x11fffec60, r=-1.7976931348623157e+308)
-    at ../flower/interval.hh:50
-#1  0x12005195c in Item::width (this=0x14008a680) at src/item.cc:39
-#2  0x12008fdbc in itemlist_width (its=0x11fffed58) at src/simpleprint.cc:40
-  :
-  :
-
-Than it would help if you send a dump of the Interval and the Item (use: 'print *this' or use LilyPond print() methods)
-
-HOW DOES IT WORK
-
-* Use The Source, Luke. If you don't know C++, you can try editing
-.dstreamrc for copious debugging output. (use -d)
-
-* the subdir Documentation/ contains some more-in-depth matter on LilyPond
-
-* The source is commented in the DOC++ style.
-Check out doc++ at
-
-       http://www.ZIB-Berlin.DE/VisPar/doc++/doc++.html
+in the top-level dir
\ No newline at end of file