* lily/sequential-music.cc: remove file.
* lily/include/music.hh (class Music): replace Music::start_mom()
by start-callback property
* lily/time-scaled-music.cc: remove file.
* lily/include/music.hh (class Music): include SCM init argument.
(class Music): replace Music::get_length() virtual by
length-callback property everywhere.
2005-01-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/include/music.hh (class Music): unvirtualize transpose().
+
* lily/sequential-music.cc: remove file.
* lily/include/lyric-combine-music.hh ("music.hh"): remove file.
}
Real rad = Staff_symbol_referencer::staff_radius (me);
-
-
-
Drul_array<int> edge_beam_counts
(Stem::beam_multiplicity (stems[0]).length () + 1,
Stem::beam_multiplicity (stems.top ()).length () + 1);
if (qscores[i].demerits < reasonable_score)
{
Real d = score_forbidden_quants (qscores[i].yl, qscores[i].yr,
- rad, slt, thickness, beam_translation,
- edge_beam_counts, ldir, rdir);
+ rad, slt, thickness, beam_translation,
+ edge_beam_counts, ldir, rdir);
qscores[i].demerits += d;
#if DEBUG_QUANTING
void print () const;
/// Transpose, with the interval central C to #p#
- virtual void transpose (Pitch p);
-
+ void transpose (Pitch p);
+
/// Scale the music in time by #factor#.
void compress (Moment factor);
VIRTUAL_COPY_CONSTRUCTOR (Music, Untransposable_music);
virtual Pitch to_relative_octave (Pitch);
- virtual void transpose (Pitch);
};
void
Music::transpose (Pitch delta)
{
+ if (to_boolean (get_property ("untransposable")))
+ return ;
+
for (SCM s = this->get_property_alist (true); scm_is_pair (s); s = scm_cdr (s))
{
SCM entry = scm_car (s);
if (abs (transposed.get_alteration ()) > DOUBLE_SHARP)
{
- warning (_f ("Transposition by %s makes alteration larger than two",
+ warning (_f ("Transposition by %s makes alteration larger than double",
delta.to_string ()));
}
}