From: fred Date: Wed, 27 Mar 2002 02:06:12 +0000 (+0000) Subject: lilypond-1.5.35 X-Git-Tag: release/1.5.59~294 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=2f21b8f7571a3a6d5946dda32cf061acf0b9beb9;p=lilypond.git lilypond-1.5.35 --- diff --git a/ChangeLog b/ChangeLog index c8671a34e7..83eeee5a6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,63 @@ +2002-02-28 Han-Wen Nienhuys + + * VERSION (PATCH_LEVEL): 1.5.35 released. + + * lily/lookup.cc (ly_bracket): Scheme function ly-bracket + (bracket): New function. + + * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset + stemLeftBeamCount, stemRightBeamCount in stead of using # + + * lily/third-try.cc (set_implicit_neighbor_columns): type checking + bugfix. + + * lily/span-arpeggio-engraver.cc (stop_translation_timestep): + typecheck bugfix. + + * lily/grob.cc (ly_get_grob_property): be anal about types. + (ly_set_grob_property): idem + + * lily/figured-bass-engraver.cc (process_music): move molecule + building completely to Scheme + + * lily/include/musical-request.hh (class Bass_figure_req): Add + class. + + * lily/parser.yy (bass_figure): add support for space figure. + + * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types + + * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension + + * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom + (ly_align_to_x): new function ly-align-to! + + * lily/font-interface.cc (ly_font_interface_get_font): new Scheme + function ly-get-font + + * mf/feta-nummer.mf: include normal-space dimension. + + * lily/collision.cc (check_meshing_chords): don't merge collisions + with whole notes. + + * lily/system-start-delimiter.cc (after_line_breaking): Bugfix: + glyph is string. + +2002-02-28 Mats Bengtsson + + * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4 + +2002-02-28 Juergen Reuter + + * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING: + font changed) + + * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather + than mensural chars + + * mf/parmesan-scripts.mf, mf/parmesan-generic.mf, + scm/grob-description.scm: added mensural fermata symbol + 2002-02-27 Han-Wen Nienhuys * VERSION: 1.5.34 released. @@ -440,6 +500,7 @@ Changed property: localKeySignature. Added properties: extraNatural, autoAccidentals, autoCautionaries. + (BUGFIX: broken-tie-support destroyed in 1.5.16) * ly/property-init.ly: added commands diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 133e45f318..c2786787ff 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -1366,9 +1366,11 @@ To save typing work, some shorthands are available: @cindex fingering -Fingering instructions can also be entered in this shorthand. +Fingering instructions can also be entered in this shorthand. For +changes, some markup texts would be needed: @lilypond[verbatim, singleline, fragment] c'4-1 c'4-2 c'4-3 c'4-4 + c^#'(finger "2-3") @end lilypond @@ -2873,24 +2875,7 @@ block: @cindex Basso continuo -Figured bass is printed by @internalsref{FiguredBass} context. This -context will print notes (relative to the central C) as figures. To -ease entering these notes, the special @code{\figures} mode is -available which allows you to type numbers, like @code{<4 6+>}. - -@lilypond[verbatim,fragment] -< \context FiguredBass \transpose c'' { - - - \figures { - r8 - <1 3 5>4 <3- 5+ 6!> <5> - } - } - \context Voice { - c g8 g f4 d c - } > -@end lilypond +TODO. see figured-bass.ly @c . {Tuning output} @node Tuning output diff --git a/VERSION b/VERSION index 01b2d92cf8..f36d3ce01b 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 -PATCH_LEVEL=34 +PATCH_LEVEL=35 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/input/regression/figured-bass.ly b/input/regression/figured-bass.ly new file mode 100644 index 0000000000..47893be4fc --- /dev/null +++ b/input/regression/figured-bass.ly @@ -0,0 +1,25 @@ +\header { +texidoc = "Test figured bass. + +Figured bass is created by the FiguredBass context which eats +figured bass requests and rest-requests. You must enter these using +the special @code{\figures @{ @}} mode, which allows you to type +numbers, like @code{<4 6+>}. + +" } + +\score { \notes < + \context FiguredBass { + \figures { + <_! 3+ 5- _ 7! 9 >4 + < 4 6 > + } + } + + \context Voice { + c 4 + g8 + } + +> + } diff --git a/lily/lookup.cc b/lily/lookup.cc index 60cc0c6269..3415820205 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -46,7 +46,6 @@ Lookup::beam (Real slope, Real width, Real thick) } - Molecule Lookup::dashed_slur (Bezier b, Real thick, Real dash) { @@ -67,9 +66,6 @@ Lookup::dashed_slur (Bezier b, Real thick, Real dash) return Molecule (box, at); } - - - Molecule Lookup::blank (Box b) { @@ -90,6 +86,7 @@ Lookup::filledbox (Box b) return Molecule (b,at); } + Molecule Lookup::frame (Box b, Real thick) { @@ -107,7 +104,6 @@ Lookup::frame (Box b, Real thick) edges[o][DOWN] = b[o][DOWN] - thick/2; edges[o][UP] = b[o][UP] + thick/2; - m.add_molecule (filledbox (edges)); } while (flip (&d) != LEFT); @@ -164,6 +160,9 @@ Lookup::slur (Bezier curve, Real curvethick, Real linethick) return Molecule (b, at); } +/* + TODO: junk me. + */ Molecule Lookup::accordion (SCM s, Real staff_space, Font_metric *fm) { @@ -380,3 +379,49 @@ Lookup::repeat_slash (Real w, Real s, Real t) return Molecule (b, slashnodot); // http://slashnodot.org } + + + +Molecule +Lookup::bracket (Axis a, Interval iv, Direction d, Real thick, Real protude) +{ + Box b; + Axis other = Axis((a+1)%2); + b[a] = iv; + b[other] = Interval(-1, 1) * thick * 0.5; + + Molecule m = filledbox (b); + + b[a] = Interval (iv[UP] - thick, iv[UP]); + Interval oi = Interval (-thick/2, thick/2 + protude) ; + oi *= d; + b[other] = oi; + m.add_molecule (filledbox (b)); + b[a] = Interval (iv[DOWN], iv[DOWN] +thick); + m.add_molecule (filledbox(b)); + + return m; +} + +SCM +ly_bracket (SCM a, SCM iv, SCM d, SCM t, SCM p) +{ + SCM_ASSERT_TYPE(ly_axis_p (a), a, SCM_ARG1, __FUNCTION__, "axis") ; + SCM_ASSERT_TYPE(ly_number_pair_p (iv), iv, SCM_ARG1, __FUNCTION__, "number pair") ; + SCM_ASSERT_TYPE(isdir_b (d), a, SCM_ARG1, __FUNCTION__, "direction") ; + SCM_ASSERT_TYPE(gh_number_p (t), a, SCM_ARG1, __FUNCTION__, "number") ; + SCM_ASSERT_TYPE(gh_number_p(p), a, SCM_ARG1, __FUNCTION__, "number") ; + + + return Lookup::bracket ((Axis)gh_scm2int (a), ly_scm2interval (iv), + (Direction)gh_scm2int (d), gh_scm2double (t), gh_scm2double (p)).smobbed_copy (); +} + +static void +lookup_init () +{ + scm_c_define_gsubr ("ly-bracket", 5, 0, 0, (Scheme_function_unknown) ly_bracket); +} + +ADD_SCM_INIT_FUNC (lookup,lookup_init); + diff --git a/scm/music-property-description.scm b/scm/music-property-description.scm index 50fc4ad633..93933e1aff 100644 --- a/scm/music-property-description.scm +++ b/scm/music-property-description.scm @@ -60,9 +60,16 @@ TODO: consider making type into symbol ") (music-property-description 'repeat-count integer? "do a @code{\repeat} how ofen?") (music-property-description 'span-direction dir? "Does this start or stop a spanner?") (music-property-description 'symbol symbol? "Grob name to perform an override/revert on.") -(music-property-description 'text string? "markup expression to be printed") +(music-property-description 'text markup? "markup expression to be printed") ;; markup? (music-property-description 'tremolo-type integer? "") (music-property-description 'value scheme? "Assignment value for a translation property") (music-property-description 'what string? "What to change for auto-change. FIXME, naming") + +(music-property-description 'figure number? "number for figured bass") +(music-property-description 'alteration number? "alteration for figured bass") +(music-property-description 'bracket-start boolean? "start a bracket +here. TODO: use span requests?") +(music-property-description 'bracket-stop boolean? "stop a bracket here.") +