]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/audio-item.cc
patch::: 1.3.33.jcn3
[lilypond.git] / lily / audio-item.cc
index 2ec7736a40af93be12411c6e86a9671b6d25e5e5..60b15abb5c6a4b29865a4e35b734685df12d07c6 100644 (file)
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c)  1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 #include "debug.hh"
 #include "audio-item.hh"
 #include "midi-item.hh"
-#include "request.hh"
 #include "audio-column.hh"
 
 Audio_instrument::Audio_instrument (String instrument_str)
-  : Audio_item (0)
 {
   str_ = instrument_str;
 }
 
-Midi_item*
-Audio_instrument::midi_item_p()
-{
-  return str_.length_i() ? new Midi_instrument(0, str_) : 0;
-}
-IMPLEMENT_IS_TYPE_B1(Audio_instrument, Audio_item);
-
-Audio_item::Audio_item (Request* req_l)
+Audio_item::Audio_item ()
 {
   audio_column_l_ = 0;
-  req_l_ = req_l;
 }
 
-Audio_key::Audio_key (Request* req_l)
-  : Audio_item (req_l)
+Audio_note::Audio_note (Musical_pitch p, Moment m, int transposing_i)
 {
+  pitch_ = p;
+  length_mom_ = m;
+  tied_ = 0;
+  transposing_i_ = 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;
 }
-IMPLEMENT_IS_TYPE_B1 (Audio_key, Audio_item);
 
-Audio_note::Audio_note (Request* req_l, int transposing_i)
-  : Audio_item (req_l)
+                   
+Audio_key::Audio_key (Key_def const& k)
 {
-  transposing_i_ = transposing_i;
+  key_ = k;
 }
 
-Midi_item*
-Audio_note::midi_item_p()
+Audio_dynamic::Audio_dynamic (int volume)
 {
-  return new Midi_note (this);
+  volume_i_ = volume;
 }
 
-IMPLEMENT_IS_TYPE_B1(Audio_note, Audio_item);
-
 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);
-}
-
-IMPLEMENT_IS_TYPE_B1(Audio_tempo, Audio_item);
-
-Audio_time_signature::Audio_time_signature (Request* req_l)
-  : Audio_item (req_l)
+Audio_time_signature::Audio_time_signature (int beats, int one_beat)
 {
+  beats_i_ = beats;
+  one_beat_i_ = one_beat;
 }
 
-Midi_item*
-Audio_time_signature::midi_item_p()
-{
-  return new Midi_time_signature (this);
-}
-
-IMPLEMENT_IS_TYPE_B1(Audio_time_signature, Audio_item);
-
 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()
+Audio_tie::Audio_tie ()
 {
-  return text_str_.length_i() ? new Midi_text(this) : 0;
+  note_l_drul_[RIGHT] = 0;
+  note_l_drul_[LEFT] = 0;
 }
 
-IMPLEMENT_IS_TYPE_B1(Audio_text, Audio_item);
-IMPLEMENT_IS_TYPE_B1(Audio_item, Audio_element);
+void
+Audio_tie::set_note (Direction d, Audio_note* note_l)
+{
+  assert (!note_l_drul_[d]);
+  note_l_drul_[d] = note_l;
+  //set_bound (d, head_l);
+
+  //  add_dependency (head_l);
+}
 
 void
 Audio_item::do_print () const
@@ -105,12 +89,7 @@ Audio_item::do_print () const
 #ifndef NPRINT
   if (audio_column_l_)
     {
-      DOUT << "at: "<< audio_column_l_->at_mom ();
-    }
-  if (req_l_)
-    {
-      DOUT << "from: ";
-      req_l_->print ();
+      DEBUG_OUT << "at: "<< audio_column_l_->at_mom ();
     }
 #endif
 }