]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/midi-item.cc lily/include/midi-item.hh (get_fine_tuning):
authorHeikki Junes <heikki.junes@hut.fi>
Sun, 2 Nov 2003 23:43:45 +0000 (23:43 +0000)
committerHeikki Junes <heikki.junes@hut.fi>
Sun, 2 Nov 2003 23:43:45 +0000 (23:43 +0000)
new function, warn how many cents are missing in fine tuning.

ChangeLog
lily/include/midi-item.hh
lily/midi-item.cc

index a9d946f6686f82b42b6f6207c3764602cc5bd3b7..a95026109b7d2e900654166f13934c5a93c1b476 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-11-03  Heikki Junes  <hjunes@cc.hut.fi>
+
+       * lily/midi-item.cc lily/include/midi-item.hh (get_fine_tuning):
+       new function, warn how many cents are missing in fine tuning.
+
 2003-11-01  Heikki Junes  <hjunes@cc.hut.fi>
 
        * input/bugs/rhytmicstaff-tie.ly: add file.
index 952a140c518ed7df524a0f0d90b7a3644c1fa651..978bad1c47cb73e4fd5e416e7cdcd235a987fc8c 100644 (file)
@@ -123,6 +123,7 @@ public:
 
   Moment get_length () const;
   int get_pitch () const;
+  int get_fine_tuning () const;
   virtual String to_string () const;
 
   Audio_note* audio_;
index 2452a46951e62daa384fe839d940e8f10b624d31..2ac68b6b5559d2e80313684e1022b9c6a3d0d1eb 100644 (file)
@@ -234,6 +234,15 @@ Midi_note::get_length () const
   return m;
 }
 
+int
+Midi_note::get_fine_tuning () const
+{
+  int ft = audio_->pitch_.quartertone_pitch ();
+  ft -= 2 * audio_->pitch_.semitone_pitch();
+  ft *= 50; // 1 quarter tone = 50 cents
+  return ft;
+}
+
 int
 Midi_note::get_pitch () const
 {
@@ -251,6 +260,13 @@ Midi_note::to_string () const
 {
   Byte status_byte = (char) (0x90 + channel_);
 
+  // print warning if fine tuning was needed, HJJ
+  if (get_fine_tuning () != 0)
+    {
+      warning (_f ("Omitting fine tuning (of %d cents) a note.", 
+           get_fine_tuning ()));
+    }
+
   String str = ::to_string ((char)status_byte);
   str += ::to_string ((char) (get_pitch () + c0_pitch_i_));