]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/staff-performer.hh
release: 1.1.53
[lilypond.git] / lily / include / staff-performer.hh
1 /*
2   staff-performer.hh -- declare Staff_performer
3
4   (c) 1996,  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
5                  Jan Nieuwenhuizen <janneke@gnu.org>
6  */
7
8 #ifndef STAFF_PERFORMER_HH
9 #define STAFF_PERFORMER_HH
10
11 #include "performer-group-performer.hh"
12
13 /** Perform a staff. Individual notes should have their instrument
14   (staff-wide) set, so we override play_element()
15
16   */
17 class Staff_performer : public Performer_group_performer 
18 {
19 public:
20   VIRTUAL_COPY_CONS(Translator);
21   
22
23   Staff_performer ();
24   ~Staff_performer ();
25
26   String new_instrument_str ();
27   String instrument_str_;
28
29 protected:
30   virtual void play_element (Audio_element* p);
31   virtual void do_removal_processing ();
32   virtual void do_creation_processing ();
33   virtual void do_process_requests ();
34   virtual void do_pre_move_processing ();
35
36 private:
37   Audio_staff* audio_staff_p_;
38   Audio_instrument* instrument_p_;
39   Audio_text* instrument_name_p_;
40   Audio_text* name_p_;
41   Audio_tempo* tempo_p_;
42 };
43
44 #endif // STAFF_PERFORMER_HH