lilypond-1.1.44
[lilypond.git] / lily / note-performer.cc
bloba96439a92884d6ad253ae146f32c838b72be4c10
1 /*
2 note-performer.cc -- implement Note_performer
4 source file of the GNU LilyPond music typesetter
6 (c) 1996, 1997--1999 Jan Nieuwenhuizen <janneke@gnu.org>
7 */
9 #include "note-performer.hh"
10 #include "musical-request.hh"
11 #include "audio-item.hh"
12 #include "debug.hh"
15 ADD_THIS_TRANSLATOR (Note_performer);
17 Note_performer::Note_performer ()
21 void
22 Note_performer::do_print () const
24 #ifndef NPRINT
25 if (note_req_l_.size()>0)
26 for(int i=0;i<note_req_l_.size();i++)
27 note_req_l_[i]->print ();
28 #endif
31 void
32 Note_performer::do_process_requests ()
34 if (note_req_l_.size()>0)
36 int transposing_i = 0;
37 //urg
38 Scalar prop = get_property ("transposing", 0);
39 if (!prop.empty_b () && prop.isnum_b ())
40 transposing_i = prop;
42 while(note_req_l_.size()>0)
43 play (new Audio_note (note_req_l_.pop(), transposing_i));
48 bool
49 Note_performer::do_try_music (Music* req_l)
51 if (Note_req *nr = dynamic_cast <Note_req *> (req_l))
53 note_req_l_.push(nr);
54 return true;
56 return false;