]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.5.35
authorfred <fred>
Wed, 27 Mar 2002 02:06:12 +0000 (02:06 +0000)
committerfred <fred>
Wed, 27 Mar 2002 02:06:12 +0000 (02:06 +0000)
ChangeLog
Documentation/user/refman.itely
VERSION
input/regression/figured-bass.ly [new file with mode: 0644]
lily/lookup.cc
scm/music-property-description.scm

index c8671a34e72552d5459795c64eb9d61c3040a5fc..83eeee5a6b9b8e2e531fda75e2701cfabaad7dff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,63 @@
+2002-02-28  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * 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 #<undefined> 
+
+       * 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  <matsb@matsb@s3.kth.se>
+
+       * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
+
+2002-02-28  Juergen Reuter  <reuter@ipd.uka.de>
+
+       * 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  <hanwen@cs.uu.nl>
 
        * VERSION: 1.5.34 released.
        Changed property:   localKeySignature.
        Added properties:   extraNatural, autoAccidentals,
                            autoCautionaries.
+
        (BUGFIX: broken-tie-support destroyed in 1.5.16)
        
        * ly/property-init.ly: added commands
index 133e45f318eea2e5611294842b006e193264651c..c2786787ff8cb1bde39453cce538b2eec856c482 100644 (file)
@@ -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'' {
-   <e! g >
-   <f8 ais >
-   \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 01b2d92cf892e8ca15932740a1e4180e4505ad1b..f36d3ce01b6e11017ef940433a7a7e416005058f 100644 (file)
--- 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 (file)
index 0000000..47893be
--- /dev/null
@@ -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
+  }
+>
+ }
index 60cc0c6269c14eff04c7321fa1779ba36afd556e..34158202053f5004d607035aea16f13304f6928f 100644 (file)
@@ -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);
+
index 50fc4ad6334a4436c8b84f60df5c74c870cedd98..93933e1aff02c726c432125d31061c4e5ccdc644 100644 (file)
@@ -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.")
+