]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/audio-item.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / audio-item.cc
index 125541202e2c917253b21384af99ceae87727a90..0e4ded6386cfc23d852df3548cd9ffe54ce3ca8e 100644 (file)
@@ -3,88 +3,68 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+  (c) 1997--2006 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
 #include "audio-item.hh"
+
 #include "midi-item.hh"
+#include "audio-column.hh"
 
-Audio_instrument::Audio_instrument (String instrument_str)
-       : Audio_item (0)
+Audio_instrument::Audio_instrument (string instrument_string)
 {
-    str_ = instrument_str;
+  str_ = instrument_string;
 }
 
-Midi_item*
-Audio_instrument::midi_item_p()
-{
-    return new Midi_instrument (0, str_);
-}
-                                      
-Audio_item::Audio_item (Request* req_l)
+Audio_item::Audio_item ()
 {
-    audio_column_l_ = 0;
-    req_l_ = req_l;
+  audio_column_ = 0;
 }
 
-Audio_key::Audio_key (Request* req_l)
-       : Audio_item (req_l)
+Audio_note::Audio_note (Pitch p, Moment m, int transposing_i)
 {
+  pitch_ = p;
+  length_mom_ = m;
+  tied_ = 0;
+  transposing_ = transposing_i;
 }
 
-Midi_item*
-Audio_key::midi_item_p()
+void
+Audio_note::tie_to (Audio_note *t)
 {
-    return new Midi_key (this);
+  tied_ = t;
+  Audio_note *first = t;
+  while (first->tied_)
+    first = first->tied_;
+  first->length_mom_ += length_mom_;
+  length_mom_ = 0;
 }
 
-
-Audio_note::Audio_note (Request* req_l)
-       : Audio_item (req_l)
+Audio_key::Audio_key (int acc, bool major)
 {
+  accidentals_ = acc;
+  major_ = major;
 }
 
-Midi_item*
-Audio_note::midi_item_p()
+Audio_dynamic::Audio_dynamic (Real volume)
 {
-    return new Midi_note (this);
+  volume_ = volume;
 }
 
 Audio_tempo::Audio_tempo (int per_minute_4_i)
-       : Audio_item (0)
-{
-    per_minute_4_i_ = per_minute_4_i;
-}
-
-Midi_item*
-Audio_tempo::midi_item_p()
 {
-    return new Midi_tempo (this);
+  per_minute_4_ = per_minute_4_i;
 }
 
-Audio_meter::Audio_meter (Request* req_l)
-       : Audio_item (req_l)
+Audio_time_signature::Audio_time_signature (int beats, int one_beat)
 {
+  beats_ = beats;
+  one_beat_ = one_beat;
 }
 
-Midi_item*
-Audio_meter::midi_item_p()
+Audio_text::Audio_text (Audio_text::Type type, string text_string)
 {
-    return new Midi_meter (this);
+  text_string_ = text_string;
+  type_ = type;
 }
 
-Audio_text::Audio_text (Audio_text::Type type, String text_str)
-       : Audio_item (0)
-{
-       text_str_ = text_str;
-       type_ = type;
-}
-
-Midi_item*
-Audio_text::midi_item_p()
-{
-    return new Midi_text (this);
-}
-
-
-IMPLEMENT_IS_TYPE_B1(Audio_item, Audio_element);