+1.3.107.jcn3
+============
+
+* Dropped ly_lists_equal for gh_equal_
+
+* Removed Array from chord.
+
+* Small bugfix to lilypond-mode.
+
+* lily/part-combine-music-iterator.cc: fixed (switch `combineParts'
+property on), and removed Array.
+
+1.3.107.uu1
+===========
+
+* Bugfix: don't call Crescendo::brew_molecule () too early if there is
+an absolute dynamic.
+
+* Rename class Crescendo to Hairpin.
+
+* Search/replace: Musical_pitch -> Pitch
+
+* More links in the backend documentation.
+
1.3.106.jcn2
============
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=3
-PATCH_LEVEL=107
+PATCH_LEVEL=108
MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
if (Stem::has_interface (i.elem_l_)
|| Slur::has_interface (i.elem_l_)
// || Text_item::has_interface (i.elem_l_)
- //|| Crescendo::has_interface (i.elem_l_)
+ //|| Hairpin::has_interface (i.elem_l_)
)
{
/*
/*
- crescendo.cc -- implement Crescendo
+ crescendo.cc -- implement Hairpin
source file of the GNU LilyPond music typesetter
#include "debug.hh"
#include "paper-column.hh"
-MAKE_SCHEME_CALLBACK (Crescendo, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Hairpin, brew_molecule, 1);
SCM
-Crescendo::brew_molecule (SCM smob)
+Hairpin::brew_molecule (SCM smob)
{
Score_element *me= unsmob_element (smob);
Spanner *span = dynamic_cast<Spanner*>(me);
}
Direction grow_dir = to_dir (s);
-
+ Real padding = gh_scm2double (me->get_elt_property ("padding"));
Real width = span->spanner_length ();
width -= span->get_broken_left_end_align ();
}
Drul_array<bool> broken;
+ Drul_array<Real> extra_off;
Direction d = LEFT;
do
{
- Paper_column* s = dynamic_cast<Paper_column*> (span->get_bound (d)); // UGH
- broken[d] = (!s->musical_b ());
+ Item *b = span->get_bound (d);
+ broken[d] = b->break_status_dir () != CENTER;
+
+ if (!broken [d])
+ {
+ Real r = b->extent (b, X_AXIS)[-d] + padding;
+ width += d * r;
+ extra_off[d] = r;
+ }
}
while (flip (&d) != LEFT);
Box b (Interval (0, width), Interval (-2*height, 2*height));
Molecule mol (b, hairpin);
- mol.translate_axis (broken_left, X_AXIS);
+ mol.translate_axis (broken_left + extra_off[LEFT], X_AXIS);
return mol.smobbed_copy ();
}
SCM_UNDEFINED);
}
}
-
- Score_element *cc = unsmob_element (get_property ("currentMusicalColumn"));
- cresc_p_->set_bound (LEFT, cc);
-
- if (script_p_)
- {
- Side_position::set_direction (script_p_, LEFT);
- Side_position::set_axis (script_p_, X_AXIS);
- Side_position::add_support (script_p_, cresc_p_);
- }
-
+ cresc_p_->set_bound (LEFT, script_p_
+ ? script_p_
+ : unsmob_element (get_property ("currentMusicalColumn")));
+
Axis_group_interface::add_element (line_spanner_, cresc_p_);
announce_element (cresc_p_, accepted_spanreqs_drul_[START]);
}
{
if (finished_cresc_p_)
{
+ finished_cresc_p_->set_bound (RIGHT, script_p_
+ ? script_p_
+ : unsmob_element (get_property ("currentMusicalColumn")));
+
typeset_element (finished_cresc_p_);
finished_cresc_p_ =0;
}
/*
- crescendo.hh -- declare Crescendo
+ crescendo.hh -- declare Hairpin
source file of the GNU LilyPond music typesetter
/**
The hairpin symbol.
*/
-struct Crescendo
+struct Hairpin
{
public:
DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
% For using "sostingut" notation, which is also correct
-\notenames #'(
+\notenames #`(
(dobb . ,(make-pitch -1 0 -2 ))
(dob . ,(make-pitch -1 0 -1 ))
(do . ,(make-pitch -1 0 0 ))
))
(Crescendo . (
- (molecule-callback . ,Crescendo::brew_molecule)
+ (molecule-callback . ,Hairpin::brew_molecule)
(thickness . 1.0)
- (shorten-for-letter . 4.0)
+ (padding . 1.0)
(height . 0.6666)
(dash-thickness . 1.2)
(dash-length . 4.0)
(molecule-callback . ,Text_item::brew_molecule)
(direction . 1)
(breakable . #t)
- (font-family . number)
+ (font-family . roman)
(font-relative-size . 1)
(visibility-lambda . ,end-of-line-invisible)
(padding . 0.8)
(font-family . roman)
(meta . ,(element-description "NoteName"
note-name-interface font-interface
- general-element-interface))
+ ))
))
(OctavateEight . (
'note-column-interface
"Stem and noteheads combined"
(list
- (elt-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting.")
- (elt-property-description 'force-hshift number? "amount of collision_note_width that overides automatic collision settings.")
- (elt-property-description 'merge-differently-dotted boolean? "merge black noteheads with differing dot count in collisions.
-
-Merge noteheads in collisions, even if they have a different number of
-dots. This normal notation for polyphonic guitar music.
-
-")
+ (elt-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting. This is used by @ref{note-collision-interface}")
+ (elt-property-description 'force-hshift number? "amount of collision_note_width that overides automatic collision settings. This is used by @ref{note-collision-interface}")
))
)
(elt-property-description 'grow-direction dir? "crescendo or decrescendo?")
(elt-property-description 'thickness number? "thickness, measured in stafflinethickness")
(elt-property-description 'height number? "height, measured in staffspace.")
+ (elt-property-description 'padding number? "horizontal padding. This is useful if a crescendo is set next to a text like `mf'")
)))
(define arpeggio-interface
(lily-interface
'arpeggio-interface
- "arpeggio"
+ "Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads."
(list
(elt-property-description 'stems list? "list of stem objects, corresponding to the notes that the arpeggio has to be before.")
)
(define note-collision-interface
(lily-interface
'note-collision-interface
- "note collision"
+ "An object that handles collisions between notes with different
+stem directions and horizontal shifts. Most of the interesting
+properties are to be set in @ref{note-column-interface}"
(list
+ (elt-property-description 'merge-differently-dotted boolean? "
+Merge noteheads in collisions, even if they have a different number of
+dots. This normal notation for some types of polyphonic music. The
+value of this setting is used by @ref{note-collision-interface}
+
+")
(elt-property-description 'note-width 'number? "unit for horizontal translation, measured in staff-space.")
) ) )