From 1af070dd1a87952c74e42e5dee8ea81d2d44d156 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:47:59 +0000 Subject: [PATCH] lilypond-0.0.76 --- lily/include/head-column.hh | 41 +++++++++++++++++++++++++++++++++++ lily/include/rest-column.hh | 12 ++--------- lily/rest-column.cc | 43 +------------------------------------ 3 files changed, 44 insertions(+), 52 deletions(-) create mode 100644 lily/include/head-column.hh diff --git a/lily/include/head-column.hh b/lily/include/head-column.hh new file mode 100644 index 0000000000..ea5e9a7531 --- /dev/null +++ b/lily/include/head-column.hh @@ -0,0 +1,41 @@ +/* + head-column.hh -- declare Head_column + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + + +#ifndef HEAD_COLUMN_HH +#define HEAD_COLUMN_HH + +#include "script-column.hh" + +class Head_column : public Script_column +{ +public: + Link_array head_l_arr_; + /** The relative position of the "voice" containing this + chord. Normally this would be the same as the stem direction, + but rests do not have stems. + + Hmm. outdated.. Rests *do* have stems. + */ + + int dir_i_; + Stem* stem_l_; + + void add(Note_head*); + void add(Script*s) { Script_column::add(s) ; } + virtual void set(Stem*); + Head_column(); + NAME_MEMBERS(); +protected: + + + virtual void do_pre_processing(); + virtual void do_print()const; + virtual void do_substitute_dependency(Score_elem*,Score_elem*); +}; +#endif // HEAD_COLUMN_HH diff --git a/lily/include/rest-column.hh b/lily/include/rest-column.hh index 05327cbc6c..86aa7f96e0 100644 --- a/lily/include/rest-column.hh +++ b/lily/include/rest-column.hh @@ -11,24 +11,16 @@ #define REST_COLUMN_HH #include "script-column.hh" +#include "head-column.hh" /** struct to treat a set of rests as union (one voicegroup should only produce one rest. */ -class Rest_column : public Script_column { - Link_array head_l_arr_; +class Rest_column : public Head_column { public: - int dir_i_; - Stem* stem_l_; - void add(Note_head *); - void add(Stem *); NAME_MEMBERS(); - Rest_column(); void translate_heads(int dy); -protected: - virtual void do_print() const; - virtual void do_substitute_dependency(Score_elem*, Score_elem*); }; #endif // REST_COLUMN_HH diff --git a/lily/rest-column.cc b/lily/rest-column.cc index a58e73846f..9f811d39de 100644 --- a/lily/rest-column.cc +++ b/lily/rest-column.cc @@ -13,48 +13,7 @@ #include "stem.hh" IMPLEMENT_STATIC_NAME(Rest_column); -IMPLEMENT_IS_TYPE_B1(Rest_column,Item); - -Rest_column::Rest_column() -{ - dir_i_ = 0; - stem_l_ = 0; -} - -void -Rest_column::add(Note_head *n_l) -{ - add_support(n_l); - head_l_arr_.push(n_l); -} - -void -Rest_column::add(Stem*stem_l) -{ - stem_l_ = stem_l; - add_dependency(stem_l); -// add_support(stem_l); -} - -void -Rest_column::do_print() const -{ -#ifndef NPRINT - mtor << "heads: " << head_l_arr_.size(); -#endif -} - -void -Rest_column::do_substitute_dependency(Score_elem*o,Score_elem*n) -{ - Script_column::do_substitute_dependency(o,n); - if (o == stem_l_) - stem_l_ = n? (Stem*)n->item() :0; - - if (o->is_type_b( Note_head::static_name()) ) - head_l_arr_.substitute( (Note_head*)o->item(), - (n)? (Note_head*)n->item() : 0); -} +IMPLEMENT_IS_TYPE_B1(Rest_column,Head_column); /** -- 2.39.5