2 key-performer.cc -- implement Key_performer
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
9 #include "command-request.hh"
10 #include "audio-item.hh"
11 #include "performer.hh"
13 class Key_performer
: public Performer
16 VIRTUAL_COPY_CONS(Translator
);
22 virtual bool try_music (Music
* req_l
);
23 virtual void create_audio_elements ();
24 virtual void stop_translation_timestep ();
27 Key_change_req
* key_req_l_
;
31 ADD_THIS_TRANSLATOR (Key_performer
);
33 Key_performer::Key_performer ()
39 Key_performer::~Key_performer ()
44 Key_performer::create_audio_elements ()
47 gh_list_p (key_req_l_
->get_mus_property ("pitch-alist")))
49 audio_p_
= new Audio_key (); // *key_req_l_->key_);
50 Audio_element_info
info (audio_p_
, key_req_l_
);
51 announce_element (info
);
57 Key_performer::stop_translation_timestep ()
61 play_element (audio_p_
);
67 Key_performer::try_music (Music
* req_l
)
69 if (Key_change_req
*kc
= dynamic_cast <Key_change_req
*> (req_l
))
72 warning (_ ("FIXME: key change merge"));