From 55fa3168d0fb5326341ff56d7a1638c89eb2ebaf Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 14 Sep 1998 18:52:16 +0200 Subject: [PATCH] release: 1.0.8 --- Documentation/index.yo | 2 +- Documentation/ntweb/index.yo | 8 +- Documentation/tex/GNUmakefile | 7 +- ...{vocabulary-forms.el => glossary-forms.el} | 4 +- Documentation/tex/glossary-table.data | 251 ++++++++++++++++++ Documentation/tex/glossary.yo | 6 +- Documentation/tex/vocabulary.data | 251 ------------------ Documentation/topdocs/AUTHORS.yo | 2 + NEWS | 51 +++- TODO | 77 +++--- VERSION | 4 +- config.make.in | 1 + configure | 68 +++-- init/engraver.ly | 6 +- input/keys.ly | 2 +- input/kortjakje.ly | 2 +- input/pedal.ly | 2 +- input/praeludium-fuga-E.ly | 14 +- input/rhythm.ly | 2 +- input/scales.ly | 2 +- input/scripts.ly | 2 +- input/test/a.ly | 2 +- input/test/beams.ly | 2 +- input/test/broken.ly | 2 +- input/test/collisions.ly | 2 +- input/test/defaultbars.ly | 7 + input/test/denneboom.ly | 2 +- input/test/font-body.ly | 2 +- input/test/font.ly | 2 +- input/test/font16.ly | 2 +- input/test/gourlay.ly | 2 +- input/test/knee.ly | 2 +- input/test/sleur.ly | 2 +- input/test/slur-damping.ly | 2 +- input/test/slurs.ly | 2 +- input/test/spacing.ly | 2 +- input/test/stem.ly | 2 +- input/test/title.ly | 2 +- input/test/transposition.ly | 2 +- input/tril.ly | 2 +- input/twinkle-pop.ly | 2 +- input/twinkle.ly | 25 +- lily/VERSION | 4 +- lily/bar-engraver.cc | 10 +- lily/chord-iterator.cc | 26 +- lily/include/chord-iterator.hh | 14 +- lily/include/identifier.hh | 25 +- lily/include/lily-proto.hh | 13 +- lily/include/linear-programming.hh | 11 +- lily/include/music-list.hh | 55 ++-- lily/include/music.hh | 5 +- lily/include/musical-pitch.hh | 7 +- lily/include/musical-request.hh | 2 +- lily/include/my-lily-parser.hh | 8 +- lily/include/request.hh | 2 +- lily/include/score-column.hh | 2 - lily/include/tie-engraver.hh | 43 --- lily/include/voice-iterator.hh | 18 +- lily/item.cc | 7 +- lily/lexer.ll | 7 + lily/linear-programming.cc | 29 +- lily/music-iterator.cc | 8 +- lily/music-list.cc | 116 ++++---- lily/music-sequence.cc | 49 ++++ lily/music.cc | 1 - lily/my-lily-parser.cc | 35 +-- lily/parser.yy | 109 +++----- lily/request-iterator.cc | 2 +- lily/tie-engraver.cc | 132 --------- lily/voice-iterator.cc | 32 +-- make/STATE-VECTOR | 6 +- make/lilypond-vars.make | 7 +- make/mutopia-targets.make | 6 + make/out/lelievijver.lsm | 8 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- mi2mu/mudela-stream.cc | 2 +- mudela-mode.el | 2 +- mutopia/Coriolan/bassi-part.ly | 2 +- mutopia/Coriolan/clarinetti-part.ly | 2 +- mutopia/Coriolan/clarinetti.ly | 2 +- mutopia/Coriolan/clarinetto-1.ly | 2 +- mutopia/Coriolan/clarinetto-2.ly | 2 +- mutopia/Coriolan/contrabasso-part.ly | 2 +- mutopia/Coriolan/contrabasso.ly | 2 +- mutopia/Coriolan/coriolan.ly | 2 +- mutopia/Coriolan/corni-part.ly | 2 +- mutopia/Coriolan/corni.ly | 2 +- mutopia/Coriolan/corno-1.ly | 2 +- mutopia/Coriolan/corno-2.ly | 2 +- mutopia/Coriolan/fagotti-part.ly | 2 +- mutopia/Coriolan/fagotti.ly | 2 +- mutopia/Coriolan/fagotto-1.ly | 2 +- mutopia/Coriolan/fagotto-2.ly | 2 +- mutopia/Coriolan/flauti-part.ly | 2 +- mutopia/Coriolan/flauti.ly | 2 +- mutopia/Coriolan/flauto-1.ly | 2 +- mutopia/Coriolan/flauto-2.ly | 2 +- mutopia/Coriolan/global.ly | 2 +- mutopia/Coriolan/oboe-1.ly | 2 +- mutopia/Coriolan/oboe-2.ly | 2 +- mutopia/Coriolan/oboi-part.ly | 2 +- mutopia/Coriolan/oboi.ly | 2 +- mutopia/Coriolan/timpani.ly | 2 +- mutopia/Coriolan/trombe-part.ly | 2 +- mutopia/Coriolan/trombe.ly | 2 +- mutopia/Coriolan/trombo-1.ly | 2 +- mutopia/Coriolan/trombo-2.ly | 2 +- mutopia/Coriolan/viola-1.ly | 2 +- mutopia/Coriolan/viola-2.ly | 2 +- mutopia/Coriolan/viola-part.ly | 2 +- mutopia/Coriolan/violino-1-part.ly | 2 +- mutopia/Coriolan/violino-1.ly | 2 +- mutopia/Coriolan/violino-2-part.ly | 2 +- mutopia/Coriolan/violino-2.ly | 2 +- mutopia/Coriolan/violoncello-part.ly | 2 +- mutopia/Coriolan/violoncello.ly | 2 +- .../Cembalo-Partitas/Partita_II_Allemande.ly | 148 +++++++++++ ...a_I_Sinfonia.ly => Partita_II_Sinfonia.ly} | 93 +++---- .../J.S.Bach/Petites-Preludes/preludes-1.ly | 2 +- .../J.S.Bach/Petites-Preludes/preludes-2.ly | 2 +- .../J.S.Bach/Petites-Preludes/preludes-4.ly | 2 +- .../J.S.Bach/Petites-Preludes/preludes-5.ly | 2 +- .../J.S.Bach/Petites-Preludes/preludes-6.ly | 2 +- .../Solo-Cello-Suites/allemande-cello.ly | 2 +- .../Solo-Cello-Suites/allemande-viola.ly | 2 +- .../Solo-Cello-Suites/courante-cello.ly | 2 +- .../Solo-Cello-Suites/courante-viola.ly | 2 +- .../J.S.Bach/Solo-Cello-Suites/gigue-cello.ly | 2 +- .../J.S.Bach/Solo-Cello-Suites/gigue-viola.ly | 2 +- .../Solo-Cello-Suites/menuetto-cello.ly | 2 +- .../Solo-Cello-Suites/menuetto-viola.ly | 2 +- .../Solo-Cello-Suites/prelude-cello.ly | 2 +- .../Solo-Cello-Suites/prelude-viola.ly | 2 +- .../Solo-Cello-Suites/sarabande-cello.ly | 2 +- .../Solo-Cello-Suites/sarabande-viola.ly | 2 +- mutopia/J.S.Bach/wtk1-fugue1.ly | 2 +- mutopia/J.S.Bach/wtk1-fugue2.ly | 2 +- mutopia/J.S.Bach/wtk1-prelude1.ly | 2 +- mutopia/W.A.Mozart/cadenza.ly | 2 +- mutopia/W.A.Mozart/horn-concerto-3.ly | 2 +- mutopia/gallina.ly | 42 +-- mutopia/los-toros-oboe.ly | 2 +- mutopia/standchen-16.ly | 6 +- mutopia/standchen-20.ly | 2 +- mutopia/standchen.ly | 2 +- scripts/convert-mudela.py | 12 + scripts/mudela-book.py | 8 +- stepmake/Documentation/topdocs/AUTHORS.yo | 14 +- stepmake/bin/table-to-html.py | 2 +- stepmake/configure | 44 ++- stepmake/make/out/stepmake.lsm | 8 +- stepmake/make/out/stepmake.spec | 4 +- tex/fetdefs.tex | 3 +- tex/lily-debug.tex | 26 ++ tex/lilypond-latex.tex | 73 +++++ tex/lilypond-plaintex.tex | 58 ++++ tex/lilyponddefs.tex | 219 ++++----------- tex/mudela-book.tex | 1 + 159 files changed, 1376 insertions(+), 1162 deletions(-) rename Documentation/tex/{vocabulary-forms.el => glossary-forms.el} (90%) create mode 100644 Documentation/tex/glossary-table.data delete mode 100644 Documentation/tex/vocabulary.data create mode 100644 input/test/defaultbars.ly delete mode 100644 lily/include/tie-engraver.hh create mode 100644 lily/music-sequence.cc delete mode 100644 lily/tie-engraver.cc create mode 100644 mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly rename mutopia/J.S.Bach/Cembalo-Partitas/{Partita_I_Sinfonia.ly => Partita_II_Sinfonia.ly} (85%) create mode 100644 tex/lily-debug.tex create mode 100644 tex/lilypond-latex.tex create mode 100644 tex/lilypond-plaintex.tex diff --git a/Documentation/index.yo b/Documentation/index.yo index b9066871c0..aa87b18f09 100644 --- a/Documentation/index.yo +++ b/Documentation/index.yo @@ -39,7 +39,7 @@ nsubsect(Documentation: manuals) itemize( -it()url(Mudela)(../tex/DOEXPAND(outdir)/mudela.html) +it()url(Mudela)(../tex/DOEXPAND(outdir)/tutorial.html) it()url(TeX documents about LilyPond)(../tex/DOEXPAND(outdir)/index.html) it()url(Manual pages)(../man/DOEXPAND(outdir)/index.html) it()url(Musical vocabulary)(../tex/DOEXPAND(outdir)/vocabulary.html) diff --git a/Documentation/ntweb/index.yo b/Documentation/ntweb/index.yo index bb54acd47d..4460f700c8 100644 --- a/Documentation/ntweb/index.yo +++ b/Documentation/ntweb/index.yo @@ -115,11 +115,11 @@ subsect(Running LilyPond) label(running) itemize( it()Take a look at url(angels.ly)(angels.ly) - it()Save angles.ly to your local disk + it()Save angels.ly to your local disk it()From a Command Prompt run: nl() - bf(ly2dvi.py angles.ly) nl() - bf(dvips angles.dvi) nl() - bf(cmd /c angles.ps) nl() + bf(ly2dvi.py angels.ly) nl() + bf(dvips angels.dvi) nl() + bf(cmd /c angels.ps) nl() ) link(Back to top)(contents) diff --git a/Documentation/tex/GNUmakefile b/Documentation/tex/GNUmakefile index 07b68a59f8..f1bf0b4878 100644 --- a/Documentation/tex/GNUmakefile +++ b/Documentation/tex/GNUmakefile @@ -26,12 +26,13 @@ ps: $(PS_FILES) # urg default: -GENHTMLS = engraving colorado vocabulary computer-notation +GENHTMLS = engraving colorado glossary computer-notation OUTGENHTMLS = $(addprefix $(outdir)/, $(GENHTMLS:%=%.html)) -$(outdir)/glossary.dvi: $(outdir)/vocabulary.tex -$(outdir)/glossary.html: $(OUTGENHTMLS) +$(outdir)/glossary.dvi: $(outdir)/glossary-table.tex +$(outdir)/glossary.html: $(outdir)/glossary-table.html + local-WWW: $(HTML_FILES) $(OUTDOC_FILES:.doc=.ps.gz) $(OUTYO_FILES:.yo=.latex) $(OUTYO_FILES:.yo=.ps.gz) $(addprefix $(outdir)/, $(BIB_FILES:.bib=.html)) $(datafiles) $(PYTHON) $(step-bindir)/ls-latex.py --package=$(topdir) --title 'LaTeX documents about LilyPond' \ diff --git a/Documentation/tex/vocabulary-forms.el b/Documentation/tex/glossary-forms.el similarity index 90% rename from Documentation/tex/vocabulary-forms.el rename to Documentation/tex/glossary-forms.el index e948938327..0ad71b35af 100644 --- a/Documentation/tex/vocabulary-forms.el +++ b/Documentation/tex/glossary-forms.el @@ -3,10 +3,10 @@ ; Neil Jerram . ; Forms by Han-Wen Nienhuys -(setq forms-file "vocabulary.data") +(setq forms-file "glossary-table.data") (setq forms-number-of-fields 7) (setq forms-read-only nil) ; to make sure -(setq forms-field-sep ":") +(setq forms-field-sep "@") (setq forms-multi-line nil) (setq forms-format-list diff --git a/Documentation/tex/glossary-table.data b/Documentation/tex/glossary-table.data new file mode 100644 index 0000000000..f5ffac0a40 --- /dev/null +++ b/Documentation/tex/glossary-table.data @@ -0,0 +1,251 @@ +@comma enharmonique@@@@@ +@doigté de pédale@@@@@ +@doigté@@@@@ +@indication de pédale@@@@@ +@pointillés@@@@@ +A@la@@@@@ +accent@accent@Akzent@@accent@accento@ +accidental@altération accidentelle@Vorzeichen@@toevallig teken@accidento@ +adjacent keys@tons voisins@@@@@ +alto@alto@@@alt@@ +ancient form??? (diatonic minor scale)@forme du mode mineur ancien@@@@@ +appoggiatura@appogiature, ports de voix, notes d'agr\'ement@langer Vorschl\"age@@@appogiature@ +arbitrary number of bars' rest)@bâton de pause@@@@@ +arpeggio@arpège, arpègement@Brechungen@@gebroken akoord@arpeggio@ +artificial measure@mesure artificielle@@@@@ +artificial rest@respiration@@@@@ +ascending interval@intervalle ascendant@@@@@ +augmented (interval)@augmenté (intervalle)@@@overmatig interval@@ +B@si@@@@@ +backfall, forefall@accent, chute, port de voix@Vorschlag@@korte voorslag@appogiature@ +bar line@barre (de mesure)@Taktstrich@@maatstreep@stanghetta@ +bar; measure@mesure@@@maat, maatstreep@@ +baritone@bariton@@@bariton@@ +bass clef@clé de fa@F Schl\"ussel@@F sleutel, bas sleutel@chiave di basso@ +bass@basse@@@bas@@ +beam@barre@Balken@@waardestreep/balk@barra@ +beat@temps@@@tel@@ +brace@accolade@Klammer@@@accolada@Symbol at the start of a system that connects staffs. +brass@@@@koper (blazers)@@ +C clef@clé d'ut@@@C sleutel, alt sleutel@chiave di tenore@ +C@do@@@C@@ +C@ut@@@@@ +cadence@cadence@@@cadens@@ +cadenza@fioriture@@@cadens@cadenza@ +cent@@@@@@1/1200 of an octave (1/100 of an equally tempered semitone) +chain of trills@chaîne de trilles@@@triller@@ +character@caractère@@@@@ +chevron@chevron@@@@@ +chord@accord@@@akkoord@@ +chromatic scale@gamme chromatique@@@chromatische toonladder@@ +chromatic semitone@demi-ton chromatique@@@chromatische halve toon@@ +chromatic transposition@transposition chromatique@@@@@ +chromatic type@genre chromatique@@@@@ +church mode, ecclesiastical mode@mode ecclésiastique@@@@@ +clef@clé@Schl\"ussel@@Sleutel@la chiave (pl. le chiavi)@ +comma@comma@@@@@Difference in pitch of a note when the note is derived from a different tuning system. +compound interval@intervalle composé@@@@@ +compound measure@mesure composée@@@@@ +conjunct movement@mouvement conjoint@@@@@ +consonant interval; consonance@consonance@@@consonant@@ +contralto@contralto@@@@@ +contro-time@contre-temps@@@@@ +crescendo@crescendo@@@@crescendo@written with an extended opening angular bracket, indicates increasing volume +cue-notes@@Stichnoten@@stichnoten@@ +D@ré@@@@@ +dash over/below@pizzicato@@@@@ +decrescendo@@@@@decrescendo@written with an extended closing angular bracket, indicates decreasing volume +degree [of the scale]@degré [de la gamme]@@@trap [van de toonladder]@@ +descending interval@intervalle descendant@@@dalend interval@@ +diatonic major scale@gamme diatonique majeure@@@diatonische majeur toonladder@@ +diatonic minor scale@gamme diatonique mineure@@@@@ +diatonic semitone@demi-ton diatonique@@@diatonische halve toon@@ +diatonic type@genre diatonique@@@@@ +diatonic@diatonique@@@diatonisch@@A diatonic scale is a scale consisting of whole and half tones. +diminished (interval)@diminué (intervalle)@@@verminderd (interval)@@ +disjunct movement@mouvement disjoint@@@@@ +dissonant interval; dissonance@dissonance@@@dissonant interval; dissonant@@ +dominant ninth chord@accord de neuvième dominante@@@dominant noon akkoord@@ +dominant seventh chord@accord de septième dominante@@@dominant septiem akkoord@@ +dominant@dominante@@@dominant@@A tone that creates tension;the fifth degree of the scale. +dorian mode@@@@@@Mode obtained by raising the sixth in minor mode. A Dorian scale can be played from D to D with no sharps or flats. +dot (augmentation dot) @point@Punkt@@punt@punto@ +dot and curved line combined@point et liaison combinés@@@@@ +dot over/below@@@@staccato@staccato@ +dot@point@@@punt@@ +dotted note@note pointée@@@@@ +double appoggiatura@appogiature double@@@@@ +double bar line@double barre@Doppeltaktstrich@@dubbele streep@doppia barra@ +double dotted note@note doublement pointée@@@@@ +double flat@double bémol@Doppel-Be@@dubbelmol@doppio bemolle@ +double sharp@double dièse@Doppelkreuz@@dubbelkruis@doppio diesis@ +double trill@trille double@@@@@ +double triplet@double triolet@@@dubbele triool@@ +double whole note@@@breve@brevis@breve@ +duple meter@temps binaire@@@tweedelige maatsoort@@ +duplet@duolet@@@duool@@ +duration@durée@@@duur, lengte@@ +E@mi@@@@@ +eighth note@croche@@quaver@achtste noot@@ +eighth rest@demi-soupir@@quaver rest@achtste rust@@ +engraving@@notenstechen@@steken@@ +enharmonic@enharmonique@@@enharmonisch@@Two notes, intervals, or scales are enharmonic if they have different names but sound the same. Examples: C sharp and D flat, diminished fourth and major third +equal temperament@tempérament égal@@@getempereerde stemming@@Tuning system in which each semitone is precisely 100 cents. +essential alteration@altération essentielle@@@@@ +expression mark@signe d'expressoin@Vortragszeichen@@voordrachtsteken@segno d'espressione@ +extension of interval@extension d'intervalle@@@@@ +F@fa@@@@@ +fermata@pauses@Fermate@@fermate@fermata@Prolonged sound or silence of indefinite duration +fifth@quinte@@@kwint@@ +flag, hook, tail, pennant@crochet@F\"anchen@@vlaggetje@coda uncinata@ +flat@bémol@Be@@mol@bemolle@ +four-bar rest@bâton de pause@@@@@ +fourth@quarte@@@kwart@@ +G@sol@@@@@ +glissando@glissement@Glissando@@glissando@glissando@ +graces@petites notes@kurz Vorschl\"age, Manieren (?)@@versieringen@appogiature@ +grand staff@@@@piano systeem@@A combination of two staffs with a brace. Usually used for piano music. +half note@blanche@@minim@halve noot@@ +half rest@demi-pause@@minim rest@halve rust@@ +harmonic cadence@cadence harmonique@@@cadens@@ +harmonic form (diatonic minor scale)@forme harmonique@@@@@ +harmonic interval@intervalle harmonique@@@@@ +incomplete measure@mesure incomplète@@@@@ +interval@intervalle@@@interval@@Difference in pitch between two notes +inversion of interval@renversement d'intervalle@@@inversie@@ +irregular contro-time@contre-temps irrégulier@@@@@ +irregular group@groupe irrégulier@@@@@ +irregular measure@mesure irrégulière@@@@@ +irregular syncopation@syncope irrégulière@@@onregelmatige syncope@@ +just intonation@@@@@@Tuning system in which the notes are obtained by adding and subtracting natural fifths and thirds. +key signature@armure, armature [de la clé], signes des accidentals@Vorzeichen@@toonsoort (voortekens)@segni di chiave@ +kind of note@figure de note@@@@@ +kind of rest@figure de silence@@@@@ +leading note@sensible@@@@@ +ledger line, leger line@ligne supplémentaire@Hilfslinien, Kopfstriche (?)@@hulplijntje@lineette@A ledger line is an extension of the staff. +legato curve@liaison rythmique@@@legato boog@@ +lilypond@étang de lis@lilyteich@lily pond@lelievijver@stagno del giglio@ +line@ligne@@@lijn@@ +long appoggiatura@appogiature longue@@@@@ +lower number@chiffre inférieur@@@@@ +major (interval)@majeur (intervalle)@@@groot (interval)@@ +major mode@mode majeur@@@@@ +meantone temperament@tempérament mésotonique@@@@@Tuning based on a fifth that is 16 cents smaller than the natural fifth. +mediant@médiante@@@mediant@@The third degree of a scale +melodic cadence@cadence mélodique@@@cadens@@ +melodic form (diatonic minor scale)@forme mélodique@@@@@ +meter, time@m\`etre@Takt, Metrum@@maatsoort@@A recurring pattern of stress +metronome@métronome@@@metronoom@@ +metronomic indication@indication métronomique@@@@@ +mezzo-soprano@mezzo-soprano@@@@@ +middle C@do central@@@centrale C@@ +minor (interval)@mineur (intervalle)@@@@@ +minor mode@mode mineur@@@@@ +modal note@note modale@@@@@ +mode@mode@@@@@ +modulation@modulation@@@modulatie@@ +mordent@mordant, pinc\'e@Pralltriller, Mordent@@mordent@mordente@ +motive@incise@@@motief@@ +musical ladder@échelle musicale@@@@@ +mixolydian mode@@@@@@Mode obtained by lowering the seventh in major. A mixolydian scale can be obtained by playing G to G with no sharps or flats. +natural sign@bécarre@Aufl\"osungszeichen@@herstellingsteken@bequadro@ +ninth@@@@noon@@ +note head@@Notenkopf@@noot balletje@@ +note@note@Note@@noot@nota@ +octave line@échelle d'octave@@@@@ +octave line@clé d'octave@@@@@ +octave sign@octave@Oktave@@@ottava@ +octave@octave@@@octaaf@@ +ornament, embellishment; accessory@agr\'ement, ornement@Verzierungen@@@fiorette, fioriture, abbellimenti@ +part@@@@partij@@ +pause@pause@Luftpause@@@@ +pause@point d'orgue@@@@@ +perfect (interval)@juste (intervalle)@@@rein (interval)@@ +perfect major chord@accord parfait majeur@@@@@ +perfect minor chord@accord parfait mineur@@@@@ +phrase member@membre de phrase@@@@@ +phrase@phrase@@@@@ +phrasing@phrasé@@@@@ +pitch pipe; tuning fork@diapason@@@stemfluitje; stemvork@@ +pitch@hauteur@@@toonhoogte@@ +Pythagorean comma@comma pythagoricien@@@komma van Pythagoras@@A sequence of fifths starting on C eventually circles back to C (B sharp), but this B sharp is 24 cents higher than C. This gap is the Pythagorean comma. +quadruplet@quartolet@@@kwartool@@ +quarter note@noire@@crotchet@kwartnoot@@ +quarter rest@soupir@@crotchet rest@kwart rust@@ +register@registre@@@register@@ +regular contro-time@contre-temps régulier@@@@@ +regular syncopation@syncope régulière@@@@@ +relative scales@gammes relatives, tons relatifs@@@@@ +repeat@barre de reprise@@@herhaling@@ +rest@silence@@@@@ +rest@soupir@Pause@@rust@pausa@ +return sign@renvoi@@@herstellingsteken@@ +rhythm@rythme@Rhythmus@@ritme@@ +rhythmic curve@courbe rythmique@@@@@ +scale@gamme@@@toonladder@@ +score@partition@@@partituur@@ +second@seconde@@@@secunde@ +semitone@demi-ton@@@halve toon@@ +seventh@septième@@@septiem@septime@ +sextuplet@sextolet@@@sextool@@ +sextuplet@sixain@@@sextool@@ +shading signs@signes indicateurs de nuance@@@@@ +shading@nuance@@@@@ +sharp@dièse@@@kruis@@ +short appoggiatura@appogiature brève@@@@@ +simple appoggiatura@appogiature simple@@@@@ +simple interval@intervalle simple@@@@@ +simple measure@mesure simple@@@@@ +sixteenth note@double croche@@semiquaver@zestiende noot@@ +sixteenth rest@quart de soupir@@semiquaver rest@zestiende rust@@ +sixth@sixte@@@sext@@ +sixty-fourth note@quadruple croche@@hemidemisemiquaver@vierenzestigste noot@@ +sixty-fourth rest@seizième de soupir@@hemidemisemiquaver rest@@@ +slur@liason, coulé@Bindungzeichen, Bindebogen@@binding, bindingsboog@legatura@ +soprano@soprano@@@sopraan@@ +space@espace@@@@@ +staff@portée@@@(noten)balk; partij@@pl staves or staffs +stem@queue@Stiel, Hals@@stok@asta, gamba@ +strings@@@@strijkers@@ +strong beat@temps fort@@@thesis@@ +subdominant@sous-dominante@@@@@The fourth degree of the scale +submediant@@@@@@The sixth scale degree +subtonic@sous-tonique@@@@@The seventh degree of the scale +superdominant@sus-dominante@@@@@The sixth scale degree +supertonic@sus-tonique@@@@@The second scale degree +syncopation; upbeat@syncope@@@syncope@@ +syntonic comma@comma syntonique@@@komma van Didymos, syntonische komma@@Difference between the natural third and the third obtained by Pythagorean tuning, euqal to 22 cents. +system@syst\`eme@System@@systeem@sitema@ +tempo indication@signes de temps@Zeitmasse, Tempobezeichnung@@tempo aanduiding@segno di tempo@ +tempo; movement@mouvement@@@@@ +tenor@ténor@@@@@ +tenth@@@@deciem@decime@ +tetrachord@tétracorde@@@@@ +third@tierce@@@terts@@ +thirty-second note@triple croche@@demisemiquaver@32e noot@@ +thirty-second rest@huitième de soupir@@demisemiquaver rest@32e rust@@ +tie@liaison@Bindung@@overbinding@legatura@A curve that shows the prolongation (as opposed to the repetition fo a note) +time signature@chiffrage (chiffres indicateurs), signe de valeur@Taktvorzeichnung, Taktvorzeichen@@maatsoort@segni di tempo@ +tonal note@note tonale@@@@@ +tonality@tonalité@@@tonaliteit@@ +tone@ton@@@toon@@ +tonic@tonique@@@tonica@@ +transposition@transposition@@@transpositie@@ +treble clef@clé de sol@G Schl\"ussel@@G sleutel, viool sleutel@chiave di violino@ +tremolo@tr\'emolo@Tremolo@@tremolo@tremolo@ +trill; shake@trille, tremblement, battement (cadence)@Triller@@triller@trillo@ +triple meter@temps ternaire@@@driedelige maatsoort@@ +triplet@triolet@@@@@ +tritone@triton@@@@@ +turn; gruppetto@bris\'e, groupe, doubl\'e, grupetto@Doppelschlag@@dubbelslag@grupetto@ +two-bar rest@bâton de pause@@@@@ +underline over/below@portamento@@@@@ +unison@unisson@@@@unisono@ +unit of beat@unité de temps@@@@@ +unit of measure@unité de mesure@@@@@ +upper number@chiffre supérieur@@@@@ +voice@voix@@@stem@@ +weak beat@temps faible@@@arsis@@ +whole note@ronde@@semibreve@hele noot@@ +whole rest@pause@@semibreve rest@@@ +woodwind@@@@houtblazers@@ diff --git a/Documentation/tex/glossary.yo b/Documentation/tex/glossary.yo index 803c51c0ad..88cb2ab09d 100644 --- a/Documentation/tex/glossary.yo +++ b/Documentation/tex/glossary.yo @@ -17,7 +17,7 @@ in stead <-> instead htmlbodyopt(bgcolor)(white) htmlcommand() -latexpackage()(a4wide) +latexpackage()(a4wide) COMMENT(UGH) latexlayoutcmds( %\usepackage[latin1]{inputenc} \input mudela-book @@ -69,12 +69,12 @@ whenlatex(latexcommand( \inlanguage{Fran\c cais}{#2} \inlanguage{British}{#4} \inlanguage{Deutsch}{#3} \inlanguage{Nederlands}{#5}\inlanguage{Italiano}{#6}} - \input{vocabulary} + \input glossary-table } )) whenhtml( - includeverbatim(DOEXPAND(outdir)/vocabulary.html) + includeverbatim(DOEXPAND(outdir)/glossary-table.html) ) whenlatex(latexcommand( diff --git a/Documentation/tex/vocabulary.data b/Documentation/tex/vocabulary.data deleted file mode 100644 index 12bf4062a2..0000000000 --- a/Documentation/tex/vocabulary.data +++ /dev/null @@ -1,251 +0,0 @@ -:comma enharmonique::::: -:doigté de pédale::::: -:doigté::::: -:indication de pédale::::: -:pointillés::::: -A:la::::: -accent:accent:Akzent::accent:accento: -accidental:altération accidentelle:Vorzeichen::toevallig teken:accidento: -adjacent keys:tons voisins::::: -alto:alto:::alt:: -ancient form??? (diatonic minor scale):forme du mode mineur ancien::::: -appoggiatura:appogiature, ports de voix, notes d'agr\'ement:langer Vorschl\"age:::appogiature: -arbitrary number of bars' rest):bâton de pause::::: -arpeggio:arpège, arpègement:Brechungen::gebroken akoord:arpeggio: -artificial measure:mesure artificielle::::: -artificial rest:respiration::::: -ascending interval:intervalle ascendant::::: -augmented (interval):augmenté (intervalle):::overmatig interval:: -B:si::::: -backfall, forefall:accent, chute, port de voix:Vorschlag::korte voorslag:appogiature: -bar line:barre (de mesure):Taktstrich::maatstreep:stanghetta: -bar; measure:mesure:::maat, maatstreep:: -baritone:bariton:::bariton:: -bass clef:clé de fa:F Schl\"ussel::F sleutel, bas sleutel:chiave di basso: -bass:basse:::bas:: -beam:barre:Balken::waardestreep/balk:barra: -beat:temps:::tel:: -brace:accolade:Klammer:::accolada:Symbol at the start of a system that connects staffs. -brass::::koper (blazers):: -C clef:clé d'ut:::C sleutel, alt sleutel:chiave di tenore: -C:do:::C:: -C:ut::::: -cadence:cadence:::cadens:: -cadenza:fioriture:::cadens:cadenza: -cent::::::1/1200 of an octave (1/100 of an equally tempered semitone) -chain of trills:chaîne de trilles:::triller:: -character:caractère::::: -chevron:chevron::::: -chord:accord:::akkoord:: -chromatic scale:gamme chromatique:::chromatische toonladder:: -chromatic semitone:demi-ton chromatique:::chromatische halve toon:: -chromatic transposition:transposition chromatique::::: -chromatic type:genre chromatique::::: -church mode, ecclesiastical mode:mode ecclésiastique::::: -clef:clé:Schl\"ussel::Sleutel:la chiave (pl. le chiavi): -comma:comma:::::Difference in pitch of a note when the note is derived from a different tuning system. -compound interval:intervalle composé::::: -compound measure:mesure composée::::: -conjunct movement:mouvement conjoint::::: -consonant interval; consonance:consonance:::consonant:: -contralto:contralto::::: -contro-time:contre-temps::::: -crescendo:crescendo::::crescendo:written with an extended opening angular bracket, indicates increasing volume -cue-notes::Stichnoten::stichnoten:: -D:ré::::: -dash over/below:pizzicato::::: -decrescendo:::::decrescendo:written with an extended closing angular bracket, indicates decreasing volume -degree [of the scale]:degré [de la gamme]:::trap [van de toonladder]:: -descending interval:intervalle descendant:::dalend interval:: -diatonic major scale:gamme diatonique majeure:::diatonische majeur toonladder:: -diatonic minor scale:gamme diatonique mineure::::: -diatonic semitone:demi-ton diatonique:::diatonische halve toon:: -diatonic type:genre diatonique::::: -diatonic:diatonique:::diatonisch::A diatonic scale is a scale consisting of whole and half tones. -diminished (interval):diminué (intervalle):::verminderd (interval):: -disjunct movement:mouvement disjoint::::: -dissonant interval; dissonance:dissonance:::dissonant interval; dissonant:: -dominant ninth chord:accord de neuvième dominante:::dominant noon akkoord:: -dominant seventh chord:accord de septième dominante:::dominant septiem akkoord:: -dominant:dominante:::dominant::A tone that creates tension;the fifth degree of the scale. -dorian mode::::::Mode obtained by raising the sixth in minor mode. A Dorian scale can be played from D to D with no sharps or flats. -dot (augmentation dot) :point:Punkt::punt:punto: -dot and curved line combined:point et liaison combinés::::: -dot over/below::::staccato:staccato: -dot:point:::punt:: -dotted note:note pointée::::: -double appoggiatura:appogiature double::::: -double bar line:double barre:Doppeltaktstrich::dubbele streep:doppia barra: -double dotted note:note doublement pointée::::: -double flat:double bémol:Doppel-Be::dubbelmol:doppio bemolle: -double sharp:double dièse:Doppelkreuz::dubbelkruis:doppio diesis: -double trill:trille double::::: -double triplet:double triolet:::dubbele triool:: -double whole note:::breve:brevis:breve: -duple meter:temps binaire:::tweedelige maatsoort:: -duplet:duolet:::duool:: -duration:durée:::duur, lengte:: -E:mi::::: -eighth note:croche::quaver:achtste noot:: -eighth rest:demi-soupir::quaver rest:achtste rust:: -engraving::notenstechen::steken:: -enharmonic:enharmonique:::enharmonisch::Two notes, intervals, or scales are enharmonic if they have different names but sound the same. Examples: C sharp and D flat, diminished fourth and major third -equal temperament:tempérament égal:::getempereerde stemming::Tuning system in which each semitone is precisely 100 cents. -essential alteration:altération essentielle::::: -expression mark:signe d'expressoin:Vortragszeichen::voordrachtsteken:segno d'espressione: -extension of interval:extension d'intervalle::::: -F:fa::::: -fermata:pauses:Fermate::fermate:fermata:Prolonged sound or silence of indefinite duration -fifth:quinte:::kwint:: -flag, hook, tail, pennant:crochet:F\"anchen::vlaggetje:coda uncinata: -flat:bémol:Be::mol:bemolle: -four-bar rest:bâton de pause::::: -fourth:quarte:::kwart:: -G:sol::::: -glissando:glissement:Glissando::glissando:glissando: -graces:petites notes:kurz Vorschl\"age, Manieren (?)::versieringen:appogiature: -grand staff::::piano systeem::A combination of two staffs with a brace. Usually used for piano music. -half note:blanche::minim:halve noot:: -half rest:demi-pause::minim rest:halve rust:: -harmonic cadence:cadence harmonique:::cadens:: -harmonic form (diatonic minor scale):forme harmonique::::: -harmonic interval:intervalle harmonique::::: -incomplete measure:mesure incomplète::::: -interval:intervalle:::interval::Difference in pitch between two notes -inversion of interval:renversement d'intervalle:::inversie:: -irregular contro-time:contre-temps irrégulier::::: -irregular group:groupe irrégulier::::: -irregular measure:mesure irrégulière::::: -irregular syncopation:syncope irrégulière:::onregelmatige syncope:: -just intonation::::::Tuning system in which the notes are obtained by adding and subtracting natural fifths and thirds. -key signature:armure, armature [de la clé], signes des accidentals:Vorzeichen::toonsoort (voortekens):segni di chiave: -kind of note:figure de note::::: -kind of rest:figure de silence::::: -leading note:sensible::::: -ledger line, leger line:ligne supplémentaire:Hilfslinien, Kopfstriche (?)::hulplijntje:lineette:A ledger line is an extension of the staff. -legato curve:liaison rythmique:::legato boog:: -lilypond:étang de lis:lilyteich:lily pond:lelievijver:stagno del giglio: -line:ligne:::lijn:: -long appoggiatura:appogiature longue::::: -lower number:chiffre inférieur::::: -major (interval):majeur (intervalle):::groot (interval):: -major mode:mode majeur::::: -meantone temperament:tempérament mésotonique:::::Tuning based on a fifth that is 16 cents smaller than the natural fifth. -mediant:médiante:::mediant::The third degree of a scale -melodic cadence:cadence mélodique:::cadens:: -melodic form (diatonic minor scale):forme mélodique::::: -meter, time:m\`etre:Takt, Metrum::maatsoort::A recurring pattern of stress -metronome:métronome:::metronoom:: -metronomic indication:indication métronomique::::: -mezzo-soprano:mezzo-soprano::::: -middle C:do central:::centrale C:: -minor (interval):mineur (intervalle)::::: -minor mode:mode mineur::::: -modal note:note modale::::: -mode:mode::::: -modulation:modulation:::modulatie:: -mordent:mordant, pinc\'e:Pralltriller, Mordent::mordent:mordente: -motive:incise:::motief:: -musical ladder:échelle musicale::::: -mixolydian mode::::::Mode obtained by lowering the seventh in major. A mixolydian scale can be obtained by playing G to G with no sharps or flats. -natural sign:bécarre:Aufl\"osungszeichen::herstellingsteken:bequadro: -ninth::::noon:: -note head::Notenkopf::noot balletje:: -note:note:Note::noot:nota: -octave line:échelle d'octave::::: -octave line:clé d'octave::::: -octave sign:octave:Oktave:::ottava: -octave:octave:::octaaf:: -ornament, embellishment; accessory:agr\'ement, ornement:Verzierungen:::fiorette, fioriture, abbellimenti: -part::::partij:: -pause:pause:Luftpause:::: -pause:point d'orgue::::: -perfect (interval):juste (intervalle):::rein (interval):: -perfect major chord:accord parfait majeur::::: -perfect minor chord:accord parfait mineur::::: -phrase member:membre de phrase::::: -phrase:phrase::::: -phrasing:phrasé::::: -pitch pipe; tuning fork:diapason:::stemfluitje; stemvork:: -pitch:hauteur:::toonhoogte:: -Pythagorean comma:comma pythagoricien:::komma van Pythagoras::A sequence of fifths starting on C eventually circles back to C (B sharp), but this B sharp is 24 cents higher than C. This gap is the Pythagorean comma. -quadruplet:quartolet:::kwartool:: -quarter note:noire::crotchet:kwartnoot:: -quarter rest:soupir::crotchet rest:kwart rust:: -register:registre:::register:: -regular contro-time:contre-temps régulier::::: -regular syncopation:syncope régulière::::: -relative scales:gammes relatives, tons relatifs::::: -repeat:barre de reprise:::herhaling:: -rest:silence::::: -rest:soupir:Pause::rust:pausa: -return sign:renvoi:::herstellingsteken:: -rhythm:rythme:Rhythmus::ritme:: -rhythmic curve:courbe rythmique::::: -scale:gamme:::toonladder:: -score:partition:::partituur:: -second:seconde::::secunde: -semitone:demi-ton:::halve toon:: -seventh:septième:::septiem:septime: -sextuplet:sextolet:::sextool:: -sextuplet:sixain:::sextool:: -shading signs:signes indicateurs de nuance::::: -shading:nuance::::: -sharp:dièse:::kruis:: -short appoggiatura:appogiature brève::::: -simple appoggiatura:appogiature simple::::: -simple interval:intervalle simple::::: -simple measure:mesure simple::::: -sixteenth note:double croche::semiquaver:zestiende noot:: -sixteenth rest:quart de soupir::semiquaver rest:zestiende rust:: -sixth:sixte:::sext:: -sixty-fourth note:quadruple croche::hemidemisemiquaver:vierenzestigste noot:: -sixty-fourth rest:seizième de soupir::hemidemisemiquaver rest::: -slur:liason, coulé:Bindungzeichen, Bindebogen::binding, bindingsboog:legatura: -soprano:soprano:::sopraan:: -space:espace::::: -staff:portée:::(noten)balk; partij::pl staves or staffs -stem:queue:Stiel, Hals::stok:asta, gamba: -strings::::strijkers:: -strong beat:temps fort:::thesis:: -subdominant:sous-dominante:::::The fourth degree of the scale -submediant::::::The sixth scale degree -subtonic:sous-tonique:::::The seventh degree of the scale -superdominant:sus-dominante:::::The sixth scale degree -supertonic:sus-tonique:::::The second scale degree -syncopation; upbeat:syncope:::syncope:: -syntonic comma:comma syntonique:::komma van Didymos, syntonische komma::Difference between the natural third and the third obtained by Pythagorean tuning, euqal to 22 cents. -system:syst\`eme:System::systeem:sitema: -tempo indication:signes de temps:Zeitmasse, Tempobezeichnung::tempo aanduiding:segno di tempo: -tempo; movement:mouvement::::: -tenor:ténor::::: -tenth::::deciem:decime: -tetrachord:tétracorde::::: -third:tierce:::terts:: -thirty-second note:triple croche::demisemiquaver:32e noot:: -thirty-second rest:huitième de soupir::demisemiquaver rest:32e rust:: -tie:liaison:Bindung::overbinding:legatura:A curve that shows the prolongation (as opposed to the repetition fo a note) -time signature:chiffrage (chiffres indicateurs), signe de valeur:Taktvorzeichnung, Taktvorzeichen::maatsoort:segni di tempo: -tonal note:note tonale::::: -tonality:tonalité:::tonaliteit:: -tone:ton:::toon:: -tonic:tonique:::tonica:: -transposition:transposition:::transpositie:: -treble clef:clé de sol:G Schl\"ussel::G sleutel, viool sleutel:chiave di violino: -tremolo:tr\'emolo:Tremolo::tremolo:tremolo: -trill; shake:trille, tremblement, battement (cadence):Triller::triller:trillo: -triple meter:temps ternaire:::driedelige maatsoort:: -triplet:triolet::::: -tritone:triton::::: -turn; gruppetto:bris\'e, groupe, doubl\'e, grupetto:Doppelschlag::dubbelslag:grupetto: -two-bar rest:bâton de pause::::: -underline over/below:portamento::::: -unison:unisson::::unisono: -unit of beat:unité de temps::::: -unit of measure:unité de mesure::::: -upper number:chiffre supérieur::::: -voice:voix:::stem:: -weak beat:temps faible:::arsis:: -whole note:ronde::semibreve:hele noot:: -whole rest:pause::semibreve rest::: -woodwind::::houtblazers:: diff --git a/Documentation/topdocs/AUTHORS.yo b/Documentation/topdocs/AUTHORS.yo index a1cde6d1e0..99a54a24a9 100644 --- a/Documentation/topdocs/AUTHORS.yo +++ b/Documentation/topdocs/AUTHORS.yo @@ -24,6 +24,8 @@ it()nemail(Werner Lemberg)(xlwy01@uxp1.hrz.uni-dortmund.de), misc bugfixes, some Beam and Stem code. it()nemail(David R. Linn)(drl@vuse.vanderbilt.edu), Mailing list maintenance. +it()nemail(Adrian Moriano)() + Documentation fixes, glossary. it()nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl), lurl(http://www.cs.uu.nl/~hanwen) nl() diff --git a/NEWS b/NEWS index ebf46685f9..fcd4d080ee 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,55 @@ +pl 8 + - make website fixes. + pl 7.jcn1 - - minor stepmake/yodl fixes + - minor stepmake/yodl fixes + +pl 7.uu1 + + - changed separator in vocabulary + - added barAlways and defaultBarType properties. + +pl 7.hwn1 + - changed header format. Use a + for concatenation. + + \header { key = "concat" + "string" } + + (mudela 1.0.2) + - allow computed properties in translator definition + + GrandStaff = \translator { + minVerticalAlign = 1.5\staffheight; + .. + } + + - Music inheritance. Datastructure and parser now follow this grammar + Music_list: + | Music_list Music + ; + Simultaneous_music: '<' Music_list '>' + ; + Sequential_music: '{' Music_list '}' + ; + + - bf: Item::do_unlink () don't iterate on attached_span_l_arr_, +because it is changed by Spanner::set_bounds () (thanks Thomas) + - bf: URL Documentation/index (thanks EP) + - bf: twinkle.ly (thanks EP) + - bf: mi2mu (thanks Murray) + - bf: mudela-book --dependencies + - split LaTeX and TeX stuff + +pl 7.tca1 + - more Partita's + +pl 7.jbr1 + - aclocal.m4,make/lilypond-vars.make: added PATHSEP as AC_SUBST to + help support Windows NT doco build. + Documentation/ntweb/index.yo: minor spelling changes + + +************* pl 7 - refman updates by Adriano Moriano. diff --git a/TODO b/TODO index 69008b66f2..76db5e603e 100644 --- a/TODO +++ b/TODO @@ -7,11 +7,12 @@ done, or is an idea that I want to think about Most of the items are marked in the code as well, with full explanation. grep for TODO and ugh/ugr/urg - * fix LOCALE settings, and \def\foo{2,000pt} output + * egcs-1.1a support + * fix LOCALE settings, and \def\foo{2,000pt} output - * use streambufs to provide IO handling for TeX stream, mudela stream, -data-file. + * use streambufs and iostream + to provide IO handling for TeX stream, mudela stream, data-file. * seriously buffer TeX output (do profile of writing .5 mb TeX file.) @@ -21,11 +22,30 @@ data-file. * repeat bars: need distance after ":|" and before "|:" - * doco should not depend on a4 - * text continuationss - * fix plain tex footer line. + * revise documentation + + * abbrev -> tremolo + + * Language: + - general plet mechanism. + + \plet 2/3 { c8 c8 c8 } + + ie. + + Music: PLET int '/' int Music + + - \type -> \context ? + - \translator -> ? + - fix \partial + - \melodic -> \notes + - \bla {} vs \bla ; + - mix engraver hacking with music ? + - \once\property KEY = VAL + - \addtranslator, \removetranslator + - junk ^ and _ for scripts * install TeX stuff into tex/generic directory. @@ -76,24 +96,21 @@ data-file. * fix vertical alignment and stafflines - *GrandStaff needs more work -- I want a single word `harpsichord' to the - left of the grandstaff, not one on each stave. - (Organ staff -- with separate pedal -- but common properties may be - something to think about. Of course for organ you want to be able - to give stop indications on the way through, so the \property - Voice.Instrument would be a stop, and \property - GrandStaff.instrument would be PipeOrgan...) - + * GrandStaff needs more work -- I want a single word + `harpsichord' to the left of the grandstaff, not one on each + stave. (Organ staff -- with separate pedal -- but common + properties may be something to think about. Of course for + organ you want to be able to give stop indications on the way + through, so the \property Voice.Instrument would be a stop, + and \property GrandStaff.instrument would be PipeOrgan...) * make Tie_req a "command" { ~ } * bib ep1988 - * mix engraver hacking with music ? - * revise the Score_priority_align_engraver concept. It sucks. - * ly2xdvi + * ly2xdvi, ly2ps * make new VoiceOne, VoiceTwo, VoiceThree contexts with ydirection and hshift preset @@ -273,8 +290,6 @@ ydirection and hshift preset * xdvi: PS in magnifying glass. - * GNU patch 2.1: hardcoded limit of 1024 to the linelength - * GNU diff 2.7: diff -rN does not see a new directory with empty file * GNU patch 2.1: if patch chokes on a @@ -294,7 +309,6 @@ ydirection and hshift preset * GNU make: move hardcoded builtin rules to runtime ? * GNU patch - - rewrite ? -> check out GNU patch 2.5 - 'double-fix' mode: ignore identical fix, rather than suggest to revert patch direction when (more or less? exactly) the same thing is fixed @@ -325,16 +339,12 @@ PROJECTS * use properties for: - - Text_style - - default_octave - plet? - Staff_sym size - default tempo. - font size - bartypes (get rid of derived Span_bar_engravers) - cadenza mode? - - MIDI instrument - - staff title * page handling: - PS output @@ -355,11 +365,9 @@ PROJECTS * \header - output header info to MIDI too. - * Add mudela-output to Rosegarden. (contact Derek Wyatt) - * a musical dictionary. See Documentation/vocabulary-*, other languages: - - explanation + - explanations - italian - german - dutch @@ -526,7 +534,7 @@ SMALLISH PROJECTS * write Dynamic_line (to group dynamics horizontally) * use Real for all y positions. - - use translate_axis( .. ,Y_AXIS) + - use translate_axis( .. ,Y_AXIS) iso separate variables. * half-sharps, half-flats @@ -536,9 +544,6 @@ SMALLISH PROJECTS * centered whole rest - * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc. - - use tors feature in lily (?) - * declare notenametab? * midi esp.: use I32 iso int where 32 bits are needed (or assumed...) @@ -558,10 +563,7 @@ SMALLISH PROJECTS * textspanner: center position - * Brackets - - - % toe to bheel four to five + * % toe to bheel four to five % ^_u 4_5 % - % --|x-- --|x-- @@ -611,12 +613,9 @@ IDEAS * versioning stuff (cvt mudela, mudela, etc.) - * padded vertical alignment (rods for vertical placement) - - * use String iso Text_def for lyrics. - * Klavarskribo? * lyrics in chords still fuck up. * Use hooks/dependency graphs for properties + diff --git a/VERSION b/VERSION index d67991c8a0..db7269b593 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=0 -PATCH_LEVEL=7 -MY_PATCH_LEVEL=jcn1 +PATCH_LEVEL=8 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/config.make.in b/config.make.in index 5ab98dd83a..b0f83348dd 100644 --- a/config.make.in +++ b/config.make.in @@ -60,4 +60,5 @@ YODL2MSLESS= @YODL2MSLESS@ YODL2TEXINFO= @YODL2TEXINFO@ YODL2TXT= @YODL2TXT@ ZIP = @ZIP@ +PATHSEP = @PATHSEP@ diff --git a/configure b/configure index d5e61aee35..699e1f1c5a 100755 --- a/configure +++ b/configure @@ -2194,12 +2194,46 @@ test -n "$YODL2MAN" && break done test -n "$YODL2MAN" || YODL2MAN="-echo no yodl" - for ac_prog in yodl2texinfo + for ac_prog in yodl2msless do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2203: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$YODL2MSLESS"; then + ac_cv_prog_YODL2MSLESS="$YODL2MSLESS" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_YODL2MSLESS="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +YODL2MSLESS="$ac_cv_prog_YODL2MSLESS" +if test -n "$YODL2MSLESS"; then + echo "$ac_t""$YODL2MSLESS" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$YODL2MSLESS" && break +done +test -n "$YODL2MSLESS" || YODL2MSLESS="-echo no yodl" + + for ac_prog in yodl2texinfo +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2237: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2233,7 +2267,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2237: checking for $ac_word" >&5 +echo "configure:2271: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2269,7 +2303,8 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl" - export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2TEXINFO YODL2TXT + + export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT fi if test "x$YODL" = "-echo no yodl"; then @@ -2291,7 +2326,7 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl" echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:2295: checking for 8-bit clean memcmp" >&5 +echo "configure:2330: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2299,7 +2334,7 @@ else ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else @@ -2330,12 +2365,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o" echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:2334: checking for vprintf" >&5 +echo "configure:2369: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -2385,12 +2420,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:2389: checking for _doprnt" >&5 +echo "configure:2424: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -2443,12 +2478,12 @@ fi for ac_func in memmem snprintf vsnprintf gettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2447: checking for $ac_func" >&5 +echo "configure:2482: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2513,7 +2548,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2517: checking for $ac_word" >&5 +echo "configure:2552: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2732,6 +2767,7 @@ s%@YODL@%$YODL%g s%@YODL2HTML@%$YODL2HTML%g s%@YODL2LATEX@%$YODL2LATEX%g s%@YODL2MAN@%$YODL2MAN%g +s%@YODL2MSLESS@%$YODL2MSLESS%g s%@YODL2TEXINFO@%$YODL2TEXINFO%g s%@YODL2TXT@%$YODL2TXT%g s%@LIBOBJS@%$LIBOBJS%g diff --git a/init/engraver.ly b/init/engraver.ly index d2f6c24d2d..010e47dae0 100644 --- a/init/engraver.ly +++ b/init/engraver.ly @@ -93,11 +93,6 @@ Voice = \translator { %\accepts "Thread"; } -Thread = \translator { - \type "Engraver_group_engraver"; -% \consists "Note_head_engraver" ; -% \consists "Tie_engraver"; -} GrandStaff = \translator { \type "Line_group_engraver_group"; @@ -105,6 +100,7 @@ GrandStaff = \translator { \consists "Span_bar_engraver"; \consists "Vertical_align_engraver"; \consists "Piano_bar_engraver"; + minVerticalAlign = 1.5*\staffheight; % This should come last \accepts "Staff"; diff --git a/input/keys.ly b/input/keys.ly index 2adf18aa12..b384b7a3a1 100644 --- a/input/keys.ly +++ b/input/keys.ly @@ -1,4 +1,4 @@ -\version "1.0.1"; +\version "1.0.2"; blah = \melodic { diff --git a/input/kortjakje.ly b/input/kortjakje.ly index b32df6721f..8710a3ab34 100644 --- a/input/kortjakje.ly +++ b/input/kortjakje.ly @@ -10,7 +10,7 @@ copyright = "public domain"; Tested Features: example file with comments %} -\version "1.0.1"; +\version "1.0.2"; % the % is a comment. diff --git a/input/pedal.ly b/input/pedal.ly index 7cfb0b0900..494fecc6e4 100644 --- a/input/pedal.ly +++ b/input/pedal.ly @@ -24,7 +24,7 @@ % \lbheel \lbheel \lfheel \lftoe % \rbheel \rbtoe \rfheel \rftoe -\version "1.0.1"; +\version "1.0.2"; \score{ \melodic { diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly index fe27b1a420..d9f89d4c3a 100644 --- a/input/praeludium-fuga-E.ly +++ b/input/praeludium-fuga-E.ly @@ -2,15 +2,19 @@ filename = "praeludium-fuga-E.ly"; title = "praeludium and fuga in E-major"; opus = "BWV 566"; - description = "Praeludium 3 bar excerpt, " - "2nd fuga transposed subject -- 4 bar excerpt. " - "We try to imitate the Griepenkerl/Keller edition which " - "gives the best approximation to Bach's original layout."; composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "JCN"; copyright = "public domain"; } +%{ + description + + Praeludium 3 bar excerpt, + 2nd fuga transposed subject -- 4 bar excerpt. + We try to imitate the Griepenkerl/Keller edition which + gives the best approximation to Bach's original layout +%} %{ Tested Features: purpose of this file is testing: @@ -19,7 +23,7 @@ * organ staff... %} -\version "1.0.1"; +\version "1.0.2"; diff --git a/input/rhythm.ly b/input/rhythm.ly index 109ead0cc3..1ef9d13d0a 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -7,7 +7,7 @@ TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers"; -\version "1.0.1"; +\version "1.0.2"; ritme = \melodic\transpose c'' { \partial 8; diff --git a/input/scales.ly b/input/scales.ly index dc4144ca25..215a51d90c 100644 --- a/input/scales.ly +++ b/input/scales.ly @@ -12,7 +12,7 @@ copyright = "public domain"; % scales with accents. % -\version "1.0.1"; +\version "1.0.2"; blah = \melodic { \time 6/8; \transpose c { diff --git a/input/scripts.ly b/input/scripts.ly index 17fb060c23..85fad377e8 100644 --- a/input/scripts.ly +++ b/input/scripts.ly @@ -1,5 +1,5 @@ -\version "1.0.1"; +\version "1.0.2"; blah = \melodic{ \transpose c'' { diff --git a/input/test/a.ly b/input/test/a.ly index d65526c2e0..31f665f3e3 100644 --- a/input/test/a.ly +++ b/input/test/a.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.1"; +\version "1.0.2"; shortlong = \melodic\transpose c'{ c4()c( c c | diff --git a/input/test/beams.ly b/input/test/beams.ly index 4912d94725..40815dfad3 100644 --- a/input/test/beams.ly +++ b/input/test/beams.ly @@ -6,7 +6,7 @@ copyright = "PD"; TestedFeatures = "beams and beamflags"; } -\version "1.0.1"; +\version "1.0.2"; \score{ < diff --git a/input/test/broken.ly b/input/test/broken.ly index f4e4932a7a..0ad9fdbb2b 100644 --- a/input/test/broken.ly +++ b/input/test/broken.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.1"; +\version "1.0.2"; shortlong = \melodic{ c4()c( c c | diff --git a/input/test/collisions.ly b/input/test/collisions.ly index d0fa529d20..8e0e87b599 100644 --- a/input/test/collisions.ly +++ b/input/test/collisions.ly @@ -5,7 +5,7 @@ enteredby = "HWN,JCN"; copyright = "public domain"; Tested = "test the Collision resolution "; } -\version "1.0.1"; +\version "1.0.2"; diff --git a/input/test/defaultbars.ly b/input/test/defaultbars.ly new file mode 100644 index 0000000000..3a2dcd96cf --- /dev/null +++ b/input/test/defaultbars.ly @@ -0,0 +1,7 @@ + +\score { + \melodic { + \property Staff.barAlways = "1" + \property Staff.defaultBarType = ":|:" + c4 c4 c4 c4 } +} diff --git a/input/test/denneboom.ly b/input/test/denneboom.ly index be5fea4a6d..81a9f726a0 100644 --- a/input/test/denneboom.ly +++ b/input/test/denneboom.ly @@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes"; \include "paper20.ly" -\version "1.0.1"; +\version "1.0.2"; oden = \lyric{ O8 | diff --git a/input/test/font-body.ly b/input/test/font-body.ly index 6b4ca16955..1d7c1dbf88 100644 --- a/input/test/font-body.ly +++ b/input/test/font-body.ly @@ -1,4 +1,4 @@ -\version "1.0.1"; +\version "1.0.2"; FontBody= \melodic\transpose c''{ \bar "|:"; diff --git a/input/test/font.ly b/input/test/font.ly index f139a81f1a..61f689b328 100644 --- a/input/test/font.ly +++ b/input/test/font.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.1"; +\version "1.0.2"; \include "font-body.ly" \score{ diff --git a/input/test/font16.ly b/input/test/font16.ly index 2540a40788..d0b6efe5bd 100644 --- a/input/test/font16.ly +++ b/input/test/font16.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.1"; +\version "1.0.2"; \include "font-body.ly" \score{ diff --git a/input/test/gourlay.ly b/input/test/gourlay.ly index 4263aeae1e..a1c477eb01 100644 --- a/input/test/gourlay.ly +++ b/input/test/gourlay.ly @@ -4,7 +4,7 @@ copyright = "PD"; TestedFeatures = "This file tests some nasty Gourlay spacings"; } -\version "1.0.1"; +\version "1.0.2"; %{ diff --git a/input/test/knee.ly b/input/test/knee.ly index 2d6f9beb13..2a6edb5386 100644 --- a/input/test/knee.ly +++ b/input/test/knee.ly @@ -1,4 +1,4 @@ -\version "1.0.1"; +\version "1.0.2"; \score{ \melodic\relative c'{ [c16 \stemdown c'' \stemboth c,, d] diff --git a/input/test/sleur.ly b/input/test/sleur.ly index a63a95a592..6ddcf2a130 100644 --- a/input/test/sleur.ly +++ b/input/test/sleur.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.1"; +\version "1.0.2"; shortlong = \melodic{ c4()c( c c | diff --git a/input/test/slur-damping.ly b/input/test/slur-damping.ly index 6e733c02e1..5b8f29263e 100644 --- a/input/test/slur-damping.ly +++ b/input/test/slur-damping.ly @@ -1,5 +1,5 @@ % test damping -\version "1.0.1"; +\version "1.0.2"; \score{ \melodic\relative c'{ diff --git a/input/test/slurs.ly b/input/test/slurs.ly index cd49211b87..ffb11d6995 100644 --- a/input/test/slurs.ly +++ b/input/test/slurs.ly @@ -1,5 +1,5 @@ -\version "1.0.1"; +\version "1.0.2"; \score{ \melodic\transpose c'{ diff --git a/input/test/spacing.ly b/input/test/spacing.ly index 9c1fc724c7..db64053342 100644 --- a/input/test/spacing.ly +++ b/input/test/spacing.ly @@ -6,7 +6,7 @@ copyright = "public domain"; TestedFeatures = "This file tests various spacings"; } -\version "1.0.1"; +\version "1.0.2"; multipart = \melodic{ \type StaffGroup < diff --git a/input/test/stem.ly b/input/test/stem.ly index 7bc33a1b4a..cf4f28d3c1 100644 --- a/input/test/stem.ly +++ b/input/test/stem.ly @@ -8,7 +8,7 @@ of beams"; } -\version "1.0.1"; +\version "1.0.2"; beamintervals = \melodic{ \time 7/4; diff --git a/input/test/title.ly b/input/test/title.ly index 30869a2225..318a68efa4 100644 --- a/input/test/title.ly +++ b/input/test/title.ly @@ -10,7 +10,7 @@ source = "urtext"; instrument= "Instrument"; } -\version "1.0.1"; +\version "1.0.2"; \score{ \melodic diff --git a/input/test/transposition.ly b/input/test/transposition.ly index d2b9011647..f5e258305c 100644 --- a/input/test/transposition.ly +++ b/input/test/transposition.ly @@ -22,7 +22,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; vOne = \melodic \relative c''{ \clef"violin"; diff --git a/input/tril.ly b/input/tril.ly index ce996bcf1a..64b2a357a1 100644 --- a/input/tril.ly +++ b/input/tril.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests trills" "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.1"; +\version "1.0.2"; \score{ \melodic{ diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index da173b7487..de7b6036ab 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -12,7 +12,7 @@ copyright = "public domain"; Tested Features lyrics and chords %} -\version "1.0.1"; +\version "1.0.2"; melodie = \melodic\relative c { \clef"violin"; diff --git a/input/twinkle.ly b/input/twinkle.ly index 3c3a054371..5be1280c2a 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -1,21 +1,26 @@ \header{ filename = "twinkle.ly"; title = "Twinkle Twinkle Little Star"; -description = "traditional song in various languages." - "Ah, vous dirais-je, maman" - "Altijd is Kortjakje ziek" - "Twinkle twinkle little star"; composer = "Traditional"; enteredby = "HWN & JCN"; copyright = "public domain"; } +%{ +DESCRIPTION + +traditional song in various languages. + "Ah, vous dirais-je, maman" + "Altijd is Kortjakje ziek" + "Twinkle twinkle little star" +%} + %{ Tested Features: lyrics, interleaving lyrics and staffs %} -\version "1.0.1"; +\version "1.0.2"; melody = \melodic \relative c'' { \clef violin; @@ -81,12 +86,12 @@ hegedraagjetekst = \lyric{ texte = \lyric{ \property Lyrics . textstyle" = "italic" % \property Lyrics . textstyle" = "roman" - Ah!4 vous dir- ai_- je ma man2 + Ah!4 vous dir- ai_- je ma- man2 Ce4 qui cau- se mon tour- ment2 - Pa-4 pa veut que je rai- sonne2 - Comme4 un- e grand- e per- sonne2 - Moi4 je dis que les bon- bons2 - Val-4 ent mieux que la rai- son2 + Pa-4 pa veut que je rai- son- ne + Comm' u- ne gran- de per- son- ne + Moi je dis que les bon- bons2 + Va-4 lent mieux que la rai- son2 } texti = \lyric{ diff --git a/lily/VERSION b/lily/VERSION index d67991c8a0..db7269b593 100644 --- a/lily/VERSION +++ b/lily/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=0 -PATCH_LEVEL=7 -MY_PATCH_LEVEL=jcn1 +PATCH_LEVEL=8 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc index 7ed4bad871..78721871b1 100644 --- a/lily/bar-engraver.cc +++ b/lily/bar-engraver.cc @@ -42,6 +42,11 @@ Bar_engraver::create_bar () { bar_p_ = new Bar; bar_p_->break_priority_i_ = 0; + String default_type = get_property ("defaultBarType"); + if (default_type.length_i ()) + { + bar_p_->type_str_ = default_type; + } announce_element (Score_element_info (bar_p_, bar_req_l_)); } } @@ -77,9 +82,12 @@ Bar_engraver::do_process_requests() else { Time_description const *time = get_staff_info().time_C_; - if (time && !time->whole_in_measure_) + String always = get_property ("barAlways"); + if ((time && !time->whole_in_measure_) || always.length_i ()) create_bar (); } + + if (!bar_p_) { diff --git a/lily/chord-iterator.cc b/lily/chord-iterator.cc index 777a9bcb44..998ac40224 100644 --- a/lily/chord-iterator.cc +++ b/lily/chord-iterator.cc @@ -1,5 +1,5 @@ /* - chord-iter.cc -- implement Chord_iterator + Simultaneous_music-iter.cc -- implement Simultaneous_music_iterator source file of the GNU LilyPond music typesetter @@ -13,27 +13,27 @@ #include "music-list.hh" -Chord_iterator::~Chord_iterator() +Simultaneous_music_iterator::~Simultaneous_music_iterator() { } -Chord_iterator::Chord_iterator (Chord const *chord_C) +Simultaneous_music_iterator::Simultaneous_music_iterator (Simultaneous_music const *simultaneous_music_C) { - chord_C_ = chord_C; + simultaneous_music_C_ = simultaneous_music_C; } void -Chord_iterator::construct_children() +Simultaneous_music_iterator::construct_children() { int j = 0; - for (PCursor i (chord_C_->music_p_list_.top()); + for (PCursor i (simultaneous_music_C_->music_p_list_p_->top()); i.ok(); j++, i++) { Music_iterator * mi = get_iterator_p (i.ptr()); if (mi->ok()) { - if (chord_C_->translator_type_str_.empty_b ()) - set_translator (mi->report_to_l()->ancestor_l (chord_C_->multi_level_i_)); + if (simultaneous_music_C_->translator_type_str_.empty_b ()) + set_translator (mi->report_to_l()->ancestor_l (simultaneous_music_C_->multi_level_i_)); children_p_list_.bottom().add (mi); } else @@ -43,7 +43,7 @@ Chord_iterator::construct_children() void -Chord_iterator::do_print() const +Simultaneous_music_iterator::do_print() const { #ifndef NPRINT for (PCursor i (children_p_list_.top()); i.ok (); i++) @@ -54,7 +54,7 @@ Chord_iterator::do_print() const } void -Chord_iterator::process_and_next (Moment until) +Simultaneous_music_iterator::process_and_next (Moment until) { for (PCursor i (children_p_list_.top()); i.ok ();) { @@ -71,10 +71,10 @@ Chord_iterator::process_and_next (Moment until) } -IMPLEMENT_IS_TYPE_B1(Chord_iterator,Music_iterator); +IMPLEMENT_IS_TYPE_B1(Simultaneous_music_iterator,Music_iterator); Moment -Chord_iterator::next_moment() const +Simultaneous_music_iterator::next_moment() const { Moment next; next.set_infinite (1); @@ -86,7 +86,7 @@ Chord_iterator::next_moment() const bool -Chord_iterator::ok() const +Simultaneous_music_iterator::ok() const { return children_p_list_.size(); } diff --git a/lily/include/chord-iterator.hh b/lily/include/chord-iterator.hh index 1dea414961..be48f33572 100644 --- a/lily/include/chord-iterator.hh +++ b/lily/include/chord-iterator.hh @@ -7,20 +7,20 @@ */ -#ifndef CHORD_ITER_HH -#define CHORD_ITER_HH +#ifndef Simultaneous_music_ITER_HH +#define Simultaneous_music_ITER_HH #include "music-iterator.hh" #include "plist.hh" -class Chord_iterator : public Music_iterator +class Simultaneous_music_iterator : public Music_iterator { - const Chord *chord_C_; + const Simultaneous_music *simultaneous_music_C_; Pointer_list children_p_list_; public: - ~Chord_iterator(); - Chord_iterator (Chord const*); + ~Simultaneous_music_iterator(); + Simultaneous_music_iterator (Simultaneous_music const*); DECLARE_MY_RUNTIME_TYPEINFO; protected: virtual void do_print() const; @@ -30,4 +30,4 @@ protected: virtual bool ok() const; }; -#endif // CHORD_ITER_HH +#endif // Simultaneous_music_ITER_HH diff --git a/lily/include/identifier.hh b/lily/include/identifier.hh index 56898a043e..de26489e32 100644 --- a/lily/include/identifier.hh +++ b/lily/include/identifier.hh @@ -12,8 +12,27 @@ #include "input.hh" #include "virtual-methods.hh" + +#define DECLARE_TYPE_NAME(Class) +class Translator_identifier; +class Music_identifier; +class General_script_def_identifier; +class Symtables_identifier; +class Midi_def_identifier; +class Paper_def_identifier; +class Lookup_identifier; +class Real_identifier; +class int_identifier; +class String_identifier; +class Request_identifier; +class Score_identifier; +class Duration_identifier; + + + #define IDACCESSOR(Class)\ -virtual Class * access_ ## Class (bool=true) const { error (#Class + String ("_identifier")); return 0; } +virtual Class * access_ ## Class (bool=true) const { error (#Class + String ("_identifier")); return 0; }\ +virtual Class ## _identifier * access_ ## Class ## _identifier () { return 0; } /** A declarable data structure in mudela. @@ -60,6 +79,10 @@ struct Class ## _identifier : Identifier {\ Class ## _identifier (Class ## _identifier const&);\ Class ## _identifier (Class*st, int code);\ VIRTUAL_COPY_CONS (Class ## _identifier, Identifier);\ + virtual Class ## _identifier * access_ ## Class ## _identifier ()\ + {\ + return this;\ + }\ virtual Class* access_ ## Class (bool copy_b = true) const;\ ~Class ## _identifier();\ virtual void do_print () const; \ diff --git a/lily/include/lily-proto.hh b/lily/include/lily-proto.hh index e7aaedbea1..f80f11dece 100644 --- a/lily/include/lily-proto.hh +++ b/lily/include/lily-proto.hh @@ -50,13 +50,12 @@ struct Break_req; struct Cadenza_req; struct Change_iterator; struct Change_translator; -struct Chord; +struct Simultaneous_music; struct Clef_change_req; struct Clef_item; struct Clef_engraver; struct Clef_performer; struct Column_x_positions; -struct Chord; struct Column_info; struct Collision; struct Collision_engraver; @@ -141,12 +140,11 @@ struct Molecule; struct Multi_measure_rest; struct Multi_measure_rest_req; struct Multi_measure_rest_engraver; -struct Music_general_chord; struct Musical_script_req; -struct Music_voice; +struct Music_list; struct Musical_req; struct Music; -struct Music_list; +struct Music_sequence; struct My_lily_parser; struct Note_column; struct Note_column_engraver; @@ -245,9 +243,8 @@ struct Vertical_group_spanner; struct Vertical_align_spanner; struct Vertical_align_engraver; struct Align_element; -struct Voice; +struct Sequential_music; struct Request_chord; -struct Voice_group_performer; -struct Voice_list; + typedef Rational Moment; #endif // LILY_PROTO_HH diff --git a/lily/include/linear-programming.hh b/lily/include/linear-programming.hh index c0648e8b26..6ba38eaa55 100644 --- a/lily/include/linear-programming.hh +++ b/lily/include/linear-programming.hh @@ -1,5 +1,5 @@ /* - linear-programming.hh -- declare + linear-programming.hh -- declare Linear_programming source file of the GNU LilyPond music typesetter @@ -14,6 +14,8 @@ /** + Solve the following problem: + min c* x constraints_[i] * x = constraint_rhss_ [i] @@ -26,12 +28,15 @@ class Linear_programming Array constraints_; Array constraint_rhss_; Vector cost_vec_; - + int dim_; public: - Vector constraint_solve (Vector initial) const; + Vector constraint_solve (Vector initial_basic_solution) const; + int dim () const; Vector solve (Vector) const; void add_constraint (Vector c, double r); + + Linear_programming (int n); void set_cost (Vector); void print () const; diff --git a/lily/include/music-list.hh b/lily/include/music-list.hh index 78a2ac1a6b..05822a649f 100644 --- a/lily/include/music-list.hh +++ b/lily/include/music-list.hh @@ -1,5 +1,5 @@ /* - music-list.hh -- declare Music_list, Chord and Voice + music-list.hh -- declare Music_sequence, Simultaneous_music and Sequential_music source file of the GNU LilyPond music typesetter @@ -7,46 +7,53 @@ */ -#ifndef MUSIC_LIST_HH -#define MUSIC_LIST_HH +#ifndef Music_sequence_HH +#define Music_sequence_HH #include "music.hh" #include "plist.hh" +class Music_list : public Pointer_list +{ +public: + Musical_pitch do_relative_octave (Musical_pitch, bool); + void add_music (Music*); + Music_list (Music_list const&); + Music_list (); +}; + + /** Music can be a list of other "Music" elements */ -class Music_list : public Music +class Music_sequence : public Music { public: int multi_level_i_; - - Musical_pitch do_relative_octave (Musical_pitch, bool); - Music_list (Music_list const&); - Music_list(); + Music_list * music_p_list_p_; + + Music_sequence (Music_sequence const&); + Music_sequence (Music_list *l_p); DECLARE_MY_RUNTIME_TYPEINFO; - VIRTUAL_COPY_CONS(Music_list,Music); - virtual void add (Music*); + VIRTUAL_COPY_CONS(Music_sequence,Music); + virtual void transpose (Musical_pitch ); - - Pointer_list music_p_list_; + void add_music (Music *music_p); protected: - virtual void do_print() const; }; /** - Chord is a list of music-elements which happen simultaneously + Simultaneous_music is a list of music-elements which happen simultaneously */ - -class Chord : public Music_list +class Simultaneous_music : public Music_sequence { public: - Chord(); + Simultaneous_music(Music_list *); DECLARE_MY_RUNTIME_TYPEINFO; - VIRTUAL_COPY_CONS(Chord,Music); + VIRTUAL_COPY_CONS(Simultaneous_music,Music); virtual Musical_pitch to_relative_octave (Musical_pitch); virtual void translate (Moment dt); @@ -57,7 +64,7 @@ public: The request is a collection of Requests. A note that you enter in mudela is one Request_chord, one syllable of lyrics is one Request_chord */ -class Request_chord : public Chord +class Request_chord : public Simultaneous_music { public: DECLARE_MY_RUNTIME_TYPEINFO; @@ -66,18 +73,18 @@ public: VIRTUAL_COPY_CONS(Request_chord, Music); }; /** - Voice is a list of music-elements which are placed behind each other. + Sequential_music is a list of music-elements which are placed behind each other. */ -class Voice : public Music_list +class Sequential_music : public Music_sequence { public: Moment offset_mom_; virtual Musical_pitch to_relative_octave (Musical_pitch); - Voice(); + Sequential_music(Music_list*); DECLARE_MY_RUNTIME_TYPEINFO; - VIRTUAL_COPY_CONS(Voice, Music); + VIRTUAL_COPY_CONS(Sequential_music, Music); virtual void translate (Moment dt); virtual MInterval time_int() const; }; -#endif // MUSIC_LIST_HH +#endif // Music_sequence_HH diff --git a/lily/include/music.hh b/lily/include/music.hh index 083e476f73..9a7b6f2d97 100644 --- a/lily/include/music.hh +++ b/lily/include/music.hh @@ -25,16 +25,15 @@ Music is hierarchical: - @see Music_list + @see Music_sequence */ class Music:public Input { public: - Music_list * parent_music_l_; /** The kind of iterator needed to walk this music. This doesn't make sense for simple (ie non-list) music, but it does no harm - here. Yes, it did harm Music_list: you can forget to copy it. + here. Yes, it did harm Music_sequence: you can forget to copy it. */ String translator_type_str_; diff --git a/lily/include/musical-pitch.hh b/lily/include/musical-pitch.hh index ed3e8ed015..2c4f1a55de 100644 --- a/lily/include/musical-pitch.hh +++ b/lily/include/musical-pitch.hh @@ -13,10 +13,11 @@ #include "lily-proto.hh" #include "input.hh" -/** The pitch as it figures in diatonal western music (12 semitones in - an octave). +/** A "tonal" pitch. This is a pitch as it figures in diatonal western + music (12 semitones in an octave), as opposed to a frequence in Hz + or a integer number of semitones. - It is not Music because, it has to duration associated + It is not Music because, it has no duration associated. */ struct Musical_pitch : public Input { diff --git a/lily/include/musical-request.hh b/lily/include/musical-request.hh index f6bb89cec5..d7bce858fa 100644 --- a/lily/include/musical-request.hh +++ b/lily/include/musical-request.hh @@ -194,7 +194,7 @@ public: }; /** - Start a tie at this voice element, end it at the next + Start a tie at this note, end it at the next */ class Tie_req : public Musical_req { public: diff --git a/lily/include/my-lily-parser.hh b/lily/include/my-lily-parser.hh index 04e1871305..d92762265a 100644 --- a/lily/include/my-lily-parser.hh +++ b/lily/include/my-lily-parser.hh @@ -24,11 +24,11 @@ class My_lily_parser { Array define_spot_array_; String init_str_; - void add_requests (Chord*v); + void add_requests (Simultaneous_music*v); - Chord * get_note_element (Note_req * ,Duration *); - Chord* get_rest_element (String, Duration *); - Chord* get_word_element (String, Duration*); + Simultaneous_music * get_note_element (Note_req * ,Duration *); + Simultaneous_music* get_rest_element (String, Duration *); + Simultaneous_music* get_word_element (String, Duration*); Melodic_req* get_melodic_req (Melodic_req* melodic, int quotes); String notename_str (Melodic_req* melodic); void set_last_duration (Duration const *); diff --git a/lily/include/request.hh b/lily/include/request.hh index d63a7cd7f1..eab7b2d8b0 100644 --- a/lily/include/request.hh +++ b/lily/include/request.hh @@ -21,7 +21,7 @@ /** - a voice element wants something printed. + An atom of musical information . Hungarian postfix: req @see lilygut manpage */ diff --git a/lily/include/score-column.hh b/lily/include/score-column.hh index 10d55a798d..6f0d7a6cdf 100644 --- a/lily/include/score-column.hh +++ b/lily/include/score-column.hh @@ -48,8 +48,6 @@ public: void preprocess(); bool musical_b() { return musical_b_; } void do_print() const; - - }; #endif // SCORE_COLUMN_HH diff --git a/lily/include/tie-engraver.hh b/lily/include/tie-engraver.hh deleted file mode 100644 index 8c7536392a..0000000000 --- a/lily/include/tie-engraver.hh +++ /dev/null @@ -1,43 +0,0 @@ -/* - tie-engraver.hh -- declare Tie_engraver - - source file of the GNU LilyPond music typesetter - - (c) 1997--1998 Han-Wen Nienhuys -*/ - - -#ifndef TIE_GRAV_HH -#define TIE_GRAV_HH - -#include "engraver.hh" - - -/** - Make a (one) tie from a request. To be used in conjunction with - the Note_head_engraver. Obsolete now that Thread context is junked. - */ -class Tie_engraver : public Engraver { - Tie * end_tie_p_; - Tie * tie_p_; - Moment end_mom_; - Tie_req * req_l_; - Direction dir_; - Tie_req *end_req_l_; - Melodic_req * end_melodic_req_l_; - Melodic_req * melodic_req_l_; - -protected: - virtual void do_removal_processing (); - virtual void acknowledge_element (Score_element_info); - virtual bool do_try_request (Request*); - virtual void do_process_requests(); - virtual void do_post_move_processing(); - virtual void do_pre_move_processing(); -public: - TRANSLATOR_CLONE(Tie_engraver); - Tie_engraver(); - DECLARE_MY_RUNTIME_TYPEINFO; -}; - -#endif // TIE_GRAV_HH diff --git a/lily/include/voice-iterator.hh b/lily/include/voice-iterator.hh index 887999e912..d029496f41 100644 --- a/lily/include/voice-iterator.hh +++ b/lily/include/voice-iterator.hh @@ -1,5 +1,5 @@ /* - voice-iter.hh -- declare Voice_iterator + Sequential_music-iter.hh -- declare Sequential_music_iterator source file of the GNU LilyPond music typesetter @@ -7,32 +7,32 @@ */ -#ifndef VOICE_ITER_HH -#define VOICE_ITER_HH +#ifndef Sequential_music_ITER_HH +#define Sequential_music_ITER_HH #include "music-iterator.hh" #include "pcursor.hh" -class Voice_iterator : private PCursor, public Music_iterator +class Sequential_music_iterator : private PCursor, public Music_iterator { Moment here_mom_; - const Voice * voice_C_; + const Sequential_music * sequential_music_C_; Music_iterator * iter_p_; void start_next_element(); void leave_element(); - void set_voice_translator(); + void set_Sequential_music_translator(); public: - Voice_iterator (Voice const*); + Sequential_music_iterator (Sequential_music const*); DECLARE_MY_RUNTIME_TYPEINFO; protected: virtual void do_print() const; virtual void construct_children(); - ~Voice_iterator(); + ~Sequential_music_iterator(); virtual void process_and_next (Moment); virtual Moment next_moment() const; virtual bool ok() const; }; -#endif // VOICE_ITER_HH +#endif // Sequential_music_ITER_HH diff --git a/lily/item.cc b/lily/item.cc index 610c6b5c08..78db9884e9 100644 --- a/lily/item.cc +++ b/lily/item.cc @@ -155,9 +155,10 @@ Item::do_junk_links() void Item::do_unlink() { - for (int i=0; i < attached_span_l_arr_.size (); i++) + Link_array attached=attached_span_l_arr_; + for (int i=0; i < attached.size (); i++) { - Spanner *&s= attached_span_l_arr_[i]; + Spanner *s= attached[i]; Direction d= LEFT; do { @@ -168,7 +169,7 @@ Item::do_unlink() unbroken_original_l_->broken_to_drul_[d] = 0; } while (flip (&d) != LEFT); } - attached_span_l_arr_.set_size (0); + assert (!attached_span_l_arr_.size ()); unbroken_original_l_ =0; } diff --git a/lily/lexer.ll b/lily/lexer.ll index 7e8ab40af8..43fffba484 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -45,6 +45,12 @@ void strip_leading_white (String&); #define yylval (*(YYSTYPE*)lexval_l) #define YY_USER_ACTION add_lexed_char (YYLeng ()); +/* + +LYRICS ({AA}|{TEX})[^0-9 \t\n\f]* + +*/ + %} %option c++ @@ -83,6 +89,7 @@ HORIZONTALWHITE [ \t] BLACK [^ \n\t\f\r] RESTNAME [rs] NOTECOMMAND \\{A}+ +ANDREWLYRICS ([^ \n\t\f\\{}<>0-9";.|]|\\[^a-zA-Z\]\[<>])[^0-9 \t\n\f] LYRICS ({AA}|{TEX})[^0-9 \t\n\f]* ESCAPED [nt\\'"] PLET \\\[ diff --git a/lily/linear-programming.cc b/lily/linear-programming.cc index 6ccc0b31e4..727d3fc46d 100644 --- a/lily/linear-programming.cc +++ b/lily/linear-programming.cc @@ -13,13 +13,15 @@ Linear_programming::Linear_programming (int n) : cost_vec_ (n) { + dim_ = n; } int Linear_programming::dim () const { - return cost_vec_.dim (); + return dim_; } + void Linear_programming::add_constraint (Vector c, double r) { @@ -31,6 +33,7 @@ Linear_programming::add_constraint (Vector c, double r) void Linear_programming::set_cost (Vector c) { + assert (dim_ == c.dim ()); cost_vec_ = c; } @@ -57,6 +60,8 @@ bool Linear_programming::check_constraints (Vector v) const { bool is_cool = true; + assert (v.dim () == dim_); + for (int i=0; is_cool && i < v.dim (); i++) is_cool = is_cool && v[i] >= 0; for (int i=0; is_cool && i < constraints_.size (); i++) @@ -68,8 +73,28 @@ Linear_programming::check_constraints (Vector v) const } Vector -Linear_programming::solve (Vector initial) const +Linear_programming::solve (Vector initial_basic_solution) const { + assert (check_constraints (initial_basic_solution)); + + Array basis; + for (int i=0; i < dim_; i++) + basis.push (bool(initial_basic_solution[i])); + + Vector x = initial_basic_solution; + Real current_cost = x * cost_vec_; + while (iter < MAXITER) + { + // select pivot + + + iter ++; + } + + + + + Array binding, nonbinding; assert (check_constraints (initial)); diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc index 97352020af..81622368a4 100644 --- a/lily/music-iterator.cc +++ b/lily/music-iterator.cc @@ -131,10 +131,10 @@ Music_iterator::static_get_iterator_p (Music *m, Music_iterator * p =0; if (m->is_type_b (Request_chord::static_name())) p = new Request_chord_iterator ((Request_chord*) m); - else if (m->is_type_b (Chord::static_name())) - p = new Chord_iterator ((Chord*) m); - else if (m->is_type_b (Voice::static_name())) - p = new Voice_iterator ((Voice*) m); + else if (m->is_type_b (Simultaneous_music::static_name())) + p = new Simultaneous_music_iterator ((Simultaneous_music*) m); + else if (m->is_type_b (Sequential_music::static_name())) + p = new Sequential_music_iterator ((Sequential_music*) m); else if (m->is_type_b (Translation_property::static_name ())) p = new Property_iterator((Translation_property *) m); else if (m->is_type_b (Change_translator::static_name ())) diff --git a/lily/music-list.cc b/lily/music-list.cc index 5642127ff3..a14a6ce44c 100644 --- a/lily/music-list.cc +++ b/lily/music-list.cc @@ -1,5 +1,5 @@ /* - music-list.cc -- implement Music_list, Chord, Voice + music-list.cc -- implement Music_sequence, Simultaneous_music, Sequential_music source file of the GNU LilyPond music typesetter @@ -7,58 +7,50 @@ */ -#include -#include "music.hh" -#include "debug.hh" + #include "music-list.hh" #include "musical-pitch.hh" #include "request.hh" #include "musical-request.hh" -Music_list::Music_list (Music_list const&s) - : Music (s) -{ - multi_level_i_ = s.multi_level_i_; - for (iter (s.music_p_list_.top(), i); i.ok (); i++) - add (i->clone()); -} -IMPLEMENT_IS_TYPE_B1(Music_list, Music); -IMPLEMENT_IS_TYPE_B1(Voice,Music_list); -IMPLEMENT_IS_TYPE_B1(Chord,Music_list); +IMPLEMENT_IS_TYPE_B1(Sequential_music,Music_sequence); +IMPLEMENT_IS_TYPE_B1(Simultaneous_music,Music_sequence); MInterval -Chord::time_int() const +Simultaneous_music::time_int() const { MInterval m; - for (iter (music_p_list_.top(), i); i.ok (); i++) + for (iter (music_p_list_p_->top(), i); i.ok (); i++) m.unite (i->time_int()); return m; } void -Chord::translate (Moment m) +Simultaneous_music::translate (Moment m) { - for (iter (music_p_list_.top(), i); i.ok (); i++) + for (iter (music_p_list_p_->top(), i); i.ok (); i++) i->translate (m); } -Chord::Chord() +Simultaneous_music::Simultaneous_music(Music_list *p) + : Music_sequence (p) { } -Voice::Voice() +Sequential_music::Sequential_music(Music_list *p) + : Music_sequence (p) { offset_mom_ =0; } MInterval -Voice::time_int() const +Sequential_music::time_int() const { Moment last=0; - for (iter (music_p_list_.top(), i); i.ok (); i++) + for (iter (music_p_list_p_->top(), i); i.ok (); i++) { MInterval interval = i->time_int(); @@ -72,85 +64,74 @@ Voice::time_int() const } Musical_pitch -Voice::to_relative_octave (Musical_pitch p) +Sequential_music::to_relative_octave (Musical_pitch p) { - return do_relative_octave (p, false); + return music_p_list_p_->do_relative_octave (p, false); } Musical_pitch -Chord::to_relative_octave (Musical_pitch p) +Simultaneous_music::to_relative_octave (Musical_pitch p) { - return do_relative_octave (p, true); + return music_p_list_p_->do_relative_octave (p, true); } void -Voice::translate (Moment dt) +Sequential_music::translate (Moment dt) { offset_mom_ += dt; } -Music_list::Music_list() -{ - multi_level_i_ = 0; -} -void -Music_list::add (Music*m_p) -{ - if (!m_p) - return; - m_p->parent_music_l_ = this; - music_p_list_.bottom().add (m_p); +Musical_pitch +Music_list::do_relative_octave (Musical_pitch last, bool ret_first) +{ + Musical_pitch retval; + int count=0; + for (PCursor i (top ()); i.ok (); i++) + { + last = i->to_relative_octave (last); + if (!count ++ ) + retval = last; + } + if (!ret_first) + retval = last; + return retval; } -void -Music_list::transpose (Musical_pitch rq) + +Music_list::Music_list (Music_list const &s) + : Pointer_list (s) { - for (iter (music_p_list_.top(),i); i.ok (); i++) - i->transpose (rq); + for (PCursor i(s.top()); i.ok (); i++) + add_music (i->clone()); } void -Music_list::do_print() const +Music_list::add_music (Music*m_p) { -#ifndef NPRINT - for (iter (music_p_list_.top(),i); i.ok (); i++) - i->print(); -#endif + if (!m_p) + return; + + bottom().add (m_p); } -IMPLEMENT_IS_TYPE_B1(Request_chord, Chord); + +IMPLEMENT_IS_TYPE_B1(Request_chord, Simultaneous_music); Request_chord::Request_chord() + : Simultaneous_music (new Music_list) { multi_level_i_ =0; } -Musical_pitch -Music_list::do_relative_octave (Musical_pitch last, bool ret_first) -{ - - Musical_pitch retval; - int count=0; - for (iter (music_p_list_.top(),i); i.ok (); i++) - { - last = i->to_relative_octave (last); - if (!count ++ ) - retval = last; - } - if (!ret_first) - retval = last; - return retval; -} - Musical_pitch Request_chord::to_relative_octave (Musical_pitch last) { - for (iter (music_p_list_.top(),i); i.ok (); i++) + for (iter (music_p_list_p_->top(),i); i.ok (); i++) { Musical_req *m =((Request*)i.ptr ())->access_Musical_req (); if (m && m->access_Melodic_req ()) @@ -164,3 +145,6 @@ Request_chord::to_relative_octave (Musical_pitch last) } +Music_list::Music_list () +{ +} diff --git a/lily/music-sequence.cc b/lily/music-sequence.cc new file mode 100644 index 0000000000..fd00a120e8 --- /dev/null +++ b/lily/music-sequence.cc @@ -0,0 +1,49 @@ +/* + music-sequence.cc -- implement Music_sequence + + source file of the GNU LilyPond music typesetter + + (c) 1998 Han-Wen Nienhuys + + */ +#include "music-list.hh" +#include "debug.hh" +#include "musical-pitch.hh" + +Music_sequence::Music_sequence (Music_sequence const&s) + : Music (s) +{ + multi_level_i_ = s.multi_level_i_; + music_p_list_p_ = new Music_list (*s.music_p_list_p_); +} + +IMPLEMENT_IS_TYPE_B1(Music_sequence, Music); + +Music_sequence::Music_sequence(Music_list *mlist_p) +{ + multi_level_i_ = 0; + music_p_list_p_ = mlist_p; +} + +void +Music_sequence::transpose (Musical_pitch rq) +{ + for (iter (music_p_list_p_->top(),i); i.ok (); i++) + i->transpose (rq); +} + +void +Music_sequence::do_print() const +{ +#ifndef NPRINT + for (iter (music_p_list_p_->top(),i); i.ok (); i++) + i->print(); +#endif +} + + +void +Music_sequence::add_music (Music *m_p) +{ + music_p_list_p_->add_music (m_p); +} diff --git a/lily/music.cc b/lily/music.cc index 4ba377fc91..10ee1a3b3f 100644 --- a/lily/music.cc +++ b/lily/music.cc @@ -56,7 +56,6 @@ IMPLEMENT_IS_TYPE_B(Music); Music::Music() { - parent_music_l_ =0; } Musical_pitch diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index bdb3846692..0494553930 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -117,27 +117,27 @@ My_lily_parser::set_last_duration (Duration const *d) } -Chord* +Simultaneous_music* My_lily_parser::get_word_element (String s, Duration * duration_p) { - Chord* velt_p = new Request_chord; + Simultaneous_music* velt_p = new Request_chord; Lyric_req* lreq_p = new Lyric_req; lreq_p ->text_str_ = s; lreq_p->duration_ = *duration_p; lreq_p->set_spot (here_input()); - velt_p->add (lreq_p); + velt_p->add_music (lreq_p); delete duration_p; return velt_p; } -Chord * +Simultaneous_music * My_lily_parser::get_rest_element (String s, Duration * duration_p) { - Chord* velt_p = new Request_chord; + Simultaneous_music* velt_p = new Request_chord; velt_p->set_spot (here_input()); if (s=="s") @@ -146,7 +146,7 @@ My_lily_parser::get_rest_element (String s, Duration * duration_p) skip_p->duration_ = *duration_p; skip_p->set_spot (here_input()); - velt_p->add (skip_p); + velt_p->add_music (skip_p); } else { @@ -154,20 +154,20 @@ My_lily_parser::get_rest_element (String s, Duration * duration_p) rest_req_p->duration_ = *duration_p; rest_req_p->set_spot (here_input()); - velt_p->add (rest_req_p); + velt_p->add_music (rest_req_p); } delete duration_p; return velt_p; } -Chord * +Simultaneous_music * My_lily_parser::get_note_element (Note_req *rq, Duration * duration_p) { - Chord*v = new Request_chord; + Simultaneous_music*v = new Request_chord; v->set_spot (here_input ()); - v->add (rq); + v->add_music (rq); // too bad parser reads (default) duration via member access, // this hack will do for now.. @@ -280,25 +280,18 @@ My_lily_parser::get_parens_request (int t) } void -My_lily_parser::add_requests (Chord*v) +My_lily_parser::add_requests (Simultaneous_music*v) { for (int i = 0; i < pre_reqs.size(); i++) { - v->add (pre_reqs[i]); + v->add_music (pre_reqs[i]); } pre_reqs.clear(); for (int i = 0; i add (post_reqs[i]); + v->add_music (post_reqs[i]); } -#if 0 //disabling... - if (default_abbrev_i_) - { - Abbreviation_req* a = new Abbreviation_req; - a->type_i_ = default_abbrev_i_; - v->add (a); - } -#endif + post_reqs.clear(); } diff --git a/lily/parser.yy b/lily/parser.yy index b39eae1ec1..ca673730c7 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -45,7 +45,7 @@ // mmm Mudela_version oldest_version ("1.0.1"); -Mudela_version version ("1.0.1"); +Mudela_version version ("1.0.2"); // needed for bison.simple's malloc() and free() @@ -84,12 +84,12 @@ Paper_def* current_paper = 0; Array * strvec; Array *intvec; Box *box; - Chord * chord; + Simultaneous_music *chord; Duration *duration; Identifier *id; Translator* trans; Music *music; - Music_list *musiclist; + Music_list *music_list; Score *score; Header *header; Interval *interval; @@ -204,7 +204,6 @@ yylex (YYSTYPE *s, void * v_l) %token IDENTIFIER %token MUSIC_IDENTIFIER -%token VOICE_IDENTIFIER %token POST_REQUEST_IDENTIFIER %token SCRIPT_IDENTIFIER %token COMMAND_IDENTIFIER @@ -247,10 +246,9 @@ yylex (YYSTYPE *s, void * v_l) %type duration_length %type scalar -%type Music transposed_music relative_music +%type Music transposed_music relative_music Sequential_music Simultaneous_music %type property_def translator_change -%type Voice Voice_body -%type Chord Chord_body +%type Music_list %type paper_block paper_body %type dim real %type real_mult_expression real_primary @@ -271,7 +269,6 @@ yylex (YYSTYPE *s, void * v_l) %type symtable symtable_body %type translator_spec translator_spec_body %type tempo_request -%type concat_strings %expect 1 @@ -326,7 +323,7 @@ mudela_header_body: { $$ = new Header; } - | mudela_header_body STRING '=' concat_strings ';' { + | mudela_header_body STRING '=' string ';' { (*$$)[*$2] = *$4; delete $2; delete $4; @@ -340,15 +337,6 @@ mudela_header: ; -concat_strings: - { - $$ = new String; - } - | concat_strings STRING { - *$$ += *$2; - } - - /* DECLARATIONS */ @@ -429,10 +417,21 @@ translator_spec_body: $$ = t; delete $2; } - | translator_spec_body STRING '=' scalar ';' { - $$-> set_property (*$2, *$4); - delete $2; + | translator_spec_body STRING '=' simple_identifier_init ';' { + Identifier* id = $4; + String_identifier *s = id->access_String_identifier (); + Real_identifier *r= id->access_Real_identifier (); + int_identifier *i = id->access_int_identifier (); + + String str; + if (s) str = *s->access_String (false); + if (i) str = to_str (*i->access_int (false)); + if (r) str = to_str (*r->access_Real (false)); + if (!s && !i && !r) + THIS->parser_error (_("Wrong type for property value")); + delete $4; + $$->set_property (*$2, str); } | translator_spec_body CONSISTS STRING ';' { $$->group_l ()->consists_str_arr_.push (*$3); @@ -641,25 +640,26 @@ tempo_request: } ; -Voice: - '{' Voice_body '}' { - $$ = $2; +Music_list: /* empty */ { + $$ = new Music_list; } - ; - -Voice_body: - /**/ { - $$ = new Voice; - $$->set_spot (THIS->here_input ()); + | Music_list Music { + $$->add_music ($2); } - | Voice_body Music { - $$->add ($2); + | Music_list error { } - | Voice_body error { - $$ = new Music_list; + ; + + +Sequential_music: '{' Music_list '}' { + $$ = new Sequential_music ($2); } ; +Simultaneous_music: '<' Music_list '>' { + $$ = new Simultaneous_music ($2); + } + ; Music: request_chord { $$ = $1; } | TYPE STRING Music { @@ -674,8 +674,8 @@ Music: delete $2; delete $4; } - | Voice { $$ = $1; } - | Chord { $$ = $1; } + | Simultaneous_music { $$ = $1; } + | Sequential_music { $$ = $1; } | transposed_music { $$ = $1; } | MUSIC_IDENTIFIER { $$ = $1->access_Music (); } | MELODIC @@ -737,24 +737,6 @@ scalar: ; -Chord: - '<' Chord_body '>' { $$ = $2; } - ; - -Chord_body: - /**/ { - $$ = new Chord; - $$-> multi_level_i_ = 0; - $$->set_spot (THIS->here_input ()); - } - | Chord_body Music { - $$->add ($2); - } - | Chord_body error { - $$ = new Chord; - } - ; - transposed_music: TRANSPOSE musical_pitch Music { $$ = $3; @@ -764,12 +746,9 @@ transposed_music: ; -/* - VOICE ELEMENTS -*/ request_chord: pre_requests simple_element post_requests { - THIS->add_requests ((Chord*)$2);//ugh + THIS->add_requests ((Simultaneous_music*)$2);//ugh $$ = $2; } | command_element @@ -783,7 +762,7 @@ command_element: $$ = new Request_chord; $$-> set_spot (THIS->here_input ()); $1-> set_spot (THIS->here_input ()); - ((Chord*)$$) ->add ($1);//ugh + ((Simultaneous_music*)$$) ->add_music ($1);//ugh } ; @@ -900,13 +879,9 @@ post_request: $$ = $1; } | abbrev_type { -#if 1 // re-instating Abbreviation_req* a = new Abbreviation_req; a->type_i_ = $1; $$ = a; -#else // and disabling just created ugly sticky abbrev_req - THIS->default_abbrev_i_ = $1; -#endif } ; @@ -930,17 +905,14 @@ sub_quotes: steno_musical_pitch: NOTENAME_PITCH { $$ = $1; - // $$->octave_i_ += THIS->default_octave_i_; } | NOTENAME_PITCH sup_quotes { $$ = $1; - // $$->octave_i_ += THIS->default_octave_i_ + $2; $$->octave_i_ += $2; } | NOTENAME_PITCH sub_quotes { $$ = $1; $$->octave_i_ += - $2; - // $$->octave_i_ += THIS->default_octave_i_ - $2; } ; @@ -1189,7 +1161,6 @@ pre_requests: absolute_musical_pitch: steno_musical_pitch { $$ = $1; - // $$->octave_i_ -= THIS->default_octave_i_; } ; @@ -1280,9 +1251,9 @@ simple_element: m->duration_ = *$2; delete $2; - Chord*velt_p = new Request_chord; + Simultaneous_music*velt_p = new Request_chord; velt_p->set_spot (THIS->here_input ()); - velt_p->add (m); + velt_p->add_music (m); $$ = velt_p; } diff --git a/lily/request-iterator.cc b/lily/request-iterator.cc index 81b7fd2686..37a25ba848 100644 --- a/lily/request-iterator.cc +++ b/lily/request-iterator.cc @@ -59,7 +59,7 @@ Request_chord_iterator::process_and_next (Moment mom) { if (first_b_) { - for (PCursor i (elt_l_->music_p_list_); i.ok(); i++) + for (PCursor i (elt_l_->music_p_list_p_->top ()); i.ok(); i++) { assert (i->is_type_b (Request::static_name())); Request * req_l = (Request*)i.ptr(); diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc deleted file mode 100644 index d6313a2856..0000000000 --- a/lily/tie-engraver.cc +++ /dev/null @@ -1,132 +0,0 @@ -/* - tie-reg.cc -- implement Tie_engraver - - source file of the GNU LilyPond music typesetter - - (c) 1997--1998 Han-Wen Nienhuys - - - essentially obsolete. -*/ - -#include "tie-engraver.hh" -#include "tie.hh" -#include "note-head.hh" -#include "musical-request.hh" -#include "music-list.hh" - -Tie_engraver::Tie_engraver() -{ - end_tie_p_ = 0; - tie_p_ = 0; - req_l_ =0; - end_req_l_ =0; - end_mom_ = -1; - melodic_req_l_ = 0; - end_melodic_req_l_ =0; - dir_ = CENTER; -} - -void -Tie_engraver::do_post_move_processing() -{ - if (tie_p_ && now_moment () == end_mom_) - { - end_tie_p_ = tie_p_; - end_req_l_ = req_l_; - end_melodic_req_l_ = melodic_req_l_; - tie_p_ =0; - req_l_ =0; - end_mom_ = -1; - } -} - -bool -Tie_engraver::do_try_request (Request*r) -{ - if (! (r->access_Musical_req () && r->access_Musical_req ()->access_Tie_req ())) - return false; - - if (req_l_) - { - return false; - } - req_l_ = r->access_Musical_req ()->access_Tie_req (); - end_mom_ = r->parent_music_l_->time_int().length () - + now_moment (); - return true; -} - -void -Tie_engraver::do_process_requests() -{ - Scalar dir (get_property ("tieydirection")); - Scalar dir2 (get_property ("ydirection")); - if (!dir.length_i () && dir2.length_i ()) - { - dir_ = (Direction) int(dir2); - } - else if (dir.length_i ()) - dir_ = (Direction) int (dir); - - if (req_l_ && ! tie_p_) - { - tie_p_ = new Tie; - Scalar prop = get_property ("tiedash"); - if (prop.isnum_b ()) - tie_p_->dash_i_ = prop; - } -} - -void -Tie_engraver::acknowledge_element (Score_element_info i) -{ - if (i.elem_l_->is_type_b (Note_head::static_name ())) - { - if (tie_p_) - { - tie_p_->set_head (LEFT, (Note_head*)i.elem_l_->access_Item ()); - melodic_req_l_ = i.req_l_->access_Musical_req ()->access_Melodic_req (); - } - - if (end_tie_p_) - { - end_tie_p_->set_head (RIGHT, (Note_head*)i.elem_l_->access_Item ()); - if (!Melodic_req::compare (*end_melodic_req_l_, *melodic_req_l_)) - end_tie_p_->same_pitch_b_ = true; - announce_element (Score_element_info (end_tie_p_,end_req_l_)); - } - } -} - -void -Tie_engraver::do_pre_move_processing() -{ - if (end_tie_p_) - { - if (dir_) - end_tie_p_->dir_ = dir_; - - typeset_element (end_tie_p_); - end_tie_p_ =0; - end_req_l_ =0; - } -} - -void -Tie_engraver::do_removal_processing () -{ - do_pre_move_processing (); - if (tie_p_) - { - req_l_->warning (_ ("lonely tie")); - tie_p_->unlink (); - delete tie_p_; - tie_p_ =0; - } -} - - - -IMPLEMENT_IS_TYPE_B1(Tie_engraver,Engraver); -ADD_THIS_TRANSLATOR(Tie_engraver); diff --git a/lily/voice-iterator.cc b/lily/voice-iterator.cc index a640580afa..c4478031e7 100644 --- a/lily/voice-iterator.cc +++ b/lily/voice-iterator.cc @@ -1,5 +1,5 @@ /* - voice-iter.cc -- implement Voice_iterator + Sequential_music-iter.cc -- implement Sequential_music_iterator source file of the GNU LilyPond music typesetter @@ -13,22 +13,22 @@ void -Voice_iterator::do_print() const +Sequential_music_iterator::do_print() const { if (iter_p_) iter_p_->print(); } -Voice_iterator::Voice_iterator (Voice const*v) - : PCursor (v->music_p_list_) +Sequential_music_iterator::Sequential_music_iterator (Sequential_music const*v) + : PCursor (*v->music_p_list_p_) { here_mom_ = v->offset_mom_; - voice_C_ = v; + sequential_music_C_ = v; iter_p_ =0; } void -Voice_iterator::construct_children() +Sequential_music_iterator::construct_children() { while (PCursor::ok()) { @@ -39,14 +39,14 @@ Voice_iterator::construct_children() } else { - set_voice_translator(); + set_Sequential_music_translator(); break; } } } void -Voice_iterator::leave_element() +Sequential_music_iterator::leave_element() { delete iter_p_; iter_p_ =0; @@ -57,29 +57,29 @@ Voice_iterator::leave_element() } void -Voice_iterator::start_next_element() +Sequential_music_iterator::start_next_element() { assert (!iter_p_); iter_p_ = get_iterator_p (ptr()); } void -Voice_iterator::set_voice_translator() +Sequential_music_iterator::set_Sequential_music_translator() { if (iter_p_->report_to_l()->depth_i () > report_to_l ()->depth_i ()) set_translator (iter_p_->report_to_l()); } -Voice_iterator::~Voice_iterator() +Sequential_music_iterator::~Sequential_music_iterator() { assert (! iter_p_); } -IMPLEMENT_IS_TYPE_B1(Voice_iterator,Music_iterator); +IMPLEMENT_IS_TYPE_B1(Sequential_music_iterator,Music_iterator); void -Voice_iterator::process_and_next (Moment until) +Sequential_music_iterator::process_and_next (Moment until) { while (1) { @@ -100,7 +100,7 @@ Voice_iterator::process_and_next (Moment until) if (PCursor::ok()) { start_next_element(); - set_voice_translator(); + set_Sequential_music_translator(); } else { @@ -115,13 +115,13 @@ loopexit: } Moment -Voice_iterator::next_moment() const +Sequential_music_iterator::next_moment() const { return iter_p_->next_moment() + here_mom_; } bool -Voice_iterator::ok() const +Sequential_music_iterator::ok() const { return iter_p_; } diff --git a/make/STATE-VECTOR b/make/STATE-VECTOR index ac00f8bd4b..8c692d5e70 100644 --- a/make/STATE-VECTOR +++ b/make/STATE-VECTOR @@ -72,4 +72,8 @@ 1.0.6 1.0.6.uu1 1.0.7 -1.0.7.jcn1 +1.0.7.jbr1 +1.0.7.hwn1 +1.0.7.uu1 +1.0.8.uu1 +1.0.8 diff --git a/make/lilypond-vars.make b/make/lilypond-vars.make index 1452731b2d..eb26aaaa23 100644 --- a/make/lilypond-vars.make +++ b/make/lilypond-vars.make @@ -1,6 +1,5 @@ - export PATH:=$(topdir)/lily/out:$(topdir)/buildscripts/out:$(PATH) -export MFINPUTS:=$(topdir)/mf/:.:$(MFINPUTS):: -export TEXINPUTS:=$(topdir)/tex/:.:$(TEXINPUTS):: -export LILYINCLUDE=$(topdir)/init:$(topdir)/mf/out +export MFINPUTS:=$(topdir)/mf/$(PATHSEP)$(MFINPUTS)$(PATHSEP)$(PATHSEP) +export TEXINPUTS:=$(topdir)/tex/$(PATHSEP)$(TEXINPUTS)$(PATHSEP)$(PATHSEP) +export LILYINCLUDE=$(topdir)/init$(PATHSEP)$(topdir)/mf/out diff --git a/make/mutopia-targets.make b/make/mutopia-targets.make index 4aa51ff017..541d10b016 100644 --- a/make/mutopia-targets.make +++ b/make/mutopia-targets.make @@ -7,3 +7,9 @@ local-WWW: $(ly_examples) $(fly_examples) $(ps_examples) $(gif_examples) (cd $(outdir); $(PYTHON) ../$(buildscripts)/mutopia-index.py --package=$(topdir) --prefix=../ --suffix=/$(outdir) $(html_subdirs) $(all_examples)) $(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/$(outdir)/index.html $(outdir)/index.html echo $^ > $(depth)/wwwlist + +convert-mudela: local-convert-mudela + $(LOOP) + +local-convert-mudela: + $(PYTHON) $(depth)/scripts/convert-mudela.py -e *ly diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index 121a3307ef..2494e4bcea 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,15 +1,15 @@ Begin3 Titel: LilyPond -Versie: 1.0.7 -Inschrijf datum: 07SEP98 +Versie: 1.0.8 +Inschrijf datum: 14SEP98 Beschrijving: @FLAPTEKST@ Trefwoorden: muziek typezetten midi notatie Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 770k lilypond-1.0.7.tar.gz + 770k lilypond-1.0.8.tar.gz Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.0.7.tar.gz + 770k lilypond-1.0.8.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index ed9c2b62e2..0bc692d8fe 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.0.7 -Entered-date: 07SEP98 +Version: 1.0.8 +Entered-date: 14SEP98 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 770k lilypond-1.0.7.tar.gz + 770k lilypond-1.0.8.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.0.7.tar.gz + 770k lilypond-1.0.8.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 14e6c04c93..946cac7b9d 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.0.7 +Version: 1.0.8 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.0.7.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.0.8.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/mi2mu/mudela-stream.cc b/mi2mu/mudela-stream.cc index 0f5ab11b8f..cdaa6f7ae7 100644 --- a/mi2mu/mudela-stream.cc +++ b/mi2mu/mudela-stream.cc @@ -92,7 +92,7 @@ Mudela_stream::header() *os_p_ << filename_str_g; *os_p_ << "\n\n"; // ugh - *os_p_ << "\\version \"1.0.0\";\n"; + *os_p_ << "\\version \"1.0.2\";\n"; } void diff --git a/mudela-mode.el b/mudela-mode.el index 87a08060b1..bd66bb4d4f 100644 --- a/mudela-mode.el +++ b/mudela-mode.el @@ -38,7 +38,7 @@ "musical_pitch" "meter" "midi" "mm" "multi" "header" "notenames" "octave" "output" "partial" "paper" "plet" "property" "pt" "shape" "relative" "include" "score" - "script" "skip" "staff" "table" "spandynamic" "symboltables" + "script" "skip" "table" "spandynamic" "symboltables" "tempo" "texid" "textstyle" "transpose" "version" "grouping" )) (kwregex (mapconcat (lambda (x) (concat "\\\\" x)) keywords "\\|"))) diff --git a/mutopia/Coriolan/bassi-part.ly b/mutopia/Coriolan/bassi-part.ly index e66e414d6c..f8c6a0dc44 100644 --- a/mutopia/Coriolan/bassi-part.ly +++ b/mutopia/Coriolan/bassi-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/clarinetti-part.ly b/mutopia/Coriolan/clarinetti-part.ly index 026d38ebe5..2698afa816 100644 --- a/mutopia/Coriolan/clarinetti-part.ly +++ b/mutopia/Coriolan/clarinetti-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "clarinetti.ly" diff --git a/mutopia/Coriolan/clarinetti.ly b/mutopia/Coriolan/clarinetti.ly index d79ea0fdb9..be6fc080a9 100644 --- a/mutopia/Coriolan/clarinetti.ly +++ b/mutopia/Coriolan/clarinetti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "clarinetto-1.ly" \include "clarinetto-2.ly" diff --git a/mutopia/Coriolan/clarinetto-1.ly b/mutopia/Coriolan/clarinetto-1.ly index 44ff9ef9a4..ef713c0441 100644 --- a/mutopia/Coriolan/clarinetto-1.ly +++ b/mutopia/Coriolan/clarinetto-1.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; clarinetto1 = \melodic \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | e4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/clarinetto-2.ly b/mutopia/Coriolan/clarinetto-2.ly index 58564653ed..be27d99bb9 100644 --- a/mutopia/Coriolan/clarinetto-2.ly +++ b/mutopia/Coriolan/clarinetto-2.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; clarinetto2 = \melodic \relative c { R1*2 bes''4-.\ff r r2 | R1*3 | cis4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/contrabasso-part.ly b/mutopia/Coriolan/contrabasso-part.ly index 980ee0bf72..420d022a91 100644 --- a/mutopia/Coriolan/contrabasso-part.ly +++ b/mutopia/Coriolan/contrabasso-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "contrabasso.ly" diff --git a/mutopia/Coriolan/contrabasso.ly b/mutopia/Coriolan/contrabasso.ly index 55d22b546e..b0a5617c71 100644 --- a/mutopia/Coriolan/contrabasso.ly +++ b/mutopia/Coriolan/contrabasso.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; contrabasso = \melodic \relative c { % \translator Staff=violoncello diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index 896bf7fb42..c044c050fa 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" diff --git a/mutopia/Coriolan/corni-part.ly b/mutopia/Coriolan/corni-part.ly index db65dc3c8e..2c7009e73b 100644 --- a/mutopia/Coriolan/corni-part.ly +++ b/mutopia/Coriolan/corni-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "corni.ly" diff --git a/mutopia/Coriolan/corni.ly b/mutopia/Coriolan/corni.ly index 32d1412a3a..966b68376c 100644 --- a/mutopia/Coriolan/corni.ly +++ b/mutopia/Coriolan/corni.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "corno-1.ly" \include "corno-2.ly" diff --git a/mutopia/Coriolan/corno-1.ly b/mutopia/Coriolan/corno-1.ly index 1ce84c1c7f..c2af389e41 100644 --- a/mutopia/Coriolan/corno-1.ly +++ b/mutopia/Coriolan/corno-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; corno1 = \melodic \relative c { R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/corno-2.ly b/mutopia/Coriolan/corno-2.ly index ad8ba33261..b203ddaa6b 100644 --- a/mutopia/Coriolan/corno-2.ly +++ b/mutopia/Coriolan/corno-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; corno2 = \melodic \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotti-part.ly b/mutopia/Coriolan/fagotti-part.ly index f3cb5cf194..bb255eb527 100644 --- a/mutopia/Coriolan/fagotti-part.ly +++ b/mutopia/Coriolan/fagotti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "fagotti.ly" diff --git a/mutopia/Coriolan/fagotti.ly b/mutopia/Coriolan/fagotti.ly index a4bf8c26d2..f98dbd3cc4 100644 --- a/mutopia/Coriolan/fagotti.ly +++ b/mutopia/Coriolan/fagotti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "fagotto-1.ly" \include "fagotto-2.ly" diff --git a/mutopia/Coriolan/fagotto-1.ly b/mutopia/Coriolan/fagotto-1.ly index fa029e8947..34447df55f 100644 --- a/mutopia/Coriolan/fagotto-1.ly +++ b/mutopia/Coriolan/fagotto-1.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; fagotto1 = \melodic \relative c { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotto-2.ly b/mutopia/Coriolan/fagotto-2.ly index 07610f2507..ab55c98ce1 100644 --- a/mutopia/Coriolan/fagotto-2.ly +++ b/mutopia/Coriolan/fagotto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; fagotto2 = \melodic \relative c { R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauti-part.ly b/mutopia/Coriolan/flauti-part.ly index 65621ede25..9c45290df2 100644 --- a/mutopia/Coriolan/flauti-part.ly +++ b/mutopia/Coriolan/flauti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "flauti.ly" diff --git a/mutopia/Coriolan/flauti.ly b/mutopia/Coriolan/flauti.ly index 2e14b35ba0..ea4f964420 100644 --- a/mutopia/Coriolan/flauti.ly +++ b/mutopia/Coriolan/flauti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "flauto-1.ly" \include "flauto-2.ly" diff --git a/mutopia/Coriolan/flauto-1.ly b/mutopia/Coriolan/flauto-1.ly index abdf417cce..51fcf1f1d1 100644 --- a/mutopia/Coriolan/flauto-1.ly +++ b/mutopia/Coriolan/flauto-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; flauto1 = \melodic \relative c { R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauto-2.ly b/mutopia/Coriolan/flauto-2.ly index ba9288f126..56a4f4c718 100644 --- a/mutopia/Coriolan/flauto-2.ly +++ b/mutopia/Coriolan/flauto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; flauto2 = \melodic \relative c { R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/global.ly b/mutopia/Coriolan/global.ly index bbd1ea28db..1849424a1a 100644 --- a/mutopia/Coriolan/global.ly +++ b/mutopia/Coriolan/global.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; global = \melodic { \time 4/4; diff --git a/mutopia/Coriolan/oboe-1.ly b/mutopia/Coriolan/oboe-1.ly index 3458fa8638..d35301bc65 100644 --- a/mutopia/Coriolan/oboe-1.ly +++ b/mutopia/Coriolan/oboe-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; oboe1 = \melodic \relative c'' { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboe-2.ly b/mutopia/Coriolan/oboe-2.ly index bf4b77a19d..c5506b5d80 100644 --- a/mutopia/Coriolan/oboe-2.ly +++ b/mutopia/Coriolan/oboe-2.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; oboe2 = \melodic \relative c{ R1 *2| f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboi-part.ly b/mutopia/Coriolan/oboi-part.ly index 16aa625b44..b389779b57 100644 --- a/mutopia/Coriolan/oboi-part.ly +++ b/mutopia/Coriolan/oboi-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "oboi.ly" diff --git a/mutopia/Coriolan/oboi.ly b/mutopia/Coriolan/oboi.ly index 981973b036..1c90c9e922 100644 --- a/mutopia/Coriolan/oboi.ly +++ b/mutopia/Coriolan/oboi.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "oboe-1.ly" \include "oboe-2.ly" diff --git a/mutopia/Coriolan/timpani.ly b/mutopia/Coriolan/timpani.ly index a9d52b4efb..1c7f7642cf 100644 --- a/mutopia/Coriolan/timpani.ly +++ b/mutopia/Coriolan/timpani.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; timpani = \melodic \relative c { R1 *2 | c4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/trombe-part.ly b/mutopia/Coriolan/trombe-part.ly index c3f13d2c06..5ee208541b 100644 --- a/mutopia/Coriolan/trombe-part.ly +++ b/mutopia/Coriolan/trombe-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "trombe.ly" diff --git a/mutopia/Coriolan/trombe.ly b/mutopia/Coriolan/trombe.ly index 36583629d0..50489f6d5c 100644 --- a/mutopia/Coriolan/trombe.ly +++ b/mutopia/Coriolan/trombe.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "trombo-1.ly" \include "trombo-2.ly" diff --git a/mutopia/Coriolan/trombo-1.ly b/mutopia/Coriolan/trombo-1.ly index 74b717a03e..92d5257048 100644 --- a/mutopia/Coriolan/trombo-1.ly +++ b/mutopia/Coriolan/trombo-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; trombo1 = \melodic \relative c { R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/trombo-2.ly b/mutopia/Coriolan/trombo-2.ly index be909a3430..afdf2fd34f 100644 --- a/mutopia/Coriolan/trombo-2.ly +++ b/mutopia/Coriolan/trombo-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; trombo2 = \melodic \relative c { R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/viola-1.ly b/mutopia/Coriolan/viola-1.ly index b6b000ee30..4ea6f86b9c 100644 --- a/mutopia/Coriolan/viola-1.ly +++ b/mutopia/Coriolan/viola-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; viola1 = \melodic \relative c { \type Voice=one diff --git a/mutopia/Coriolan/viola-2.ly b/mutopia/Coriolan/viola-2.ly index e3109c9ac0..d1b7a2074f 100644 --- a/mutopia/Coriolan/viola-2.ly +++ b/mutopia/Coriolan/viola-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; viola2 = \melodic \relative c { % starts on (actualy, most part is on) same staff as viola1 diff --git a/mutopia/Coriolan/viola-part.ly b/mutopia/Coriolan/viola-part.ly index ad8c60a676..cd17993ab9 100644 --- a/mutopia/Coriolan/viola-part.ly +++ b/mutopia/Coriolan/viola-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "viola-1.ly" diff --git a/mutopia/Coriolan/violino-1-part.ly b/mutopia/Coriolan/violino-1-part.ly index cdfa1a723e..23482fc138 100644 --- a/mutopia/Coriolan/violino-1-part.ly +++ b/mutopia/Coriolan/violino-1-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "violino-1.ly" diff --git a/mutopia/Coriolan/violino-1.ly b/mutopia/Coriolan/violino-1.ly index d623a38d76..355ff61d77 100644 --- a/mutopia/Coriolan/violino-1.ly +++ b/mutopia/Coriolan/violino-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; violino1 = \melodic \relative c { c'1\ff ~ | c | r r2 | R1 | diff --git a/mutopia/Coriolan/violino-2-part.ly b/mutopia/Coriolan/violino-2-part.ly index d8b426945b..e31f101382 100644 --- a/mutopia/Coriolan/violino-2-part.ly +++ b/mutopia/Coriolan/violino-2-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "violino-2.ly" diff --git a/mutopia/Coriolan/violino-2.ly b/mutopia/Coriolan/violino-2.ly index f9693fdf0a..8c59934845 100644 --- a/mutopia/Coriolan/violino-2.ly +++ b/mutopia/Coriolan/violino-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; violino2 = \melodic \relative c { c'1\ff ~ | c | r r2 | R1 | diff --git a/mutopia/Coriolan/violoncello-part.ly b/mutopia/Coriolan/violoncello-part.ly index 953d20a304..78bd4822ed 100644 --- a/mutopia/Coriolan/violoncello-part.ly +++ b/mutopia/Coriolan/violoncello-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly index 622ea85ab9..3b86a7306c 100644 --- a/mutopia/Coriolan/violoncello.ly +++ b/mutopia/Coriolan/violoncello.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; violoncello = \melodic \relative c { c1\ff ~ | c | f,4-. r r2 | r1 | c'1\ff ~ | c | f,4-. r r2 | diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly new file mode 100644 index 0000000000..d8a9a7cfab --- /dev/null +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly @@ -0,0 +1,148 @@ +\header{ + enteredby = "Tom Cato Amundsen"; + copyright = "Public Domain"; + piece = "Allemande"; +} + +\version "1.0.2"; + +global = \melodic{ + \time 4/4; + \partial 8*3; + \key es; + \skip 1*15; + \skip 4*3; + \skip 16*4; + \bar ":|:"; + \skip 16*3; + \skip 1*16; + \bar ":|"; +} + +hoyreEn = \melodic\relative c'''{ +% \partial 4.; + [as16 g f] | + [g16 d es b][c f es d][es b c g][as d c b] | + [c g as es][f es' d c][b8. a16][g8 b] | + [c16 d es8][f,16 es' d c][d es f8][g,16 f' es d] | + [es16 f g8][as,16 g' f es][f g as8][b,16 as' g f] | +%5 + \type Staff < { + \stemup es4~ [es8. c16] d4~ [d8. b16] | + c4.~ [c16 b] c4~ [c16 c bes as] | + \stemboth [g c32 d es16 c][g8 as] \stemup bes4~ [bes8 g'~] | + \stemboth [g16 c,32 d es16 c][a f' c32 d es16] \stemup d4~ [d8 d] | + [d8 c] r16 [fis g a][es8 d] r16 [g a bes] | + [f8 e] r16 [a bes c][g8 fis] r16 [es d c] | + } { + \stemdown r16 [b c g][as es f8] r16 [g as f][g d es8~] | +%TODO når du får tak i en til urtekst må denne og neste takt sammenliknes. + [es16 f32 g as16 f][d f8.~][f16 f es d][es8 f] | + s4 r4 r16 [f g d] es8 r | + s2 r16 [a bes8~][bes fis] | + g4 r a r | + bes r c r + } > +%11 + [d16 a bes fis][g c bes a][bes fis g d][es a g fis] | + [g d es b][c f es d][es c d fis][a es d c] | + [bes d g bes~][bes fis g bes,][c es g bes~][bes fis g c,] | + [d fis g bes~][bes fis g d][es fis g bes~][bes fis g bes] | + [e a, bes fis][g bes a g][fis d es bes][c es d c] | + \type Staff < + { \stemup [bes8 d'][bes a16 g] g4~ g16 } + { \stemup s2 s16 d8.~ d16 } + { \stemdown r8 <[g d> r16 [d16 b8~] b16 } + > + [es'16 d c] | +%17 + [d a b g][as f es d][es( f32 )g c,8] r16 [as'' g f] | + [g d e c][des bes as g][as( bes32 )c f,8] r16 [c f g] | + [as e f c][des c' bes as][bes f g d][e des' c bes] | + [c g as e][f es' des c][des a bes g] g'4~ | + [g16( )c, f( )e][as( g f )e][f( )c es( )des][bes'( as g )f] | +%22 + [e16( f32 )g c,16 bes][as f' g, e'] f4~ [f32 g f e f16 g] | + [as16 e f c][as f es' c][d a bes d][f as g f] | + [g d es bes][g es d' b][c g as c][es g f es] | + [f c d as][f d c' a][b fis g b][d f es d] | + [es b c as][g f es' d][c b c d][g,8 d'] | + [es16 g c g][es d c b][c es g8~][g16 bes, as g] | +%28 + [as c f c][as g f e][f b d8~][d16 f, es d] | + [c8 es'( as, )g][d f'( as, )g] | + [es g'( as, )g][f as'16( g][as g fis )g] | + fis4.~ [fis16 e32 fis][g16 d f es][d c b a] | + \type Staff < + { \stemup [g8 g'][es d16 c] c4. } + { \stemdown r8 <[g c> } + > s8 +} + +venstreEn = \melodic\relative c{ + \clef bass; +% \partial 4.; + r16 r8 | + [c8 c,] \clef treble; r16 [as''' g f][g d es b][c f es d] | + \clef bass; [es b c g][as8 f][g g,~][g16 f' es d] | + [es b c g][as g' f es][f c d a][bes as' g f] | + [g d es b][c bes' as g][as es f c][d8 b'] | +%5 + [c8 es][f, as][b, d][es, g] | + [as f][g g'][c, g'] + \type Staff < + { \stemup [c8 d] | es4 } + { \stemdown c4 ~ | [c8. g32 f] } + > + \stemboth [es, f g16 c,32 d es16][g,8. bes32 as][g as bes16 es,32 f g16] | +%8 + [a,8 c][f a][bes. f''32 es][d es f16 bes,32 c d16] | + [es, g a bes][c d es c][fis, a bes c][d e fis d] | + [g, bes c d][e fis g es][a, c d es][d c bes a] | + [bes c d a][bes es d c][d a bes fis][g c bes a] | + [bes fis g d][es32 f g16 c,32 d es16] fis,4 r8 d8 | +%13 + [g8 bes'( es, )d][a c'( es, )d] | + [bes d'( es, )d][c es'( es, )d] | + r8 cis8 [d a][fis d] | +%16 + [g16 a bes c][d8 d,] + \type Staff < + { \stemup r8 r16 d' g } + { \stemdown g,4~ g16 } + > + r16 r8 | +%17 + [g,8 g'] r16 [as g f][g d es b][c f, es d] | + [c8 c'] r16 [des' c bes][c g as e][f bes, as g] | + [f g as8][bes,16 as' g f][g as bes8][c,16 bes' as g] | + [as bes c8][des,16 c' bes as][bes c des8][e,16 des' c bes] | + [as8 c][f, as][des f g, bes~] | +%22 + [bes8 as16 bes][c8 c,][f16 c' f g][as f as c] | + [f8 as, c f,][bes f' d bes] | + [es g, bes es,][as es' c as] | + [d f, as d,][g d'][b g] | + [c es,][as f][g g,~][g16 as' g f] | + [g d es b][c f es d][es b c g][as des c bes] | +%28 + [c g as e][f bes as g][as f g b][d as g f] | + [es( g c )es~][es b c es,][f( as c )es~][es b c f,] | + [g( b c )es~][es b c g][as b c es~][es b c es] | + [a d, es b][c es d c][b g as es][f as g f] | + [es g c es][g8 g,] s8 +} + +\score{ + \type GrandStaff < + \type Staff = treble < + \global + \hoyreEn + > + \type Staff = bass < + \global + \venstreEn + > + > + \paper{} +} \ No newline at end of file diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_I_Sinfonia.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly similarity index 85% rename from mutopia/J.S.Bach/Cembalo-Partitas/Partita_I_Sinfonia.ly rename to mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly index 44d2904456..ce919822dc 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_I_Sinfonia.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly @@ -1,6 +1,7 @@ \header { filename = ""; title = "Partita II"; + piece = "Sinfonia"; description = "6 Partite per il clavicembalo, Partita II (c-minor)"; opus = "BWV 826"; source = "Editio Musica Budapest (Urtext)"; @@ -9,8 +10,8 @@ copyright = "Public Domain"; } -\version "1.0.1"; -\include "a4.ly"; +\version "1.0.2"; + global = \melodic { \time 4/4; \key es; @@ -22,9 +23,9 @@ global = \melodic { \bar "|."; } -hoyreOpp = \melodic \relative c'' { +hoyreOpp = \melodic\relative c'' { \stemup - es4 r16 [es d. es32] f4 r16 [f16 f. g32] | + es4^"Grave adagio" r16 [es d. es32] f4 r16 [f16 f. g32] | [as8. as16] [as16 g32 f g16. d32] es4 r16 [g g. as32] | %3 bes4 r16 [bes,16 bes. c32] [des8. des16] @@ -43,7 +44,7 @@ hoyreOpp = \melodic \relative c'' { > g2 } -hoyreNed = \melodic \relative c'' { +hoyreNed = \melodic\relative c'' { \clef violin; \stemdown r16 [c b. c32] d4 r16 [d d. es32] | @@ -56,7 +57,7 @@ hoyreNed = \melodic \relative c'' { g4 r } -venstreOpp = \melodic \relative c' { +venstreOpp = \melodic\relative c' { \clef bass; \stemup r r | @@ -65,29 +66,28 @@ venstreOpp = \melodic \relative c' { r r16 <[as d,> | %5 r16 <[g c,> -%{ \type Voice < - {f4() f} - {c4 d} - > -%} - r16 [f f. g32] | + \type Staff < + {\stemup f4~ f} + {\stemup c4 d} + > r16 [f f. g32] | +%6 [as8. as16]~ [as g32 f g16 d] r | r } -venstreNed = \melodic{ \relative c{ +venstreNed = \melodic\relative c{ \stemdown c4 r c r | r c c r | c r r c | c r r16 [c c. bes32] bes4 | - r16 [bes bes. as32] as4 g r16 [d' d. es32] | + r16 [bes bes. as32] as4_"tr" g r16 [d' d. es32] | \type Staff < { \stemdown \property Voice.hshift = 1 [f8. f16] [b,8. b16] g4 r | } - { \stemdown r4 g} + { \stemdown s4 g} > r g g2 -}} +} -andanteEn = \melodic \relative c''{ - [g16 c32 d es8~] [es16 d32 c es d c b] [c16 g as f] [g c g f] | +andanteEn = \melodic\relative c''{ + [g16^"andante" c32 d es8~] [es16 d32 c es d c b] [c16 g as f] [g c g f] | [es16 c'32 d es d c16] [g' c, as' c,] [b c d b] g16 r16 r8 | %10 \stemup [g'32 f es d c16 bes~] [bes des8 c16] @@ -131,7 +131,7 @@ andanteEn = \melodic \relative c''{ as4~ [as32 as g as bes as g as] es'4~ [es32 c b c d c b c] | [fis16 es8 d16] [g16 d8 c16] [a'16 c,8 bes16~] [bes32 d c bes g' bes, a g] %28 - [bes'8-\fermata~ bes32 a g f] [g bes a g fis e d c] [bes d c es d g fis e] + [bes'8-\fermata~ bes32 a g fis] [g bes a g fis e d c] [bes d c es d g fis e] [d c bes a bes d bes g] | r16 [e'32 fis fis16.-\prall \[2/3 e64 fis g\]1/1 ] \type Staff < @@ -139,17 +139,18 @@ andanteEn = \melodic \relative c''{ [bes,32 a g fis g32 bes16.~] [bes16 c32 bes a bes c a] [fis8. g16] } { \stemdown s8 g8 ~ g4 d} > -} -andanteTo = \melodic \relative c{ +} + +andanteTo = \melodic\relative c{ %8 - \clef "bass"; [c8 c'] [f, g] [es c] [es g] | [c as] [es f] [g g,] \stemdown \translator Staff = treble r16 [f''16 es d] | %10 - [es8 g] [e c] [f as] [f c] | [d f] [d bes] [es g] [es c] | - \stemboth \translator Staff = bass - [as c] [f as,] [g c] [es g,] | [f as] [g f] [es g] [f es] | + [es8 g] [e c] [f as] [f c] | + [d f] [d bes] [es g] [es c] | + \stemboth \translator Staff = bass [as c] [f as,] [g c] [es g,] | + [f as] [g f] [es g] [f es] | %14 [d f] [as c,] [b d] [g d] | [es as,] [f g] c,4~ [c16 d32 es f g a b] | @@ -178,9 +179,9 @@ andanteTo = \melodic \relative c{ > } -allegroEn = \melodic \relative c''{ +allegroEn = \melodic\relative c''{ %30 - [g8 g16 a] [b8 c d es] | + [g8^"allegro" g16 a] [b8 c d es] | [f16 es d es] [f8 g as d,] | [f b, d g,] [g'16 f es d] | es8 c'4 [bes16 as] [g f es d] | @@ -197,7 +198,7 @@ allegroEn = \melodic \relative c''{ %43 [bes16 c d bes] [g8 bes] [es, d'] | [a16 bes c a] [fis8 a] [d, c'] | - [g16 a b g] [es g d g] [cis, bes' a g] | + [g16 a bes g] [es g d g] [cis, bes' a g] | [fis e d e] [fis8 g a bes] | [c16 bes a bes] [c8 d] [es a,] | [c fis,] [a d,] [d'16 c bes a] @@ -252,7 +253,7 @@ allegroEn = \melodic \relative c''{ { \stemdown r8 r16 | } > } -allegroTo = \melodic \relative c'{ +allegroTo = \melodic\relative c'{ \clef bass; %30 \type Staff < @@ -317,28 +318,7 @@ allegroTo = \melodic \relative c'{ [g f es d][c bes as g][f f' e f] | [as f e f][b, f' es d][es g c, es] | [fis,8. fis'16] g4 g, | c,2-\fermata } -a4 = \paper{ -% linewidth= 80.\mm; - Staff = \translator { - \type "Engraver_group_engraver"; - defaultclef = violin; - \consists "Bar_engraver"; - \consists "Clef_engraver"; - \consists "Key_engraver"; -% \consists "Meter_engraver"; - \consists "Local_key_engraver"; - \consists "Staff_sym_engraver"; - \consists "Collision_engraver"; - \consists "Rest_collision_engraver"; - \consists "Bar_column_engraver"; - \consists "Bar_number_engraver"; - \consists "Separating_line_group_engraver"; -% \consists "Line_group_engraver"; - \accepts "Voice"; - \accepts "Staff"; - \accepts "GrandStaff"; - } -} + \score { \type GrandStaff < \type Staff = treble < @@ -352,13 +332,10 @@ a4 = \paper{ \venstreNed > > - - \paper { -% \a4 -% gourlay_maxmeasures =5.; -% castingalgorithm = \Wordwrap; - - } + \paper {} } % EOF + + + diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly index b794f9367e..cdfbc5c30e 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly @@ -14,7 +14,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; one = \melodic\relative c { \property Voice . textstyle = "italic" diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly index 22dc7c74bf..f2b5e97956 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly @@ -14,7 +14,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; one = \melodic\relative c{ \property Voice . textstyle = "italic" r8\mf [c'-1( e-2 g-4] [e-2 c-1 bes'-5 g-3] | diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly index 754ee16d34..ac4eb265a6 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly @@ -12,7 +12,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; one = \melodic\relative c{ \property Voice . textstyle = "italic" diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly index 9ba965c560..a259ee6f19 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly @@ -12,7 +12,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; one = \melodic\relative c{ diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly index 0bdcd15b06..708000efaf 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly @@ -12,7 +12,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; one = \melodic\relative c{ diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly index 97e59feb9d..5b3564a934 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "allemande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly index 450639b718..3c072bb4b1 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "allemande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly index 1784fae420..a5125efd67 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "courante-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly index 2178cbf982..b0df15d92d 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "courante-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly index 9283675475..4e848b5551 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "gigue-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly index d49bd990f8..043b189000 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "gigue-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly index f8b4a17965..c3e8b8471d 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly @@ -16,7 +16,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "menuetto-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly index 0cd664fb61..6250ba4690 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly @@ -17,7 +17,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "menuetto-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly index 994d74cad5..47a7da3e52 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly index b70782a1ae..67e342d027 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly index 32a1443ed8..f4ba6eaa5f 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "sarabande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly index 051611fae9..cfb4b8e5a8 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.1"; +\version "1.0.2"; \include "sarabande-urtext.ly"; diff --git a/mutopia/J.S.Bach/wtk1-fugue1.ly b/mutopia/J.S.Bach/wtk1-fugue1.ly index 3ca2d85690..614311e8bc 100644 --- a/mutopia/J.S.Bach/wtk1-fugue1.ly +++ b/mutopia/J.S.Bach/wtk1-fugue1.ly @@ -11,7 +11,7 @@ copyright = "Public Domain"; %{ %} -\version "1.0.1"; +\version "1.0.2"; global = diff --git a/mutopia/J.S.Bach/wtk1-fugue2.ly b/mutopia/J.S.Bach/wtk1-fugue2.ly index 550835215b..49b0dab5b7 100644 --- a/mutopia/J.S.Bach/wtk1-fugue2.ly +++ b/mutopia/J.S.Bach/wtk1-fugue2.ly @@ -13,7 +13,7 @@ Tested Features: stem direction, multivoice, forced accidentals. %} -\version "1.0.1"; +\version "1.0.2"; \include "nederlands.ly" % for correct parsing of note names diff --git a/mutopia/J.S.Bach/wtk1-prelude1.ly b/mutopia/J.S.Bach/wtk1-prelude1.ly index 584dfd295b..de0bfa0fae 100644 --- a/mutopia/J.S.Bach/wtk1-prelude1.ly +++ b/mutopia/J.S.Bach/wtk1-prelude1.ly @@ -8,7 +8,7 @@ enteredby = "Shay Rojansky"; copyright = "Public Domain"; } -\version "1.0.1"; +\version "1.0.2"; global = \melodic { diff --git a/mutopia/W.A.Mozart/cadenza.ly b/mutopia/W.A.Mozart/cadenza.ly index e45f5fd9e7..1aa9c48de2 100644 --- a/mutopia/W.A.Mozart/cadenza.ly +++ b/mutopia/W.A.Mozart/cadenza.ly @@ -13,7 +13,7 @@ Tested Features: cadenza mode Ugh.. Wish we had grace notes.... It adds another dimension to this piece of music. %} -\version "1.0.1"; +\version "1.0.2"; cad = \melodic \relative c' { diff --git a/mutopia/W.A.Mozart/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3.ly index 82fd269cb2..b8069a47d4 100644 --- a/mutopia/W.A.Mozart/horn-concerto-3.ly +++ b/mutopia/W.A.Mozart/horn-concerto-3.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; allegro = \melodic diff --git a/mutopia/gallina.ly b/mutopia/gallina.ly index 63f1899b81..b3db2ae149 100644 --- a/mutopia/gallina.ly +++ b/mutopia/gallina.ly @@ -2,12 +2,12 @@ title = "La Gallina à 2 violini"; date = "1637"; source = "the manuscript of Canzoni overo Sonate Concertate " - "libro terzo, opera duodecima "; + + "libro terzo, opera duodecima "; composer = "Tarquinio Merula (1594/95-1665)"; enteredby = "Mats Bengtsson"; copyright = "Public Domain "; subtitle = "from Canzoni overo Sonate Concertate libro terzo, " - "opera duodecima 1637"; + + "opera duodecima 1637"; } @@ -45,7 +45,7 @@ Voice engraver by uncommenting the lines in the paper definition below. --MB %} -\version "1.0.1"; +\version "1.0.2"; vi1=\melodic \relative c'' { \time 4/4; @@ -232,25 +232,27 @@ bc=\melodic\transpose c'{ \bc > \paper{ - %linewidth=18.\cm; - %\output "gallina.out"; gourlay_maxmeasures=7.; -%%%% Uncomment to get the original layout without beams. + +%{ +%% Uncomment to get the original layout without beams. %%%% Compare to the definition in init/engraver.ly. -% Voice = \translator { -% \type "Engraver_group_engraver"; -% \consists "Dynamic_engraver"; -% \consists "Rest_engraver"; -% \consists "Stem_engraver"; -% \consists "Plet_engraver"; -% % \consists "Beam_engraver"; -% \consists "Beam_req_swallow_translator"; -% \consists "Abbreviation_beam_engraver"; -% \consists "Script_engraver"; -% \consists "Rhythmic_column_engraver"; -% \consists "Slur_engraver"; -% \accepts "Thread"; -% } + Voice = \translator { + \type "Engraver_group_engraver"; + \consists "Dynamic_engraver"; + \consists "Rest_engraver"; + \consists "Stem_engraver"; + \consists "Plet_engraver"; + % \consists "Beam_engraver"; + \consists "Beam_req_swallow_translator"; + \consists "Abbreviation_beam_engraver"; + \consists "Script_engraver"; + \consists "Rhythmic_column_engraver"; + \consists "Slur_engraver"; + \accepts "Thread"; + } +%} + } \midi{ \tempo 4=80; diff --git a/mutopia/los-toros-oboe.ly b/mutopia/los-toros-oboe.ly index bc9c0882f5..2381e61ca2 100644 --- a/mutopia/los-toros-oboe.ly +++ b/mutopia/los-toros-oboe.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "public domain"; latexheaders= "headers"; } -\version "1.0.1"; +\version "1.0.2"; %{ Silly latex file dropped; use ly2dvi diff --git a/mutopia/standchen-16.ly b/mutopia/standchen-16.ly index 88671e093b..36799f37f3 100644 --- a/mutopia/standchen-16.ly +++ b/mutopia/standchen-16.ly @@ -2,13 +2,13 @@ filename = "standchen.ly"; title = "St\"andchen (Serenade) \"Leise flehen meine Lieder\""; opus = "D. 957 No. 4"; -composer = "Franz Schubert (1797-1828)" - "Text by Ludwig Rellstab (1799-1860)"; +composer = "Franz Schubert (1797-1828)"; +poet= "Text by Ludwig Rellstab (1799-1860)"; enteredby = "JCN"; description = "A schubert song in 16 pt"; copyright = "public domain"; } -\version "1.0.1"; +\version "1.0.2"; \include "standchen.ly" diff --git a/mutopia/standchen-20.ly b/mutopia/standchen-20.ly index 364b13c08a..fa1f7219b0 100644 --- a/mutopia/standchen-20.ly +++ b/mutopia/standchen-20.ly @@ -9,7 +9,7 @@ copyright = "public domain"; description = "A schubert song in 20 pt"; } -\version "1.0.1"; +\version "1.0.2"; % fool make-website % \include "standchen.ly"; diff --git a/mutopia/standchen.ly b/mutopia/standchen.ly index 1a6f8f5b8c..3ceec46169 100644 --- a/mutopia/standchen.ly +++ b/mutopia/standchen.ly @@ -16,7 +16,7 @@ multiple \paper{}s in one \score Note: Original key F. %} -\version "1.0.1"; +\version "1.0.2"; $vocal_verse1 = \melodic\relative c{ % ugh: treble/bass diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py index 0ce2191032..f0792639b2 100644 --- a/scripts/convert-mudela.py +++ b/scripts/convert-mudela.py @@ -168,6 +168,18 @@ if 1: # need new a namespace ((1,0,1), conv, '\\accidentals -> \\keysignature, ' + 'specialaccidentals -> keyoctaviation\n')) +if 1: + def conv(lines): + found = 0 + for x in lines: + if regex.search ('\\\\header', x) <> -1: + found = 1 + break + if found: + sys.stderr.write ('\nNot smart enough to convert to new \\header format\n') + return lines + + conversions.append ((1,0,2), conv, '\header { key = concat + with + operator }\n') ############################ diff --git a/scripts/mudela-book.py b/scripts/mudela-book.py index 6540542663..911539b716 100644 --- a/scripts/mudela-book.py +++ b/scripts/mudela-book.py @@ -263,8 +263,12 @@ for opt in options: do_deps = 1 def write_deps (fn, out, deps): - f = open (outdir + fn, 'w') - f.write ('%s: %s\n'% (outdir + out + '.dvi', reduce (lambda x,y: x + ' '+ y, deps))) + out_fn = outdir + '/' + fn + print '\`writing \`%s\'\n\'' % out_fn + + f = open (out_fn, 'w') + f.write ('%s: %s\n'% (outdir + '/' + out + '.dvi', + reduce (lambda x,y: x + ' '+ y, deps))) f.close () diff --git a/stepmake/Documentation/topdocs/AUTHORS.yo b/stepmake/Documentation/topdocs/AUTHORS.yo index b8d45e1ae8..8d4b9bf7be 100644 --- a/stepmake/Documentation/topdocs/AUTHORS.yo +++ b/stepmake/Documentation/topdocs/AUTHORS.yo @@ -4,23 +4,19 @@ AUTHORS - who did what on StepMake? nsect(DESCRIPTION) -This file lists authors of StepMake, and what they wrote. +This file lists authors of StepMake, and what they did. nsect(AUTHORS) itemize( -it()nemail(Jan Nieuwenhuizen)(janneke@gnu.org), - lurl(http://www.xs4all.nl/~jantien) - nl() - Main author. it()nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl), lurl(http://www.cs.uu.nl/people/hanwen) nl() Main author. -) - -nsect(CONTRIBUTORS) -itemize( +it()nemail(Jan Nieuwenhuizen)(janneke@gnu.org), + lurl(http://www.xs4all.nl/~jantien) + nl() + Main author. it()nemail(Jeffrey B. Reed)(daboys@bga.com), Windows-nt fixes. ) diff --git a/stepmake/bin/table-to-html.py b/stepmake/bin/table-to-html.py index d43590f0d7..af199bbfbe 100644 --- a/stepmake/bin/table-to-html.py +++ b/stepmake/bin/table-to-html.py @@ -102,7 +102,7 @@ def main (): (options, files) = getopt.getopt ( sys.argv[1:], 'to:hp:s:', ['help', 'latex', 'output=', 'package=', 'separator=']) latex = 0 - separator = ':' + separator = '@' output = '' for opt in options: o = opt[0] diff --git a/stepmake/configure b/stepmake/configure index 4980c54f7f..0712d0efce 100755 --- a/stepmake/configure +++ b/stepmake/configure @@ -1110,12 +1110,46 @@ test -n "$YODL2MAN" && break done test -n "$YODL2MAN" || YODL2MAN="-echo no yodl" - for ac_prog in yodl2texinfo + for ac_prog in yodl2msless do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1119: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$YODL2MSLESS"; then + ac_cv_prog_YODL2MSLESS="$YODL2MSLESS" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_YODL2MSLESS="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +YODL2MSLESS="$ac_cv_prog_YODL2MSLESS" +if test -n "$YODL2MSLESS"; then + echo "$ac_t""$YODL2MSLESS" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$YODL2MSLESS" && break +done +test -n "$YODL2MSLESS" || YODL2MSLESS="-echo no yodl" + + for ac_prog in yodl2texinfo +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1153: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1149,7 +1183,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1153: checking for $ac_word" >&5 +echo "configure:1187: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1185,7 +1219,8 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl" - export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2TEXINFO YODL2TXT + + export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT fi if test "x$YODL" = "-echo no yodl"; then @@ -1203,7 +1238,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1207: checking for $ac_word" >&5 +echo "configure:1242: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1395,6 +1430,7 @@ s%@YODL@%$YODL%g s%@YODL2HTML@%$YODL2HTML%g s%@YODL2LATEX@%$YODL2LATEX%g s%@YODL2MAN@%$YODL2MAN%g +s%@YODL2MSLESS@%$YODL2MSLESS%g s%@YODL2TEXINFO@%$YODL2TEXINFO%g s%@YODL2TXT@%$YODL2TXT%g s%@MAKEINFO@%$MAKEINFO%g diff --git a/stepmake/make/out/stepmake.lsm b/stepmake/make/out/stepmake.lsm index a3eaff4e9c..473f164316 100644 --- a/stepmake/make/out/stepmake.lsm +++ b/stepmake/make/out/stepmake.lsm @@ -1,15 +1,15 @@ Begin3 Title: StepMake -Version: 0.1.47 -Entered-date: 02SEP98 +Version: 0.1.49 +Entered-date: 14SEP98 Description: Keywords: music notation typesetting midi fonts engraving Author: janneke@gnu.org (Jan Nieuwenhuizen) hanwen@cs.ruu.nl (Han-Wen Nienhuys) Maintained-by: janneke@gnu.org (Jan Nieuwenhuizen) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 40k stepmake-0.1.47.tar.gz + 40k stepmake-0.1.49.tar.gz Original-site: pcnov095.win.tue.nl /pub/lilypond/development/ - 40k stepmake-0.1.47.tar.gz + 40k stepmake-0.1.49.tar.gz Copying-policy: GPL End diff --git a/stepmake/make/out/stepmake.spec b/stepmake/make/out/stepmake.spec index 358b472c22..ce8c3f9dbb 100644 --- a/stepmake/make/out/stepmake.spec +++ b/stepmake/make/out/stepmake.spec @@ -1,9 +1,9 @@ Name: stepmake -Version: 0.1.47 +Version: 0.1.49 Release: 1 Copyright: GPL Group: Development -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.47.tar.gz +Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.49.tar.gz Summary: generic make package Packager: janneke@gnu.org (Jan Nieuwenhuizen) Buildroot: /tmp/stepmake-install diff --git a/tex/fetdefs.tex b/tex/fetdefs.tex index d00e359195..1f1f6d9b74 100644 --- a/tex/fetdefs.tex +++ b/tex/fetdefs.tex @@ -52,7 +52,7 @@ \font\bracefonteleven = feta-braces16 \font\fingerfonteleven = feta-nummer3 \font\markfonttwentysix = feta-nummer7 -\def\currentsize{eleven} + \def\currentsize{eleven} } \def\sixteenfonts{\fetsixteendefs\cmrsixteen} @@ -61,7 +61,6 @@ \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} diff --git a/tex/lily-debug.tex b/tex/lily-debug.tex new file mode 100644 index 0000000000..295e44f061 --- /dev/null +++ b/tex/lily-debug.tex @@ -0,0 +1,26 @@ + +% debugging stuff +\def\vruler#1{{% + \def\wid{\dimen0}% + \def\inc{\dimen1}% + \wid=#1pt + \inc=\wid + \divide\inc by #1 + \divide\wid by 2 + \here=-\wid + \loop\ifdim\here<\wid\advance\here by\inc + \hbox to0pt{\vbox to0pt{\vss\hrule width2pt height 0.05pt\kern\here}\hss}% + \repeat% +}} +\def\hruler#1#2{\hbox{% + \def\wid{\dimen0}% + \def\here{\dimen3}% + \wid=#1pt + \divide\wid by 2 + \here=-\wid + \loop\ifdim\here<\wid\advance\here by #2 + \hbox to0pt{\kern\here\vrule width0.05pt height 1pt depth 1pt\hss}% + \repeat% +}} + + diff --git a/tex/lilypond-latex.tex b/tex/lilypond-latex.tex new file mode 100644 index 0000000000..1da26f84cd --- /dev/null +++ b/tex/lilypond-latex.tex @@ -0,0 +1,73 @@ +\message{LaTeX definitions} +\def\texsuffix{LaTeX} + +\def\cmrelevenLaTeX{ + \def\settext##1{{\normalfont\tiny ##1}} + \def\setitalic##1{\textit{\tiny ##1}} + \def\setbold##1{\textbf{\tiny ##1}} + \def\setlarge##1{\textbf{\footnotesize ##1}} + \def\setLarge##1{\textbf{\small ##1}} + \def\sethuge##1{\textbf{\normalsize ##1}} +} +\def\cmrthirteenLaTeX{ + \def\settext##1{{\normalfont\scriptsize ##1}} + \def\setitalic##1{\textit{\scriptsize ##1}} + \def\setbold##1{\textbf{\scriptsize ##1}} + \def\setlarge##1{\textbf{\small ##1}} + \def\setLarge##1{\textbf{\normalsize ##1}} + \def\sethuge##1{\textbf{\large ##1}} +} +\def\cmrsixteenLaTeX{ + \def\settext##1{{\normalfont\footnotesize ##1}} + \def\setitalic##1{\textit{\small ##1}} + \def\setbold##1{\textbf{\footnotesize ##1}} + \def\settypewriter##1{\texttt{\normalsize ##1}} + \def\setlarge##1{\textbf{\normalsize ##1}} + \def\setLarge##1{\textbf{\large ##1}} + \def\sethuge##1{\textbf{\Large ##1}} +} +\def\cmrtwentyLaTeX{ + \def\settext##1{{\normalfont ##1}} + \def\setitalic##1{\textit{\normalsize ##1}} + \def\setbold##1{\textbf{\normalsize ##1}} + \def\settypewriter##1{\texttt{\normalsize ##1}} + \def\setlarge##1{\textbf{\large ##1}} + \def\setLarge##1{\textbf{\Large ##1}} + \def\sethuge##1{\textbf{\huge ##1}} +} + +%%%%%%%%UGH + \def\settext#1{{\normalfont #1}} + \def\setitalic#1{\textit{\normalsize #1}} + \def\setbold#1{\textbf{\normalsize #1}} + \def\settypewriter#1{\texttt{\normalsize #1}} + \def\setlarge#1{\textbf{\large #1}} + \def\setLarge#1{\textbf{\Large #1}} + \def\sethuge#1{\textbf{\huge #1}} + + +\def\lilyfooterLaTeX{ +\let\nopagenumbers\relax + %% FIXME + \def\ps@plain{ + \renewcommand{\@oddhead}{}% + \renewcommand{\@evenfoot}{}% + \renewcommand{\@evenhead}{}% + \renewcommand{\@oddfoot}{% + \ifnum\thepage=1{\hfil \LilyIdString}% + \else{% + foo\hfil\the\pageno\hfil}% + \fi}} + \def\ps@empty{ + \renewcommand{\@oddhead}{}% + \renewcommand{\@evenfoot}{}% + \renewcommand{\@evenhead}{}% + \renewcommand{\@oddfoot}{% + \ifnum\thepage=1{\hfil \LilyIdString}% + \else{foo\hfil\the\pageno\hfil}% + \fi}}% +\fi +\nopagenumbers +} + +\def\nolilyfooterLaTeX{} diff --git a/tex/lilypond-plaintex.tex b/tex/lilypond-plaintex.tex new file mode 100644 index 0000000000..8646103bde --- /dev/null +++ b/tex/lilypond-plaintex.tex @@ -0,0 +1,58 @@ +\message{LilyPond Plain TeX settings} + \def\texsuffix{PlainTeX} + +\def\cmrtwentyPlainTeX{ + \font\normaltextfont=cmr10 %\textfont is a primitive + \font\italicfont=cmti10 scaled \magstep1 + \font\boldfont=cmbx10 + \font\largefont=cmbx12 + \font\typewriterfont=cmtt10 + \font\Largefont=cmbx12 scaled \magstep 2 + \font\hugefont=cmbx12 scaled \magstep 3 +} +\def\cmrsixteenPlainTeX{ + \font\normaltextfont=cmr8 %\textfont is a primitive + \font\italicfont=cmti9 + \font\boldfont=cmbx8 + \font\typewriterfont=cmtt9 + \font\largefont=cmbx10 + \font\Largefont=cmbx12 + \font\hugefont=cmbx12 scaled \magstep 2 +} +\def\cmrthirteenPlainTeX{ + \font\normaltextfont=cmr7 + \font\italicfont=cmti7 + \font\boldfont=cmbx7 + \font\largefont=cmbx9 + \font\typewriterfont=cmtt7 + \font\Largefont=cmbx10 + \font\hugefont=cmbx12 +} + +\def\cmrelevenPlainTeX{ + \font\normaltextfont=cmr6 + \font\italicfont=cmti6 + \font\boldfont=cmbx6 + \font\typewriterfont=cmtt6 + \font\largefont=cmbx8 + \font\Largefont=cmbx9 + \font\hugefont=cmbx10 +} + +\def\lilyfooterPlainTeX{ + \footline={\ifnum\pageno=1\smalltextfont\mudelacopyright\hfil \LilyIdString + \else\hfil\the\pageno\hfil\fi}% +} +\advance\hoffset by -.6in + + +\def\settext#1{\normaltextfont #1} +\def\setitalic#1{\italicfont #1} +\def\setbold#1{\boldfont #1} +\def\settypewriter#1{\typewriterfont #1} +\def\setlarge#1{\largefont #1} +\def\setLarge#1{\Largefont #1} +\def\sethuge#1{\hugefont #1} + +\def\nolilyfooterPlainTeX{\nopagenumbers +} diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 3f73f0d079..8f86d3028e 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -22,6 +22,11 @@ \ifundefined{LilyIdString} \def\LilyIdString{Lily was here} \fi +\ifundefined{documentclass} + \input lilypond-plaintex +\else + \input lilypond-latex +\fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % macros to shorten other definitions @@ -55,113 +60,50 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % set fonts and primary dimensions % 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 - \musixcalc + \twentyfonts + \csname cmrtwenty\texsuffix\endcsname + \musixcalc } - \def\cmrtwenty{ - \font\smalltextfont=cmr8 - \font\meterfont=cmbx12 at 15pt - \font\textmusic=cmmi12 -% \font\musicmathfont=cmsy10 %%Not used?? /MB - \ifundefined{documentclass} - \font\normaltextfont=cmr10 %\textfont is a primitive - \font\italicfont=cmti10 scaled \magstep1 - \font\boldfont=cmbx10 - \font\largefont=cmbx12 - \font\typewriterfont=cmtt10 - %\font\Largefont=cmbx14 - \font\Largefont=cmbx12 scaled \magstep 2 - \font\hugefont=cmbx12 scaled \magstep 3 - \else -% \def\settext##1{{\normalfont\normalsize ##1}} - \def\settext##1{{\normalfont ##1}} - \def\setitalic##1{\textit{\normalsize ##1}} - \def\setbold##1{\textbf{\normalsize ##1}} - \def\settypewriter##1{\texttt{\normalsize ##1}} - \def\setlarge##1{\textbf{\large ##1}} - \def\setLarge##1{\textbf{\Large ##1}} - \def\sethuge##1{\textbf{\huge ##1}} - \fi - } - \def\cmrsixteen{ - \font\smalltextfont=cmr6 - \font\meterfont=cmbx12 - \font\textmusic=cmmi10 - \ifundefined{documentclass} - \font\normaltextfont=cmr8 %\textfont is a primitive - \font\italicfont=cmti9 - \font\boldfont=cmbx8 - \font\typewriterfont=cmtt9 - \font\largefont=cmbx10 - \font\Largefont=cmbx12 - \font\hugefont=cmbx12 scaled \magstep 2 - \else - \def\settext##1{{\normalfont\footnotesize ##1}} - \def\setitalic##1{\textit{\small ##1}} - \def\setbold##1{\textbf{\footnotesize ##1}} - \def\settypewriter##1{\texttt{\normalsize ##1}} - \def\setlarge##1{\textbf{\normalsize ##1}} - \def\setLarge##1{\textbf{\large ##1}} - \def\sethuge##1{\textbf{\Large ##1}} - \fi - } - \def\cmrthirteen{ - \font\smalltextfont=cmr6 - \font\meterfont=cmbx9 - \font\textmusic=cmmi9 - \ifundefined{documentclass} - \font\normaltextfont=cmr7 - \font\italicfont=cmti7 - \font\boldfont=cmbx7 - \font\largefont=cmbx9 - \font\typewriterfont=cmtt7 - \font\Largefont=cmbx10 - \font\hugefont=cmbx12 - \else - \def\settext##1{{\normalfont\scriptsize ##1}} - \def\setitalic##1{\textit{\scriptsize ##1}} - \def\setbold##1{\textbf{\scriptsize ##1}} - \def\setlarge##1{\textbf{\small ##1}} - \def\setLarge##1{\textbf{\normalsize ##1}} - \def\sethuge##1{\textbf{\large ##1}} - \fi - } - \def\cmreleven{ - \font\smalltextfont=cmr5 - \font\meterfont=cmbx8 - \font\textmusic=cmmi8 - \ifundefined{documentclass} - \font\normaltextfont=cmr6 - \font\italicfont=cmti6 - \font\boldfont=cmbx6 - \font\typewriterfont=cmtt6 - \font\largefont=cmbx8 - \font\Largefont=cmbx9 - \font\hugefont=cmbx10 - \else - \def\settext##1{{\normalfont\tiny ##1}} - \def\setitalic##1{\textit{\tiny ##1}} - \def\setbold##1{\textbf{\tiny ##1}} - \def\setlarge##1{\textbf{\footnotesize ##1}} - \def\setLarge##1{\textbf{\small ##1}} - \def\sethuge##1{\textbf{\normalsize ##1}} - \fi - } \def\musixsixteendefs{ \sixteenfonts + \csname cmrsixteen\texsuffix\endcsname \musixcalc -} + } \def\musixtwentysixdefs{ - \twentysixfonts - \musixcalc -} + \csname cmrtwentysix\texsuffix\endcsname + \twentysixfonts + \musixcalc + } \def\musixthirteendefs{ \thirteenfonts - \musixcalc + \csname cmrthirteen\texsuffix\endcsname + \musixcalc } \def\musixelevendefs{ + \csname cmreleven\texsuffix\endcsname \elevenfonts \musixcalc } @@ -171,15 +113,15 @@ \def\textflat{\raise.2ex\hbox{\textmusic\char"5B}} - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % do derivative calcs % this has to be synced with the font definition \def\musixcalc{ \staffheight=\mudelapaperbarsize pt - \interlinedist=\staffheight + + % ugh. Can extract ex dim from TFM + \interlinedist=\staffheight \divide\interlinedist by 4 \notewidth=\mudelapapernotewidth pt @@ -190,10 +132,7 @@ \stemthickness=\staffrulethickness } -% stacked numbers; may be overruled in fetdefs -\def\generalmeter#1#2{\vbox to 0pt{\vss\hbox{\meterfont - #1}\nointerlineskip - \hbox{\meterfont #2}\vss}} + % stacked horizontal lines @@ -230,30 +169,6 @@ \def\startrepeat{\repeatstartbar} \def\repeatbarstartrepeat{\repeatstopstart} -\def\vruler#1{{% - \def\wid{\dimen0}% - \def\inc{\dimen1}% - \wid=#1pt - \inc=\wid - \divide\inc by #1 - \divide\wid by 2 - \here=-\wid - \loop\ifdim\here<\wid\advance\here by\inc - \hbox to0pt{\vbox to0pt{\vss\hrule width2pt height 0.05pt\kern\here}\hss}% - \repeat% -}} -\def\hruler#1#2{\hbox{% - \def\wid{\dimen0}% - \def\here{\dimen3}% - \wid=#1pt - \divide\wid by 2 - \here=-\wid - \loop\ifdim\here<\wid\advance\here by #2 - \hbox to0pt{\kern\here\vrule width0.05pt height 1pt depth 1pt\hss}% - \repeat% -}} - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % parametric symbols %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -299,15 +214,6 @@ %\let\rulesym\tinyrulesym %\let\rulesym\openrulesym -\ifundefined{documentclass} - \def\settext#1{\normaltextfont #1} - \def\setitalic#1{\italicfont #1} - \def\setbold#1{\boldfont #1} - \def\settypewriter#1{\typewriterfont #1} - \def\setlarge#1{\largefont #1} - \def\setLarge#1{\Largefont #1} - \def\sethuge#1{\hugefont #1} -\fi % the interline symbol. Redefine to remove it. \def\defaultlineseparator{\vbox{\mussepline\vskip -5pt\mussepline}} \def\lineseparator{\defaultlineseparator} @@ -321,38 +227,13 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\postheader{} - - - -\ifundefined{documentclass}% -% \ifundefined{nolilyfooter} -% Can't nest \ifundefined ?? - \footline={\ifnum\pageno=1\smalltextfont\mudelacopyright\hfil \LilyIdString - \else\hfil\the\pageno\hfil\fi}% - \advance\hoffset by -.6in - % \fi% +% +% macros suck. \ifundefined{nolilyfooter} gives wierd errors from time +% to time. +\ifx\csname nolilyfooter\endcsname\relax + \message{footer defined}% + \csname lilyfooter\texsuffix\endcsname \else -\let\nopagenumbers\relax - %% FIXME - \def\ps@plain{ - \renewcommand{\@oddhead}{}% - \renewcommand{\@evenfoot}{}% - \renewcommand{\@evenhead}{}% - \renewcommand{\@oddfoot}{% - \ifnum\thepage=1{\hfil \LilyIdString}% - \else{% - foo\hfil\the\pageno\hfil}% - \fi}} - \def\ps@empty{ - \renewcommand{\@oddhead}{}% - \renewcommand{\@evenfoot}{}% - \renewcommand{\@evenhead}{}% - \renewcommand{\@oddfoot}{% - \ifnum\thepage=1{\hfil \LilyIdString}% - \else{foo\hfil\the\pageno\hfil}% - \fi}}% + \message{page empty!} + \csname nolilyfooter\texsuffix\endcsname \fi -\nopagenumbers - -% debugging stuff: -% \vbox to 0pt{\vskip .5cm \hruler{48}{3pt}\vss} diff --git a/tex/mudela-book.tex b/tex/mudela-book.tex index 5df5c77a4d..20a7eb0e62 100644 --- a/tex/mudela-book.tex +++ b/tex/mudela-book.tex @@ -32,3 +32,4 @@ \def\turnOnPostScript{} % generates par \def\interscoreline{} +\def\nolilyfooter{} -- 2.39.2