From: fred Date: Tue, 26 Mar 2002 21:25:36 +0000 (+0000) Subject: lilypond-1.0.8 X-Git-Tag: release/1.5.59~2900 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=5beff739d36abac7157475038d5f9b5126a143c7;p=lilypond.git lilypond-1.0.8 --- 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/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/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/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/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/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/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/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/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/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/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_II_Sinfonia.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly new file mode 100644 index 0000000000..ce919822dc --- /dev/null +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly @@ -0,0 +1,341 @@ +\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)"; + composer = "Johann Sebastian Bach (1685-1750)"; + enteredby = "Tom Cato Amundsen"; + copyright = "Public Domain"; +} + +\version "1.0.2"; + +global = \melodic { + \time 4/4; + \key es; + \skip 1*7; + \bar "||"; + \skip 1*22; + \time 3/4; + \skip 2.*62; + \bar "|."; +} + +hoyreOpp = \melodic\relative c'' { + \stemup + 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] + \type Staff < + { \stemup e4 } + { \stemup \property Voice.hshift = 1 [des16 c32 bes c16. g32] } + > +%4 + f4 \stemboth r16 [f g. as32] \stemup d,4 r16 [d g. es32] | + c4 ~ [c32 es des c des16. f32] [b,16. c32 b16. c32] d4 ~ | + d2 ~ [d16. g,32 a16. b32] [c16. | + <[es8. c> + \type Staff < + { \stemup fis4 } + { \stemup \property Voice.hshift = 1 [es16 d32 c d16. a32] } + > g2 +} + +hoyreNed = \melodic\relative c'' { + \clef violin; + \stemdown + r16 [c b. c32] d4 r16 [d d. es32] | + [f8. f16] f8 r r16 [es16 es. f32] | + r16 [g16 g16. as32] [bes8. bes16] bes8 r | + r16 s16*3 r16 [f, f. g32] g4 | +%5 + r16 [es es. f32] f4 [g16. a32 g16. a32] b4 ~ | + [b8. d,16] [f8. as16] [g16. f32 es16. d32] [es16. d32 es16. f32] | + g4 r +} + +venstreOpp = \melodic\relative c' { + \clef bass; + \stemup + r r | + r r | + r r | + r r16 <[as d,> | +%5 + r16 <[g c,> + \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{ + \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_"tr" g r16 [d' d. es32] | + \type Staff < + { \stemdown \property Voice.hshift = 1 [f8. f16] [b,8. b16] g4 r | } + { \stemdown s4 g} + > + r g g2 +} + +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] + [as'32 g f e f8~] [f32 g as g f es d es] | + [f es d c bes16 as~] [as c8 bes16] + [g'32 f es d es8~] [es32 f g f es d c b] +%12 + \stemboth + [c bes as g f16 es'~] [es d32 c es d c b] + [c d es f g16 c,~] [c b32 c d c b c] | + [as'32 g f e f16 des~] [des c32 des es des c des] + [g f es d es16 c~] [c b32 c d c b c] +%14 + [f c b a b16 d] [f32 bes, as g as16 c] + [f32 as, g f g8~] [g32 f' g as g16 f] | + [g16 b,8 c16~] [c16 bes32 as g f es d] [es g f es f es d es] [d8 c] | +%16 + r8 g'~ [g32 as g f g16 as] [bes16 d es8~] [es32 bes es f g16 es] | + [des16 c f8~] [f32 c f g as16 f] [es c d8~] [d32 f g as bes as g as] | +%18 + [bes32 as g16~] [g32 f e16~] [e32 d c16~] [c32 g' as bes] + [as g f16~] [f32 es des16~] [des32 c bes16] [bes32 f' g as] | +%19 + [g f e f bes f e f] [as f e f g f e f] f4~ [f32 es d es f d es f] | + [bes,32 d f g as8~] [as32 g f as g f es d] + [es bes es f g8~] [g32 f es g f es d c] | +%21 + [c'32( a g )fis es16 d~] [d32 g a bes cis,16 d] ~ + [d32 fis g a c, es d c] [fis d e fis g a bes c] | +%22 + [bes32 a g fis ~ fis16 g~] [g d8 es16~] + [es16 b8 c16~] [c32 bes as g as16 c] +%23 + [fis,32 es' d c bes'16. a32] [g8( )fis16.-\prall g32] g4~ + [g32 f g as g f es d ] | + [f32 es d c g'8~] [g32 es f g f es d c] [es d c bes g'8~] + [g32 d es f es d c bes] | +%25 + [d c bes a g'8~] [g32 c, d es d c bes a] [c bes a g g'8~] + [g32 bes, c d c bes a g] | + 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 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 < + { \stemup + [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{ +%8 + [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] | +%14 + [d f] [as c,] [b d] [g d] | + [es as,] [f g] c,4~ [c16 d32 es f g a b] | + [c8 c'] [bes as] [g bes] [g es] | + [as c] [as f] [bes as] [g f] | + [e g] [c e,] [f as] [f des] | + [bes g] [c c,] [f16 g32 as bes c d e] [f8 es] | + [d f] [d bes] [g' bes] [es, g] | + [a, fis'] [g g,] [d' a'] [c d,] | +%22 + [g a] [bes b] [c d] [es c] | + [a g] [d' d,] [g a] [b g] | + [c es] [c a] [bes d] [bes g] | + [a c] [a fis] [g bes] [g es] | +%26 + [c16 d32 es f g as bes] [c16 c, c'8~] [c32 c, d es f g as bes][c16 c, c'8~]| + [c c,] [bes bes'] [fis d] [g es] | + \type Staff < + { \stemup r | + cis4~ [cis8. cis16] [d8 c16 bes] + \type Staff < + { \stemup [a bes c8] } + { \stemdown a4 } > + | } + { \slurdown \stemdown cis,4 r d2( | )d1 \slurboth } + > +} + +allegroEn = \melodic\relative c''{ +%30 + [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] | + c4~ [c16 d e f] [g as bes g] | + [e8 des'~] [des16 g, as bes] [as g f e] | + [f g as8~] [as16 g f es] [d c d f] | +%37 + [es f g8~] [g16 f es d] [c b c es] | + [d as' d, c] [d es f g] [ f es d c] | + [b g' f es] [d f d c] [b d b a] | + [g a b c] [d c b c] [d es f d] | + [b c d es] [f as g f] [es d c b] | + [c d es c] [a8 c] [f, es'] | +%43 + [bes16 c d bes] [g8 bes] [es, d'] | + [a16 bes c a] [fis8 a] [d, c'] | + [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] +%49 + [bes a g a] [bes8 c d es] | + [f16 es d c] [bes f' c bes] [as f' bes, as] | + [g16 f es f] [g8 a b c] | + [d16 c b a] [g d' as g] [f d' g, f] | + [es c' g f] [es f g as] [g c g f] | + [es c' g f] [es f g as] [g c g f] +%55 + [e bes' g f] [e f g as] [g bes g f] | + [e bes' g f] [e g bes des] [c bes as g]| + [as f' c bes] \stemup [as bes c des] [ c f c bes] | + [as f' c bes] \stemboth [as bes c des] [c f c bes] | + [a es' c bes] \stemup [a bes c des] [c es c bes] | + [a es' c bes] \stemboth [a c es ges] [f es des c] | +%61 + [des8 bes c des es des] | + [c as bes c des c] [bes as bes g as bes] | + [e,16 d c d] [e8 f g as] | + [bes16 as g as] [bes8 c] [des g,] | + [bes e,] [g c,] [c'16 bes as g] +%67 + [as g f8~] [f16 as g f] [es d c bes] | + [g' f es8~] [es16 g f es] [d c b c] | + [f es d8~] [d16 f es d] [c b a g] | + [es' f g8~] [g f16 es] [d a' b c] | + [d c b c] [d g f es] [d c b a] | + g4~ [g16 a b c] [d es f d] +%73 + [b8 as'~] [as16 d, es f] [es d c b] | + c4~ [c16 g' des c] [bes es bes as] | + [g as bes c] [des8 bes] g'4~ | + [g8 c,16 bes] [as f' bes, as] [g des' g, f] | + [e f g as] [bes8 g] [e'.-\prallprall d32 e] | +%78 + [f8 f,16 g] [as8 bes c d] | + [es16 d c d] [es8 f g as] | + [b,16 g' d c] \stemup [b c d es] [d g d c] | + [b g' d c] [b c d es] [d g d c] | + [b f' d c] [b c d es] [d f d c] | + [b f' d c] [b d f as] [g f es d] | +%84 + [es f g es] [c g' f es] [d c bes as] | + \stemboth [g as bes8~] [bes16 c bes as] [g f e d] | + [c g' c, bes] [c d e f] [es g c, bes] | + [c g' f e] [f c f g] [as bes c d] | [es d c d] [es8 f16 g] [as8 des,] | + [f b,] [d g,] [g'16 f es d] | + \type Staff < + { \stemup [es8. c16] c4 ~ [b8.-\prall c16] | c2-\fermata } + { \stemdown r8 r16 | } + > +} +allegroTo = \melodic\relative c'{ + \clef bass; +%30 + \type Staff < + { \stemup r r4 r } + { \stemdown g,8 r8 r4 r } + > + r2. | r2. | + \clef treble; r8 [c16 d] [es8 f] [g as] | + [bes16 as g as][bes8 c] [des g,] + [bes e,][g c,][c'16 bes as g] | [as8 f g as][bes as] | + [g es f g as g] | [f es f d es f] | [g g,16 a] [b8 c] [d es] | + [f16 es d es][f8 g][as d,] | + [f b,][d g,][g'16 f es d] | \clef bass; + [es d c8~][c16 es d c][bes a g f] | +%43 + [d' c bes8~][bes16 d c bes][a g fis g] | + [c bes a8~][a16 c bes a][g fis e d] | [bes'8 d][g, bes][e, cis'] | + [d8 d,~][d c16 bes][a g fis e] | d4~ [d16 e fis g][a bes c a] +%48 + [fis8 es'~][es16 a, bes c][bes a g fis] | + g4 r16 [g' as bes][as g f es] | [d8 f][d bes][c d] | + [es es,] r16 [es' f g][f es d c] | [b8 d][b g][a b] | + [c c,] r16 [d''16 es f][es8 d] | [c c,] r16 [as' bes c][bes8 as] | + [g c,] r16 [d' e f][e8 d] | [c c,] r16 [d e f][e8 c] +%57 + [f f,] \stemdown \translator Staff = treble r16 [g'' as bes][as8 g] | + [f \stemboth \translator Staff = bass f,] r16 [des'16 es f][es8 des] | + [c f,] \stemdown \translator Staff = treble r16 [g' a bes][a8 g] | + [f \stemdown \translator Staff = bass f,] \stemboth r16 [g a bes][a8 f] | + [bes16 c des8~][des16 c bes as][g f g bes] | +%62 + [as bes c8~][c16 bes as g][f e f as] | + [g des' g, f][g as bes c][bes as g f] | + [c'8 bes16 as][g c bes as][g f e d] | + c4~ [c16 d e f][g as bes g] | + [e8 des'~][des16 g, as bes][as g f e] | +%67 + [f g as f][d8 f][bes, as'] | + [es16 f g es][c8 es][as, g'] | + [d16 es f d][b8 d][g, f'] | + [c16 d es c][as c g c][fis, es' d c] | + [b a g a][b8 c d es] | + [f16 es d es][f8 g as d,] | +%73 + [f b,][d g,][g'16 f es d] | + [es d c d][es8 f g as] | + [bes16 as g f][es bes' f es][des bes' es, des] | + [c bes as bes][c8 d e f] | + [g16 f e d][c g' des c][bes g' c, bes] | + [as f' as, g][f c' des g,][a es' f b,] +%79 + [c f es d][c g' as d,][es b' c f,] | + [g8 g,] \stemdown \translator Staff = treble r16 [a'' b c][b8 a] | + [g \translator Staff = bass g,] \translator Staff = treble + r16 [es' f g][f8 es] | + [d \stemboth \translator Staff = bass g,] r16 [a b c][b8 a] | + [g8 g,] \stemdown \translator Staff = treble r8 [g''16 f][es d c b] | + [c8 \stemboth \translator Staff = bass c,16 d][es8 f g as] | + [bes16 as g as][bes8 c des g,] | +%86 + [bes e,][g c,][c'16 bes as g] | as4~ [as16 bes as g][f g as f] | + [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 +} + +\score { + \type GrandStaff < + \type Staff = treble < + \global + { \hoyreOpp \andanteEn \allegroEn } + \hoyreNed + > + \type Staff = bass < + \global + { \venstreOpp \andanteTo \allegroTo } + \venstreNed + > + > + \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/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% +}} + +