lilypond-1.1.21
[lilypond.git] / lily / audio-item.cc
blob409c4196b39ebe567735ac21368d4e6283fea8b5
1 /*
2 audio-item.cc -- implement Audio items.
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1998 Jan Nieuwenhuizen <janneke@gnu.org>
7 */
8 #include "debug.hh"
9 #include "audio-item.hh"
10 #include "midi-item.hh"
11 #include "request.hh"
12 #include "audio-column.hh"
14 Audio_instrument::Audio_instrument (String instrument_str)
15 : Audio_item (0)
17 str_ = instrument_str;
20 Midi_item*
21 Audio_instrument::midi_item_p()
23 return str_.length_i() ? new Midi_instrument(0, str_) : 0;
27 Audio_item::Audio_item (Request* req_l)
29 audio_column_l_ = 0;
30 req_l_ = req_l;
33 Audio_key::Audio_key (Request* req_l)
34 : Audio_item (req_l)
38 Midi_item*
39 Audio_key::midi_item_p()
41 return new Midi_key (this);
45 Audio_note::Audio_note (Request* req_l, int transposing_i)
46 : Audio_item (req_l)
48 transposing_i_ = transposing_i;
51 Midi_item*
52 Audio_note::midi_item_p()
54 return new Midi_note (this);
59 Audio_tempo::Audio_tempo (int per_minute_4_i)
60 : Audio_item (0)
62 per_minute_4_i_ = per_minute_4_i;
65 Midi_item*
66 Audio_tempo::midi_item_p()
68 return new Midi_tempo (this);
73 Audio_time_signature::Audio_time_signature (Request* req_l)
74 : Audio_item (req_l)
78 Midi_item*
79 Audio_time_signature::midi_item_p()
81 return new Midi_time_signature (this);
86 Audio_text::Audio_text (Audio_text::Type type, String text_str)
87 : Audio_item (0)
89 text_str_ = text_str;
90 type_ = type;
93 Midi_item*
94 Audio_text::midi_item_p()
96 return text_str_.length_i() ? new Midi_text(this) : 0;
102 void
103 Audio_item::do_print () const
105 #ifndef NPRINT
106 if (audio_column_l_)
108 DOUT << "at: "<< audio_column_l_->at_mom ();
110 if (req_l_)
112 DOUT << "from: ";
113 req_l_->print ();
115 #endif