source file of the GNU LilyPond music typesetter
- (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1999 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "staff-performer.hh"
#include "audio-item.hh"
#include "audio-staff.hh"
-IMPLEMENT_IS_TYPE_B1 (Staff_performer,Performer_group_performer);
+
ADD_THIS_TRANSLATOR (Staff_performer);
Staff_performer::Staff_performer ()
Staff_performer::new_instrument_str ()
{
// mustn't ask Score for instrument: it will return piano!
- String str = get_property ("instrument");
+ String str = get_property ("midiInstrument", 0);
+ if (!str.length_i ())
+ str = get_property ("instrument", 0);
if (str == instrument_str_)
return "";
return instrument_str_;
-/* ugh, but can't
- if (properties_dict_.elt_b ("instrument"))
+/* ugh, but can 't
+ if (properties_dict_.elem_b ("instrument"))
return properties_dict_["instrument"];
return "";
*/
void
Staff_performer::play (Audio_element* p)
{
- if (p->is_type_b (Audio_item::static_name ()))
+ if (Audio_item *ai = dynamic_cast<Audio_item *> (p))
{
- audio_staff_p_->add ( (Audio_item*)p);
+ audio_staff_p_->add_audio_item (ai);
}
Performer::play (p);
}