]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.1.55
authorfred <fred>
Tue, 26 Mar 2002 22:14:50 +0000 (22:14 +0000)
committerfred <fred>
Tue, 26 Mar 2002 22:14:50 +0000 (22:14 +0000)
40 files changed:
Documentation/bibliography/computer-notation.bib [new file with mode: 0644]
input/bugs/spacing.ly
input/test/font-body.ly
input/twinkle.ly
lily/bow.cc
lily/crescendo.cc
lily/include/lookup.hh
lily/lookup.cc
lily/repeat-engraver.cc
lily/slur.cc
ly/paper16.ly
ly/paper20.ly
ly/params.ly
ly/script.ly
mf/feta-schrift.mf
mutopia/J.S.Bach/Duette/GNUmakefile [new file with mode: 0644]
mutopia/J.S.Bach/Duette/global-i.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/global-ii.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/viola-i.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/viola-ii.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/viola-part.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/violino-i.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/violino-ii.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/violino-part.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/violino-viola.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/violino-violoncello.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/violoncello-i.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/violoncello-ii.ly [new file with mode: 0644]
mutopia/J.S.Bach/Duette/violoncello-part.ly [new file with mode: 0644]
mutopia/J.S.Bach/GNUmakefile
ps/lily.ps
ps/lilyponddefs.ps
scm/lily.scm
scm/script.scm
scripts/convert-mudela.py
scripts/ly2dvi.py
tex/fetdefs.tex
tex/lily-ps-defs.tex
tex/lilyponddefs.tex
tex/titledefs.tex

diff --git a/Documentation/bibliography/computer-notation.bib b/Documentation/bibliography/computer-notation.bib
new file mode 100644 (file)
index 0000000..faf176c
--- /dev/null
@@ -0,0 +1,656 @@
+%
+% TITLE=The music notation with computer bibliography
+% AUTHOR=Han-Wen Nienhuys
+%
+
+@String{CitH = {Computing and the Humanities}}
+@String{CMJ = {Computer Music Journal}}
+
+@TechRep=ort{roush88,
+  note  = {Rules on formatting music formulated for use in computers. Mainly distilled from [Ross] HWN},
+  year = {1988},
+  title = {Music Formatting Guidelines},
+  author = {D. Roush},
+  number = {OSU-CISRC-3/88-TR10}, 
+  institution = {Department of Computer and Information Science, The Ohio State University},
+}
+
+
+
+@InProceedings{assayaag86,
+  author =      {G. Assayaag and D. Timis},
+  title =       {A Toolbox for music notation},
+  booktitle =   {Proceedings of the 1986 International Computer Music Conference},
+  year =       1986
+}
+
+% byrd
+@PhdThesis {byrd85,
+  year =  {1985},
+  title = {Music Notation by Computer},
+  author = {Donald Byrd},
+  school = {Indiana University},
+}
+
+@Article {byrd74,
+  year =  {1974},
+  title = {A System for Music Printing by Computer},
+  author = {Donald Byrd},
+  journal = {Computers and the Humanities},
+  volume ={8},
+  pages ={161-72},
+}
+
+@Article{byrd94,
+  author =      {Donald Byrd},
+  title =       {Music Notation Software and Intelligence},
+  journal =     {Computer Music Journal},
+year = 1994,
+pages = {17--20},
+  volume =      18,
+  number =      1,
+
+  note = {Byrd (author of Nightinggale) shows four problematic
+fragments of notation, and rants about notation programs that try to
+exhibit intelligent behaviour. HWN}
+}
+
+
+
+@Article{ericson75,
+  author =      {R. F. Ericson},
+  title =       {The DARMS Project: A status report},
+  journal =     {Computing in the humanities},
+  year =        1975,
+  volume =      9,
+  number =      6,
+  pages =       {291--298},
+  note = {Gourlay\cite{gourlay86} writes: A discussion of the design
+  and potential uses of the DARMS music-description language.}
+}
+
+
+@Article{field-richards93,
+  author =      {H.S. Field-Richards},
+  title =       {Cadenza: A Music Description Language},
+  journal =     CMJ,
+  year =        1993,
+  volume =      17,
+  number =      4,
+
+  note = {A description through examples of a music entry language.
+Apparently it has no formal semantics.  There is also no
+implementation of notation convertor. HWN}
+}
+
+
+
+@Article{bielawa93,
+  author =      {Herbert Bielawa},
+  title =       {Review of Sibelius 7},
+  journal =     CMJ,
+  year =        {1993?},
+
+  note = {A raving review/tutorial of Sibelius 7 for Acorn.  (And did
+they seriously program a RISC chip in ... assembler ?!) HWN}
+
+
+}
+
+@Article{sloan93,
+  author =      {Donald Sloan},
+  title =       {Aspects of Music Representation in HyTime/SMDL},
+  journal =     CMJ,
+  year =        1993,
+  volume =      17,
+  number =      4,
+
+note = {An introduction into HyTime and its score description variant
+SMDL.  With a short  example that is quite  lengthy in SMDL}
+}
+
+@Article{wiggins93,
+  author =      {Geraint Wiggins and Eduardo Miranda and Alaaaan Smaill and Mitch Harris},
+  title =       {A Framework for the evaluation of music representation systems},
+  journal =     CMJ,
+  year =        1993,
+  volume =      17,
+  number =      3,
+
+  note = {A categorisation of music representation systems (languages,
+OO systems etc) splitted into high level and low level expressiveness.
+The discussion of Charm and parallel processing for music
+representation is rather vague. HWN}
+
+}
+
+
+
+@Article{dannenberg93,
+  author =      {Roger B. Dannenberg},
+  title =       {Music Representation: Issues, Techniques, and Systems},
+  journal =     CMJ,
+  year =        1993,
+  volume =      17,
+  number =      3,
+
+  note = {The title says it all.  This article does not make any
+statements, it points to some problems and solutions with music
+representation. HWN},
+
+}
+
+@Article{rothstein93,
+  author =      {Joseph Rothstein},
+  title =       {Review of Passport Designs' Encore Music Notation Software},
+  journal =     CMJ,
+  year =        {?},
+
+note = {A no-science-here review of Encore. HWN}
+
+}
+
+
+
+@Article{belkin94,
+  author =      {Alan Belkin},
+  title =       {Macintosh Notation Software: Present and Future},
+  journal =     CMJ,
+  year =        1994,
+  volume =      18,
+  number =      1,
+
+  note = {Some music notation systems are analysed for ease of use, MIDI
+  handling.  No rocket science here.  The article ends with a plea for a
+  standard notation format. HWN},
+
+}
+
+@Book {smith73,
+  year =  {1973},
+  title = {Editing and Printing Music by Computer},
+  author = {Leland Smith},
+  totalentry = {Journal of Music Theory},
+  volume={17},
+  pages ={292-309},
+  note = {Gourlay\cite{gourlay86} writes: A discussion of Smith's music-printing system}
+}
+
+
+@InProceedings{montel97,
+  author =      {Dominique Montel},
+  title =       {La gravure de la musique, lisibilit\'e esth\'etique, respect de l'oevre},
+  booktitle =   {Musique \& Notations},
+  year =        1997,
+  address={Lyon},
+  editors ={Genevois \& Orlarey}
+}
+
+
+% Gomberg
+@PhdThesis {gomber75,
+  year =  {1975},
+  title = {A Computer-Oriented System for Music Printing},
+  author = {David A Gomberg},
+  school = {Washington University},
+}
+
+@Book {gomberg,
+  title = {A Computer-oriented System for Music Printing},
+  author = {David A.  Gomberg},
+  journal  = CitH,
+  volume={11},
+  month = {march},
+  year = {1977},
+  pages = {63-80},
+  note = {Gourlay \cite{gourlay86} writes: "A discussion of the
+  problems of representing the conventions of musical notation in
+  computer algorithms."}
+
+}
+
+
+
+@Book {CASR,
+  note = {Annual editions since 1985, many containing surveys of music typesetting technology. SP},
+  title = {Directory of Computer Assisted Research in Musicology},
+  author = {Walter B Hewlett and Eleanor Selfridge-Field},
+  totalentry = {Menlo Park, CA: Center for Computer Assisted Research in the Humanities},
+}
+
+
+
+% LIME
+@Article {haken93,
+  note = {A description of Lime internals (which resemble older (before 0.0.68pre) LilyPond data structures) HWN},
+  year =  {1993},
+  title = {The Tilia Music Representation: Extensibility, Abstraction, and Notation Contexts for the Lime Music Editor},
+  author = {Lippold Haken and Dorothea Blostein},
+  journal = {Computer Music Journal},
+  volume= {17},
+  number={3},
+  pages = {43--58},
+}
+
+@InProceedings{haken95,
+  year =  {1995},
+  title = {A New Algorithm for Horizontal Spacing of Printed Music},
+  author = {Lippold Haken and Dorothea Blostein},
+  booktitle = {International Computer Music Conference},
+  address={Banff},
+  month={Sept},
+  pages = {118-119},
+  note = {This describes an algorithm which uses springs between adjacent columns. This algorithm is a "subclass" of the LilyPond algorithm. HWN},
+}
+
+@Article {blostein91,
+  note = {This paper provides a shallow overview of the algorithm used in LIME for spacing individual lines. HWN},
+  year =  {1991},
+  title = {Justification of Printed Music},
+  author = {Dorothea Blostein and Lippold Haken},
+  journal   = {Communications of the ACM},
+  volume= {J34},
+  number= {3},
+  month= {March},
+  pages = {88-99},
+}
+
+
+@Article{blostein94,
+  author =      {Dorothea Blostein and Lippold Haken},
+  title =       {The Lime Music Editor: A Diagram Editor Involving Complex
+  Translations},
+  journal =     {Software Practice and Experience},
+  year =        {1994},
+  volume =      {24},
+  number =      {3},
+  month =       {march},
+  pages =       {289--306},
+  note = {A description of various conversions, 
+decisions and issues relating to this interactive editor HWN},
+}
+
+@InProceedings{bouzaiene98:_une,
+  author =      {Nabil Bouzaiene and Lo\"ic Le Gall and Emmanuel Saint-James},
+  title =       {Une biblioth\`eque pour la notation  musicale baroque},
+  booktitle =   {EP '98},
+  year =        1998,
+  series =      {LNCS},
+
+  note = {Describes ATYS, an extension to Berlioz, that can mimick
+  handwritten baroque style beams}
+}
+
+
+
+@MastersThesis{gall97:_creat,
+  author =      {Lo\"ic Le Gall},
+  title =       {Cr\'eation d'une police adapt\'ee \`a la notation musicale baroque},
+school = {\'Ecole Estienne},
+year = 1997,
+}
+
+@InProceedings{balaban88,
+  author =      {M. Balaban},
+  title =       {A Music Workstation Based on Multiple Hierarchical Views of Music},
+  booktitle =   {Proceedings of the 1988 International Computer Music Conference},
+  year =        1988,
+  address =     {San Francisco},
+  organization = {International Computer Music Association}
+}
+
+%
+% MusiCopy
+%
+@TechReport {gourlay87-spacing,
+  note = {Algorithm for generating spacing in one line of (polyphonic) music, tailored for use with MusiCopy. LilyPond uses a variant of it (as of pl 76) HWN},
+  year =  {1987},
+  title = {Spacing a Line of Music,},
+  author = {John S. Gourlay},
+  number = {OSU-CISRC-10/87-TR35},
+  institution ={Department of Computer and Information Science, The Ohio State University},
+}
+
+
+@TechReport {parish87,
+  note = {A brief overview of {MusiCopy} HWN},
+  year =  {1987},
+  title = {{MusiCopy}: An automated Music Formatting System},
+  author = {Allen Parish and Wael A. Hegazy and John S. Gourlay and Dean K. Roush and F. Javier Sola},
+  totalentry = {OSU-CISRC-10/87-TR29},
+  institution ={Department of Computer and Information Science, The Ohio State University},
+}
+
+
+@TechReport {gourlay87-formatting,
+note = {This paper discusses the development of algorithms for the
+formatting of musical scores (from abstract). It also appeared at
+PROTEXT III, Ireland 1986},
+  year =  {1987},
+  title = {Computer Formatting of Music},
+  author = {John S. Gourlay and A. Parrish
+and D. Roush and F. Sola and Y. Tien},
+  number = {OSU-CISRC-2/87-TR3},
+  institution ={Department of Computer and Information Science,
+The Ohio State University},
+}
+
+
+@TechReport {hegazy87,
+  year =  {1987},
+  title = {On the Implementation of the {MusiCopy} Language Processor,},
+  author = {Wael A. Hegazy},
+  number = {OSU-CISRC-10/87-TR34},
+  institution={Department of Computer and Information Science, The Ohio State University},
+
+  note = {Describes the "parser" which converts {MusiCopy} MDL to
+  MusiCopy Simultaneities and columns.
+
+MDL is short for Music Description Language\cite{gourlay86}. It
+accepts music descriptions that are organised into measures filled
+with voices, those filled notes. The measures can be arranged
+simultaneously or sequentially.  To address the 2-dimensionality,
+almost all constructs in MDL must be labeled.
+
+MDL uses begin/end markers for attribute values and spanners.
+Rightfully the author concludes that MusiCopy must administrate a
+"state" variable containing both properties and current spanning symbols.
+
+MusiCopy attaches graphic information to the objects constructed in
+the input: the elements of the input are partially complete graphic
+objects.
+
+Since the design goals of both LilyPond and MusiCopy were roughly the
+same, both systems have superficial similarities: the details of the
+input format, the notation of "musical state".  However, LilyPond
+stresses extensibility, modularity and separation between content and
+presentation much more, and this shows: LilyPond is more flexible.  To
+be fair: development of MusiCopy was abandoned in 1987, so it is not
+surprising that LilyPond is more mature.
+},
+
+}
+
+
+@TechReport {hegazy87-breaking,
+  note = {This generalizes \TeX's breaking algorithm to music. It also appeared in Document Manipulation and Typography, J.C. van Vliet (ed) 1988. HWN},
+  year =  {1987},
+  title = {Optimal line breaking in music},
+  author = {Wael A. Hegazy and John S. Gourlay},
+  number = {OSU-CISRC-8/87-TR33},
+  institution={Department of Computer and Information Science, The Ohio State University,},
+}
+
+
+@TechReport {roush87,
+  note = {User manual of MusiCopy. Includes an impressive example piece.  HWN},
+  year =  {1987},
+  title = {Using {MusiCopy}},
+  author = {Dean K. Roush},
+  number = {OSU-CISRC-18/87-TR31},
+  institution={Department of Computer and Information Science, The Ohio State University},
+}
+
+
+@TechReport {parrish87-simultaneities,
+  note = {Placement of balls, stems, dots which occur at the same moment ("Simultaneity") HWN},
+  year =  {1987},
+  title = {Computer Formatting of Musical Simultaneities,},
+  author = {A. Parrish and John S. Gourlay},
+  institution={Department of Computer and Information Science, The Ohio State University},
+  number = {OSU-CISRC-10/87-TR28},
+}
+
+
+@TechReport {sola87,
+  note = {Overview of a procedure for generating slurs HWN},
+  year =  {1987},
+  title = {Computer Design of Musical Slurs, Ties and Phrase Marks,},
+  author = {F. Sola},
+  institution={Department of Computer and Information Science, The Ohio State University},
+  number = {OSU-CISRC-10/87-TR32},
+}
+
+
+@TechReport {sola87-beams,
+  institution={Department of Computer and Information Science, The Ohio State University},
+  note = {Calculating beam slopes HWN},
+  year =  {1987},
+  title = {Design of Musical Beams,},
+  author = {F. Sola and D. Roush},
+  number = {OSU-CISRC-10/87-TR30},
+}
+
+
+@Article {gourlay86,
+  note = {This paper describes the {MusiCopy} musicsetting system and an input language to go with it. HWN},
+  year =  {1986},
+  title = {A language for music printing},
+  author = {John. S. Gourlay},
+  journal = {Communications of the ACM},
+   volume= {29},
+  number ={5},
+  pages = {388--401},
+}
+
+
+
+@Article {rader96,
+  note = {Describes a system called MusicEase, and explains that it uses "constraints" (which go unexplained) to automatically position various elements. HWN},
+  year =  {1996},
+  title = {Creating Printed Music Automatically},
+  author = {Gary M. Rader},
+  journal = {Computer},
+  volume={29},
+  number={6},
+  month={June},
+  pages = {61--69},
+}
+
+
+
+
+@PhdThesis {page88,
+  note = {Don't ask Stephen for a copy. Write to the Bodleian Library, Oxford, or to the British Library, instead. SP},
+  year =  {1988},
+  title = {Computer Tools for Music Information Retrieval},
+  author = {Stephen Dowland Page},
+  school ={Dissertation University of Oxford},
+}
+
+@MastersThesis{roelofs91,
+  note = {This dutch thesis describes a simplistic (monophonic) typesetting system, and focuses on the breaking algorithm, which is taken from Hegazy & Gourlay HWN},
+  year =  {1991},
+  title = {Een Geautomatiseerd Systeem voor het Afdrukken van Muziek},
+  author = {Ren\'e Roelofs},
+  school={Erasmus Universiteit Rotterdam},
+  number={45327},
+  translation = {``An automated system for printing music'' Master's Thesis Managerial Computer Science.},
+}
+
+
+@Article {filgueiras93,
+  year =  {1993},
+  title = {Representation and manipulation of music documents in SceX},
+  author = {Miguel Filgueiras and Jos\'e Paulo Leal},
+  journal= {Electronic Publishing},
+  volume={6},
+  number={4}, pages = {507--518},
+
+}
+
+
+@Article {foxley87,
+  note = {A paper on a TROFF preprocessor to typeset music. The output shown is not very sophisticated, and contains some typographical atrocities HWN},
+  year =  {1987},
+  title = {Music --- A language for typesetting music scores},
+  author = {Eric Foxley},
+  journal = {Software --- Practice and Experience},
+  volume = {17},
+  number = {8},
+  pages = {485-502},
+}
+
+
+@Book {filgueiras96,
+  year = {1996},
+  title = {Implementing a Symbolic Music Processing System},
+  author = {Miguel Filgueiras},
+  totalentry = {LIACC, Universidade do Porto, 1996; submitted},
+}
+
+@Book {filgueiras?,
+  title = {Some Music Typesetting Algorithms},
+  author = {Miguel Filgueiras},
+  totalentry = {Miguel Filgueiras. ``Some Music Typesetting Algorithms''. LIACC, Universidade do Porto, forthcoming},
+}
+
+
+@Article {colorado-web,
+  author ={Alyssa Lamb},
+  note = {Webpages about engraving (designed with finale users in mind) (sic) HWN},
+  institution = {The University of Colorado},
+  title ={The University of Colorado Music Engraving page.},
+  HTML={http://www.cc.colorado.edu/Dept/MU/Musicpress/},
+  year={1996}
+}
+
+
+
+
+@Article {Langston90,
+  note = {This paper deals with some command-line
+  tools for music editing and playback. It doesn't mention notation
+  issues, but does come with the grand idea (not) of using music to
+  monitor complex systems. Imagine your nuclear plant supervisor to
+  use AC/DC for checking the reactor HWN},
+
+  year =  {1990},
+  title = {Unix music tools at Bellcore},
+  author = {Peter S. Langston},
+  journal={Software --- Practice and Experience},
+  volume={20},
+  number={S1},
+  pages={47--61},
+}
+
+
+
+@Article {tablature-web,
+  note = {FAQ (with answers) about TAB, the ASCII variant of Tablature. HWN},
+  title = {how to read and write tab: a guide to tab notation},
+  author = {Howard Wright},
+  email={Howard.Wright@ed.ac.uk},
+  HTML={http://wabakimi.carleton.ca/~phacket2/guitar/tabfaq.html},
+}
+
+
+@Article {niff-web,
+  note = {Specs for NIFF, a reasonably comprehensive but binary (yuk) format for notation HWN},
+
+  year =  {1995},
+  title = {NIFF6a Notation Interchange File Format},
+  author = {Cindy Grande},
+  publisher={Grande Software Inc.},
+  HTML= {http://www.jtauber.com/music/encoding/niff/},
+  ftp = {ftp://blackbox.cartah.washington.edu}
+}
+
+
+@Article {smdl-web,
+  author={unknown},
+  title = {SMDL, Standard Musical Description Language},
+  pdf= {ftp://ftp.ornl.gov/pub/sgml/wg8/smdl/10743.pdf},
+  note={ISO/IEC DIS 10743
+
+SGML instance for describing music.  Very comprehensive in music
+definition, but no support for notation / performance whatsoever (They
+basically say: "You can embed a NIFF or MIDI file") HWN}
+
+},
+}
+
+@TechReport{Ornstein83,
+  author={Ornstein, Severo M. and John Turner Maxwell III},
+  title={Mockingbird: A Composer's Amanuensis},
+  institution={Xerox Palo Alto Research Center},
+  address={3333 Coyote Hill Road, Palo Alto, CA, 94304},
+  number={CSL-83-2},
+  month={January},
+  year={1983}
+}
+
+
+
+@Article{Ornstein84,
+  author={Ornstein, Severo M. and John Turner Maxwell III},
+  title={Mockingbird: A Composer's Amanuensis},
+  journal= {Byte},
+  volume= 9,
+  month = {January},
+  year= { 1984},
+  note={A discussion of an interactive and graphical computer system for
+music composition}
+
+}
+
+@PhdThesis{mueller90:_inter_bearb_musik,
+  author =      {Giovanni M\"uller},
+  title =       {Interaktive Bearbeitung konventioneller Musiknotation},
+  school =      {Eidgen\"ossischen Technischen Hochschule Z\"urich},
+  year =        1990,
+
+note = {This is about engraver-quality typesetting with computers.  It
+accepts the axiom that notation is too difficult to generate
+automatically.  The result is that a notation program should be a
+WYSIWYG editor that allows one to tweak everything.
+
+The implementation therefore is quite "weak".  The introductory
+chapters on engraving and notation are well structured and clear,
+though.}
+}
+
+
+%
+% three part study by John Gr/over
+@TechReport{grover89-symbols,
+  author =      {John Gr\/over},
+  title =       {A computer-oriented description of Music Notation.  Part I. The Symbol Inventory},
+  institution =  {Department of informatics, University of Oslo},
+  year =        1989,
+  number =      133,
+
+note = {The goal of this series of reports is a full description of
+music formatting.  As these largely depend on parameters of fonts, it
+starts with a verbose description of music symbols.
+
+ The subject is treated backwards: from general rules of typesetting
+the author tries to extract dimensions for characters, whereas the
+rules of typesetting (in a particular font) follow from the dimensions
+of the symbols.  His symbols do not match (the stringent) constraints
+formulated by eg. \cite{wanske}} }
+
+@TechReport{grover89-twovoices,
+  author =      {John Gr\/over},
+  title =       {A computer-oriented description of Music Notation. Part II: Two Voice Sharing a Staff, Leger Line Rules, Dot Positioning},
+
+  institution =  {Department of informatics, University of Oslo},
+  year =        1989,
+  number =      134,
+
+  note = {A lot rules for what is in the title are formulated.  The
+descriptions are long and verbose.  The verbosity shows that
+formulating specific rules is not the proper way to approach the
+problem.  Instead, the formulated rules should follow from more
+general rules, similar to\cite{parrish87-simultaneities}},
+}
+
+@TechReport{grover89-accidentals,
+  author =      {John Gr\/over},
+  title =       {A computer-oriented description of Music Notation. Part III: Accidental Positioning},
+  institution =  {Department of informatics, University of Oslo},
+  year =        1989,
+  number =      135,
+
+note = {Placement of accidentals crystallised in an enormous set of
+rules.  Same remarks as for \cite{grover89-twovoices} applies} }
index ddd2903abc9eb4499a7bbea60fe34d0c5552ae93..70d831405a6cf9a610d962d8f26b9e90a6486a3b 100644 (file)
@@ -1,14 +1,7 @@
+
+%JAN: Dit is een autobiem bug.
 \score {
-    \notes \transpose c'' \context Staff { c\longa*1/4 c\breve*1/2 c1 c2 c4 c8 c16 c32 c64 }
-    \paper {
-     \translator {
-       \StaffContext
-      % \remove "Staff_symbol_engraver";
-        \remove "Time_signature_engraver";
-        \remove "Bar_engraver";
-        \remove "Clef_engraver";
- }
-linewidth = -1.;
-    }}
+    \notes \transpose c'' \context Voice { c8 c16 c32 c64 }
+   }
 
 
index 65d91f885b1db7e51e6fe405a741601fd3068f20..474e9a9dd174ebeb0bf885e21e7e706f14771fc1 100644 (file)
@@ -14,7 +14,7 @@ FontBody=     \notes\transpose c''{
                a\mf_\fermata a\f-\stopped a\ff-\open a\fff^\trill|
                a\fp-\reverseturn a4.\sf a4.\sfz |  a4\fz % a\rf
                [c8-\prall c-\mordent] [a'-\prallmordent a'-\prallprall]
-               [c8-\upprall a'8-\downprall] [a'-\segno c-\wheel] |
+               [c8-\upprall a'8-\downprall] [a'-\segno c-\coda] |
                [c \< d e f] [as' ges' f' e']
                [cis' dis' c' des'] [cisis' disis' \! ceses' deses'] |
                \clef "bass";
index 168558215f75f5300ec51f91286bbb99a129d54f..78a40f1a15e93452f36143819093eb9f1d771a22 100644 (file)
@@ -17,7 +17,7 @@ traditional song in various languages.
 
 %{
 Tested Features: lyrics, interleaving lyrics and staffs, repeats,
-       auto beaming, applying new rhythm on lyrics
+       auto beaming, applying new rhythm on lyrics, hyphens
 %}
 
 \version "1.1.52";
@@ -53,12 +53,12 @@ global = \notes {
 }
 
 tekst = \lyrics{ 
-       Al- tijd is Kort- jak- je ziek, " "
-       midden "in de" week maar "'s zon-" dags  " " niet.
-       "'s Zon-" dags gaat ze naar de kerk, " "
-       met een boek vol zil- ver  " " werk. " "
-       Al- tijd is Kort- jak- je ziek, " "
-       midden  "in de" week maar "'s zon-" dags  " " niet.
+       Al -- tijd is Kort -- jak -- je ziek, " "
+       midden "in de" week maar "'s zon" -- dags  " " niet.
+       "'s Zon" -- dags gaat ze naar de kerk, " "
+       met een boek vol zil -- ver  " " werk. " "
+       Al -- tijd is Kort -- jak -- je ziek, " "
+       midden  "in de" week maar "'s zon" -- dags  " " niet.
 }
 
 
@@ -68,51 +68,51 @@ tekst. Mogen wij ook af en toe ergens op afgeven?
 %}
 
 hegedraagjetekst = \lyrics{ 
-       Al- tijd zuigt Bill Gates mijn piek, " "
-       "\TeX" is slecht- ser dan mu-  " " ziek.
-       "'s Zon-" dags gaat het door een raam, " "
-       Weet dat ik me er- voor  " " schaam.
-       Al- tijd zuigt Bill Gates mijn piek, " "
-       "\TeX" is slecht- ser dan mu-  " " ziek.
+       Al -- tijd zuigt Bill Gates mijn piek, " "
+       "\TeX" is slecht -- ser dan mu --  " " ziek.
+       "'s Zon" -- dags gaat het door een raam, " "
+       Weet dat ik me er -- voor  " " schaam.
+       Al -- tijd zuigt Bill Gates mijn piek, " "
+       "\TeX" is slecht -- ser dan mu --  " " ziek.
 }
 
 texte = \lyrics{ 
        \property Lyrics . textStyle" =  "italic" 
 %      \property Lyrics . textStyle" =  "roman" 
-       Ah! vous dir- ai- je ma- man " "
-       Ce qui cau- se mon tour-  " " ment
-       Pa- pa veut que je rai- son- ne
-       Comm' u- ne gran- de per- " " son- ne
-       Moi je dis que les bon- bons " "
-       Va- lent mieux que la rai-  " " son
+       Ah! vous dir -- ai -- je ma -- man " "
+       Ce qui cau -- se mon tour --  " " ment
+       Pa -- pa veut que je rai -- son -- ne
+       Comm' u -- ne gran -- de per -- " " son -- ne
+       Moi je dis que les bon -- bons " "
+       Va -- lent mieux que la rai --  " " son
 }
 
 texti = \lyrics{
        \property "Lyrics"."textStyle" =  "roman"
-       Twin- kle, twin- kle, lit- tle star, " "
-       How I won- der what you  " " are.
-       Up a- bove the world so high, " "
-       Like a dia- mond in the  " " sky. " "
-       Twin- kle, twin- kle, lit- tle star, " "
-       How I won- der what you  " " are!
+       Twin -- kle, twin -- kle, lit -- tle star, " "
+       How I won -- der what you  " " are.
+       Up a -- bove the world so high, " "
+       Like a dia -- mond in the  " " sky. " "
+       Twin -- kle, twin -- kle, lit -- tle star, " "
+       How I won -- der what you  " " are!
 }
 
 textii = \lyrics{
-       When the bla- zing sun is gone, " "
-       When he no- thing shines up-  " " on,
-       Then you show your lit- tle light, " "
-       Twin- kle, twin- kle, all the  " " night. " "
-       Twin- kle, twin- kle, lit- tle star, " "
-       How I won- der what you  " " are!
+       When the bla -- zing sun is gone, " "
+       When he no -- thing shines up --  " " on,
+       Then you show your lit -- tle light, " "
+       Twin -- kle, twin -- kle, all the  " " night. " "
+       Twin -- kle, twin -- kle, lit -- tle star, " "
+       How I won -- der what you  " " are!
 }
 
 textiii = \lyrics{
-       Then the tra- veler in the dark " "
-       Thanks you for your ti- ny  " " spark;
+       Then the tra -- veler in the dark " "
+       Thanks you for your ti -- ny  " " spark;
        He could not see which way to go,
-       If you did not twin- kle  " " so. " "
-       Twin- kle, twin- kle, lit- tle star, " "
-       How I won- der what you  " " are!
+       If you did not twin -- kle  " " so. " "
+       Twin -- kle, twin -- kle, lit -- tle star, " "
+       How I won -- der what you  " " are!
 }
 
 \score{
index 6553412fa10886f579442000945f803dffffdeda..e5daab3c1bcc7fac90886a65c4542495bf38ce28 100644 (file)
@@ -31,7 +31,7 @@ Bow::do_brew_molecule_p () const
 
   SCM d =  get_elt_property (dashed_scm_sym);
   if (d == SCM_BOOL_F)
-    a = lookup_l ()->slur (c);
+    a = lookup_l ()->slur (c, thick);
   else
     a = lookup_l ()->dashed_slur (c, thick, gh_scm2int (SCM_CDR(d)));
 
index 1dbe94e3e45d3626ed50239c9f2e4c535616c94f..2401502c9c9124a35d9ba6e8c9449b689fb2d741 100644 (file)
@@ -53,8 +53,9 @@ Crescendo::get_symbol () const
 
   bool continued = broken[Direction (-grow_dir_)];
   Real height = paper_l()->staffheight_f () / 6;
+  Real thick = paper_l ()->get_var ("crescendo_thickness");
 
-  return Molecule (lookup_l ()->hairpin (w_dim, height, grow_dir_ < 0, continued));
+  return Molecule (lookup_l ()->hairpin (w_dim, height, thick, grow_dir_ < 0, continued));
 }
 
 Molecule*
index 1d1d96c369445ed88a12c77e7d58ab1070c52d99..b7fcda070618dc6cfa87fb35322f81998e059805 100644 (file)
@@ -38,13 +38,13 @@ public:
   Molecule ledger_line (Interval) const;
   Molecule fill (Box b) const;
   Molecule filledbox (Box b) const;  
-  Molecule hairpin (Real width, Real height, bool decresc, bool continued) const;
+  Molecule hairpin (Real width, Real height, Real thick, bool decresc, bool continued) const;
   Molecule tuplet_bracket (Real dy, Real dx, Real gap, Real thick,Real interline, Direction dir) const;
   Molecule rest (int, bool outside, String) const;
   Molecule accordion (SCM arg, Real interline_f) const;
-  Molecule slur (Array<Offset> controls) const;
+  Molecule slur (Array<Offset> controls, Real thick) const;
   Molecule text (String style, String text, Paper_def*) const;
-  Molecule staff_brace (Real dy) const;
+  Molecule staff_brace (Real dy, int) const;
   Molecule staff_bracket (Real dy) const;
   Molecule volta (Real h, Real w,  Real thick,  bool last_b) const;
   Molecule special_time_signature (String, int,int, Paper_def*) const;
index 961a4b37c838a35cc718e15b23e86706789d7c80..38412301cbc4b2c2c65b25279c6ec5238ccdd9ac 100644 (file)
@@ -159,11 +159,13 @@ Lookup::bar (String str, Real h, Paper_def *paper_l) const
   if (str == "bracket")
     return staff_bracket (h);
   else if (str == "brace")
-    return staff_brace (h);
-  
+    {
+      Real staffht  = paper_l->get_var ("staffheight");
+      return staff_brace (h,staffht);
+    }
   Real kern = paper_l->get_var ("bar_kern");
   Real thinkern = paper_l->get_var ("bar_thinkern");
-  
+
   Molecule thin = simple_bar ("thin", h, paper_l);
   Molecule thick = simple_bar ("thick", h, paper_l);
   Molecule colon = afm_find ("dots-repeatcolon", paper_l);  
@@ -483,12 +485,13 @@ Lookup::time_signature (int num, int den, Paper_def *paper_l) const
 }
 
 Molecule
-Lookup::staff_brace (Real y) const
+Lookup::staff_brace (Real y, int staff_size) const
 {
   Molecule m;
   
   Atom at  (gh_list (pianobrace_scm_sym,
                     gh_double2scm (y),
+                    gh_int2scm (staff_size),
                     SCM_UNDEFINED
                     ));
   
@@ -499,7 +502,7 @@ Lookup::staff_brace (Real y) const
 }
 
 Molecule
-Lookup::hairpin (Real width, Real height, bool decresc, bool continued) const
+Lookup::hairpin (Real width, Real height, Real thick, bool decresc, bool continued) const
 {
   Molecule m;   
 
@@ -508,6 +511,7 @@ Lookup::hairpin (Real width, Real height, bool decresc, bool continued) const
                     gh_double2scm (width),
                     gh_double2scm (height),
                     gh_double2scm (continued ? height/2 : 0.0),
+                    gh_double2scm (thick),
                     SCM_UNDEFINED));
   m.dim_.x () = Interval (0, width);
   m.dim_.y () = Interval (-2*height, 2*height);
@@ -538,7 +542,7 @@ Lookup::tuplet_bracket (Real dy , Real dx, Real thick, Real gap, Real interline_
   Make a smooth curve along the points 
  */
 Molecule
-Lookup::slur (Array<Offset> controls) const
+Lookup::slur (Array<Offset> controls, Real linethick) const
 {
   Offset  delta_off = controls[3]- controls[0];
   Molecule m; 
@@ -552,6 +556,7 @@ Lookup::slur (Array<Offset> controls) const
 
   Atom at  (gh_list (ly_symbol ("bezier-sandwich"),
                     ly_quote_scm (array_to_list (scontrols, 8)),
+                    gh_double2scm (linethick),
                     SCM_UNDEFINED));
 
   m.dim_[X_AXIS] = Interval (0, delta_off[X_AXIS]);
index 5864e065271cfdf3f771a81ac9fd955531eba090..9ca3649fe3a9c8192367df058531512ff2d6ab52 100644 (file)
 
 ADD_THIS_TRANSLATOR (Repeat_engraver);
 
-/*
-  Needs redesign?
-
-  -  Logic needs to be moved out of do_try_music(),
-  
-  - don't  try to do multiple repeated music.  Lets assume repeats  don't nest.
-  
- */
 bool
 Repeat_engraver::do_try_music (Music* m)
 {
@@ -155,6 +147,8 @@ Repeat_engraver::do_process_requests ()
 
              if (t != "stop")
                bar_engraver_l->request_bar (t);
+             else
+               bar_engraver_l->request_bar (""); 
            }
          else
            {
index 504219f39305e29893e3552908c85eaba30d6d44..827e9a022214dca804688bd7b53ace3b334dbe1f 100644 (file)
@@ -38,10 +38,13 @@ void
 Slur::add_column (Note_column*n)
 {
   if (!n->head_l_arr_.size ())
-    warning (_ ("Putting slur over rest."));
-  encompass_arr_.push (n);
-  //  n->stem_l_->slur_l_ = this;
-  add_dependency (n);
+    warning (_ ("Putting slur over rest. Ignoring"));
+  else
+    {
+      encompass_arr_.push (n);
+      //  n->stem_l_->slur_l_ = this;
+      add_dependency (n);
+    }
 }
 
 Direction
index 252795dd956aefe0b0a106739bb114bc1a439407..264691e06828c4e3f8435026b58da3ae4b533e10 100644 (file)
@@ -23,7 +23,7 @@ paper_sixteen = \paper {
 
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 4.8\pt;
-       texsetting = "\\input lilyponddefs \\musixsixteendefs ";
+       texsetting = "\\input lilyponddefs ";
        pssetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\n";
        scmsetting = "\"(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\";\n";
        scmsetting = "\"\\\\input lilyponddefs \\\\musixsixteendefs\";\n";
index 25e85d7dc6159d947580dfa9bd086ddbc44c50f7..91594546997af6b0fc5b009c9337d9da479952d2 100644 (file)
@@ -30,7 +30,7 @@ paper_twenty = \paper {
 
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 6.\pt;
-       texsetting = "\\input lilyponddefs \\musixtwentydefs ";
+       texsetting = "\\input lilyponddefs ";
        pssetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\n";
        % urg, debugging only
        scmsetting = "\"(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\";\n";
index c224318fba209b4370c8c950b943bf56d34171fe..afc68d5ab717a29d8cc62d3982c99e51159ac900 100644 (file)
@@ -104,6 +104,8 @@ tie_slope_damping = 0.8;
 slur_thickness = 1.4 * \staffline;
 slur_height_limit = \staffheight;
 
+
+
 % slur_ratio = 0.3;
 % try bit flatter slurs
 slur_ratio = 0.25;
@@ -165,6 +167,7 @@ mmrest_x_minimum = 2.0*\staffheight;
 
 % chop off this much when next to pp / ff sign.
 crescendo_shorten = 4.0 * \interline;
+crescendo_thickness   = \staffline;
 
 % in internote.
 restcollision_minimum_dist = 3.0;
@@ -180,6 +183,8 @@ stemSpacingCorrection = 0.5*\interline;
 
 
 
+
+
 \include "engraver.ly";
 
 
index cbd3225c8e2778eb7b7b78b0499e31af79d91ff8..38f89853d243975e4f7e23f06cfc9e5bef20d61b 100644 (file)
@@ -44,4 +44,4 @@ prallmordent = \script "prallmordent"
 upprall = \script "upprall"
 downprall = \script "downprall"
 segno = \script "segno"
-wheel = \script "wheel"
\ No newline at end of file
+coda = \script "coda"
\ No newline at end of file
index 835a13c83166e70f30561ed17868b78ea08d181e..6f5a6c967f92ce52fb3d6edc966211e47f79b7d5 100644 (file)
@@ -666,31 +666,31 @@ fet_beginchar("Segno", "segno", "segno")
 fet_endchar;
 
 fet_beginchar("Coda", "coda", "coda")
-       save thin, thick, wheelwidth, wheelheight;
+       save thin, thick, codawidth, codaheight;
        thin# = 1.2 stafflinethickness#;
        thick# = 3.5 stafflinethickness#;
-       wheelwidth# = 2/3 interline#;
-       wheelheight# = 1 interline#;
-       define_pixels(thin, thick, wheelwidth, wheelheight);
+       codawidth# = 2/3 interline#;
+       codaheight# = 1 interline#;
+       define_pixels(thin, thick, codawidth, codaheight);
 
-       set_char_box(wheelwidth#+thick#, wheelwidth#+thick#,
-               wheelheight#+thick#, wheelheight#+thick#);
+       set_char_box(codawidth#+thick#, codawidth#+thick#,
+               codaheight#+thick#, codaheight#+thick#);
 
        penpos1(thick,0);
        penpos2(thin,-90);
        penpos3(thick,180);
-       x1l=-wheelwidth;
-       y2l=wheelheight;
+       x1l=-codawidth;
+       y2l=codaheight;
        y1=0;
        x2=0;
        z3 = - z1;
        penlabels(1,2,3);
 
-       path halfwheel;
-       halfwheel := z1l{up} .. z2l{right} .. z3l{down} -- 
+       path halfcoda;
+       halfcoda := z1l{up} .. z2l{right} .. z3l{down} -- 
                z3r{up} .. z2r{left} .. z1r{down} .. cycle;
-       fill halfwheel;
-       fill (halfwheel scaled -1);
+       fill halfcoda;
+       fill (halfcoda scaled -1);
 
        pickup pencircle scaled thin;
        draw (0,-h) -- (0,h);
diff --git a/mutopia/J.S.Bach/Duette/GNUmakefile b/mutopia/J.S.Bach/Duette/GNUmakefile
new file mode 100644 (file)
index 0000000..15abf8a
--- /dev/null
@@ -0,0 +1,12 @@
+# mutopia/J.S.Bach/Duette/GNUmakefile
+
+depth = ../../..
+
+SUBDIRS =
+EXTRA_DIST_FILES=
+
+LOCALSTEPMAKE_TEMPLATES=mutopia
+examples=
+
+include $(depth)/make/stepmake.make
+
diff --git a/mutopia/J.S.Bach/Duette/global-i.ly b/mutopia/J.S.Bach/Duette/global-i.ly
new file mode 100644 (file)
index 0000000..849b54b
--- /dev/null
@@ -0,0 +1,6 @@
+\version "1.1.52";
+
+$global_i = \notes{
+       \time 12/8;
+       \key G;
+}
diff --git a/mutopia/J.S.Bach/Duette/global-ii.ly b/mutopia/J.S.Bach/Duette/global-ii.ly
new file mode 100644 (file)
index 0000000..da22bed
--- /dev/null
@@ -0,0 +1,5 @@
+$global_ii = \notes{
+       \time 4/4;
+       \property Staff.timeSignatureStyle = "C2/2"
+       \key a\minor;
+}
diff --git a/mutopia/J.S.Bach/Duette/viola-i.ly b/mutopia/J.S.Bach/Duette/viola-i.ly
new file mode 100644 (file)
index 0000000..6645130
--- /dev/null
@@ -0,0 +1,22 @@
+\header{
+filename =      "viola-i.ly";
+title =                 "Vier Duette";
+description =   "Four duets for Violino and Violoncello (Viola)";
+opus =           "BWV";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "Public Domain";
+}
+
+\version "1.1.52";
+
+\include "global-i.ly"
+\include "violoncello-i.ly";
+
+$viola_i_staff = \context Staff = viola <
+  \property Staff.instrument = "viola"
+  %\property Staff.instrument = "violin"
+  \notes\transpose c'' \$violoncello_i
+  \clef alto;
+  \$global_i
+>
diff --git a/mutopia/J.S.Bach/Duette/viola-ii.ly b/mutopia/J.S.Bach/Duette/viola-ii.ly
new file mode 100644 (file)
index 0000000..5ccd1a9
--- /dev/null
@@ -0,0 +1,21 @@
+\header{
+filename =      "viola-ii.ly";
+title =                 "Vier Duette";
+description =   "Four duets for Violino and Violoncello (Viola)";
+opus =           "BWV";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "Public Domain";
+}
+
+\include "global-ii.ly"
+\include "violoncello-ii.ly";
+
+$viola_ii_staff = \context Staff = viola <
+  \property Staff.instrument = "viola"
+  %\property Staff.instrument = "violin"
+  \clef alto;
+  \$global_ii
+  \notes\transpose c'' \$violoncello_ii
+>
+\version "1.1.52";
diff --git a/mutopia/J.S.Bach/Duette/viola-part.ly b/mutopia/J.S.Bach/Duette/viola-part.ly
new file mode 100644 (file)
index 0000000..66df2cd
--- /dev/null
@@ -0,0 +1,43 @@
+\header{
+filename =      "viola-part.ly";
+title =                 "Vier Duette";
+description =   "Four duets for Violino and Violoncello (Viola)";
+opus =           "BWV";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "Public Domain";
+}
+
+\version "1.1.52";
+
+\include "global-i.ly"
+\include "viola-i.ly"
+
+%{
+\score{
+  \$viola_i_staff
+  \paper{
+    \translator { \BarNumberingStaffContext }
+  }
+  \midi{
+%urg real/duration
+%    \tempo 4. = 69;
+    \tempo 4 . = 50;
+  }
+}
+%}
+
+\include "global-ii.ly"
+\include "viola-ii.ly"
+
+\score{
+  \$viola_ii_staff
+  \paper{
+    castingalgorithm=0.0;
+    \translator { \BarNumberingStaffContext }
+    \translator { \ScoreContext skipBars = 1; }
+  }
+  \midi{
+    \tempo 2 = 96;
+  }
+}
diff --git a/mutopia/J.S.Bach/Duette/violino-i.ly b/mutopia/J.S.Bach/Duette/violino-i.ly
new file mode 100644 (file)
index 0000000..8ee9467
--- /dev/null
@@ -0,0 +1,88 @@
+\header{
+filename =     "violino-i.ly";
+title =                 "Vier Duette";
+description =  "Four duets for Violino and Violoncello (Viola)";
+opus =         "BWV";
+composer =     "Johann Sebastian Bach (1685-1750)";
+enteredby =    "jcn";
+copyright =    "Public Domain";
+}
+
+\version "1.1.52";
+
+$violino_i = \notes\relative c'' {
+  \property Voice.beamAutoEnd = "3/8"
+  %% should fix autobeamer: not only check shortest type's end in beam,
+  %%% but also the newly added type's end
+  \property Voice."beamAutoEnd_8" = "1/16"
+  %r4 r8 [g16(fis e)d] b'8 a r r [g16(fis e)d] c'8 |
+  r4 r8 g16(fis e)d b'8 a r r g16(fis e)d c'8 |
+  b r r d16(b)a g(e')c d(b)a g(c)a c(b)a g(a)fis |
+  g d(e fis g a )b d(c b c a )b g(a b c d )e g()fis e(d)cis |
+  a'd,(e fis g a )b a(g fis g e )fis a(g fis e )d 
+  %%cis d e fis <g8 { \grace a, } { \grace d, } >~|
+  cis d e fis <g8 a, d,>~|
+%5
+  %%<\grace a,16 \grace d, g'16 > e(fis)d cis d 
+  <g16 a, d,> e(fis)d cis d 
+  g,8 <f'4~g, g,> f16 d(e)c b c fis,!8 <e'4 fis,>~|
+  <e16 fis,> c(d)b a b e, b'(c)a g a d, a'(b)g fis g c, g'(a)fis e fis |
+  b,(d)e fis(g)a b(d)c b(a)g fis(g)a b(c)d e(a)g fis e d |
+  g d(e)fis g a b g(fis)g c, a' b, g'(fis)g a, c fis, g(a)b <c8( d, a>~|
+  <c d, a> )b r [d16(b a)g] e'8 d r r [c16(b a)g] g'8 | 
+%10
+  <fis a, d,> r r g16(fis)e d(b')g a(fis)e d(g)e g(fis)e d(e)cis |
+  <d4. d,>~<d16 d,> fis,(g e d)e <c'!4. d,>~<c16 d,> e,(fis d cis)d |
+  <b'4. g g,>~<b16 g g,> e,(dis)e fis g a8 b <c fis,>~ <c16 fis,> b(a)g fis e |
+  [dis e fis g] <a8 fis>~<a16 fis> fis(g)e d e b e(g)e dis e b e(g)e d e |
+  [cis d e fis] <g8 a,>~<g16 a,> e(fis)d cis d a d(fis)d cis d a d(fis)d c d |
+%15
+  [b c d e] <f8 g,>~<f16 g,> e(dis)e a e cis' a(gis)a dis a fis'8 [b,()a] |
+  g16 b(cis dis e fis )g b( a g fis e)dis cis( dis e fis g)a fis(e dis cis b |
+  )e g(fis)e a fis g b(a)g a fis g b(a)g fis e [dis()e fis()c] <a'8( b, fis b,>~|
+  <a b,> <)g b,> r [b,16(a g)fis] c'8 b r r [a16(g fis)e] e'8 |
+  dis8 r r e16 d(cis b g' e)fis d(cis b e cis)e d(cis b cis)ais |
+%20
+  <b4. d, g>~<b16 d,> ais( b d cis)e d8 [b()cis\prall] d [gis()b] |
+  <d,4. e,>~<d16 e,> gis,(a c! b)d <c8 e,> [a()b\prall] c [fis()a]|
+  <c,4. d,>~<c16 d,> a(b)g fis g e b'(c)a g a fis c'(d)b a b |
+  g d'(e)c b c a e'(s)d c d b8 <g'4 g, g,>~<g16 g,>c,(f! e d c |
+  )b c(f, a g f)e g(f e d c )g c(d e f g )a d(c)b a g |
+%25
+  c16 g a b c d e g(f)e f d e  c'(b)c a f g  c,(b)c <f8 g, g,>~|
+  <f16 g,> d(e)c b c fis8 a <c d, d,>~<c16 d, d,> c,(d)b a b e,8 <d'4 e,> ~|
+  <d16 e,> b(c)a gis a e' b(c)a g a fis' c(d)b a b g' d(e)c b c |
+  a' g(fis e d c)b d(c b a g)fis e'(d c b)a \breathe [g(fis e)d] b'8|
+  a r r r16 a, b c d(e)fis g a b c d [g,(fis e)d] c'8 | 
+%30
+  b r r r4 r8 r4 r8 d16 b(a g e')c|
+  d b(a g c a)b d(c f c a)b g(fis g a fis)g b(a g a fis|
+  )g e(d)c f d e g(f)e f d e f(g)a d, f e a(b)c e, g|
+  fis g(a)b e, g fis b(c)d fis, a g a(b)c fis, a g c(d)e g, b|
+  a g(a b c)d [c(b a)g] <f'8 g, g,> <e g, g,> r r d16(c b)a <g'8 a, d,> |
+%35
+  <fis a, d,> r r a16( fis e)d <c'8 a, d,> <b16 b, d, g,> g(a)b e,(g)c,
+  fis(g)a d,(fis|
+  )b, d(e)f b,(d)g, b(c)d g,(b)d, g(a)b d,(g)b, d(e)f b,(d|
+  )g,8 r r e'16(d c)b f'8 e r r g16(fis e)d c'8 |
+  <c4.\prall>~c16 b(a g)e' c()d b(a g)c a()c b(a)g
+  \context Staff<
+    %\context Voice { a16 f | g1. }
+    \context Voice { \property Voice.verticalDirection=1 a16 fis | g1. }
+    \context Voice=x { \property Voice.verticalDirection=-1 c,16 c | b1. }
+  >
+  \bar "|.";
+}
+
+\include "global-i.ly"
+
+$violino_i_staff = \context Staff = violino <
+  %urg
+  % \notes\property Voice.textStyle = "large" s4^"Moderato"
+  % \notes {s4. \property Voice.textStyle = "large" s4^"Moderato"}
+  % urg, timidity violino patches broken?
+  %\property Staff.instrument = "violin"
+  \property Staff.instrument = "viola"
+  \$violino_i
+  \$global_i
+>
diff --git a/mutopia/J.S.Bach/Duette/violino-ii.ly b/mutopia/J.S.Bach/Duette/violino-ii.ly
new file mode 100644 (file)
index 0000000..5cf92fd
--- /dev/null
@@ -0,0 +1,102 @@
+\header{
+filename =     "violino-ii.ly";
+title =                 "Vier Duette";
+description =  "Four duets for Violino and Violoncello (Viola)";
+opus =         "BWV";
+composer =     "Johann Sebastian Bach (1685-1750)";
+enteredby =    "jcn";
+copyright =    "Public Domain";
+}
+
+$violino_ii = \notes\relative c''{
+  R1*8 |
+  r2 e | 
+%10
+  fis a,|c8(b)a2 b8()cis|d e f2 e8()dis|e(b e)fis e(b e)g|
+  fis(b,fis')g fis(b,fis')a|
+%15
+  g(b,g')a g(b,g')b|fis(b,fis')g fis(b,fis')a|g fis e2 d4|cis bes'(a\prall)g|
+  bes, g'(f\prall)e|
+%20
+  g, e'(d\prall)cis|d8 g,(f)e d4 c'|b as'(g\prall)f|as, f'(e\prall)d|
+  f, d'(c\prall)b|
+%25
+  c8 f,(e)d c4 bes'(|)a8 g'(f)e f d a4~|a8 g(a)b g c e4| f,8(e'd)c d b f4~|
+  f8 e(f)g e g c4|
+%30
+  d,8(c'b)a b gis d4|d8 c(d)e c f e d|e4 a,2()gis4|a2 a'|c e,|
+%35
+  f8(e)d2 e8()fis|g a bes2 a8()gis|a(e a)b a(e a)c|b(e,b')c b(e,b')d|
+  c(e,c')d c(e,c')d|
+%40
+  b(e,b')c b(e,b')d| c(b)a2 gis4|a8()c b d c()b c a|e4 fis g fis8()e|fis4 gis a2~
+%45
+  a4 g8 fis g4 e~|e dis8 cis dis2\prall|e4 b' e2|e dis\prall|e4. d16(e f8)e d c|
+%50
+  b c d4. c8(b)a|gis a b4. a8(g)fis|gis()e gis a b()c d b|c()b a b c()d es c|
+  a b c4. b8(a)g|
+%55
+  fis g a4.g8(fis)e| fis()d fis g a()b c a|b()a g a b()c d b|c4 e()a, c(|
+  )fis, g8 a b4 g(|
+%60
+  )a c()fis, a(|)d, e8 fis g4 e(|)fis a()dis, fis(|)b, cis8 dis e2~|
+  e4 d8 cis d2~|
+%65
+  d4 e8 fis g2(|)g4 f8 e f2~|f4 g8 a bes2~|bes4 a8 gis a2~|
+  a gis\prall|
+%70
+  a e'|f a,|c8(b)a2 b8()cis|d e f2 e8()dis|e(b e)fis e(c)e g|
+%75
+  fis(b,fis')g fis(b,fis')a|g(b,g')a g(b,g')b|fis(b,fis')g fis(b,fis')a|
+  g\prall b,(e)fis g()a b()g|e f g4. f8(e)d|
+%80
+  cis d e4. d8(c)b|cis a cis d e()f g()e|f e d cis d4 c|b as'(g\prall)f|
+  as, f'(e\prall)d|
+%85
+  f, d'(c\prall)b| c8(g)c d c fis,(a)c|b(dis,)b' c b f,(b')d|
+  cis(a)cis dis e g,(c)e|d(f,)d' es d g,(d')f|
+%90
+  e(c)e fis g bes,(es)g|f(a,)f' g f bes,(d)f|e(gis,)e' f e a,(e')g|
+  f()g f e d()c b a|gis e()fis()g e gis a b|
+%95
+  c2 e,|f8 e(d)cis d e fis gis|a e a2 gis4(|)a b()c b8 a|b4()cis <d2 d,>~|
+%100
+  <d4 d,> c8 b c4 <a a,>~|<a a,> gis8 fis g2\prall|
+  <a2 e a,> <e' a,> <a a,> <a c,>|
+  %<a2 b, d4><gis\prall b,4 d>|
+  \context Staff<
+    \context Voice { 
+      \property Voice.verticalDirection=1
+      <a2 b,>gis\prall|a8 g f4~f8 e(d)cis|
+%105
+      d c bes4~bes8 a(gis)fis|gis4 e <e' a,><f a,>|
+      %c2 b()\grace a|
+      c2 b|
+      a1|
+    }
+    \context Voice=x { 
+      \property Voice.verticalDirection=-1
+      d,4 s<b4 d>s|<a2 d> s2|
+%105
+      <d g,> s2|s1|
+      %e2 d ()\grace c|
+      e2 d|
+      c1|
+    }
+  >
+  \bar "|.";
+}
+
+\include "global-ii.ly"
+
+$violino_ii_staff = \context Staff = violino <
+  %urg
+  % \notes\property Voice.textStyle = "large" s4^"Moderato"
+  % \notes {s4. \property Voice.textStyle = "large" s4^"Moderato"}
+  % urg, timidity violino patches broken?
+  %\property Staff.instrument = "violin"
+  \property Staff.instrument = "viola"
+  \$violino_ii
+  \$global_ii
+>
+\version "1.1.52";
diff --git a/mutopia/J.S.Bach/Duette/violino-part.ly b/mutopia/J.S.Bach/Duette/violino-part.ly
new file mode 100644 (file)
index 0000000..f53fc6f
--- /dev/null
@@ -0,0 +1,43 @@
+\header{
+filename =      "violino-part.ly";
+title =                 "Vier Duette";
+description =   "Four duets for Violino and Violoncello (Viola)";
+opus =           "BWV";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "Public Domain";
+}
+
+\version "1.1.52";
+
+\include "global-i.ly"
+\include "violino-i.ly"
+
+%{
+\score{
+  \$violino_i_staff
+  \paper{
+    \translator { \BarNumberingStaffContext }
+  }
+  \midi{
+%    \tempo 4. = 69;
+    \tempo 4 . = 50;
+  }
+}
+%}
+
+\include "global-ii.ly"
+\include "violino-ii.ly"
+
+\score{
+  \$violino_ii_staff
+  \paper{
+    \translator { \BarNumberingStaffContext }
+    castingalgorith=0;
+  }
+  \midi{
+%    \tempo 4. = 69;
+    \tempo 4 . = 50;
+  }
+}
+
diff --git a/mutopia/J.S.Bach/Duette/violino-viola.ly b/mutopia/J.S.Bach/Duette/violino-viola.ly
new file mode 100644 (file)
index 0000000..856c58d
--- /dev/null
@@ -0,0 +1,52 @@
+\header{
+filename =      "violino-viola.ly";
+title =                 "Vier Duette";
+description =   "Four duets for Violino and Violoncello (Viola)";
+opus =           "BWV";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "Public Domain";
+}
+
+\version "1.1.52";
+
+\include "violino-i.ly";
+\include "viola-i.ly";
+
+\score{
+  \context GrandStaff <
+    \$violino_i_staff
+    \$viola_i_staff
+  >
+  \paper{
+    \translator {
+      \OrchestralScoreContext
+    }
+  }
+  \midi{
+%urg real/duration
+%    \tempo 4. = 69;
+    \tempo 4 . = 50;
+  }
+}
+
+
+\include "violino-ii.ly";
+\include "viola-ii.ly";
+
+\score{
+  \context GrandStaff <
+    \$violino_ii_staff
+    \$viola_ii_staff
+  >
+  \paper{
+    \translator {
+      \OrchestralScoreContext
+    }
+  }
+  \midi{
+%    \tempo 2 = 96;
+    \tempo 2 = 75;
+  }
+}
+
diff --git a/mutopia/J.S.Bach/Duette/violino-violoncello.ly b/mutopia/J.S.Bach/Duette/violino-violoncello.ly
new file mode 100644 (file)
index 0000000..449f317
--- /dev/null
@@ -0,0 +1,50 @@
+\header{
+filename =      "violino-violoncello.ly";
+title =                 "Vier Duette";
+description =   "Four duets for Violino and Violoncello (Viola)";
+opus =           "BWV";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "Public Domain";
+}
+
+\version "1.1.52";
+
+\include "violino-i.ly";
+\include "violoncello-i.ly";
+
+\score{
+  \context GrandStaff <
+    \$violino_i_staff
+    \$violoncello_i_staff
+  >
+  \paper{
+    \translator {
+      \OrchestralScoreContext
+    }
+  }
+  \midi{
+%urg, real/duration
+%    \tempo 4. = 69;
+    \tempo 4 . = 50;
+  }
+}
+
+\include "violino-ii.ly";
+\include "violoncello-ii.ly";
+
+\score{
+  \context GrandStaff <
+    \$violino_ii_staff
+    \$violoncello_ii_staff
+  >
+  \paper{
+    \translator {
+      \OrchestralScoreContext
+    }
+  }
+  \midi{
+    \tempo 2 = 96;
+  }
+}
+
diff --git a/mutopia/J.S.Bach/Duette/violoncello-i.ly b/mutopia/J.S.Bach/Duette/violoncello-i.ly
new file mode 100644 (file)
index 0000000..9b42424
--- /dev/null
@@ -0,0 +1,71 @@
+\header{
+filename =     "violoncello-i.ly";
+title =                "Vier Duette";
+description =  "Four duets for Violino and Violoncello (Viola)";
+opus =                 "BWV";
+composer =     "Johann Sebastian Bach (1685-1750)";
+enteredby =    "jcn";
+copyright =    "Public Domain";
+}
+
+\version "1.1.52";
+
+$violoncello_i = \notes\relative c{
+  \property Voice.beamAutoEnd = "3/8"
+  g8()a d, g b()g d()fis a d a()fis |
+  g()d b' g b()c b()e fis g d()d, |
+  g r r [d'16(b a )g] e'8 d r r [c16(b a )b] g'8 |
+  fis r r g16 fis( e d b' g )a fis( e d g)e g fis( e d e)cis |
+%5
+  d8 d'()a b16 c(d)b g b c,8 c'()g a16 b(c)a fis a |
+  b,8()b' fis g a()e fis g()d e fis()d |
+  g r r g,16(fis e)d b'8 a r r g16(fis e )d c'8 |
+  b r r d16 b(a)g e' c d b(a)g c a c b(a)g a fis |
+  g d( e fis g a )b d(c b c )a b g(a b c b )e g( fis e d cis |
+%10
+  )a'16 d,( e fis g a)b a(g fis g e)fis a(g fis e d)cis d(e)fis g8~ |
+  g16 e(fis)d cis d b'4.~b16 d,(e)c b c a'4.~|
+  a16 fis(g)e dis e c'4.~c16 b(a)g fis e dis8(e)c |
+  b b'16(a g)fis e8 e,()fis g()b a g e()e' |
+  a,16 b(cis)d e cis d8 d,()e fis a()g fis d()d' |
+%15
+  g,16(a b)c! d b c8 c'()fis, a dis,()fis b,16 cis(dis e)fis d |
+  e8 e, r [e'16( dis cis)b] g'8 fis r r [e16(dis cis)b] a'8 |
+  g r r b16 g(fis)e c'! a b g(fis)e a fis a g(fis)e fis dis |
+  e b(cis dis)e fis g b(a)g a fis g e(fis)g a b cis e(dis)c b ais |
+  fis b,(cis)dis e fis g fis(e)d e cis d8()d, g' e fis()fis,|
+%20
+  b16 fis'(gis)ais b cis d cis(d)b ais b fis b(d)b ais b f b(d)b a b |
+  e, b'(e)d c b a b(c)a gis a e a(c)a gis a es a(c)a g a|
+  d, a'(d)c b a g8()g, b c a()c d()b d |
+  e c()e f g, f'~f16 e(f b, a)b e8()a f |
+  g g, r [c16(b a)g] e'8 d r r [c16(b a)g] f'8|
+%25
+  e r r g16 e(d)c a' f g e(d)c f d f e(d)c d b |
+  c8 c'()g a16 b(c)a g fis b8 b,()fis' gis16 a(b)g fis e |
+  a,8()a' b c b()c d()b d e [c()a]|
+  fis()d r [g16(fis e)d] b'8 a r r b16 d(c)b a g |
+  e e'(d)c b a [g(fis e)d] c'8 b r r r16 b, c d e fis |
+%30
+  g a(b c d)e d b(a g e')c d b(a g c)a b d(c b c)a|
+  b g(fis e a fis)g b(a g a fis)g b(a g c a)b g(fis e fis dis|
+  )e g(f)e a fis g e(d)c d c c8()c' b c a()c |
+  d,()d' cis d b()d e,()e' dis e c()e |
+  fis,()e d g [c,16(b a)g] c g'(a c b)d e8 [d,16(cis b)a]|
+%35
+  d a'(b cis d)e fis8 [g,16( fis e)d] g8()e c a d()d,|
+  g r r r16 d''(e)f b,(d)g, b(c)d g,(b)d, f(g)a d,(f|
+  )b, d(e)f b,(d)g,8 a()b c16 d(e f g a)b d(c b a)g|
+  fis [a(g)fis e d] g8()e c g'8 b, e c d d, |
+  g1.|
+  \bar "|.";
+}
+
+\include "global-i.ly"
+
+$violoncello_i_staff = \context Staff = violoncello <
+  \property Staff.instrument = "cello"
+  \$violoncello_i
+  \clef bass;
+  \$global_i
+>
diff --git a/mutopia/J.S.Bach/Duette/violoncello-ii.ly b/mutopia/J.S.Bach/Duette/violoncello-ii.ly
new file mode 100644 (file)
index 0000000..19f5dfa
--- /dev/null
@@ -0,0 +1,78 @@
+\header{
+filename =     "violoncello-ii.ly";
+title =                "Vier Duette";
+description =  "Four duets for Violino and Violoncello (Viola)";
+opus =                 "BWV";
+composer =     "Johann Sebastian Bach (1685-1750)";
+enteredby =    "jcn";
+copyright =    "Public Domain";
+}
+
+\version "1.1.52";
+
+$violoncello_ii = \notes\relative c{
+  r2 a'2|c e,| f8(e)d2 e8()fis| g a bes2 a8()gis|
+%5
+  a(e)a b a(e)a c|b(e,b')c b(e,b')d|c(e,c')d c(e,c')e|b(e,b')c b(e,b')d|
+  c(b)a2 gis4|
+%10
+  a8()c b d c()b c a|e4 fis g fis8()e|fis4 gis a2~|a4 g8(fis)g4 e~|
+  e dis8 cis dis2\prall|
+%15
+  e4 b' e2~|e dis\prall|e4 e,8()fis g a bes g|e f g4. f8(e)d|cis d e4.d8(cis)b|
+%20
+  cis()a cis d e()f g e|f()e d e f()g as f|d e f4. e8(d)c|b c d4. c8(b)a|
+  b()g b c d()e f d|
+%25
+  e()d c d e()f g e|f4 a()d, f(|)b, c8 d e4 c(|)d f()b, d(|)a a8 b c4 a(|
+%30
+  )b d()gis, b(|)e, fis8()gis a4 b|c2 e,|f8 e d4~d8 e(fis)gis|a e a2 gis4|
+%35
+  a b c b8()a|b4 c d2~|d4 c8 b c4 a~|a gis8 gis gis2\prall|a4 e' a2~|
+%40
+  a gis\prall|a e|f a,|c8(b)a2 b8 cis|d()e f2 e8()dis|
+%45
+  e(b e)fis e(b e)g|fis(b,fis')g fis(b,fis')a|g(b,g')a g(b,g')b|
+  fis(b,fis')g fis(b,fis')a|g(fis)e2 fis4|
+%50
+  gis f'!(e\prall)d |f, d'(c\prall)b|d, b'(a\prall)gis|a8 d,(c)b a4 g'|
+  fis es'(d\prall)c|
+%55
+  es, c'(b\prall)a|c, a'(g\prall)fis|g8 c,(b)a g4 f'(|)e8 e'(c)b c()a e4~|
+  e8 d e fis d()g b4|
+%60
+  c,8(b'a)g a()fis c4~|c8 b c d b()d g4|a,8(g'fis)e fis()dis a4~|
+  a8 g a b g d' e g|fis(ais,fis')g fis(b,fis')g|
+%65
+  gis(e gis)ais b(e,g)b|a(cis,a')bes a(d,a')c|b(g c)cis d f,(bes)d|
+  c e,(c')d c f,(a)c|b d,(b')c b e,(b')d|
+%70
+  c a(c)e c a()b gis(|)a c(b)d c b(c)a|e4 fis g fis8()e|fis4 gis a2~|
+  a4 g8 fis g4 e~|
+%75
+  e dis8 cis dis2\prall|e4 b' e2~|e dis\prall|e r4 d|cis bes(a\prall)g|
+%80
+  bes, g'(()f\prall)e|g, e'(()d\prall)cis|d8()a d e f g as f|d e f4.(e8 d)c|
+  b c d4.(c8 b)a|
+%85
+  b()g b c d()e b d|e4 e, a2~|a4 g8 fis g2~|g4 a8 b c2~|c4 bes8 a bes2~|
+%90
+  bes4 c8 d es2~|es4 d8 cis d2~|d cis\prall|d4 e f d|e d' c b|
+%95
+  a8()e a2 gis4\prall| a2 b|c e,|c8(e)d2 e8()fis|g a bes2 a8()gis|
+%100
+  a(e a)b a(e a)c| b(e,b')c b(e,b')d|c(e,c')d c(e,c')e|
+  b(e,b')c b(e,b')d| c(a b)cis d()e f g|
+%105
+  f e d cis d4 d,~|d c8 b c4 d|e d e e,|<e'1 a,>
+  \bar "|.";
+}
+
+\include "global-ii.ly"
+
+$violoncello_ii_staff = \context Staff = violoncello <
+  \property Staff.instrument = "cello"
+  \$violoncello_ii
+  \clef bass;
+  \$global_ii
+>
diff --git a/mutopia/J.S.Bach/Duette/violoncello-part.ly b/mutopia/J.S.Bach/Duette/violoncello-part.ly
new file mode 100644 (file)
index 0000000..bdac627
--- /dev/null
@@ -0,0 +1,43 @@
+\header{
+filename =      "violoncello-part.ly";
+title =                 "Vier Duette";
+description =   "Four duets for Violino and Violoncello (Viola)";
+opus =           "BWV";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "Public Domain";
+}
+
+\version "1.1.52";
+
+\include "global-i.ly"
+\include "violoncello-i.ly"
+
+%{
+\score{
+  \$violoncello_i_staff
+  \paper{
+    \translator { \BarNumberingStaffContext }
+  }
+  \midi{
+%urg, real/duration
+%    \tempo 4. = 69;
+    \tempo 4 . = 69;
+  }
+}
+%}
+
+\include "global-ii.ly"
+\include "violoncello-ii.ly"
+
+\score{
+  \$violoncello_ii_staff
+  \paper{
+    castingalgorithm=0.;
+    \translator { \BarNumberingStaffContext }
+  }
+  \midi{
+    \tempo 2 = 96;
+  }
+}
+
index c7e99a35d2deb5ae4d5d7e31e06efe7bd9b02d94..bb33ed42dd96b403cb39cde6beb8ecdeacd10545 100644 (file)
@@ -1,8 +1,8 @@
-# mutopia/J.S.Bach/Makefile
+# mutopia/J.S.Bach/GNUmakefile
 
 depth = ../..
 
-SUBDIRS = Petites-Preludes Solo-Cello-Suites Cembalo-Partitas
+SUBDIRS = Petites-Preludes Solo-Cello-Suites Cembalo-Partitas Duette
 EXTRA_DIST_FILES=
 
 
index 75991aa5f037380e72ad88eb803c31a3df913809..3eeb87484a6b04f79eeb0f79bf929968416c360c 100644 (file)
@@ -18,9 +18,9 @@
         closepath fill
 } bind def
 
-/draw_decrescendo % width height cons
+/draw_decrescendo %  width height cons thick
 {
-       stafflinethickness setlinewidth
+       setlinewidth
        /cresc_cont exch def
        /cresc_ht exch def
        /cresc_wd exch def
@@ -33,9 +33,9 @@
        stroke
 } bind def
 
-/draw_crescendo % width height cons
+/draw_crescendo % width height cons thick
 {
-       stafflinethickness setlinewidth
+       setlinewidth
        /cresc_cont exch def
        /cresc_ht exch def
        /cresc_wd exch def
@@ -99,9 +99,9 @@
 } bind def
 
 % this is for drawing slurs.
-/draw_bezier_sandwich 
+/draw_bezier_sandwich  % thickness 
 {
-       stafflinethickness setlinewidth
+       setlinewidth
        moveto
        curveto
        lineto
index 9a369e9d51fad65867b93be78863447de8b6771d..6f2666422e0427eccacd54241dbfdbc18726f4aa 100644 (file)
@@ -3,13 +3,11 @@
 % hmm
 /setgray { 1 add } bind def
 
-% urg
-1 /stafflinethickness exch def
+/stafflinethickness  mudelapaperstaffline def
+/staffheight mudelapaperstaffheight def
 
 /xoffset 30 def
 /yoffset 700 def
-/staffrulethickness 1 def
-/staffheight 20 def
 
 /placebox
 {
        grestore
 } bind def
 
-/setbold % '(' text ')'
-{
-       settext
-} bind def
-/settext % '(' text ')'
-{
-       gsave
-       % urg
-       /Times-Roman findfont 12 scalefont setfont
-       show
-       grestore
-} bind def
-
-/setfinger % '(' text ')'
-{
-       gsave
-       % urg
-       /feta-nummer5 findfont 12 scalefont setfont
-       show
-       grestore
-} bind def
-
-/setitalic % '(' text ')'
-{
-       gsave
-       % urg
-       /Times-Italic findfont 12 scalefont setfont
-       show
-       grestore
-} bind def
-
-/vrule % width depth height
-{
-} bind def
-
-
 %
 % FIXME.  translate to middle of box.
 %
 
 /draw_box % breapth width depth height
 {
+       /h exch def
+       /d exch def
+       /w exch def
+       /b exch def
        gsave
-       4 -1 roll
-       dup
-       neg 0 translate
-       4 -1 roll
-       add
-
-       setlinewidth
 
-       0 exch moveto
-       neg 0 exch lineto stroke
-
-       grestore
-} bind def
+       0 setlinewidth
+       b neg d neg rmoveto
+       b w add 0 rlineto
+       0 d h add rlineto
+       b w add neg 0 rlineto
+       closepath % 0 d h add neg rlineto
+       fill
 
-/extender % width
-{
-       gsave
-       0 0 moveto
-       stafflinethickness 0.8 mul setlinewidth
-       0 lineto stroke
        grestore
 } bind def
 
-/widthbar % height width
-{
-       gsave
-       setlinewidth
-       2 div dup neg 0 exch moveto
-       0 exch lineto stroke
-       2 div
-       grestore
-} bind def
-
-/thickbar % height
-{
-       stafflinethickness 2 mul widthbar
-} bind def
-
-/thinbar % height
-{
-       stafflinethickness 1.6 mul widthbar
-} bind def
-
-/maatstreep % height
-{
-       thinbar
-} bind def
-
-/fatdoublebar
-{
-       thickbar
-} bind def
-
-/finishbar
-{
-       thickbar
-} bind def
-
-/generalmeter % num den
-{
-       pop pop
-} bind def
-
-/pianobrace % '(' char ')'
-{
-       gsave
-       /feta-braces20 findfont 12 scalefont setfont%
-       show
-       grestore
-} bind def
-
-/doublebar
-{
-       thinbar
-} bind def
-
-/repeatbar
-{
-       thickbar
-} bind def
-
-/repeatbarstartrepeat
-{
-       thickbar
-} bind def
-
-/startbar
-{
-       thickbar
-} bind def
-
-/startrepeat
-{
-       thickbar
-} bind def
-
-/stoprepeat
-{
-       thickbar
-} bind def
-
 /start_line
 { 
        gsave
        grestore
        yoffset add /yoffset exch def
        % urg...
-       yoffset staffheight 8 mul sub /yoffset exch def
+       yoffset mudelapaperstaffheight 8 mul sub /yoffset exch def
 } bind def
 
 /unknown { (U) setbold } bind def
index dbc8381e439061ae3a54a53a59c003b2a0a71c0b..003a92a63935a3311bb0d529fa007658f4eec2d5 100644 (file)
     (embedded-ps ((ps-scm 'crescendo) w h cont)))
 
   (define (char i)
-    (string-append "\\show{" (inexact->string i 10) "}"))
+    (string-append "\\char" (inexact->string i 10) " "))
   
   (define (decrescendo w h cont)
     (embedded-ps ((ps-scm 'decrescendo) w h cont)))
 
+   ;This sets CTM so that you get to the currentpoint
+  ; by executing a 0 0 moveto
+       
   (define (embedded-ps s)
-    (string-append "\\embeddedps{" s "}"))
+    (string-append "\\special{ps: @beginspecial @setspecial " s " @endspecial}"))
 
   (define (end-output) 
     "\n\\EndLilyPondOutput")
   
   (define (experimental-on)
-    "\\turnOnExperimentalFeatures")
+    "")
 
   (define (font-switch i)
     (string-append
     (string-append
      "\\font" (font-switch i) "=" s "\n"))
 
-  (define (generalmeter num den)
-    (string-append 
-     "\\generalmeter{" (number->string (inexact->exact num)) "}{" (number->string (inexact->exact den)) "}"))
-
-  (define (header-end) "\\turnOnPostScript")
+  ;; UGH
+   
+  (define (header-end) (string-append
+"\\special{!"
+"/stafflinethickness \\mudelapaperstaffline0 def " ;may we burn in hell.
+"/interline \\mudelapaperinterline0 %\n def "
+"interline 3 div /bracket_b exch def "
+"interline 2 mul /bracket_w exch def "
+"stafflinethickness 2 mul /bracket_t exch def "
+"interline 1.5 mul /bracket_v exch def "
+"bracket_v /bracket_u exch def "
+"50 /bracket_alpha exch def "
+"1 setlinecap}"))
 
   (define (header creator generate) 
     (string-append
      "\\placebox{"
      (number->dim y) "}{" (number->dim x) "}{" s "}"))
 
-
-  ;;;; UGH! Junk \\bracefont !
-  (define (pianobrace y)
-    (define step 1.0)
-    (define minht (* 2 mudelapaperstaffheight))
-    (define maxht (* 7 minht))
-    (string-append
-     "{\\bracefont " (char (max
-                           0
-                           (/  (- (min y (- maxht step)) minht) step))) "}"))
-
+  ;;;;
+  (define (pianobrace y staffht)
+    (let* ((step 1.0)
+          (minht (* 2 staffht))
+          (maxht (* 7 minht))
+          )
+      (string-append
+       (select-font (string-append "feta-braces" (number->string (inexact->exact staffht))))
+       (char (max 0 (/  (- (min y (- maxht step)) minht) step))))
+      )
+    )
 
 
   (define (rulesym h w) 
      )
     )
 
-  (define (bezier-sandwich l)
-    (embedded-ps ((ps-scm 'bezier-sandwich) l)))
+  (define (bezier-sandwich l thick)
+    (embedded-ps ((ps-scm 'bezier-sandwich) l thick)))
 
 
   (define (start-line ht)
      "depth " (number->dim depth)
      "height " (number->dim height) " "))
 
-
-
   (define (text s)
     (string-append "\\hbox{" (output-tex-string s) "}"))
   
            (define filledbox ,filledbox)
            (define font-def ,font-def)
            (define font-switch ,font-switch)
-           (define generalmeter ,generalmeter)
            (define header-end ,header-end)
            (define lily-def ,lily-def)
            (define header ,header) 
        ((eq? action-name 'experimental-on) experimental-on)
        ((eq? action-name 'font-def) font-def)
        ((eq? action-name 'font-switch) font-switch)
-       ((eq? action-name 'generalmeter) generalmeter)
        ((eq? action-name 'header-end) header-end)
        ((eq? action-name 'lily-def) lily-def)
        ((eq? action-name 'header) header) 
   (define (char i)
     (invoke-char " show" i))
 
-  (define (crescendo w h cont)
+  (define (crescendo w h cont thick)
     (string-append 
-     (numbers->string (list w h (inexact->exact cont)))
+     (numbers->string (list w h (inexact->exact cont) thick))
      " draw_crescendo"))
 
   (define (dashed-slur thick dash l)
      (number->string (* 2 thick))
      " ] 0 draw_dashed_slur"))
 
-  (define (decrescendo w h cont)
+  (define (decrescendo thick w h cont)
     (string-append 
-     (numbers->string (list w h (inexact->exact cont)))
+     (numbers->string (list w h (inexact->exact cont) thick))
      " draw_decrescendo"))
 
 
   (define (font-switch i)
     (string-append (font i) " "))
 
-  (define (generalmeter num den)
-    (string-append (number->string (inexact->exact num)) " " (number->string (inexact->exact den)) " generalmeter "))
-
   (define (header-end) "")
   (define (lily-def key val)
 
-     (if (string=? (substring  key 0 (string-length "mudelapaper") ) "mudelapaper")
+     (if (string=? (substring key 0 (min (string-length "mudelapaper") (string-length key))) "mudelapaper")
         (string-append "/" key " {" val "} bind def\n")
         (string-append "/" key " (" val ") def\n")
         )
      )
+
   (define (header creator generate) 
     (string-append
      "%!PS-Adobe-3.0\n"
   (define (placebox x y s) 
     (string-append 
      (number->string x) " " (number->string y) " {" s "} placebox "))
-  (define (pianobrace y)
-    ""
+
+  (define (pianobrace y staffht)
+    (let* ((step 1.0)
+          (minht (* 2 staffht))
+          (maxht (* 7 minht))
+          )
+      (string-append
+       (select-font (string-append "feta-braces" (number->string (inexact->exact staffht))))
+       (char (max 0 (/  (- (min y (- maxht step)) minht) step))))
+      )
     )
 
+
   (define (rulesym x y) 
     (string-append 
      (number->string x) " "
      (number->string y) " "
      " rulesym"))
 
-  (define (bezier-sandwich l)
+  (define (bezier-sandwich l thick)
     (string-append 
-     (apply string-append (map control->string l)) 
+     (apply string-append (map control->string l))
+     (number->string  thick)
      " draw_bezier_sandwich"))
 
   (define (start-line height)
            (define filledbox ,filledbox)
            (define font-def ,font-def)
            (define font-switch ,font-switch)
-           (define generalmeter ,generalmeter)
            (define pianobrace ,pianobrace)
            (define header-end ,header-end)
            (define lily-def ,lily-def)
index fbeeae8615c8a1c7aaf2b03723e90ff4971bff7b..534cffef89221bc0de85cabd20f47d24da80d92d 100644 (file)
@@ -35,7 +35,7 @@
        ("upprall" . ((feta . ("upprall" . "upprall")) #f 0 1 0))
        ("downprall" . ((feta . ("downprall" . "downprall")) #f 0 1 0))
        ("segno" . ((feta . ("segno" . "segno")) #f 0 1 0))
-       ("wheel" . ((feta . ("wheel" . "wheel")) #f 0 1 0)))
+       ("coda" . ((feta . ("coda" . "coda")) #f 0 1 0)))
       script-alist)
       )
 
index f7a68585e10f182151e875bd7363f39d850d8759..2c66ec21a411f26a551967951d0d305c92379e1f 100644 (file)
@@ -362,6 +362,30 @@ if 1:
                            'deprecate \\grouping')
 
 
+if 1:
+       def conv(lines):
+               newlines =[]
+               for x in lines:
+                       x =  re.sub ('\\\\wheel','\\\\coda', x)
+                       newlines.append (x)
+               return newlines
+
+       conversions.append ((1,1,55), conv,
+                           '\\wheel -> \\coda')
+
+
+if 1:
+       def conv(lines):
+               newlines =[]
+               for x in lines:
+                       x =  re.sub ('\\\\wheel','\\\\coda', x)
+                       newlines.append (x)
+               return newlines
+
+       conversions.append ((1,1,55), conv,
+                           '\\wheel -> \\coda')
+
+
 
 ############################
        
index 25da9f8fce53a942c5982d455ceb079546208335..ddc11383162878a2e0200a69604da8f6166f5972 100644 (file)
@@ -270,7 +270,6 @@ class TeXOutput:
         this.write(top)
         this.__mudelaDefs('')
         this.write("""\
-\\cmrtwenty% ugh
 \\makelilytitle
 """) 
 
index 8fca01e38ff5418a721db4c4af2fe632e465b38c..730b17a85b4934e98343e01a25221c0fa91068ba 100644 (file)
@@ -1,132 +1,3 @@
 % fetdefs.tex
 % encapsulating tex backend for auto-generated feta definitions
-
-\def\placebox#1#2#3{%
-        \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}%
-
-%
-%
-% UGH! JUNKME!
-%
-\def\fetsixteendefs{%
-  \font\fetasixteen = feta16
-  \font\fetanummersixteen = feta-nummer8
-  \font\dynfontsixteen = feta-din10 scaled \magstep 1
-  \font\bracefontsixteen = feta-braces16
-  \font\fingerfontsixteen = feta-nummer4
-  \font\markfontsixteen = feta-nummer10
-  \font\fetanummerjsixteen = feta-nummer5
-\def\currentsize{sixteen}
-}
-
-\def\fettwentydefs{%
-  \font\fetatwenty = feta20
-  \font\fetanummertwenty = feta-nummer10
-  \font\dynfonttwenty = feta-din10 scaled \magstep 2
-  \font\bracefonttwenty = feta-braces20
-  \font\fingerfonttwenty = feta-nummer5
-  \font\markfonttwenty = feta-nummer12
-  \font\fetanummerjtwenty = feta-nummer7
-\def\currentsize{twenty}
-}
-
-\def\fettwentysixdefs{%
-  \font\fetatwentysix = feta26
-  \font\fetanummertwentysix = feta-nummer12
-  \font\dynfonttwentysix = feta-din10 scaled \magstep 3
-  \font\bracefonttwentysix = feta-braces16
-  \font\fingerfonttwenty = feta-nummer7
-  \font\markfonttwentysix = feta-nummer14
-\def\currentsize{twentysix}
-}
-
-\def\fetthirteendefs{%
-  \font\fetathirteen = feta13
-  \font\fetanummerthirteen = feta-nummer5
-  \font\dynfontthirteen = feta-din10 scaled \magstep 0
-  \font\bracefontthirteen = feta-braces16
-  \font\fingerfontthirteen = feta-nummer3
-  \font\markfonttwentysix = feta-nummer8
-\def\currentsize{thirteen}
-}
-
-\def\fetelevendefs{%
-  \font\fetaeleven = feta11
-  \font\fetanummereleven = feta-nummer5
-  \font\dynfonteleven = feta-din10        % scaled \magstep-1
-  \font\bracefonteleven = feta-braces16
-  \font\fingerfonteleven = feta-nummer3
-  \font\markfonttwentysix = feta-nummer7
-  \def\currentsize{eleven}
-}
-
-\def\sixteenfonts{\fetsixteendefs\cmrsixteen}
-\def\twentyfonts{\fettwentydefs\cmrtwenty}
-\def\twentysixfonts{\fettwentysixdefs\cmrtwenty}
-\def\elevenfonts{\fetelevendefs\cmreleven}
-\def\thirteenfonts{\fetthirteendefs\cmrthirteen}
-
-\def\bracefont{\csname bracefont\currentsize\endcsname}
-\def\fetanummer{\csname fetanummer\currentsize\endcsname}
-\def\dynfont{\csname dynfont\currentsize\endcsname}
-\def\fingerfont{\csname fingerfont\currentsize\endcsname}
-\def\fetanummerj{\csname fetanummerj\currentsize\endcsname}
-\def\markfont{\csname markfont\currentsize\endcsname}
-
-%\sixteenfonts
-%\twentysixfonts
-%\twentyfonts
-%\elevenfonts
-%\thirteenfonts
-
-\def\switchfont#1{\def\currentsize{#1}\csname feta\currentsize\endcsname}
-
-\def\fetdef#1#2{%
-  \def#1{\hbox{\fetchar{#2}}}}
-\def\fetchar#1{\char#1}
-\def\show#1{\char#1}
-
-%\input feta16
-%\input feta20
-
-% stacked numbers; overrules def in lilyponddefs
-% widest num should be .40 balkheight
-% oeps: \meter 12/8;
-%
-% \allabreve, \threetwometer etc. have zero as the second parameter.
-
-\def\generalmeter#1#2{%
-  \ifnum #2 = 0\relax
-    \vbox to 0pt{%
-      \vss
-      \hbox to 0.45\staffheight{\hss \fetanummer #1\hss}%
-      \vss}%
-  \else
-    \vbox to 0pt{%
-      \vss
-      \hbox to 0.45\staffheight{\hss \fetanummer #1\hss}%
-      \nointerlineskip
-      \hbox to 0.45\staffheight{\hss \fetanummer #2\hss}%
-      \vss}%
-  \fi}
-
-\def\pianobrace#1{{\bracefont\char #1}}
-\def\staffbracket#1{{\centeralign{\bracketfont\char #1}}}
-
-\def\embeddedtex#1{}
-\def\embeddedps#1{}
-\def\embeddedmf#1#2{}
-\def\embedclose{}
-
-\input lily-ps-defs
-
-% uncomment to use runtime MF
-%
-% \input lily-mf-defs
-
-\def\EndLilyPondOutput{%
-  \embedclose
-  \csname bye\endcsname
-}
-
 \endinput
index 57a8108ffe4db20430f2df55cccbcb257f12acad..e94d19886979f04b6313bd9bdf116306d64c67eb 100644 (file)
@@ -14,9 +14,6 @@
 % ``compiles'' operatorname binding in the body of foo, making
 % the code faster, and more reliable (less flexible)
 
-% transplant a TeX dimension into the PS output.
-\def\PSsetTeXdimen#1{\expandafter\special{! /#1 (\the\csname #1\endcsname) deftexdimen}}
-
 {%
    \def\par{ }%         %Ugh.  Don't try this at home, kids!
    % neat file-include trick by Piet van Oostrum <piet@cs.uu.nl>
    \expandafter\special{! \includelilyps }
 }
 
-
-\special{!
-% PS helper: convert (0.2pt) to the token 0.2
-/settexdimen
-{
-        /thestring exch def
-        thestring 0 thestring length 2 sub
-        getinterval
-        token
-        pop exch pop 
-} def
-%
-/deftexdimen
-{
-        settexdimen
-        def     
-} def
-}
-
-\def\turnOnPostScript{%
-        \PSsetTeXdimen{stafflinethickness}
-        \PSsetTeXdimen{staffheight}
-        
-        % This sets CTM so that you get to the currentpoint
-        % by executing a 0 0 moveto
-        \def\embeddedps##1{%
-                \special{ps: @beginspecial @setspecial ##1 @endspecial}       
-        }
-        %
-
-        \special{! 
-/interline \mudelapaperinterline0  def % ugh.  Only works x.yyyy floats 
-interline 3 div /bracket_b exch def
-interline 2 mul /bracket_w exch def
-stafflinethickness 2 mul /bracket_t exch def
-interline 1.5 mul /bracket_v exch def
-bracket_v /bracket_u exch def
-50 /bracket_alpha exch def
-staffheight 4 div /interline exch def
-1 setlinecap}
-}
-
-\def\turnOnExperimentalFeatures{}
-
index 5ef348b4dd8af43ea2bd2d3775c9fcca5a5ef7b6..77b02d7f7a9a49c71209008c070a870c2377b576 100644 (file)
@@ -2,7 +2,7 @@
 %% include file for LilyPond
 %%
 %% this file defines various macros to accomodate lilypond output
-%% 
+%%
 %% let's not make par before endinput
 %
 % TeXbook ex 7.7
 \fi
 \SkipLilydefs
 %
-\ifundefined{mudelacopyright}
-        \def\mudelacopyright{\copyright\ \number\year}
-\fi
-\ifundefined{mudelatagline}
-        \def\mudelatagline{Lily was here}
-\fi
-\ifundefined{documentclass}
-        \input lilypond-plaintex
-\else
-        \input lilypond-latex
-\fi
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% macros to shorten other definitions
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\musicmathdef#1#2{\def#1{\musicmathchar{#2}}}
-\def\musicmathchar#1{\musicmathfont\char#1}
-
-\def\topalign#1{\vbox to 0pt{#1\vss}}
 \def\botalign#1{\vbox to 0pt{\vss #1}}
-
-\def\centeralign#1{\hbox to 0pt{\hss#1\hss}}
 \def\leftalign#1{\hbox to 0pt{#1\hss}}
-\def\rightalign#1{\hbox to 0pt{\hss#1}}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% set up dimensions
-% mudela-book don't like this:
-%\parindent=0pt
-\newdimen\interlinedist
-
-\newcount\n                     %duh. meaningful identifiers.
-\newdimen\staffheight
-\newdimen\stafflinethickness
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% set fonts and primary dimensions
-
-%
-% TODO JUNK THIS
-%
-% ugh
-\def\cmrtwenty{
-        \font\smalltextfont=cmr8
-        \font\textmusic=cmmi12
-}
-\def\cmrsixteen{
-        \font\smalltextfont=cmr6
-        \font\textmusic=cmmi10
-        }
-\def\cmrthirteen{
-        \font\smalltextfont=cmr6
-        \font\textmusic=cmmi9
-        }
-\def\cmreleven{
-        \font\smalltextfont=cmr5
-        \font\textmusic=cmmi8
-        }
-%%%%%%%
-%
-\def\musixtwentydefs{
-      \twentyfonts
-      \csname cmrtwenty\texsuffix\endcsname
-      \musixcalc
-}
-
-\def\musixsixteendefs{
-        \sixteenfonts
-        \csname cmrsixteen\texsuffix\endcsname
-        \musixcalc
-        }
-\def\musixtwentysixdefs{
-      \csname cmrtwentysix\texsuffix\endcsname
-          \twentysixfonts
-         \musixcalc
-        }
-\def\musixthirteendefs{
-        \thirteenfonts
-        \csname cmrthirteen\texsuffix\endcsname
-       \musixcalc
-}
-\def\musixelevendefs{
-        \csname cmreleven\texsuffix\endcsname
-        \elevenfonts
-        \musixcalc
-}
-
-\def\textsharp{\raise.4ex\hbox{\textmusic\char"5D}}
-\def\textnatural{\raise.4ex\hbox{\textmusic\char"5C}}
-\def\textflat{\raise.2ex\hbox{\textmusic\char"5B}}
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% do derivative calcs
 
-% this has to be synced with the font definition
-\def\musixcalc{
 
-        \stafflinethickness=\mudelapaperrulethickness pt
-}
-
-
-
-% stacked horizontal lines 
+% stacked horizontal lines
 \def\interscoreline{\vskip 16pt}
-
-% big fat marks, if errors are detected.
-\def\columnerrormark{\placebox{-5pt}{0pt}{\bf C!}}
-\def\scorelineerrormark{\placebox{0pt}{-10pt}{\bf L!}}
-\def\errormark{{\bf E!}}
-\def\unknown{%
-  %{\bf u} %FIXME
-}
-
-\input fetdefs
-
-
-% ugh
-% see e.g. input/test/beam-pos.ly
-%
-% something's wrong with the aligment; sometimes all symbols
-% look to be placed a bit too high (there's an ugly fix for
-% the staccato-dot in script.cc)
-% but this varies from line to line: it seems that xdvi
-% does some rounding; i can't really check this from screen on i
-% 600x600 res.
-%
-\def\rulesym#1#2{\dimen0=#1     %obsolete
-        \vrule height .5\dimen0 depth .5\dimen0 width #2}
-\def\shiftedrulesym#1#2{\dimen0=#1%
-        \vrule height .7\dimen0 depth .3\dimen0 width #2}
-\def\tinyrulesym#1#2{\dimen0=#1%
-        \vrule height .1\dimen0 depth .1\dimen0 width #2}
-%would be nice for checking alignment
-\def\openrulesym#1#2{\dimen0=#1%
-        \vbox to \dimen0{\vss%
-        \hbox{\vrule height .1\dimen0 width #2}%
-        \hbox{\vrule height .2\dimen0 width 0pt}%
-        \hbox{\vrule height .4\dimen0 width #2}%
-        \hbox{\vrule height .2\dimen0 width 0pt}%
-        \hbox{\vrule height .1\dimen0 width #2}%
-        \vss}}
-%\let\rulesym\shiftedrulesym
-%\let\rulesym\tinyrulesym
-%\let\rulesym\openrulesym
-
-% the interline symbol. Redefine to remove it.
-\def\defaultlineseparator{\vbox{\mussepline\vskip -5pt\mussepline}}
-\def\lineseparator{\defaultlineseparator}
-\def\beauty{%
-        \par\vskip 10pt plus 30pt minus 10pt\par
-        \hskip -5pt\lineseparator
-        \par\vskip 10pt plus 30pt minus 10pt\par
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\placebox#1#2#3{%
+        \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}%
+\input lily-ps-defs
+\def\EndLilyPondOutput{%
+  \csname bye\endcsname
+  }
+  
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  
 \def\postheader{}
-
-%
-% macros suck. \ifundefined{nolilyfooter} gives wierd errors from time
-%        to time.
-%
-
-%
-% Warning: the order is conceptually weird.  It says:
-
-% if not defined (``nolilyfooter''):
-%    do_footer ()
-% else 
-%    dont_do_footer ()
-%
-\ifx\csname nolilyfooter\endcsname\relax
-        \message{[footer defined]}%
-        \csname lilyfooter\texsuffix\endcsname%
-\else
-        \message{[footer empty]}
-        \csname%
-        nolilyfooter\texsuffix\endcsname
-\fi
+\noindent
index 5cda54d7898e4e3bb206b310531252114c3ee6f4..07b806cbb884d90926ed3c63e73878421aa42447 100644 (file)
 \def\makelilytitle{%
   \begin{center}
         \bfseries
-        \ifx\mudelanull\thetitle\else\sethuge{\thetitle}\\ \fi
-        \ifx\mudelanull\thesubtitle\else\setLarge{\thesubtitle}\\ \fi
+        \ifx\mudelanull\thetitle\else{\huge\thetitle}\\ \fi
+        \ifx\mudelanull\thesubtitle\else{\Large\thesubtitle}\\ \fi
   \end{center}
   \bigskip
   % urg
   \edef\saveparskip{\parskip}\parskip-5mm
   \begin{minipage}[t]{0.45\textwidth}
-        \ifx\mudelanull\thepoet\else\settext{\thepoet}\\ \fi
-        \ifx\mudelanull\themetre\else\settext{\themetre}\\ \fi
+        \ifx\mudelanull\thepoet\else{\thepoet}\\ \fi
+        \ifx\mudelanull\themetre\else{\themetre}\\ \fi
   \end{minipage}\hspace*{\fill}
   \begin{minipage}[t]{0.45\textwidth}
       \begin{flushright}
-          \ifx\mudelanull\thecomposer\else\setlarge{\normalfont\scshape\thecomposer}\\ \fi
-          \ifx\mudelanull\theopus\else\settext{\theopus}\\ \fi
-          \ifx\mudelanull\thearranger\else\settext{\thearranger}\\ \fi
+          \ifx\mudelanull\thecomposer\else{\large\normalfont\scshape\thecomposer}\\ \fi
+          \ifx\mudelanull\theopus\else{\theopus}\\ \fi
+          \ifx\mudelanull\thearranger\else{\thearranger}\\ \fi
         \end{flushright}%
   \end{minipage}\par
   \parskip\saveparskip
-  {\center\setlarge{\theinstrument}\par}
-  {\flushleft\setLarge{\normalfont\scshape\thepiece}}
+  {\center{\large\theinstrument}\par}
+  {\flushleft{\large\normalfont\scshape\thepiece}}
   \leavevmode
 }
 \def\makelilypiecetitle
 {
   \bigskip
-  {\flushright\settext{\theopus}\par}
-  {\flushleft\setLarge{\normalfont\scshape\thepiece}}
+  {\flushright{\theopus}\par}
+  {\flushleft{\large\normalfont\scshape\thepiece}}
 }
 \endinput