From: fred Date: Tue, 26 Mar 2002 22:24:08 +0000 (+0000) Subject: lilypond-1.1.64 X-Git-Tag: release/1.5.59~2239 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a0454f4adeb3d358abced67f572638bc51a52964;p=lilypond.git lilypond-1.1.64 --- diff --git a/Documentation/faq.yo b/Documentation/faq.yo index e365332c99..1259330460 100644 --- a/Documentation/faq.yo +++ b/Documentation/faq.yo @@ -242,12 +242,47 @@ verb( > ) +question(How do I combine multiple pieces into one document) + +There are several solutions: + +itemize( +it() +verb( + ly2dvi foo.ly bar.ly +) +produces one combined file(foo.dvi) +it() make a toplevel file(.ly) file that contains al pieces: +verb( + % booklet.ly + \input "piece-1.ly" + \input "piece-2.ly" + \input "piece-3.ly" +) +it() make a hybrid TeX()/LilyPond file(.doc) document (see the + file(Documentation/tex) directory). +) + +For the first two solutions, you will need to move code(\header) info +in each individual piece from toplevel into the code(\paper) block. + +There are several examples in the file(mutopia) directory. + question(How do I get bar numbers?) See file(input/test/bar-scripts.ly). +question(How do I change the tagline 'Lily was here') + +In the code(\header) field, add a code(tagline) entry, eg +verb( +tagline="Typeset by GNU LilyPond" +) + +to get a bit less frivolous tagging. + sect(Development) COMMENT(look out: can't have line breaks in subsect() macro) diff --git a/Documentation/tex/lilypond-regtest.doc b/Documentation/tex/lilypond-regtest.doc index 6c6cdc4796..74ca05df7a 100644 --- a/Documentation/tex/lilypond-regtest.doc +++ b/Documentation/tex/lilypond-regtest.doc @@ -25,11 +25,11 @@ you must create a special context called Thread. \mudelafile{noteheadstyle.ly} -Noteheads can have dots, and ---although this is bad style--- rests -can too. Augmentation dots should never be printed on a staff line, -but rather be shifted: down stem notes shift dots down, up stem up. -In case of chords, all dots should be in a column. The dots go along -as rests are shifted to avoid collisions. +Noteheads can have dots, and ---although this is bad style in duple +meters--- rests can too. Augmentation dots should never be printed on +a staff line, but rather be shifted: down stem notes shift dots down, +up stem up. In case of chords, all dots should be in a column. The +dots go along as rests are shifted to avoid collisions. \mudelafile{dots.fly} @@ -54,7 +54,8 @@ the two systems for y dimensions (1 unit = staffspace, 1 unit = 1 point) are mixed. Stems, beams, ties and slurs should behave similarly, when placed -on the middle staff line. +on the middle staff line. Of course stem-direction is down for high +notes, and up for low notes. \mudelafile{stem-direction.sly} @@ -190,12 +191,23 @@ effects. In this example, space for opposite pointed stems is adjusted \mudelafile{stem-spacing.sly} -Even if a line is very tightly spaced, there will still be room -between prefatory matter and the following notes. The same holds at -the end of line. +Even if a line is very tightly spaced, there will still be room +between prefatory matter and the following notes. The space after the +prefatory is very rigid. In contrast, the space before the barline +must stretch like the space within the measure. + +Tight: \mudelafile{spacing-tight.ly} +Natural: + +\mudelafile{spacing-natural.ly} + +Loose: + +\mudelafile{spacing-loose.ly} + \section{Global stuff} @@ -206,9 +218,8 @@ knowing it. Consequently, they fall over often. \mudelafile{bar-scripts.ly} Staff margins are also markings attached to barlines. They should be -left otf the staff, and be centered vertically wrt the staff. They -may be on normal staffs, but also on compound staffs, like the -PianoStaff +left of the staff, and be centered vertically wrt the staff. They may +be on normal staffs, but also on compound staffs, like the PianoStaff \mudelafile{staff-margin.ly} @@ -222,7 +233,7 @@ two measures all have the same distance from each other: Fonts are available in a default set of sizes: 11, 13, 16, 20, 23 and 26pt staffheight. Sizes of the text fonts and symbol fonts are made -to match the staff dimensions. +to match the staff dimensions. \mudelafile{size11.ly} diff --git a/Documentation/tex/reference-manual.yo b/Documentation/tex/reference-manual.yo index 4e5e209a0c..34e88a3dea 100644 --- a/Documentation/tex/reference-manual.yo +++ b/Documentation/tex/reference-manual.yo @@ -1944,6 +1944,34 @@ can contain code(\translator) keywords. The code(\paper) block can also contain identifier assignments and parameter assignments. Unlike at the top level, these assignments must be terminated by a semicolon. +subsect(Changing Font Size and Paper Size) + +The Feta font provides musical symbols at six different sizes. These +fonts are 11 point, 13 point, 16 point, 20 point, 23 point, and 26 +point. The point size of a font is the height of the five line staff +when displayed in the font. The default font is 20 points. To select +a different font size you must load the desired size with an +code(\include) keyword at the top level and then you must select the +desired size with an identifier in the code(\paper) block. To load a +font use the command code(\include "paper)var(N)code(.ly") where +var(N) is the desired font size. For example, using code(\include +"paper26.ly") will produce very large music. This statement should +appear at the top level at the top of your Mudela file. To select the +font for printing, this you must include code(\paper_twentysix) in the +code(\paper) block of your file. The identifiers that are used to +select different font sizes are code(paper_eleven), +code(paper_thirteen), code(paper_sixteen), code(paper_twenty), +code(paper_twentythree), and code(paper_twentysix). + +To change the paper size, you must first set the code(papersize) +variable at the top level. Set it to code(a4), code(letter), or +code(legal). After this specification, you must set the font as +described above. If you want the default font, then use the 20 point +font. The new paper size will not take effect if the font is not +loaded and selected afterwords. Paper size selection works by loading +a file named after the paper size you select. + + subsect(Paper variables) diff --git a/TODO b/TODO index 35ff2f3e24..a0dde3ec79 100644 --- a/TODO +++ b/TODO @@ -11,24 +11,21 @@ Grep for TODO and ugh/ugr/urg. .* TODO before 1.2 . * align left edge of broken (de)cresc/slur/tie/tuplet/volta . * auto-staff-switching. +. * warning if feta-nummer.tfm not found . * broken examples: input/star-spangled-banner.ly: hw? -mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly? hw? mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly: hw: slurs + autobeamer ? mutopia/Coriolan/* - . * spacing of accidentals . * key restorations & repeats . * spanners from grace to normal ctxt +. * rename \paper? . * Grace_slur_engraver. . * paperXX.ly \quartwidth, font setting not up to date. (Should read from AFM?) . * input/star-spangled-banner.ly: fold for lyrics? . * Break_req handling is silly (break_forbid () + \break fucks up.) . * account for accidentals in spacing. -. * indent = 0.0 with linewidth=-1.0 . * \shape 1st dim skipped? -. * PostScript -. * half notes in pfa . * We need feta-din*.mf files for more sizes than 10. . * fix dynamics decently, ie. use kerning & ligatures. @@ -74,6 +71,7 @@ one of the spacing bugs mentioned in the TODO. The words are aligned with the main note, not the start of the grace note. This is usually wrong, but is sometimes right. . * decimal point in \paper {} +. * tie-direction . * use melismaBusy in Lyric context to typeset melismata correctly. . * ly2dvi/lilypond logfile. . * hang Item on Spanner @@ -268,13 +266,14 @@ touching it. Address 0xefffeca8 is 728 bytes below frame pointer in function . * GNU diff 2.7: diff -rN does not see a new directory with empty file . * patch: don't touch timestamp if all patches fail. -. * mf-to-table -> add space before ; in AFM output. (-> check AFM - spec. Is this a bug in afm2tfm?) +. * MetaPost: should not generate setgray for unfill +. * mfplain.ini not in tetex 0.9 +. * mf-to-table -> add space 'before ; in AFM output. (-> check AFM +spec. Is this a bug in afm2tfm?) . * check out GCC signatures? . * glibc 2.0: f = fopen ("/dev/null", "r") assert (feof (f)) - . * tetex: mfplain.mem . * timesig: sometimes bottom digit too high: Xdvi doesn't handle newly created fonts correctly. diff --git a/debian/control b/debian/control index 3076aee6f7..597acece90 100644 --- a/debian/control +++ b/debian/control @@ -10,8 +10,9 @@ Depends: ${shlibs:Depends}, tetex-bin (>= 0.9.981031-2) Recommends: python-base (>= 1.5.1), python-misc (>= 1.5.1), tetex-base (>= 0.9.981030-1), tetex-extra (>= 0.9.981030-1) Conflicts: musixtex-fonts, tetex-base (<< 0.9) Description: The GNU Project music typesetter. - LilyPond produces beautiful sheet music using a high level description - file as input. LilyPond is part of the GNU project. + LilyPond is a music typesetter. It produces beautiful sheet music + using a high level description file as input. It is part of the GNU + project. . diff --git a/input/bugs/ch.ly b/input/bugs/ch.ly new file mode 100644 index 0000000000..3f4869781a --- /dev/null +++ b/input/bugs/ch.ly @@ -0,0 +1,3 @@ + + \score {\notes \context Voice = VA \relative c' { + } } diff --git a/input/bugs/dots.fly b/input/bugs/dots.fly new file mode 100644 index 0000000000..66f99d1de7 --- /dev/null +++ b/input/bugs/dots.fly @@ -0,0 +1,2 @@ + + diff --git a/input/test/allfontstyle.ly b/input/test/allfontstyle.ly index 0e995e64ab..aae8b05cd7 100644 --- a/input/test/allfontstyle.ly +++ b/input/test/allfontstyle.ly @@ -3,8 +3,15 @@ \score { \notes \relative c'' \context Staff { - \repeat "semi" 2 { \time 4/4; c4^"foo" } - \alternative { d-4 e-\fermata } \grace { c16 } f-\ff + \property Staff.textEmptyDimension = "1" + \repeat "semi" 2 { \time 4/4; c4^"cuivr\\'e"_\fermata } + \alternative { + { \property Voice.textStyle = "italic" d-4_"cantabile" } + { e } } \grace { c16 } + \property Voice.textStyle = "large" + f4-\ff^""^"Largo" \mark "B"; g + } + \paper { linewidth = -1.0; + \translator { \BarNumberingStaffContext} } - \paper { linewidth = -1.0; } } diff --git a/input/test/chords.ly b/input/test/chords.ly index 44e92b17a7..bc75dbddc2 100644 --- a/input/test/chords.ly +++ b/input/test/chords.ly @@ -20,6 +20,7 @@ scales = \notes \transpose c'' \chords{ % c1-m c-min c4-dim c-aug c-sus c-maj c1-6 c4-7 c-9 c-11 c-13 + c-m7 c-m.sus c-m7.sus c1-7^5 c-13^5.7.9.11 % c1-7^5 c-13^5 c1 g d a e b fis diff --git a/input/test/dots.fly b/input/test/dots.fly index a111a6df2f..8a00b4861f 100644 --- a/input/test/dots.fly +++ b/input/test/dots.fly @@ -1,6 +1,7 @@ d''4. b c4 | -%This doesn't really work yet. + + \context Staff < \context Voice = VA { \stemup r4. } diff --git a/input/test/gmsusd.ly b/input/test/gmsusd.ly new file mode 100644 index 0000000000..8535e0663f --- /dev/null +++ b/input/test/gmsusd.ly @@ -0,0 +1,32 @@ +% the Gm7sus4/D chord prints as Gm/4/7/D +% it took me quite a while by experiment to work out how to enter it -- PC + +% perhaps the current modifier approach is too simplistic + +\version "1.1.52"; + +gmsus=\notes\relative c \chords{ + g1 + % Gm7sus4: the hard way + g1-3-.4.7 + + % another hard way: + \notes< g'1 bes c d f > + + % bit easier: + g1-m.4.7 + + g1-m7.sus + g1-m7.sus4 + + % and finally: + \property Score.chordInversion = 1 + g1-m7.sus/d +} + +\score{ + < + \context ChordNames \gmsus + \context Staff \gmsus + > +} diff --git a/input/test/spacing-loose.ly b/input/test/spacing-loose.ly new file mode 100644 index 0000000000..e0893afab8 --- /dev/null +++ b/input/test/spacing-loose.ly @@ -0,0 +1,6 @@ +\score { + \notes { \time 2/2; c'2 c'2 \time 2/2; } + \paper { linewidth = 5.0\cm; + indent = 0.0; + } +} diff --git a/input/test/spacing-natural.ly b/input/test/spacing-natural.ly new file mode 100644 index 0000000000..3a31c995c3 --- /dev/null +++ b/input/test/spacing-natural.ly @@ -0,0 +1,8 @@ + +\score { + \notes { \time 2/2; c'2 c'2 \time 2/2; } + \paper { linewidth = -1.0 \cm; + indent = 0.0; + } +} + diff --git a/input/test/spacing-tight.ly b/input/test/spacing-tight.ly index 93ae30563d..90a6e8bafc 100644 --- a/input/test/spacing-tight.ly +++ b/input/test/spacing-tight.ly @@ -1,5 +1,7 @@ \score { \notes { \time 2/2; c'2 c'2 \time 2/2; } - \paper { linewidth = 2.9\cm; } + \paper { linewidth = 2.5 \cm; + indent = 0.0; + } } diff --git a/input/test/stem-direction.sly b/input/test/stem-direction.sly index 0ac11c4480..70df9e2cfb 100644 --- a/input/test/stem-direction.sly +++ b/input/test/stem-direction.sly @@ -1 +1 @@ -b''4 ~ b8()b8 +b''4 ~ b8()b8 e4 e, diff --git a/lib/duration-iter.cc b/lib/duration-iter.cc index 5b16deeb88..9472c0217d 100644 --- a/lib/duration-iter.cc +++ b/lib/duration-iter.cc @@ -114,6 +114,5 @@ Duration_iterator::forward_dur () bool Duration_iterator::ok () { - return (cursor_dur_.durlog_i_ - && !((cursor_dur_.durlog_i_ == 0) && (cursor_dur_.dots_i_ > 2))); + return cursor_dur_.length_mom () <= Moment (4); } diff --git a/lily/break-align-item.cc b/lily/break-align-item.cc index 3e1ba4e18c..cf7cc9a649 100644 --- a/lily/break-align-item.cc +++ b/lily/break-align-item.cc @@ -104,8 +104,12 @@ Break_align_item::do_pre_processing() Axis_align_item::do_pre_processing(); - Real pre_space = elems[0]->extent (X_AXIS)[LEFT]; - Real spring_len = elems.top ()->extent (X_AXIS)[RIGHT]; + + Real pre_space = elems[0]->extent (X_AXIS)[LEFT] + + elems[0]->relative_coordinate (column_l ()->dim_cache_[X_AXIS], X_AXIS); + Real spring_len = elems.top ()->extent (X_AXIS)[RIGHT] + + elems.top ()->relative_coordinate (column_l ()->dim_cache_[X_AXIS], X_AXIS); + Real stretch_distance =0.; if (SCM_CAR (symbol_list) == extra_space_scm_sym) @@ -121,13 +125,16 @@ Break_align_item::do_pre_processing() /* Hint the spacing engine how much space to put in. + + + The pairs are in the format of an interval (ie. CAR < CDR). */ column_l ()->set_elt_property (extra_space_scm_sym, scm_cons (gh_double2scm (pre_space), gh_double2scm (spring_len))); column_l ()->set_elt_property (stretch_distance_scm_sym, - gh_cons (gh_double2scm (dists[0]), + gh_cons (gh_double2scm (-dists[0]), gh_double2scm (stretch_distance))); } diff --git a/lily/chord.cc b/lily/chord.cc index 03594ceed3..867add9c73 100644 --- a/lily/chord.cc +++ b/lily/chord.cc @@ -128,24 +128,50 @@ Chord::Chord (Musical_pitch tonic, Array* add_arr_p, Arraysize () - 1; i >= 0 ; i--) + { + int j = ::find_pitch_i (add_arr_p, (*add_arr_p)[i]); + if ((j != -1) && (i != j)) + { + add_arr_p->get (i); + } + } + /* default chord includes upto 5: <1, 3, 5> */ add_arr_p->insert (tonic, 0); - int highest_trap = trap_i (tonic, add_arr_p->top ()); + Array tmp = *add_arr_p; + int highest_trap = trap_i (tonic, tmp.top ()); if (highest_trap < 5) - add_arr_p->push (fifth); + tmp.push (fifth); /* find missing triads */ - Array missing_arr = missing_triads_pitch_arr (add_arr_p); + Array missing_arr = missing_triads_pitch_arr (&tmp); + if (highest_trap < 5) + missing_arr.push (fifth); /* - if additions include 4, assume sus4 and don't add third implicitely + if additions include some 3, don't add third */ Musical_pitch third = tonic; third.transpose (Musical_pitch (2)); + if (::find_notename_i (add_arr_p, third) != -1) + { + int i = ::find_pitch_i (&missing_arr, third); + if (i != -1) + missing_arr.get (i); + } + + /* + if additions include 4, assume sus4 and don't add third implicitely + C-sus (4) = c f g (1 4 5) + */ Musical_pitch sus = tonic; sus.transpose (Musical_pitch (3)); if (::find_pitch_i (add_arr_p, sus) != -1) @@ -154,6 +180,17 @@ Chord::Chord (Musical_pitch tonic, Array* add_arr_p, Array* add_arr_p, Arraysize ()) - pitch_arr_.push (p); + pitch_arr_.push (p); } pitch_arr_.sort (Musical_pitch::compare); diff --git a/lily/dot-column.cc b/lily/dot-column.cc index 56ffe94762..d510fba7f4 100644 --- a/lily/dot-column.cc +++ b/lily/dot-column.cc @@ -55,6 +55,21 @@ Dot_column::Dot_column () set_axes(X_AXIS,X_AXIS); } +/* + Will fuck up in this case. + + X. . + X.X . + |X . + | + | + |X . + | + | + + + Should be smarter. + */ void Dot_column::do_post_processing () { @@ -62,11 +77,21 @@ Dot_column::do_post_processing () return; Slice s; s.set_empty (); - + + Array taken_posns; + int conflicts = 0; for (int i=0; i < dot_l_arr_.size (); i++) { + for (int j=0; j < taken_posns.size (); j++) + if (taken_posns[j] == dot_l_arr_[i]->position_i_) + conflicts++; + taken_posns.push (dot_l_arr_[i]->position_i_); s.unite (Slice (dot_l_arr_[i]->position_i_,dot_l_arr_[i]->position_i_)); } + + if (!conflicts) + return; + int middle = s.center (); /* +1 -> off by one diff --git a/lily/grace-engraver-group.cc b/lily/grace-engraver-group.cc index 220b8c82f3..6c7547362d 100644 --- a/lily/grace-engraver-group.cc +++ b/lily/grace-engraver-group.cc @@ -116,7 +116,8 @@ Grace_engraver_group::pass_to_top_b (Music *m) const if (Span_req * sp = dynamic_cast (m)) { if (sp->span_type_str_ == "slur") - return true; + // return true; + return false; } return false; } diff --git a/lily/lookup.cc b/lily/lookup.cc index cc9466bc12..d82c1f55ba 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -10,7 +10,7 @@ TODO Glissando */ - +#include #include #include "lookup.hh" #include "debug.hh" @@ -361,7 +361,7 @@ Lookup::filledbox (Box b ) const /** Magnification steps. These are powers of 1.2. The numbers are taken from Knuth's plain.tex: */ -static Real mag_steps[] = {1, 1, 1.200, 1.440, 1.7280, 2.074, 2.488}; + /** TODO: THIS IS UGLY. Since the user has direct access to TeX @@ -381,10 +381,13 @@ Lookup::text (String style, String text, Paper_def *paper_l) const { font_h = paper_l->get_var ("font_" + style); } - + + + Real realmag = 1.0; if (paper_l->scope_p_->elem_b ("magnification_" + style)) { font_mag = (int)paper_l->get_var ("magnification_" + style); + realmag = pow (1.2, font_mag); } /* @@ -426,13 +429,6 @@ Lookup::text (String style, String text, Paper_def *paper_l) const } } - if (font_mag > 1 && font_mag < 7 ) - { - /* UGH */ - w *= mag_steps[font_mag]; - ydims *= mag_steps[font_mag]; - } - if(brace_count) { warning (_f ("Non-matching braces in text `%s', adding braces.", text.ch_C())); @@ -447,9 +443,8 @@ Lookup::text (String style, String text, Paper_def *paper_l) const } } - - DOUT << "\n" << to_str (w) << "\n"; - m.dim_.x () = Interval (0, w); + ydims *= realmag; + m.dim_.x () = Interval (0, w*realmag); m.dim_.y () = ydims; diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc index d1d322af16..5e03c9b3fb 100644 --- a/lily/rhythmic-column-engraver.cc +++ b/lily/rhythmic-column-engraver.cc @@ -57,11 +57,10 @@ Rhythmic_column_engraver::process_acknowledged () stem_l_ = 0; } - /* - since ncol_p_ is announced, it already has its grace_scm_sym set, if we're - in a Grace context. - */ - if (ncol_p_->get_elt_property (grace_scm_sym) == SCM_BOOL_F) + + bool wegrace = get_property ("weAreGraceContext",0).to_bool (); + + if (!wegrace) for (int i=0; i < grace_slur_endings_.size(); i++) grace_slur_endings_[i]->add_column (ncol_p_); grace_slur_endings_.clear (); @@ -71,8 +70,9 @@ Rhythmic_column_engraver::process_acknowledged () void Rhythmic_column_engraver::acknowledge_element (Score_element_info i) { - if (get_property ("weAreGraceContext",0).to_bool () != + if ((get_property ("weAreGraceContext",0).to_bool () != (i.elem_l_->get_elt_property (grace_scm_sym) != SCM_BOOL_F)) + && !dynamic_cast (i.elem_l_)) return ; Item * item = dynamic_cast (i.elem_l_); @@ -125,8 +125,4 @@ Rhythmic_column_engraver::do_post_move_processing() stem_l_ =0; } - - - - ADD_THIS_TRANSLATOR(Rhythmic_column_engraver); diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index 5063bfa7a4..5b4a599fe3 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -79,10 +79,10 @@ Spacing_spanner::do_measure (int col1, int col2) const Item* combinations[4][2]={{l,r}, {lb,r}, {l,rb},{lb,rb}}; - for (int i=0; i < 4; i++) + for (int j=0; j < 4; j++) { - Score_column * lc = dynamic_cast (combinations[i][0]); - Score_column *rc = dynamic_cast (combinations[i][1]); + Score_column * lc = dynamic_cast (combinations[j][0]); + Score_column *rc = dynamic_cast (combinations[j][1]); if (!lc || !rc) continue; @@ -112,14 +112,20 @@ Spacing_spanner::do_measure (int col1, int col2) const } s.distance_f_ = left_distance; - if (!lc->musical_b () || !rc->musical_b ()) + /* + Only do tight spaces *after* barlines, not before. + + We want the space before barline to be like the note + spacing in the measure. + */ + if (!lc->musical_b ()) s.strength_f_ = non_musical_space_strength; Real right_dist = 0.0; if (next_hint != SCM_BOOL_F) { next_hint = SCM_CADR(next_hint); - right_dist += gh_scm2double (next_hint); + right_dist += - gh_scm2double (next_hint); } else { @@ -142,10 +148,8 @@ Spacing_spanner::do_measure (int col1, int col2) const stretch_dist += left_distance; if (next_stretch_hint != SCM_BOOL_F) - { - // see regtest spacing-tight - // stretch_dist += gh_scm2double (SCM_CADR (next_stretch_hint)); - } + // see regtest spacing-tight + stretch_dist += - gh_scm2double (SCM_CADR (next_stretch_hint)); else stretch_dist += right_dist; diff --git a/lily/stem.cc b/lily/stem.cc index 3551ad97cf..2dd984cac7 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -149,10 +149,13 @@ Stem::get_center_distance (Direction d) const Direction Stem::get_default_dir () const { - return (get_center_distance (UP) > - get_center_distance (DOWN)) - ? DOWN - : UP; + int du = get_center_distance (UP); + int dd = get_center_distance (DOWN); + + if (sign (dd - du)) + return Direction (sign (dd -du)); + + return Direction (int(paper_l ()->get_var ("stem_default_neutral_direction"))); } Direction diff --git a/ly/engraver.ly b/ly/engraver.ly index 4c21a7d1f5..7cca986936 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -82,6 +82,7 @@ RhythmicStaffContext=\translator{ \translator{\RhythmicStaffContext} VoiceContext = \translator { \type "Engraver_group_engraver"; + dynamicPadding = "5.0"; \consists "Dynamic_engraver"; % must come before text_engraver. \name Voice ; @@ -99,6 +100,7 @@ VoiceContext = \translator { % ugh. Order matters here. \consists "Melisma_engraver"; + textScriptPadding = "3.0"; \consists "Text_engraver"; \consists "Script_engraver"; \consists "Script_column_engraver"; diff --git a/ly/ledger.ly b/ly/ledger.ly new file mode 100644 index 0000000000..6aee59cd7c --- /dev/null +++ b/ly/ledger.ly @@ -0,0 +1,7 @@ + +% ledger.ly + +hsize = 11.0 \in; +vsize = 17.0 \in; + + diff --git a/ly/letter.ly b/ly/letter.ly new file mode 100644 index 0000000000..9d7cf77b23 --- /dev/null +++ b/ly/letter.ly @@ -0,0 +1,6 @@ +% letter.ly + +hsize = 8.5 \in; +vsize = 11.0 \in; + + diff --git a/ly/nederlands.ly b/ly/nederlands.ly index 9b652a6bd2..78fc35ed04 100644 --- a/ly/nederlands.ly +++ b/ly/nederlands.ly @@ -68,7 +68,9 @@ Dis = \musicalpitch { -2 1 1 } Disis = \musicalpitch { -2 1 2 } Eses = \musicalpitch { -2 2 -2 } + Eeses = \musicalpitch { -2 2 -2 } Es = \musicalpitch { -2 2 -1 } + Ees = \musicalpitch { -2 2 -1 } E = \musicalpitch { -2 2 0 } Eis = \musicalpitch { -2 2 1 } Eisis = \musicalpitch { -2 2 2 } diff --git a/ly/paper11.ly b/ly/paper11.ly index f41bc11c7e..2026d92ba5 100644 --- a/ly/paper11.ly +++ b/ly/paper11.ly @@ -5,8 +5,8 @@ paper_eleven = \paper { staffheight = 11.0\pt; % ugh see table11 for sizes - quartwidth = 3.63\pt; - wholewidth = 5.45\pt; + quartwidth = 3.63 \pt; + wholewidth = 5.45 \pt; font_large = 8.; font_Large = 6.; @@ -17,7 +17,7 @@ paper_eleven = \paper { font_number = 4.; font_dynamic = 10.; font_mark = 6.; - + magnification_dynamic = -4.0; -1=\font "feta11" -2=\font "feta11" 0=\font "feta11" diff --git a/ly/params.ly b/ly/params.ly index e9fc341694..033f1c9a3f 100644 --- a/ly/params.ly +++ b/ly/params.ly @@ -201,12 +201,14 @@ stemSpacingCorrection = 0.5*\interline; % relative strength of space following tprefatory matter, and inline clefs. -non_musical_space_strength = 40.0; +non_musical_space_strength = 8.0; %If columns do not have spacing information set, set it to this much loose_column_distance = 2.0 * \interline; +% if stem is on middle line, choose this direction. +stem_default_neutral_direction = 1.0; \include "engraver.ly"; diff --git a/mf/GNUmakefile b/mf/GNUmakefile index 21c285a5a4..a6804652c5 100644 --- a/mf/GNUmakefile +++ b/mf/GNUmakefile @@ -4,9 +4,7 @@ depth = .. STEPMAKE_TEMPLATES=metafont metapost install install-out -EXTRA_DIST_FILES += README feta.mp - -# wtf is feta.mp ? +EXTRA_DIST_FILES += README FET_FILES = $(wildcard feta[0-9]*.mf) @@ -42,4 +40,4 @@ $(outdir)/%.afm $(outdir)/%.tex $(outdir)/%.dep: $(outdir)/%.log $(PYTHON) $(buildscripts)/mf-to-table.py --package=$(topdir) --outdir=$(outdir) --dep $(outdir)/$( 0: makebox_with_breapth(proofrule); fi -% chardx := 10*(w + b); + chardx := (w + b); %what the hack is chardx shipit; endgroup enddef; diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf index b1cdd49fbc..ad64170dff 100644 --- a/mf/feta-generic.mf +++ b/mf/feta-generic.mf @@ -37,7 +37,7 @@ if test = 0: else: % input feta-bolletjes; % input feta-banier; - input feta-eindelijk; +% input feta-eindelijk; % input feta-klef; % input feta-toevallig; % input feta-schrift; diff --git a/midi2ly/midi-parser.cc b/midi2ly/midi-parser.cc index 6b4fbe0d6d..ed9c5a49e3 100644 --- a/midi2ly/midi-parser.cc +++ b/midi2ly/midi-parser.cc @@ -53,7 +53,7 @@ unsigned Midi_parser::get_u (int n) { assert (n <= (int)sizeof(int)); - return String_convert::bin2_i (get_str (n)); + return String_convert::bin2_u (get_str (n)); } String diff --git a/mutopia/Coriolan/coriolan-part-paper.ly b/mutopia/Coriolan/coriolan-part-paper.ly index 2154b4118f..9b1377d666 100644 --- a/mutopia/Coriolan/coriolan-part-paper.ly +++ b/mutopia/Coriolan/coriolan-part-paper.ly @@ -1,8 +1,6 @@ \paper { \translator { \OrchestralPartStaffContext } - \translator { \ScoreContext - skipBars = 1; - } + \translator { \VoiceContext beamAuto=0; } + \translator { \ScoreContext skipBars = 1; } castingalgorithm = \Wordwrap; - } diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index f1f569d53f..530d6daed8 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -74,9 +74,9 @@ strijkers = \context StaffGroup = strijkers_group < \$strijkers > \paper{ - % Give hara-kiri something to do... - % URG fixme Score+HaraKiri! linewidth = 130.0\mm; + \translator { \VoiceContext beamAuto=0; } + \translator { \HaraKiriStaffContext } \translator { \OrchestralScoreContext } } \midi{ \tempo 4 = 160; } diff --git a/mutopia/Coriolan/fagotto-2.ly b/mutopia/Coriolan/fagotto-2.ly index 1ee6a0f2c8..a7da1b1e91 100644 --- a/mutopia/Coriolan/fagotto-2.ly +++ b/mutopia/Coriolan/fagotto-2.ly @@ -14,7 +14,7 @@ fagotto2 = \notes \relative c { fis4-. r r2 | r1 | g4-. r r2 | g4-. r r2 | R1 *5 | %20 r2 r4 g,4-. | - R1*6 | r4 g'\f r2 | R1*5 | as1\ff %~ | + R1*6 | r4 g'\f r2 | R1*6 | as1\ff %~ | %35 } diff --git a/mutopia/Coriolan/flauto-2.ly b/mutopia/Coriolan/flauto-2.ly index 5a0299cfdd..5a85db28d2 100644 --- a/mutopia/Coriolan/flauto-2.ly +++ b/mutopia/Coriolan/flauto-2.ly @@ -14,7 +14,7 @@ flauto2 = \notes \relative c { c4-. r r2 | r1 | es4-. r r2 | d,4-. r r2 | R1 *4 | r2 r2 | %20 - r2 r4 b4-. | R1*6 | r4 c r2 | R1*5 | c1 % ~ | + r2 r4 b4-. | R1*6 | r4 c r2 | R1*6 | c1 % ~ | %35 } diff --git a/mutopia/Coriolan/viola-1.ly b/mutopia/Coriolan/viola-1.ly index 44b2312950..1ee2457763 100644 --- a/mutopia/Coriolan/viola-1.ly +++ b/mutopia/Coriolan/viola-1.ly @@ -79,8 +79,8 @@ viola1 = \notes \relative c { [d8-"cresc." d-.] es4. es8-. d4 ~ | [d8 d-.] es4. es8-. d4 ~ | [d8 d-.] es4. es8-. d4 ~ | - [d8 d-.] es4. es8-. d4 | - fis,2:\ff fis4: g: | + [d8 d-.] es4. es8-. d4 (| + )fis,2:\ff fis4: g: | %85 d2: d: | fis: fis4: g: | c,: d: c: d: | b2: b4: c: | f': es: f: es: | %90 @@ -222,8 +222,8 @@ viola1 = \notes \relative c { [g8 g-.] as4. as8-. g4 ~ | %210 [g8 g-.] as4. as8-. g4 ~ | - [g8 g-.] as4. as8-. g4 ~ | - b,2:16\ff b4: c: | g'2: g: | + [g8 g-.] as4. as8-. g4 (| + )b,2:16\ff b4: c: | g'2: g: | %214 b,2:16\ff b4: c: | g'2: g: | e2:16\ff e4: f: | b,: c: b: c: | diff --git a/mutopia/Coriolan/viola-part.ly b/mutopia/Coriolan/viola-part.ly index 451392a491..d7448fa7a7 100644 --- a/mutopia/Coriolan/viola-part.ly +++ b/mutopia/Coriolan/viola-part.ly @@ -13,21 +13,21 @@ copyright = "public domain"; \include "viola-1.ly" \include "viola-2.ly" -$viola_staff = \context Staff = violai < - \property Staff.midiInstrument = "viola" - \property Staff.instrument = "Viola" - \property Staff.instr = "Vla." - \clef "alto"; - \notes \context Voice=one < - \global - \$viola1 - \$viola2 - > +$viola_staff = \context GrandStaff = viola < + \$viola1_staff + \$viola2_staff > \score{ \$viola_staff - \include "coriolan-part-paper.ly" + %%\include "coriolan-part-paper.ly" + \paper{ + castingalgorithm = \Wordwrap; + \translator { \VoiceContext beamAuto=0; } + \translator { \HaraKiriStaffContext } + % \translator { \ScoreContext skipBars = 1; } + \translator { \OrchestralScoreContext skipBars = 1; } + } \midi{ \tempo 4 = 160; } } diff --git a/mutopia/Coriolan/violino-1.ly b/mutopia/Coriolan/violino-1.ly index 8579677fe8..5ea0add43d 100644 --- a/mutopia/Coriolan/violino-1.ly +++ b/mutopia/Coriolan/violino-1.ly @@ -76,8 +76,8 @@ violino1 = \notes \relative c { [a8 bes-.] bes4. bes8-. bes4~| [bes8 bes-.] bes4. bes8-. bes4~| [bes8 c-.] c4. c8-. c4~| - [c8 d-.] d4. d8-. d4~| - es2:16\ff es4: d: | + [c8 d-.] d4. d8-. d4(| + )es2:16\ff es4: d: | %85 fis: g: fis: g: | es2: es4: d: | diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly index 2ea3f661e9..b2743d9e0b 100644 --- a/mutopia/Coriolan/violoncello.ly +++ b/mutopia/Coriolan/violoncello.ly @@ -204,8 +204,8 @@ violoncello = \notes \relative c { %185 [g(f' d f][g f d )g,~] | [g(e' c d][g e c )g~] | - [g(d' b d][g d b )g~] | - e2\ff d' | cis a ~ | + [g(d' b d][g d b )g(] | + )e2\ff d' | cis a ~ | %190 [a8( f' d f][a f d )a!~] | [a( e' cis e][a e c )a!~] | diff --git a/mutopia/Hymns/stille.ly b/mutopia/Hymns/stille.ly index a2d5573c88..6974285d12 100644 --- a/mutopia/Hymns/stille.ly +++ b/mutopia/Hymns/stille.ly @@ -1,163 +1,183 @@ \header { -title = "Stille Nacht"; -subtitle = "(Silent Night)"; -filename = "stille.ly"; -enteredby = "Peter Chubb"; -composer = "Franz X. Gruber"; -poet = "Joseph Mohr"; + title = "Stille Nacht"; + subtitle = "(Silent Night)"; + filename = "stille.ly"; + enteredby = "Peter Chubb"; + composer = "Franz X. Gruber"; + poet = "Joseph Mohr"; } \version "1.1.52"; +%{ + Note: there are other verses, but the three here seem to be + the most commonly sung ones. + I don't know who did the translation or the arrangement. +%} + global=\notes { - \time 6/4; - \key Bes; + \time 6/4; + \key Bes; + \skip 1.*12; + \bar "|."; } sop=\notes \relative f' { + \property Voice . articulationScriptVerticalDirection = \up %1 - f4. ( ) g8 f4 d2. | - f4. ( ) g8 f4 d2 r4 | - c'2 c4 a2 r4 | - bes2 bes4 f2. | + f4. ( ) g8 f4 d2. | + f4. ( ) g8 f4 d2 r4 | + c'2 c4 a2 r4 | + bes2 bes4 f2. | %5 - g2 g4 bes4.( )a8 g4 | - f4.()g8 f4 d2 r4 | - g2 g4 bes4.( )a8 g4 | - f4.()g8 f4 d2 r4 | + g2 g4 bes4.( )a8 g4 | + f4.()g8 f4 d2 r4 | + g2 g4 bes4.( )a8 g4 | + f4.()g8 f4 d2 r4 | %9 - c'2 c4 es4.()c8 a4 | - bes2.~ ( r4 | - bes4 ( )f d f4.( )es8 c4 | - bes2. ~ bes2 r4 \bar "|."; + c'2 c4 es4. c8 a4 | + bes2. ( < ~bes2-- )d2-- > r4 | + bes4 ( )f d f4.( )es8 c4 | + bes2. ~ bes2 r4 } alt=\notes\relative c' { + \property Voice . articulationScriptVerticalDirection = \down %1 - d4. es8 d4 bes2. | - d4. es8 d4 bes2 r4 | - es2 es4 ges2 r4 | - f2 es4 d2. | + d4. es8 d4 bes2. | + d4. es8 d4 bes2 r4 | + es2 es4 ges2 r4 | + f2 es4 d2. | %5 - es2 es4 es4. f8 es4 | - d4. es8 d4 bes2 r4 | - es2 es4 es4. f8 es4 | - d4. es8 d4 c( )bes r4 | + es2 es4 es4. f8 es4 | + d4. es8 d4 bes2 r4 | + es2 es4 es4. f8 es4 | + d4. es8 d4 c( )bes r4 | %9 - es4( )f g a4. a8 ges4| - f2.~ e!2-- r4 | - d2 bes4 d4. c8 c4 | - bes2. ~ bes2 r4 \bar "|."; + es4( )f g a4. a8 ges4| + f2.( )e!2-- r4 | + d2 bes4 d4. c8 c4 | + bes2. ~ bes2 r4 } ten=\notes\relative c' { - bes2 bes4 f2. | - bes2 a4 f2 r4 | - a2 a4 c2 r4 | - bes2 a4 f2 ( ) bes4 | + \property Voice . articulationScriptVerticalDirection = \up + + bes2 bes4 f2. | + bes2 a4 f2 r4 | + a2 a4 c2 r4 | + bes2 a4 f2 ( ) bes4 | %5 - bes2 bes4 g4. a8 bes4 | - bes4. bes8 bes4 f2 r4 | - bes2 bes4 g4. a8 bes4 | - bes4. bes8 bes4 f2 r4 | + bes2 bes4 g4. a8 bes4 | + bes4. bes8 bes4 f2 r4 | + bes2 bes4 g4. a8 bes4 | + bes4. bes8 bes4 f2 r4 | %9 - g2 bes4 c4. c8 c4 | - bes2. ~ g2-- r4 | - bes2 g4 a4. bes8 a4 | - bes2. ~ bes2 r4 \bar "|."; + g2 bes4 c4. c8 c4 | + bes2. ( ) g2-- r4 | + bes2 g4 a4. bes8 a4 | + bes2. ~ bes2 r4 } bass=\notes\relative c { + \property Voice . articulationScriptVerticalDirection = \down %1 - bes2 bes4 bes2. | - bes2 bes4 bes2 r4 | - f'2 f4 es2 r4 | - d2 c4 bes2. | + bes2 bes4 bes2. | + bes2 bes4 bes2 r4 | + f'2 f4 es2 r4 | + d2 c4 bes2. | %5 - es2 es4 es2 es4 | - bes4. bes8 bes4 bes2 r4 | - es2 es4 es4. es8 es4 | - bes4. bes8 bes4 bes2 r4 | + es2 es4 es2 es4 | + bes4. bes8 bes4 bes2 r4 | + es2 es4 es4. es8 es4 | + bes4. bes8 bes4 bes2 r4 | %9 - c4 d es f4. f8 es4 | - d2. ~ c2-- r4 | - f2 f4 f4. g8 a4 | - bes2. ~ bes2 r4 \bar "|."; -} - -chords=\lyrics{ - "B\\textflat"1 ""2 - "B\\textflat maj7"1 ""2 - "F7"2. "E\\textflat dim"2. | - "B\\textflat /D"2 "Cm7"4 "B\\textflat"2. | - "E\\textflat"1 ""2 | - "B\\textflat"1 ""2 | - "E\\textflat"1 ""2 | - "B\\textflat"1 ""2 | - "Cm "4 "Gm7sus4/D "4 "Cm/E\\textflat "4 "F7"2 "E\\textflat dim"4 | - "B\\textflat /D"2. "C9"2 ""4 | - "B\\textflat /F"2. "F7"2. | - "B\\textflat"2 ""2 ""2 + c4 d es f4. f8 es4 | + d2. ( ) c2-- r4 | + f2 f4 f4. g8 a4 | + bes2. ~ bes2 r4 +} + +harm=\chords{ + \property Score.chordInversion = 1 + + bes1. | + bes-7+ | + f2.-7 es-dim | + bes2/d c4-m7 bes2. | + es1. | + bes1. | + es1. | + bes1. | + c4-m + g-m7.4/d % should be Gm7sus4 + c-m/es f2-7 es4-dim | + bes2./d c2.-9 | + bes2./f f-7 | + bes1. } v1 = \lyrics { - Stil-2 le4 Nacht,2. hei-4. li-8 ge4 Nacht,2. - Al-2 les4 schl\"aft,2. ein-2 sam4 wacht2. - Nur2 das4 trau-2 te,4 hoch-4. heil8 ige4 Paar,2. - Hold-2 er4 Knabe2 im4 lock-4. i-8 gen4 Haar2. - Schlaf2 in4 himm-4. li-8 scher4 Ruh'!2 - - - Schlaf2 in4 himm-4. li-8 scher4 Ruh'!2 - - + Stil2 -- le4 Nacht,2. hei4. -- li8 -- ge4 Nacht,2. + Al2 -- les4 schl\"aft,2. ein2 -- sam4 wacht2. + Nur2 das4 trau2 -- te,4 hoch4. -- heil8 ige4 Paar,2. + Hold2 -- er4 Knabe2 im4 lock4. -- i8 -- gen4 Haar2. + Schlaf2 in4 himm4. -- li8 -- scher4 Ruh'!1 __ ""2 + Schlaf2 in4 himm4. -- li8 -- scher4 Ruh'!1 __ ""2 } + v2 = \lyrics { - Stil-2 le4 Nacht,2. hei-4. li-8 ge4 Nacht,2. - Hir-2 ten4 erst2. kund2 ge-4 macht2. - Durch2 der4 En-2 gel4 Ha-4. lle-8 lu4 ja2. + Stil2 -- le4 Nacht,2. hei4. -- li8 -- ge4 Nacht,2. + Hir2 -- ten4 erst2. kund2 ge4 -- macht2. + Durch2 der4 En2 -- gel4 Ha4. -- lle8 -- lu4 ja2. T\"ont2 es4 laut2 von4 fern2 und4 nah:2. - "``Christ,"2 der4 Ret-4. ter,8 ist4 "da!''"2 - - - "``Christ,"2 der4 Ret-4. ter,8 ist4 "da!''"2 - - + "``Christ,"2 der4 Ret4. -- ter,8 ist4 "da!''"1 __ ""2 + "``Christ,"2 der4 Ret4. -- ter,8 ist4 "da!''"1 __ ""2 } v3 = \lyrics { - Stil-2 le4 Nacht,2. hei-4. li-8 ge4 Nacht,2. - Go-2 ttes4 Sohn,2. o-2 wie4 lacht2. - Lieb'2 aus4 dei-2 nem4 g\"ott-4. li-8 chen4 Mund,2. - Da2 uns4 schlägt2 die4 ret-2 tende4 Stund'.2. - Christ,2 in4 Dei-4. ner8 Ge-4 burt!2 - - - Christ,2 in4 Dei-4. ner8 Ge-4 burt!2 - - + Stil2 -- le4 Nacht,2. hei4. -- li8 -- ge4 Nacht,2. + Go2 -- ttes4 Sohn,2. o2 -- wie4 lacht2. + Lieb'2 aus4 dei2 -- nem4 g\"ott4. -- li8 -- chen4 Mund,2. + Da2 uns4 schlägt2 die4 ret2 -- tende4 Stund'.2. + Christ,2 in4 Dei4. -- ner8 Ge4 -- burt!1 __ ""2 + Christ,2 in4 Dei4. -- ner8 Ge4 -- burt!1 __ ""2 } v1e = \lyrics { - Sil-2 ent4 night,2. Ho-2 ly4 night,2. + Si2 -- lent4 night,2. Ho2 -- ly4 night,2. All2 is4 calm,2. all2 is4 bright,2. - 'Round2 yon4 Vir-2 gin4 Mo-4. ther8 and4 Child2. - Ho-2 ly4 In-4. fant8 so4 ten-4. der8 and4 mild,2. - Sleep2 in4 hea-4. ven-8 ly4 peace,2 - - - Sleep2 in4 hea-4. ven-8 ly4 peace.2 - - + 'Round2 yon4 Vir2 -- gin4 Mo4. -- ther8 and4 Child2. + Ho2 -- ly4 In4. -- fant8 so4 ten4. -- der8 and4 mild,2. + Sleep4. __ ""8 in4 hea4. -- ven-8 ly4 peace,1 __ ""2 + Sleep4. __ ""8 in4 hea4. -- ven-8 ly4 peace.1 __ ""2 } + v2e = \lyrics { - Si-2 lent4 night,2. Ho-2 ly4 night,2. - Shep-2 herds4 quake2. at2 the4 sight,2. - Glo-2 ies4 stream2 from4 hea-4. ven8 a-4 far,2. - Hea-2 v'nly4 hosts2 sing4 "``A-"4. lle-8 lu-4 ia;2. - Christ2 the4 Sa-4. viour8 is4 born,2. - Christ2 the4 Sa-4. viour8 is4 "born.''"2. + Si2 -- lent4 night,2. Ho2 -- ly4 night,2. + Shep2 -- herds4 quake2. at2 the4 sight,2. + Glo2 -- ries4 stream4. __ ""8 from4 hea4. -- ven8 a4 -- far,2. + Hea2 -- v'nly4 hosts4. __ ""8 sing4 "``A"4. -- lle8 -- lu4 -- ia;2. + Christ4. __ ""8 the4 Sa4. -- viour8 is4 born,1 __ ""2 + Christ4. __ ""8 the4 Sa4. -- viour8 is4 "born.''"1 __ ""2 } v3e = \lyrics { - Si-2 lent4 night,2. Ho-2 ly4 night,2. + Si2 -- lent4 night,2. Ho2 -- ly4 night,2. Son2 of4 God,2. love's2 pure4 light2. - Ra-2 diant4 beams4. from8 Thy4 ho-4. ly8 face,2. - With2 the4 dawn2 of4 sa-4. ving8 grace2. - Je-2 sus,4 Lord,4. at8 Thy4 birth,2. - Je-2 sus,4 Lord,4. at8 Thy4 birth.2. + Ra2 -- diant4 beams4. from8 Thy4 ho2 -- ly4 face,2. + With2 the4 dawn4. __ ""8 of4 sa2 -- ving4 grace2. + Je2 -- sus,4 Lord,4. at8 Thy4 birth,1 __ ""2 + Je2 -- sus,4 Lord,4. at8 Thy4 birth.1 __ ""2 } upper= \notes { \context Staff = upper { - \clef "treble"; \global + \clef "treble"; \context Staff < + \global { \voiceone \sop } { \voicetwo \alt } > @@ -166,22 +186,40 @@ upper= \notes { lower = \notes { \context Staff = lower { - \clef "bass"; \global + \clef "bass"; \context Staff < + \global { \voicethree \ten } { \voicefour \bass } > } } +GermanWords=\context Lyrics=upper < + \v1 + \v2 + \v3 +> + +EnglishWords=\context Lyrics=upper < + \v1e + \v2e + \v3e +> + \score { - \context ChoirStaff - < - { \context Lyrics = top \chords } - \upper - { \context Lyrics = upper \v1 } - { \context Lyrics = upper \v2 } - { \context Lyrics = upper \v3 } - \lower - > + \context ChoirStaff < + \context ChordNames \harm + \upper +% \EnglishWords + \GermanWords + \lower + > + \paper { % fit onto single A4 page + textheight=290.0\mm; + indent=0.0\mm; + } + \midi{ + } } + diff --git a/stepmake/NEWS b/stepmake/NEWS index 3f3f98ee14..fca4a87733 100644 --- a/stepmake/NEWS +++ b/stepmake/NEWS @@ -1,3 +1,9 @@ +pl 79 + - empty sed script fix for aix + +pl 78 + - yodl mode, mp fixes + pl 77 - mfmode diff --git a/stepmake/VERSION b/stepmake/VERSION index 26f5b35fe0..f4cf86e780 100644 --- a/stepmake/VERSION +++ b/stepmake/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=StepMake MAJOR_VERSION=0 MINOR_VERSION=1 -PATCH_LEVEL=78 +PATCH_LEVEL=79 MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: diff --git a/stepmake/stepmake/metapost-rules.make b/stepmake/stepmake/metapost-rules.make index 8c73b296e0..ef846f8a3c 100644 --- a/stepmake/stepmake/metapost-rules.make +++ b/stepmake/stepmake/metapost-rules.make @@ -1,18 +1,10 @@ -# urg -# i've got no idea what this scaling could be for, on both sides... -# it seems that 'low_res', which should be all we ever need according -# to the metapost mfplain guru, really does 200dpi, iso 600dpi (minimun) -# -$(METAPOST) "&mfmp \mode=ljfour; \mag=100.0; batchmode; input $<" -# -$(METAPOST) "&mfplain \mode=lowres; \mag=100.0; batchmode; input $<" - $(outdir)/%.0: %.mf mfplain.mem -$(METAPOST) "&mfplain \mode=lowres; \mag=1.0; nonstopmode; input $<" - - -mfplain.mem: mfplain.ini - $(INIMETAPOST) mfplain.ini +MFPLAIN_MP=/usr/share/texmf/metapost/base/mfplain.mp +mfplain.mem: $(MFPLAIN_MP) + $(INIMETAPOST) -interaction=nonstopmode $(MFPLAIN_MP) dump $(outdir)/%.pfa: $(outdir)/%.0 @@ -20,8 +12,3 @@ $(outdir)/%.pfa: $(outdir)/%.0 rm -f $(basename $(@F)).[0-9]* rm -f $(basename $<).log $(basename $<).tfm - - -#dokkum:~/usr/src/lilypond/mf$ inimpost /usr/share/texmf/metapost/base/mfplain.mp -#[....] \dump - diff --git a/stepmake/stepmake/substitute-vars.make b/stepmake/stepmake/substitute-vars.make index d310ae63a2..62c4dd010a 100644 --- a/stepmake/stepmake/substitute-vars.make +++ b/stepmake/stepmake/substitute-vars.make @@ -10,12 +10,12 @@ DATE = $(date) # for all FILE in AT_FILES: # substitute occurrences of @FILE@ with contents $(at-dir)BLA$(at-ext) -sed-atfiles = -e '' $(foreach i, $(AT_FILES), \ +sed-atfiles = -e '\#' $(foreach i, $(AT_FILES), \ -e '/@$i@/r $(at-dir)$i$(at-ext)' -e 's%@$i@%%g') # for all VAR in ATVARIABLES # substitute occurrences of @VAR@ with $(VAR) -sed-atvariables = -e '' $(foreach i, $(ATVARIABLES), -e 's!@$i@!$($i)!g') +sed-atvariables = -e '\#' $(foreach i, $(ATVARIABLES), -e 's!@$i@!$($i)!g') # these are obsolete # use ATVARIABLES