]> git.donarmstrong.com Git - lilypond.git/blob - lily/audio-item.cc
release: 0.1.9
[lilypond.git] / lily / audio-item.cc
1 /*
2   audio-item.cc -- implement Audio items.
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
7 */
8
9 #include "audio-item.hh"
10 #include "midi-item.hh"
11
12 Audio_instrument::Audio_instrument (String instrument_str)
13         : Audio_item (0)
14 {
15   str_ = instrument_str;
16 }
17
18 Midi_item*
19 Audio_instrument::midi_item_p()
20 {
21   return str_.length_i() ? new Midi_instrument( 0, str_ ) : 0;
22 }
23                                     
24 Audio_item::Audio_item (Request* req_l)
25 {
26   audio_column_l_ = 0;
27   req_l_ = req_l;
28 }
29
30 Audio_key::Audio_key (Request* req_l)
31         : Audio_item (req_l)
32 {
33 }
34
35 Midi_item*
36 Audio_key::midi_item_p()
37 {
38   return new Midi_key (this);
39 }
40
41
42 Audio_note::Audio_note (Request* req_l)
43         : Audio_item (req_l)
44 {
45 }
46
47 Midi_item*
48 Audio_note::midi_item_p()
49 {
50   return new Midi_note (this);
51 }
52
53 Audio_tempo::Audio_tempo (int per_minute_4_i)
54         : Audio_item (0)
55 {
56   per_minute_4_i_ = per_minute_4_i;
57 }
58
59 Midi_item*
60 Audio_tempo::midi_item_p()
61 {
62   return new Midi_tempo (this);
63 }
64
65 Audio_meter::Audio_meter (Request* req_l)
66         : Audio_item (req_l)
67 {
68 }
69
70 Midi_item*
71 Audio_meter::midi_item_p()
72 {
73   return new Midi_meter (this);
74 }
75
76 Audio_text::Audio_text (Audio_text::Type type, String text_str)
77         : Audio_item (0)
78 {
79         text_str_ = text_str;
80         type_ = type;
81 }
82
83 Midi_item*
84 Audio_text::midi_item_p()
85 {
86   return text_str_.length_i() ? new Midi_text( this ) : 0;
87 }
88
89
90 IMPLEMENT_IS_TYPE_B1(Audio_item, Audio_element);