From: fred Date: Tue, 26 Mar 2002 22:41:45 +0000 (+0000) Subject: lilypond-1.2.14 X-Git-Tag: release/1.5.59~2050 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=4f52434e393034fe3039135a531396b1ed0afbd4;p=lilypond.git lilypond-1.2.14 --- diff --git a/TODO b/TODO index bb0eb7d535..f2df107e6c 100644 --- a/TODO +++ b/TODO @@ -12,6 +12,8 @@ Grep -i for TODO, FIXME and ugh/ugr/urg. . * use Rhythmic_head::position_i () for all Staff_referenced . * .po -> .pot. . * setting indent to 0 with \shape fails +. * ly2dvi : don't repeat opus if same. +. * breaks before mmrests are favored. . * hara kiri _8 clef. . * junk -M ? . * mudela-book doco diff --git a/lily/auto-change-iterator.cc b/lily/auto-change-iterator.cc index 4a52caeeb4..7b4b7b1450 100644 --- a/lily/auto-change-iterator.cc +++ b/lily/auto-change-iterator.cc @@ -78,10 +78,10 @@ Auto_change_iterator::do_process_and_next (Moment m) { Musical_pitch p = spanish_inquisition.pitch_arr_[0]; Direction s = Direction (sign(p.steps ())); - if (s && s != where_dir_) + if (s != where_dir_) { where_dir_ = s; - String to_id = (s > 0) ? "up" : "down"; + String to_id = (s >= 0) ? "up" : "down"; Auto_change_music const * auto_mus = dynamic_cast (music_l_); change_to (it, auto_mus->what_str_, to_id); diff --git a/lily/break-algorithm.cc b/lily/break-algorithm.cc index 51486412c9..fd5955fc38 100644 --- a/lily/break-algorithm.cc +++ b/lily/break-algorithm.cc @@ -7,7 +7,7 @@ */ #include "score-column.hh" -#include "break.hh" +#include "break-algorithm.hh" #include "paper-def.hh" #include "debug.hh" #include "line-of-score.hh" @@ -57,12 +57,13 @@ Break_algorithm::find_breaks () const } -Line_spacer* +Simple_spacer* Break_algorithm::generate_spacing_problem (Line_of_cols curline, Interval line) const { - Line_spacer * sp = new Simple_spacer; - - sp->default_space_f_ = pscore_l_->paper_l_->get_var ("loose_column_distance"); + Simple_spacer * sp = new Simple_spacer; + Paper_def * d = pscore_l_->paper_l_; + sp->compression_energy_factor_f_ = d->get_var ("compression_energy_factor"); + sp->default_space_f_ = d->get_var ("loose_column_distance"); sp->indent_f_ = line[LEFT]; @@ -77,7 +78,7 @@ Break_algorithm::generate_spacing_problem (Line_of_cols curline, Interval line) sp->line_len_f_ = line.length (); sp->add_columns (curline); - sp->prepare (); + return sp; } @@ -85,7 +86,6 @@ Break_algorithm::generate_spacing_problem (Line_of_cols curline, Interval line) Break_algorithm::Break_algorithm () { pscore_l_ = 0; - get_line_spacer =0; linelength = 0; } diff --git a/lily/column-x-positions.cc b/lily/column-x-positions.cc index 4ac09b029c..91c616fcb0 100644 --- a/lily/column-x-positions.cc +++ b/lily/column-x-positions.cc @@ -7,9 +7,9 @@ */ #include "column-x-positions.hh" +#include "simple-spacer.hh" // ugh #include "real.hh" #include "debug.hh" -#include "line-spacer.hh" Column_x_positions::Column_x_positions() { @@ -38,32 +38,10 @@ Column_x_positions::print() const #endif } -void -Column_x_positions::OK() const -{ -#ifndef NDEBUG - assert (config_.size() == cols_.size ()); -#endif -} -void -Column_x_positions::stupid_solution() -{ - // set_stupid_solution (spacer_l_->default_solution()); -} -void -Column_x_positions::solve_line() -{ - spacer_l_->solve (this); -} -void -Column_x_positions::approximate_solve_line() -{ - spacer_l_->lower_bound_solution (this); -} diff --git a/lily/gourlay-breaking.cc b/lily/gourlay-breaking.cc index 562d06391e..533092aeee 100644 --- a/lily/gourlay-breaking.cc +++ b/lily/gourlay-breaking.cc @@ -12,7 +12,7 @@ #include "paper-column.hh" #include "paper-score.hh" #include "paper-def.hh" -#include "line-spacer.hh" +#include "simple-spacer.hh" #include "killing-cons.tcc" @@ -33,7 +33,7 @@ struct Break_node { */ int line_i_; - Real energy_f_; + Real demerits_f_; Column_x_positions line_config_; Break_node () @@ -57,7 +57,8 @@ Gourlay_breaking::do_solve () const Break_node first_node ; first_node.prev_break_i_ = -1; - first_node.line_config_.energy_f_ = 0; + first_node.line_config_.force_f_ = 0; + first_node.line_config_.energy_f_ = 0; first_node.line_i_ = 0; optimal_paths[0] = first_node; @@ -65,19 +66,21 @@ Gourlay_breaking::do_solve () const for (; break_idx< breaks.size (); break_idx++) { - Array candidates; - Array candidate_lines; - Cons_list spacer_p_list; - /* start with a short line, add measures. At some point the line becomes infeasible. Then we don't try to add more */ + int minimal_start_idx = -1; + Column_x_positions minimal_sol; + Real minimal_demerits = infinity_f; + for (int start_idx = break_idx; start_idx--;) { +#if 0 if (break_idx - start_idx > max_measures_i_) break; - +#endif + if (optimal_paths[start_idx].prev_break_i_ < 0 && optimal_paths[start_idx].line_config_.energy_f_) continue; @@ -92,78 +95,55 @@ Gourlay_breaking::do_solve () const if (!feasible (line)) break; - Column_x_positions approx; - approx.cols_ = line; - - approx.spacer_l_ = generate_spacing_problem (line, - pscore_l_->paper_l_->line_dimensions_int (optimal_paths[start_idx].line_i_)); - spacer_p_list.append (new Killing_cons (approx.spacer_l_,0)); - - approx.approximate_solve_line (); - - if (approx.energy_f_ > energy_bound_f_) - { - continue; - } - - // this is a likely candidate. Store it. - candidate_lines.push (approx); - candidates.push (start_idx); - } + Column_x_positions cp; + cp.cols_ = line; + + Interval line_dims + = pscore_l_->paper_l_->line_dimensions_int (optimal_paths[start_idx].line_i_); + Simple_spacer * sp = generate_spacing_problem (line, line_dims); + sp->solve (&cp); + delete sp; + + if (!cp.satisfies_constraints_b_) + break; - - int minimal_j = -1; - Real minimal_energy = infinity_f; - for (int j=0; j < candidates.size (); j++) - { - int start = candidates[j]; - if (optimal_paths[start].line_config_.energy_f_ - + candidate_lines[j].energy_f_ > minimal_energy) - - continue; + Real this_demerits + = combine_demerits (optimal_paths[start_idx].line_config_, cp) + + optimal_paths[start_idx].demerits_f_; - if (!candidate_lines[j].satisfies_constraints_b_) + if (this_demerits < minimal_demerits) { - candidate_lines[j].solve_line (); - } - - Real this_energy - = optimal_paths[start].line_config_.energy_f_ - + candidate_lines[j].energy_f_ ; - - if (this_energy < minimal_energy) - { - minimal_j = j; - minimal_energy = this_energy; + minimal_start_idx = start_idx; + minimal_sol = cp; + minimal_demerits = this_demerits; } } - if (minimal_j < 0) + if (minimal_start_idx < 0) { optimal_paths[break_idx].prev_break_i_ = -1; optimal_paths[break_idx].line_config_.energy_f_ = infinity_f; } else { - optimal_paths[break_idx].prev_break_i_ = candidates[minimal_j]; - optimal_paths[break_idx].line_config_ = candidate_lines[minimal_j]; - optimal_paths[break_idx].line_i_ = - optimal_paths[optimal_paths[break_idx].prev_break_i_].line_i_ + 1; + optimal_paths[break_idx].prev_break_i_ = minimal_start_idx; + optimal_paths[break_idx].line_config_ = minimal_sol; + optimal_paths[break_idx].demerits_f_ = minimal_demerits; + optimal_paths[break_idx].line_i_ = + optimal_paths[minimal_start_idx].line_i_ + 1; } if (! (break_idx % HAPPY_DOTS_I)) *mlog << "[" << break_idx << "]" << flush; - - spacer_p_list.junk (); } + /* do the last one */ if (break_idx % HAPPY_DOTS_I) *mlog << "[" << break_idx << "]"; *mlog << endl; Array final_breaks; - Array lines; /* skip 0-th element, since it is a "dummy" elt*/ @@ -197,7 +177,16 @@ Gourlay_breaking::Gourlay_breaking () void Gourlay_breaking::do_set_pscore () { - energy_bound_f_ = pscore_l_->paper_l_->get_var ("gourlay_energybound"); max_measures_i_ =int (rint (pscore_l_->paper_l_->get_var ("gourlay_maxmeasures"))); } + +/* + TODO: uniformity parameter to control rel. importance of spacing differences. + */ +Real +Gourlay_breaking::combine_demerits (Column_x_positions const &prev, + Column_x_positions const &this_one) const +{ + return abs (this_one.force_f_) + abs (prev.force_f_ - this_one.force_f_); +} diff --git a/lily/include/break-algorithm.hh b/lily/include/break-algorithm.hh new file mode 100644 index 0000000000..e0548adf9e --- /dev/null +++ b/lily/include/break-algorithm.hh @@ -0,0 +1,65 @@ +/* + break-algorithm.hh -- declare Break_algorithm + + source file of the GNU LilyPond music typesetter + + (c) 1996, 1997--1999 Han-Wen Nienhuys +*/ + + +#ifndef BREAK_HH +#define BREAK_HH +#include "array.hh" +#include "interval.hh" +#include "lily-proto.hh" +#include "column-x-positions.hh" + + +/** Class representation of an algorithm which decides where to put + the column, and where to break lines. + + TODO: A "parindent", caching of breakpoints + + */ +class Break_algorithm { +protected: + + Paper_score *pscore_l_; + Real linelength; + + /// search all pcols which are breakable. + Line_of_cols find_breaks() const; + + Array find_break_indices() const; + + + /// helper: solve for the columns in #curline#. + void solve_line (Column_x_positions*) const; + + /// helper: approximate the energyv + void approximate_solve_line (Column_x_positions*) const; + + /// does curline fit on the paper? + bool feasible (Line_of_cols) const; + + + Simple_spacer* generate_spacing_problem (Line_of_cols, Interval) const; + + virtual Array do_solve() const=0; + virtual void do_set_pscore(); + +public: + + Simple_spacer* (*get_line_spacer)(); + + Break_algorithm(); + void set_pscore (Paper_score*); + + /// check if the spacing/breaking problem is well-stated + void problem_OK() const; + void OK() const; + Array solve() const; +}; + +#endif // BREAK_HH + diff --git a/lily/include/column-x-positions.hh b/lily/include/column-x-positions.hh index 2807eca851..1048751401 100644 --- a/lily/include/column-x-positions.hh +++ b/lily/include/column-x-positions.hh @@ -13,20 +13,15 @@ typedef Link_array Line_of_cols; struct Column_x_positions { - Line_spacer * spacer_l_; + Simple_spacer * spacer_l_; Line_of_cols cols_; Array config_; + Real force_f_; Real energy_f_; bool satisfies_constraints_b_; - void OK() const; ~Column_x_positions(); - void solve_line(); - void approximate_solve_line(); - /** generate a solution with no regard to idealspacings or - constraints. should always work */ - void stupid_solution(); Column_x_positions(); void add_paper_column (Paper_column*c); void print() const; diff --git a/lily/include/gourlay-breaking.hh b/lily/include/gourlay-breaking.hh index 98c3294bf3..fd8fe4b37c 100644 --- a/lily/include/gourlay-breaking.hh +++ b/lily/include/gourlay-breaking.hh @@ -10,19 +10,20 @@ #ifndef GOURLAY_BREAKING_HH #define GOURLAY_BREAKING_HH -#include "break.hh" +#include "break-algorithm.hh" /** A dynamic programming solution to breaking scores into lines */ struct Gourlay_breaking : public Break_algorithm { - Real energy_bound_f_ ; + Real energy_bound_f_ ; /// maximum number of measures in a line - int max_measures_i_; - void do_set_pscore(); - Array do_solve() const; - Gourlay_breaking(); + int max_measures_i_; + void do_set_pscore(); + Array do_solve() const; + Gourlay_breaking(); + Real combine_demerits (Column_x_positions const&,Column_x_positions const&) const; }; #endif // GOURLAY_BREAKING_HH diff --git a/lily/include/lily-proto.hh b/lily/include/lily-proto.hh index 7d4a55efd6..d3c177c2a6 100644 --- a/lily/include/lily-proto.hh +++ b/lily/include/lily-proto.hh @@ -113,7 +113,7 @@ struct Lily_stream; struct Line_group_engraver; struct Line_of_score; struct Line_of_staff; -struct Line_spacer; +struct Simple_spacer; struct Linestaff; struct Local_key; struct Local_key_engraver; diff --git a/lily/include/simple-spacer.hh b/lily/include/simple-spacer.hh index 80f7a32904..712349d878 100644 --- a/lily/include/simple-spacer.hh +++ b/lily/include/simple-spacer.hh @@ -11,7 +11,7 @@ #define SIMPLE_SPACER_HH #include "parray.hh" -#include "line-spacer.hh" +#include "lily-proto.hh" struct Spring_description @@ -59,17 +59,20 @@ struct Spring_description Perhaps this is not a bad thing, because the 1st looks better anyway. */ -struct Simple_spacer: public Line_spacer +struct Simple_spacer { Array springs_; + Real force_f_; + Real indent_f_; + Real line_len_f_; + Real default_space_f_; + Real compression_energy_factor_f_; Simple_spacer (); - virtual void solve (Column_x_positions *) const; - virtual void lower_bound_solution (Column_x_positions *) const; - virtual void add_columns (Link_array); - + void solve (Column_x_positions *) const; + void add_columns (Link_array); void my_solve_linelen (); void my_solve_natural_len (); Real active_springs_stiffness () const; diff --git a/lily/sequential-music-iterator.cc b/lily/sequential-music-iterator.cc index acaa17fc2b..58e0405175 100644 --- a/lily/sequential-music-iterator.cc +++ b/lily/sequential-music-iterator.cc @@ -79,7 +79,8 @@ Sequential_music_iterator::~Sequential_music_iterator() { if (iter_p_) { - music_l_->warning (_ ("Must stop before this music ends")); + if (iter_p_->ok ()) + music_l_->warning (_ ("Must stop before this music ends")); delete iter_p_; iter_p_ = 0; } diff --git a/lily/stem.cc b/lily/stem.cc index d7bb59dbd2..aef8245546 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -270,6 +270,7 @@ Stem::do_pre_processing () TODO: more advanced: supply height of noteheads as well, for more advanced spacing possibilities */ + void Stem::set_spacing_hints () { diff --git a/ly/property.ly b/ly/property.ly index dae72e4540..351e34d008 100644 --- a/ly/property.ly +++ b/ly/property.ly @@ -139,4 +139,8 @@ endincipit = \notes{ } autoBeamOff = \property Voice.noAutoBeaming = "1" -autoBeamOn = \property Voice.noAutoBeaming = "" +autoBeamOn = \property Voice.noAutoBeaming = "" + + +emptyText = \property Voice.textEmptyDimension = "1" +fatText = \property Voice.textEmptyDimension = "" diff --git a/ly/textscripts.ly b/ly/textscripts.ly index f563177719..92cb7f4e4e 100644 --- a/ly/textscripts.ly +++ b/ly/textscripts.ly @@ -12,7 +12,9 @@ f = \textscript "e" "dynamic" % see feta-din layout ff = \textscript "ff" "dynamic" fff = \textscript "fff" "dynamic" fp = \textscript "fp" "dynamic" +cresc = \textscript "cresc." "italic" sf = \textscript "sf" "dynamic" +sfp = \textscript "sfp" "dynamic" sff = \textscript "sff" "dynamic" sfz = \textscript "sfz" "dynamic" fz = \textscript "fz" "dynamic" diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index c53c16de08..2733a9d9bc 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -14,6 +14,18 @@ Prereq: tetex %description @BLURB@ +%package documentation +Summary: Prebuilt website containing all LilyPond documentation. +Group: Applications/Publishing + +%description documentation +@BLURB@ + +The documentation package is rather big, due to the many pictures and +different documentation formats. It is really a rip-off from the +LilyPond website. If you have direct internet access, you may always +read the documentation documentation there: http://www.lilypond.org. + %prep %setup %build @@ -21,17 +33,17 @@ Prereq: tetex make all ln -s /usr/share/texmf/fonts/tfm/public/cm/ tfm +# urg +# %build documentation +# line 42: second %build +# ok, now make sure that lilypond package will succeed, +# even if documentation fails to build make -C Documentation || true make htmldoc || true - %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc -mkdir htmldocs -tar -C htmldocs -xzf out/htmldoc.tar.gz -mkdir -p out/examples/ -tar -cf - input/ | tar -C out/examples/ -xf- strip lily/out/lilypond midi2ly/out/midi2ly make prefix="$RPM_BUILD_ROOT/usr" install @@ -41,6 +53,15 @@ mkdir -p $RPM_BUILD_ROOT/etc/profile.d cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT/etc/profile.d/lilypond.sh cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT/etc/profile.d/lilypond.csh +# urg +#%install documentation +#line 63: second %install +# again, make sure that main package installs even if doco fails +mkdir -p htmldocs +tar -C htmldocs -xzf out/htmldoc.tar.gz +mkdir -p out/examples/ +tar -cf - input/ | tar -C out/examples/ -xf- + %post touch /tmp/.lilypond-install @@ -54,18 +75,9 @@ fi %files -%doc htmldocs/ -%doc out/examples/ -%doc mutopia/ - - # hairy to hook it in (possibly non-existing) emacs %doc mudela-mode.el -# this gets too messy... -# %doc input/*.ly -# verbatim include of input: list the directory without issuing a %dir - /usr/bin/abc2ly /usr/bin/convert-mudela /usr/bin/mudela-book @@ -81,3 +93,10 @@ fi /usr/share/locale/*/LC_MESSAGES/lilypond.mo /etc/profile.d/lilypond.* +%files documentation +# this gets too messy... +# %doc input/*.ly +# verbatim include of input: list the directory without issuing a %dir +%doc htmldocs/ +%doc out/examples/ +%doc mutopia/ diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly index 79ee1ae87a..7d36bb4cb5 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly @@ -1,9 +1,8 @@ \header{ filename = "preludes-1.ly"; -% urg? -%opus = "BWV 924"; -% piece = "1"; -% blz 1 +% +% page 1 +% % Clavierb"uchlein f"ur W. Fr. Bach % Clav. W. Fr. Bach: 2-Praeambulum I % ca 1720 @@ -124,10 +123,8 @@ global = \notes{ > > \paper{ - \include "preludes-paper.ly"; % no slur damping slur_slope_damping = 10.0; - gourlay_maxmeasures = 4.0; } \midi{ \tempo 4 = 80; } \header { diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly index 7a73c477d8..21c88c4178 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly @@ -1,8 +1,9 @@ \header{ filename = "preludes-2.ly"; -% blz 10 +% +% page 10 % -% Six Petits Pr eludes +% Six Petits Preludes % Collection Johann Peter Kellner % ca 1703- 1707 composer = "Johann Sebastian Bach (1685-1750)"; @@ -112,8 +113,6 @@ global = \notes{ > > \paper{ - \include "preludes-paper.ly"; - gourlay_maxmeasures = 4.0; } \midi{ \tempo 4 = 100; } \header { diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-3.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-3.ly new file mode 100644 index 0000000000..46cf6561d5 --- /dev/null +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-3.ly @@ -0,0 +1,184 @@ +%{ + + Six Petits Preludes, + Collection Johann Peter Kellner + ca 1703 - 1707 + + + + Kellner was a student of Bach's. + +%} +\header{ + copyright = "public domain"; + source = "Ed. Henry Lemoine Urtext"; + title = "Pr\\\"aludum in C moll"; + subtitle = "f\\\"ur Laute"; + composer = "Johann Sebastian Bach (1685-1750)"; + enteredby = "jcn,hwn"; + copyright = "public domain"; + + % mutopia headers. + mutopiatitle = "Prelude"; + mutopiacomposer = "J.S.Bach"; + mutopiaopus = "BWV999"; + mutopiainstrument = "Piano"; + style = "baroque"; + copyright = "Public Domain"; + tagline = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Jan Nieuwenhuizen.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"; + maintainer = "janneke@gnu.org"; + lastupdated = "1999/Oct/16"; + +} +%{ + +TODO: this file needs additional layouting: the upper voice should +switch staffs to avoid leger lines. + +%} +\version "1.2.13"; + + +upper = \notes \transpose c'' { + r16 [c es g] [es c es c] r c r c | + r16 [c es g] [es c es c] r c r c | + r16 [c f as] [f c f c] r c r c | + r16 [c f as] [f c f c] r c r c | + r16 [b, d f] [d b, d b,] r b, r b, | + r16 [b, d f] [d b, d b,] r b, r b, | + r16 [g, c es] [c g, c g,] r g, r g, | + r16 [g, c es] [c g, c g,] r g, r g, | + r16 [g, c es] [c g, c g,] r g, r g, | + r16 [g, c es] [c g, c g,] r g, r g, | + r16 [a, c es] [c a, c a,] r a, r a, | + r16 [a, c es] [c a, c a,] r a, r a, | + r16 [a, bes, d] [bes, a, bes, a,] r a, r a, | + r16 [g, bes, d] [bes, g, bes, g,] r g, r g, | + r16 [bes, d g] [d bes, d bes,] r bes, r bes, | + r16 [a, es g] [es a, es a,] r a, r a, | + r16 [a, c fis] [c a, c a,] r a, r a, | + r16 [a, c fis] [c a, c a,] r a, r a, | + r16 [bes, d g] [d bes, d bes,] r bes, r bes, | + + r16 [c fis a] [fis c fis c] r c r c | + r16 [d g bes] [g d g d] r d r d | + r16 [d fis c'] [fis d fis d] r d r d | + + r16 [cis g bes] [g cis g cis] r cis r cis | + r16 [c! es a] [es c es c] r c r c | + r16 [bes, e g] [e bes, e bes,] r bes, r bes, | + r16 [a, c g] [c a, c a,] r a, r a, | + + r16 [a, c fis] [c a, c a,] r a, r a, | + r16 [g, bes, e] [bes, g, bes, g,] r g, r g, | + r16 [fis, a, es] [a, fis, a, fis,] r fis, r fis, | + r16 [g, bes, d] [bes, g, bes, g,] r g, r g, | + r16 [g, a, c] [a, g, a, g,] r g, r g, | + r16 [fis, a, c] [a, fis, a, fis,] r fis, r fis, | + r16 [fis, a, c] [a, fis, a, fis,] r fis, r fis, | + r16 [g, a, c] [b, g, b, g,] r g, r g, + r16 [a, c fis] [c a, c a,] r a, r a, | + r16 [c fis a] [fis c fis c] r c r c | + r16 [b, d g] [d b, d b,] r b, r b, | + r16 [b, d f] [d b, d b,] r b, r b, | + r16 [g, c es] [c g, c g,] r g, r g, | + r16 [fis, c es] [c fis, c fis,] r fis, r fis, | + r16 [fis, c es] [c fis, c fis,] r fis, r fis, | + r16 [g, b, d] [b, g, b, d] [es c a, fis] | + \context Staff < + \context Voice=i {\stemup g2.-\fermata\mf} + \context Voice=ii {\stemdown } + > + \stemboth + \bar "|."; +} + +lower = \notes{ + c4 r [g8 es] | + c4 r [g8 es] | + c4 r [as8 f] | + + c4 r [as8 f] | + c4 r [as8 f] | + c4 r [as8 f] | + + c4-- r [es8 c] | + bes,!4-- r [es8 c] | + as,!4-- r [es8 c] | + + g,4-- r [es8 c] | + fis,4-- r [es8 c] | + fis,4 r [fis8 d] | + + g,4 r [d8 bes,] | + g,4 r [bes,8 g,] | + es,4 r [g8 es] | + + c4 r [c8 a,] | + d,4 r [d8 a,] | + d,4 r [d8 a,] | + d,4 r [d8 bes,] | + + + d,4 r [es8 c] | + d,4 r [g8 d] | + d,4 r [a8 fis] | + + d,4 r [g8 es] | + d,4 r [fis8 d] | + d,4 r [e8 cis] | + d,4 r [es8 c] | + + d,4 r [d8 a,] | + d,4 r [cis8 bes,] | + d,4 r [c!8 a,] | + + d,4 r [bes,8 g,] | + d,4 r [es8 c] | + d,4 r [d8 a,] | + + g,4 r [es8 c] | + g,4 r [d8 b,] | + g,4 r [es8 c] | + + g,4 r [es8 c] | + g,4 r [g8 d] | + g,4 r [as8 f] | + g,4 r [es8 c] | + + g,4 r [es8 c] | + g,4 r [es8 c] | + g,4 r r | + g,2._\fermata + \bar "|."; +} + +global = \notes{ + \time 3/4; + \key es; +} + +\score{ + \context PianoStaff < + \context Staff = up < + \global + \upper + > + \context Staff = down < + \global + \clef "bass"; + \lower + > + > + \paper{ + \translator { \PianoStaffContext + minVerticalAlign = 2.2 * \staffheight; + maxVerticalAlign = 2.2 * \staffheight ; + } + \translator {\OrchestralScoreContext } + } + \midi{ \tempo 4 = 100; } + \header{ + opus = "BWV 999"; + } +} diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly index 289131cdf3..406d00b953 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly @@ -1,6 +1,8 @@ \header{ filename = "preludes-4.ly"; -% blz 8 +% +% page 8 +% % Clavierb"uchlein f"ur W. Fr. Bach % Clav. W. Fr. Bach: 27-Praeludium ex d neutral % ca 1720 @@ -127,7 +129,7 @@ two = \context Staff \notes\relative c{ three = \notes\relative c{ \context Voice=iii \stemdown - d4-3 c-4 b e-3 | + d4-3 cis-4 b e-3 | a16 a,-5\mf( cis-3 a-5 d-2 e-1 fis-2 d-4 g-1 fis-3 g a g b a g | )fis4 fis e a-4 | @@ -203,8 +205,6 @@ global = \notes{ > > \paper{ - \include "preludes-paper.ly"; - gourlay_maxmeasures = 2.0; } \midi{ \tempo 4 = 70; } \header{ diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly index e51569a888..f26b187f99 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly @@ -1,6 +1,8 @@ \header{ filename = "preludes-5.ly"; -% blz 2 +% +% page 2 +% % Clavierb"uchlein f"ur W. Fr. Bach % Clav. W. Fr. Bach: 4-Praeludium 2 % ca 1720 @@ -87,7 +89,7 @@ upper = \context Staff \notes\relative c{ %40 s4 s16 [d16-1-"m.d." f-2 a-4] \stemdown [d,-2-"m.g." f a] \stemup d-1 | \stemboth - f a-4 f d f-4 d b d-5 gis-2 b a gis, | + f a-4 f d f-4 d b d-5 gis,-2 b a gis | a8-5 < { @@ -198,8 +200,6 @@ global = \notes{ > > \paper{ - \include "preludes-paper.ly"; - gourlay_maxmeasures = 5.0; } \midi{ \tempo 4 = 90; } \header{ diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly index ca330c2ec4..3cc949bbc4 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly @@ -1,6 +1,8 @@ \header{ filename = "preludes-6.ly"; -% blz 11 +% +% page 11 +% % Six Petits Preludes % Collection Johann Peter Kellner % ca 1703 - 1707 @@ -20,9 +22,9 @@ one = \context Staff \notes\relative c{ )d16-5\mf a'-4( g f e f-4 cis-2 d-1 e8.-\mordent f16 d8.-\prall-1 cis16-3 | \stemup - )cis4\> ~ cis16 a \!d8 ~ d4 c-5 | + )cis4\> ~ cis16 a \!d8 ~ d4 a( | %5 - b2-4 ~ b4 a-5 ~ | + )b2-4 ~ b4 a-5 ~ | a16 a-5 \stemup g! f g4-4\< ~ g f-3 ~ | \!f16 a g f e16 g8.-5 ~ g16 g-5 f-4 e-3 d-1 f8.-4 ~ | f16 f-3 e d b'4 a-5 g-5 | @@ -80,10 +82,12 @@ four = \context Staff \notes\relative c{ \context Voice=iv \stemdown d2-3 cis-4 | - \skip 1*3; | - %5 + \skip 1*2; | + \skip 4*3; \translator Staff=upper \stemup \property Voice.horizontalNoteShift = 1 - a'4 gis-2 ~ gis16 gis-3 fis e + c''4-5 | + %5 + a gis-2 ~ gis16 gis-3 fis e \skip 4*1; \translator Staff=lower \stemdown \property Voice.horizontalNoteShift = 0 \stemup @@ -117,8 +121,6 @@ global = \notes{ > > \paper{ - \include "preludes-paper.ly"; - gourlay_maxmeasures = 3.0; } \midi{ \tempo 4 = 40; } \header{ diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-score.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-score.ly new file mode 100644 index 0000000000..845f08466a --- /dev/null +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-score.ly @@ -0,0 +1,32 @@ +% This is the main score file of the Petites Preludes + +\header{ +title = "Petites Pr\'eludes"; +% urg subtitle = "Clavierb\\"uchlein"; +subtitle = "Clavierbuechlein"; +composer = "Johann Sebastian Bach (1685-1750)"; +enteredby = "jcn"; +copyright = "public domain"; + + % mutopia headers. + mutopiatitle = "Petites Pr&aigueludes"; + mutopiacomposer = "J.S.Bach"; + mutopiaopus = "BWV924,939,999,925,926,940"; + mutopiainstrument = "Piano"; + style = "baroque"; + copyright = "Public Domain"; + tagline = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Jan Nieuwenhuizen.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"; + maintainer = "janneke@gnu.org"; + lastupdated = "1999/Oct/16"; + +} + + +\paper { linewidth = 18.0\cm; } + +\include "preludes-1.ly" +\include "preludes-2.ly" +\include "preludes-3.ly" +\include "preludes-4.ly" +\include "preludes-5.ly" +\include "preludes-6.ly" 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 2091bb1ae4..da8e76a773 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly @@ -1,19 +1,5 @@ -\header{ -filename = "allemande-cello.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -%piece = "Allemande"; -% opus = "BWV 1008"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} + \version "1.2.0"; @@ -46,11 +32,10 @@ allemande_cello_staff = \context Staff < \score{ \$allemande_cello_staff - \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 3.0; - - } + \paper{ } \midi{ \tempo 4 = 45; } - \header{ piece = "Allemande"; } + \header{ piece = "Allemande"; + opus = ""; + + } } 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 0be45ea104..543edf7588 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly @@ -1,19 +1,3 @@ -\header{ -filename = "allemande-viola.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Allemande"; -% opus = "BWV 1008"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} - -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} \version "1.2.0"; @@ -46,11 +30,10 @@ allemande_viola_staff = \context Staff < \score{ \$allemande_viola_staff - \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 3.0; - } + \paper{ } \midi{ \tempo 4 = 45; } - \header{ piece = "Allemande"; } + \header{ piece = "Allemande"; + opus = ""; + } } 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 7dead3a18f..e28db4df3c 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly @@ -1,19 +1,3 @@ -\header{ -filename = "courante-cello.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Courante"; -% opus = "BWV 1008"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} - -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} \version "1.2.0"; @@ -46,11 +30,10 @@ courante_cello_staff = \context Staff < \score{ \$courante_cello_staff - \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 4.0; - } + \paper {} \midi{ \tempo 4 = 55; } - \header{ piece = "Courante"; } + \header{ piece = "Courante"; + opus = ""; + } } 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 b1e9d556d9..9bc027b86d 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly @@ -1,19 +1,5 @@ -\header{ -filename = "courante-viola.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Courante"; -% opus = "BWV 1008"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} + \version "1.2.0"; @@ -46,11 +32,11 @@ courante_viola_staff = \context Staff < \score{ \$courante_viola_staff - \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 4.0; - } + \paper{ } \midi{ \tempo 4 = 55; } - \header{ piece = "Courante"; } + \header{ + opus= "" ; + piece ="Courante"; + } } 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 1febb28530..c1742e50c3 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly @@ -1,19 +1,5 @@ -\header{ -filename = "gigue-cello.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Gigue"; -% opus = "BWV 1008"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} + \version "1.2.0"; @@ -51,8 +37,6 @@ gigue_cello_staff = \context Staff < \score{ \$gigue_cello_staff \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 7.0; \translator{ \VoiceContext beamAutoEnd_8 = "3/4"; @@ -60,6 +44,8 @@ gigue_cello_staff = \context Staff < } } \midi{ \tempo 4 = 60; } - \header{ piece = "Gigue"; } + \header{ + opus= "" ; +piece ="Gigue"; } } 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 d533d6c0da..b5fa115eac 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly @@ -1,19 +1,4 @@ -\header{ -filename = "gigue-viola.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Gigue"; -% opus = "BWV 1008"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} \version "1.2.0"; @@ -50,8 +35,6 @@ gigue_viola_staff = \context Staff < \score{ \$gigue_viola_staff \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 7.0; \translator{ \VoiceContext beamAutoEnd_8 = "3/4"; @@ -59,6 +42,8 @@ gigue_viola_staff = \context Staff < } } \midi{ \tempo 4 = 60; } - \header{ piece = "Gigue"; } + \header{ + opus= "" ; + piece ="Gigue"; } } 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 40f3a86ce2..840bf07e8c 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly @@ -1,20 +1,5 @@ -\header{ -filename = "menuetto-cello.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -%piece = "Menuetto I"; -source = "?"; -% opus = "BWV 1008 no. 5"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} + \version "1.2.0"; @@ -66,15 +51,15 @@ menuetto_i_cello_staff = \context Staff < \score{ \$menuetto_i_cello_staff \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 7.0; \translator{ \VoiceContext beamAutoEnd_8 = "3/4"; } } \midi{ \tempo 4 = 110; } - \header{ piece = "Menuetto I"; } + \header{ + opus= "" ; + piece ="Menuetto I"; } } menuetto_ii_cello_global = \notes{ @@ -103,9 +88,6 @@ menuetto_ii_cello_staff = \context Staff < \score{ \$menuetto_ii_cello_staff \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 7.0; - \translator{ \VoiceContext beamAutoEnd_8 = "3/4"; 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 0145f42f8b..614ddd1617 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly @@ -1,21 +1,5 @@ -\header{ -filename = "menuetto-viola.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Menuetto I"; -description = "Transcribed for Viola"; -source = "?"; -% opus = "BWV 1008 no. 5"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} + \version "1.2.0"; @@ -72,7 +56,9 @@ menuetto_i_viola_staff = \context Staff < } } \midi{ \tempo 4 = 110; } - \header{ piece = "Menuetto I"; } + \header{ + opus= "" ; + piece ="Menuetto I"; } } menuetto_ii_viola_global = \notes{ @@ -99,14 +85,14 @@ menuetto_ii_viola_staff = \context Staff < \score{ \$menuetto_ii_viola_staff \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 7.0; \translator{ \VoiceContext beamAutoEnd_8 = "3/4"; } } \midi{ \tempo 4 = 130; } - \header{ piece = "Menuetto II"; } + \header{ + opus= "" ; + piece ="Menuetto II"; } } 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 3bdb49c839..59231c48e3 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly @@ -1,19 +1,5 @@ -\header{ -filename = "prelude-cello.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -%piece = "Pr\\'elude"; % duh -opus = "BWV 1008"; -% opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} + \version "1.2.0"; @@ -38,11 +24,10 @@ prelude_cello_staff = \context Staff < \score{ \$prelude_cello_staff - \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 7.0; - } + \paper{ } \midi{ \tempo 4 = 40; } - \header{ piece = "Pr\\'elude"; } + \header{ + opus= "" ; + piece ="Pr\\'elude"; } } 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 d708f602dc..ca34467d2b 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly @@ -1,19 +1,5 @@ -\header{ -filename = "prelude-viola.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Pr\\'elude"; % duh -opus = "BWV 1008"; -% opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} + \version "1.2.0"; @@ -38,11 +24,10 @@ prelude_viola_staff = \context Staff < \score{ \$prelude_viola_staff - \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 7.0; - } + \paper{ } \midi{ \tempo 4 = 40; } - \header{ piece = "Pr\\'elude"; } + \header{ + opus= "" ; + piece ="Pr\\'elude"; } } 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 2ec74f6257..9a9b238eff 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly @@ -1,19 +1,5 @@ -\header{ -filename = "sarabande-cello.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Sarabande"; -% opus = "BWV 1008"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} + \version "1.2.0"; @@ -41,11 +27,10 @@ sarabande_cello_staff = \context Staff < \score{ \$sarabande_cello_staff - \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 5.0; - } + \paper{ } \midi{ \tempo 4 = 40; } - \header{ piece = "Sarabande"; } + \header{ + opus= "" ; + piece ="Sarabande"; } } 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 80bfce29dc..fdb2b4e899 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly @@ -1,20 +1,3 @@ -\header{ -filename = "sarabande-viola.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -% piece = "Sarabande"; -% opus = "BWV 1008"; -opus = ""; -composer = "Johann Sebastian Bach (1685-1750)"; -enteredby = "JCN"; -copyright = "public domain"; -} - -%{ - Tested Features:breaking algorithm, chords, multivoice, accents, - dotted slurs -%} - \version "1.2.0"; \include "sarabande-urtext.ly"; @@ -41,11 +24,10 @@ sarabande_viola_staff = \context Staff < \score{ \$sarabande_viola_staff - \paper{ - \include "scs-paper.ly"; - gourlay_maxmeasures = 5.0; - } + \paper{ } \midi{ \tempo 4 = 40; } - \header{ piece = "Sarabande"; } + \header{ + opus= "" ; + piece ="Sarabande"; } } diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/scs-paper.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/scs-paper.ly index 145e973747..f71c9a130e 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/scs-paper.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/scs-paper.ly @@ -1,3 +1 @@ linewidth = 180.\mm; -gourlay_maxmeasures = 10.0; -\translator { \BarNumberingStaffContext } diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-cello.ly index d5702db665..a12b5b7236 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-cello.ly @@ -3,5 +3,6 @@ instrument="Cello"; } instrument="cello" + \include "solo-cello-suite-ii.ly" diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/solo-cello-suite-ii.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/solo-cello-suite-ii.ly index 1896249d91..df83051e23 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/solo-cello-suite-ii.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/solo-cello-suite-ii.ly @@ -1,12 +1,11 @@ -\header{ -filename = "solo-cello-suite-ii.ly"; -title = "Solo Cello Suites"; -subtitle = "Suite II"; -opus = "BWV 1008"; -composer = "Johann Sebastian Bach (1685-1750)"; +\include "header.ly" +% urg + +\paper { +linewidth = 180.\mm; +\translator { \BarNumberingStaffContext } } -% urg % \include "prelude-" + \instrument + ".ly"; diff --git a/mutopia/W.A.Mozart/GNUmakefile b/mutopia/W.A.Mozart/GNUmakefile index 7c436a1619..bc10564db5 100644 --- a/mutopia/W.A.Mozart/GNUmakefile +++ b/mutopia/W.A.Mozart/GNUmakefile @@ -3,6 +3,7 @@ depth = ../.. examples=# cadenza +SUBDIRS=horn-concerto-3 LOCALSTEPMAKE_TEMPLATES=mutopia include $(depth)/make/stepmake.make diff --git a/mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile b/mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile new file mode 100644 index 0000000000..13fb5e529f --- /dev/null +++ b/mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile @@ -0,0 +1,9 @@ +depth = ../../.. + +examples= +SUBDIRS= +LOCALSTEPMAKE_TEMPLATES=mutopia + +include $(depth)/make/stepmake.make + + diff --git a/mutopia/W.A.Mozart/horn-concerto-3/allegro.ly b/mutopia/W.A.Mozart/horn-concerto-3/allegro.ly new file mode 100644 index 0000000000..2352cb524a --- /dev/null +++ b/mutopia/W.A.Mozart/horn-concerto-3/allegro.ly @@ -0,0 +1,143 @@ + + +allegro = + \notes + \relative c' +{ + \time 4/4; + r4 | + R1*4 + c'2^"tutti" g + c, r + R1*1 + r8 [g' g g] [g g e c] + g'4 g, r2 + R1*18 + r2 r4 g'4 | + e'4. () c8 [f (d c )b ] + [b()c] g4 r8 [g-. c-. e-.] + g2. ( [g16-.( f e ))f] + dis4 () e4-- r8 [c8-. c-. c-.] + c4.( [d16 )e] f4 () e + a,() d g,() c + d-. d-. \grace e16( [)d8. c16 d8. e16] + c4 r r2 + R1*3 + c,2 ~ [c8 e( g )c] + [c () b ] b4-. r2 + [c,8 () e g c] [e()g e c] + [c()b] b4-- r2 + c4.() g8 e'4.() c8 + [g'()d ] d4-- r4 d + [d8 () c] c4.( [d16 e] [d8 )c] + [c8(-\trill )b] b4 r2 | + d2( ~ [d8 e16 d] [c8 )b] | + [b()a-.] a4-> r8 [a-. a-. a-.] + a4 cis e g + \grace { \longgrace g16( } + [ fis8 e16 )d] d4-. r2 | + \mark "B"; + R1*3 + r2 r4 [d8 (b ] + [a )g d'( b] [a )g e'( c ] + [b8 )a] a4 r4 [a8-. a-.] + [a( \< b c \!cis\< ] d4 \! )c + [ais8() b] r8 b [b()c] r c + [cis ()d] r4 r2 + g,1 ~ g2 ~ [g8 a16 b] [c()d e c] + f4-. d-. b-. g-. + r1 + \emptyText + c,2\p e4 g c_\cresc e g4. e8 | + d4. [e16 fis] [g () fis e d] [c() b a g] + a1(-\trill \grace{ [g16 a] } + )g4 r r2 + R1*15 + \mark "D"; + bes2-\mf d4 f + g,2~ [g8 g'( es )c]| + bes4( )a4. [c8 d es] + cis4()d r8 [bes (c )d] + es2 () d4 r + es2\p () d4 r + [c8(\mf g' es )c] bes4()c-. + c4.( cis8 )d4 r + R1*2 + es1~es1| + e! + d + c + c, + e' + e, + c'2 [b8( a gis )a] + [gis8 e gis b ] e4 r | + r8 [e, a c] dis4 r + r8 [e, a c] dis4 r + r8 [e, g b] e4 r + r8 [fis, b dis] fis4 r + r8 [gis, b d] f4 r + r8 [g, b d_"rit."] f4 r + \mark "E"; + R1*8 + r2 r8 [g,-. g-. g-.] + e'4.() c8 [f( d c )b] + [b()c] g4 r8 [g c e] | + g2. ( [g16( f e ))f] + dis4()e r8 [c-. c-. c-.] + c4.( [d16 e] f4 )e + a, ( d g, )c + d d [ + \grace { e8( } + d8. c16 d8. e16] + c4 r r2 + \mark "F"; + R1*3 + c,2~[c8( e g )c] + [c8()b] b4 r2 + [c,8()e g c ] [e ()g e c] + [c()b] b4 r2 + c2 (bes )a [a8(b c )cis] + d2( ~ [d8 e16 d] [\grace { \longgrace d16( } )c8 b16 )c] + \grace { \longgrace c16 }[ b8( a16 )g] g4 r2 | + R1*3 + r2 r4 [g'8()e] + \mark "G"; + [d()c g'()e] [d()c a'()f] + [e()d] d4 r [d8 d] + d4(~ [d16 e d )e] [g8() f e d] | + c4 r r2 + r1 + c1 ~ + c | + [c8-. c-.] r c-. [cis()d] r d-. | + [dis()e] r e-. [e()f] r f-. | + g4-. e-. c-. bes-. | + g-.\ff e-. c-. r | + a'2 ~ [a8_"sempre f" b16 c] [d( e d )e]%TODO + + f4. () d8 [f8 ()d f d] + [c (e] )g2 \grace { \longgrace f16( } [)e8( d16 )c] + \grace { \aftergrace [c16 d] } + d1-\trill + c4 r r2 + r1 | + \mark "H"; + \times 2/3 { [ c8 ()b a ] } \times 2/3 { [ g a b] } \times 2/3 { [ c d e] } \times 2/3 { [ f()e d] } | + \times 2/3 { [ c () b a ] } \times 2/3 { [ g a b] } \times 2/3 { [ c d e] } \times 2/3 { [ f()e d] }| + c4 \times 2/3 { r8 [g'()e]} c4 \times 2/3 { r8 [e () c]} | + g4 \times 2/3 { r8 [c8() g] } \times 2/3 { [ e ()g e] } \times 2/3 { [c ()e c] }| + g4 r8 g'\f [a b c d]| + \grace { \aftergrace [c16 d] } + d1(-\trill + )c4 r r2 + R1*3 + \grace{ \aftergrace [c16 d] } + c1-\trill_"Cadenza ad lib." ( + )c4 r r2 + R1*2 + r4 [c8.^"tutti"-\f c16] c4 c + c [c,8. c16] c4 c| + c2 r2 \bar "|."; + +} diff --git a/mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly b/mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly new file mode 100644 index 0000000000..f7e100661e --- /dev/null +++ b/mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly @@ -0,0 +1,82 @@ +\header{ + title = "Konzert Nr. 3 Es dur"; + subtitle = "Cadenza ad lib."; + enteredby = "HWN"; + copyright = "public domain"; + instrument = "Horn in Es"; + + mutopiatitle = "Cadenza for horn concerto no. 3"; + mutopiacomposer = "Anon."; + style = "classical"; + tagline = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"; + maintainer = "hanwen@cs.uu.nl"; + lastupdated = "1999/Oct/16"; + source = "Breitkopf & Haertel + own modifications"; +} + + + +%{ + +This is a cadenza to Mozart 3, as given to me by Arthur Verhofstad +(one of my teachers). The source is unknown + +Lots more can be found in Uijlenspiegel 1998 no. 1, in an article by +Herman Jeurissen. + +%} + +\version "1.2.13"; + + +cad = \notes \relative c' { + \property Score.midiInstrument = "french horn" + \context Staff { + \emptyText + \cadenza 1; + + + \clef "violin"; + c'4.\mf g8 + + + [e'^"accel" () d c b] + [b() c] g-\fermata + \bar "empty"; + c, ~ [c^\turn_"rubato" e g c] + e4. e8 [g () f_"rit" e d] + + dis4() e4 + \bar "" ; + r8 [c16 d] [e f g gis] + + a4-> f,() e g' + f-> d,() cis e' + + d4^\fermata + \bar "" ; + + r8 a [b cis] + \grace { e8( } + [d16 cis d e] + f4 ~ [f16 e d c] + b4-\turn + \times 2/3 { [ d8 c8 a8] } + g2~ + \bar "" ; + [g16 c, e g] [c e, g c] + [e g, c e] g4^\fermata + \bar "" ; + [g8.(_"a tempo" e16 g8. )e16] + a4. g8 [f8 e8 d8 c8] + g2 d'2-\trill + \grace { [c32 d] } + c4 + } } + +\score { + \notes { \cad } +% \midi { \tempo 4 = 90; } + \paper { casting_algorithm = \Wordwrap;} + +} diff --git a/mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly new file mode 100644 index 0000000000..4b6e4b48e8 --- /dev/null +++ b/mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly @@ -0,0 +1,84 @@ +\header{ + title = "Konzert Nr. 3 Es dur"; + subtitle = "f\\\"ur Horn und Orchester"; + composer = "Wolfgang Amadeus Mozart (1756-1792)"; + enteredby = "HWN"; + opus = "K.V. 447"; + + copyright = "public domain"; + instrument = "Horn in Es"; + + mutopiatitle = "Horn Concerto 3"; + mutopiacomposer = "W.A.Mozart"; + mutopiaopus = "KV447"; + style = "classical"; + tagline = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"; + maintainer = "hanwen@cs.uu.nl"; + lastupdated = "1999/Oct/16"; + source = "Breitkopf & Haertel + own modifications"; +} + +%%%%%%% This is the main file. + +%{ + +This is the Mozart 3 for horn. It's from an old and fumbled part I +have with lots of unidentified staccato dots, marcato's and dynamic +markings; I left off most of them. + +Some of the marks are mine. Some of them are my teachers'. Some of +them are my teachers' teachers. Some of them are B&H's. Some of them +are Mozart's. + +--hwn + +%} + +longgrace = \property Grace.stemStyle = "" +aftergrace = \property Grace.graceAlignPosition = \right + + +\version "1.2.13"; + +\include "allegro.ly" +\include "romanze.ly" +\include "rondo.ly" + +\paper{ + \translator { \StaffContext \consists Mark_engraver; } + \translator { \ScoreContext + skipBars = 1; + } + linewidth = 180. \mm; +} + +\score +{ + < \allegro + \property Score.midiInstrument = "french horn" + > + \paper{ } + \header { piece = "allegro"; opus = ""; } + \midi{ \tempo 4=90; } +} + +\score +{ + < \romanze + \property Score.midiInstrument = "french horn" + > + \header { piece = "romanze"; opus = ""; } + \midi{ \tempo 4 = 70; } + \paper{} +} +\score +{ + < \rondo + \property Score.midiInstrument = "french horn" + > + \header { piece = "rondo"; opus = ""; } + \paper{ + \translator { \BarNumberingStaffContext } + } + \midi{ \tempo 4 = 100; } +} diff --git a/mutopia/W.A.Mozart/horn-concerto-3/romanze.ly b/mutopia/W.A.Mozart/horn-concerto-3/romanze.ly new file mode 100644 index 0000000000..34906bd5c3 --- /dev/null +++ b/mutopia/W.A.Mozart/horn-concerto-3/romanze.ly @@ -0,0 +1,73 @@ + + +romanze = \notes \relative c' { + \key F; + \time 2/2; + \emptyText + c'4.( _\textscript "p. con molto espressione" "italic" ) + f8 a,4 a + [bes8( c d bes] )g4 r8 g + a r bes r c r [d()bes] + a2( [)g8 a( bes )b] + c4. () f8 a,4 a | + [bes8 (c d) bes] g4 r8 c,-. + [c8( e g )bes] [a( c f ) d] + c r e r f r r4 + \mark "A"; + R1*8 + g4. ()f8 [e( d c) bes] + [bes( a d )c] c4 r + R1*2 + g'4.() f8 [e( d c) bes] + [bes (a d ) c] c4 r + r1 + [c16\mf () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.] + [c16\p () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.] + [c8 \< c, c c] [c c c \! c] %B&H use tremolo. + \mark "B"; + c1\f + R1*9 + f'4.(\p )d8 b4 r8 g + g'4.() e8 c4 r8 cis | + d4(~ [d16 e d )e] [f8 () d f() d] + c2()b4 r + R1*4 + e4. ()g8 c,4 ()cis + [d8( e f )d] b4 r8 g + [c ()e g g] [g( f e )d] + c4( + \grace { e16 } + [d8. )c16] [c8 c--( c-- )c--] + \mark "C"; + des1\sfp + g,1\sfp + c\sfp + c,\sfp + R1*3 + r8 [c-\p c c] c2~ + [c8 c' c c] c2~ + [c8 \< e( g f] [e \!d \> c bes] + \mark "D"; + \! )a4 r r2 + R1*3 + c4.-\p () f8 a,4 a | + [bes8 (c d) bes] g4 r8 c,-. + [c8( e g )bes] [a( c f ) d] + c-. r e-. r f4 r4 + R1*3 + r2 r4 r8 c,8 + [c8( e g )bes] [a( c f ) d] + c-. r e-. r f4 r4 + g,1\pp + c,2~c4. c8 + [c8( e g )bes] [a( c f ) d] + c r e r f4 r4 % -. ? + + r1 + c8-. r e-. r f4 r4 + + % Finish with F if played separately + c8-. ( r c,-. r ) c4 r4| + \bar "|."; +} + diff --git a/mutopia/W.A.Mozart/horn-concerto-3/rondo.ly b/mutopia/W.A.Mozart/horn-concerto-3/rondo.ly new file mode 100644 index 0000000000..f10ace98ae --- /dev/null +++ b/mutopia/W.A.Mozart/horn-concerto-3/rondo.ly @@ -0,0 +1,160 @@ + +rondotheme = \notes \relative c' { + [c'8 c c] [c c c] + c4( cis8 )d r g, + [d'8 d d] [d d d] + d4( dis8 )e r c | + [c()d e] [f g a] + [g ()e c] c4 d8 + e4()d8 e4()f8 + e4.()d8 r r | +} + +lipbreaker = \notes \relative c' +{ + r8 [g'-. g-.] [c()e g,-.] + [c()e g,-.] [c()e g,-.] + [c c, c] [c c c] + [c c c] [c c c] +} + +rightsixteenth = { \property Voice.stemLeftBeamCount = "1" + \property Voice.stemRightBeamCount = "2" } +leftsixteenth = { \property Voice.stemLeftBeamCount = "2" + \property Voice.stemRightBeamCount = "1" } +bothsixteenth = { \property Voice.stemLeftBeamCount = "2" + \property Voice.stemRightBeamCount = "2" } + +rondo = \notes \relative c' +{ + \partial 8; + g'8-\p | + \time 6/8; + + \rondotheme + + R2.*13 | + r8 r-\fermata d [d e f] + [g ()e c-.] [d()e d-.] + c4 c8 [d e f] + [g()e c-.] [d()e d-.] + c4 r8 r4 r8 | + R2.*7 + \mark "A"; + c4.\p \grace { e16( } [)d8 c d] + c4 r8 r4 r8 + e4. \grace g16( [)f8 e f] + e4 r8 r4 r8 + g4. e4 c8 + g2.~ + [g8 a b] [c d e ] + e4.()d8 r r + R2.*4 + e2.~ | + [e8 d c] [c b a] + d2.~ + [d8 c b] [b a g] + g'4()e8 b4()cis8 + \mark "B"; + d4 r8 r4 r8 + R2.*3 | + r8 [d-. d-.] [d()g d-.] + [d()g d-.] [d d d] + [d()g] r r4 r8 + R2.*1 + \lipbreaker + c4 r8 [c' d e] + d4()g8 [c, d e] + d4 r8 r4 r8 + R2. | + r4 r8 [c-. d-. e-.] + d4()g8 [c, d e] + [d()g fis] [e d c] + [b () e d] [c b a] + \mark "C"; + g4 r8 r4 r8 + r2. | + % + r8 [g g] [g( )b b] + [b()d d-.] [d()g g-.] + g2.~ + [g8 a g] [f e d] + < \rondotheme + { s8-\p } > + + R2.*12 + r4 r8 r4 c8 + \mark "D"; + c4 f8 c4 a8 + a4.~a4 a8 + bes4 c8 d4 bes8 + g4. ~ g8 r r + R2.*3 + r4 r8 r4 c8 + a4. c + f ~ [f8. \rightsixteenth e16( d )c] + bes4 g8 e4 g8 + c4. ~ c8 r r + R2.*3| + r4 r8 r4 c8 + b4()c8 b4()c8 + bes4. ~ bes4 g8 + a4 c8 [f () d b] + d4. () c8 r r + \mark "E"; + R2.*9 | + \lipbreaker + [c8 c' c] c4.~ + [c8 c d] [e e fis] + g4 r8 r4 r8 + r2. + r8 [g, g] [g g g] | + es'4. ~ [es8 d c] + b4 r8 r4 r8 + r2. | + r8 [g g] [g g g] + es'4. ~ [es8 d c] + b4.\cresc c4. d4. e4. + \mark "F"; + f2.\f ~ | + f4 r8 r4 r8 + r8 [g,\> g] [g g g] + [fis g gis] % Edition breitkopf says a-flat (silly!) + [a bes \! b] + < \rondotheme + { s8-\p } > + R2.*7 + \mark "G"; + R2.*4 + c,4.\mf c4 c8 + c4. e4 c8 + g'4. g4 g8 + g4. g,4 g8 + c4 r8 r4 r8 + r4 r8 r4 g'8 + [c ()e g,-.] [c ()e g,-.] + [c ()e g,-.] [c ()e g,-.] + \mark "H"; + g'2._\cresc bes,2. + a4. [b16 c d e f g] + a4. f4 d8 + [c8\f g' e] [c g e] + [\stemup c \stemdown e' c] \stemboth [g e c] + g4 r8 [g''8 e c] + \grace { \aftergrace [c16 d] } + d2.(-\trill + )c4 r8 r4 r8 + R2.*5 + r8 r8-\fermata d8\p [d e f] + [g ()e c] [d()e d] + [c\cresc c c] [d e f] + [g()e c] [d()e d] + c4\f r8 r4 r8 + R2.*5 + [c8\f c, c] [c c c] + c4 r8 c4 r8 + c4 r8 r4 \bar "||."; % B&H do another r8. +} + + +