From: fred Date: Tue, 26 Mar 2002 23:57:25 +0000 (+0000) Subject: lilypond-1.3.99 X-Git-Tag: release/1.5.59~1233 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ed43cdcdb04d8b003e082647ce4586b3f0487d07;p=lilypond.git lilypond-1.3.99 --- diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 0da8f321c6..9befc70458 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -36,7 +36,7 @@ class Dynamic_engraver : public Engraver Spanner * finished_cresc_p_; Spanner * cresc_p_; - Dynamic_script_req* script_req_l_; + Text_script_req* script_req_l_; Span_req * current_cresc_req_; Drul_array accepted_spanreqs_drul_; @@ -90,9 +90,10 @@ Dynamic_engraver::do_post_move_processing () bool Dynamic_engraver::do_try_music (Music * m) { - if (Dynamic_script_req* d = dynamic_cast (m)) + if (dynamic_cast (m) + && m->get_mus_property ("text-type") == ly_symbol2scm ("dynamic")) { - script_req_l_ = d; + script_req_l_ = dynamic_cast (m); return true; } else if (Span_req* s = dynamic_cast (m)) @@ -132,8 +133,9 @@ Dynamic_engraver::do_process_music () Axis_group_interface::set_interface (line_spanner_); Axis_group_interface::set_axes (line_spanner_, Y_AXIS, Y_AXIS); - Request * rq = accepted_spanreqs_drul_[START]; - if (script_req_l_) rq = script_req_l_ ; + Music * rq = accepted_spanreqs_drul_[START]; + if (script_req_l_) + rq = script_req_l_ ; announce_element (line_spanner_, rq); diff --git a/lily/dynamic-performer.cc b/lily/dynamic-performer.cc index 92e53acd49..7818776d04 100644 --- a/lily/dynamic-performer.cc +++ b/lily/dynamic-performer.cc @@ -33,7 +33,7 @@ protected: virtual void do_pre_move_processing (); private: - Dynamic_script_req* script_req_l_; + Music* script_req_l_; Audio_dynamic* audio_p_; }; @@ -133,9 +133,10 @@ Dynamic_performer::do_try_music (Music* r) { if (!script_req_l_) { - if(Dynamic_script_req* d = dynamic_cast (r)) + if( dynamic_cast (r) + && r->get_mus_property ("text-type") == ly_symbol2scm ("dynamic")) { - script_req_l_ = d; + script_req_l_ = r; return true; } } diff --git a/lily/include/musical-request.hh b/lily/include/musical-request.hh index 5fb7299a69..8ecb9a55a2 100644 --- a/lily/include/musical-request.hh +++ b/lily/include/musical-request.hh @@ -72,11 +72,6 @@ protected: virtual bool do_equal_b (Request const*) const; }; -class Dynamic_script_req : public Script_req -{ -protected: - VIRTUAL_COPY_CONS (Music); -}; /// request which has some kind of pitch struct Melodic_req :virtual Request diff --git a/lily/include/request.hh b/lily/include/request.hh index 3792ee507b..31cf4f8cb0 100644 --- a/lily/include/request.hh +++ b/lily/include/request.hh @@ -39,9 +39,8 @@ protected: class Script_req : public virtual Request { public: - Direction dir_; - void set_direction (Direction d ) { dir_ = d; } - Direction get_direction () const { return dir_; } + void set_direction (Direction d); + Direction get_direction () const; VIRTUAL_COPY_CONS(Music); Script_req (); diff --git a/lily/request.cc b/lily/request.cc index 3b39385c4b..a8db23eec9 100644 --- a/lily/request.cc +++ b/lily/request.cc @@ -28,3 +28,19 @@ Request::Request () { set_mus_property ("type", ly_symbol2scm ("request")); } + +void +Script_req::set_direction (Direction d) +{ + set_mus_property ("direction", gh_int2scm (d)); +} + +Direction +Script_req::get_direction () const +{ + SCM d = get_mus_property ("direction"); + + return (isdir_b (d)) ? to_dir (d) : CENTER; +} + +