]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/pitch.hh
Merge branch 'jneeman' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond into jneeman
[lilypond.git] / lily / include / pitch.hh
index f47d142bc0fc68a09796a00d9adb092c8e6446ac..f50d2d531c69e8fe148c8ab1708c77982f5b3dab 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1998--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1998--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #ifndef MUSICAL_PITCH_HH
 #include "lily-proto.hh"
 #include "smobs.hh"
 
+#include "std-vector.hh"
+
+struct Scale
+{
+  vector<int> step_semitones_;
+  Scale ();
+  Scale (Scale const&);
+  DECLARE_SMOBS (Scale);
+};
+
+
 /** A "tonal" pitch. This is a pitch used in diatonal western music
     (24 quartertones in an octave), as opposed to a frequency in Hz or a
     integer number of semitones.
@@ -34,7 +45,8 @@ private:                              // fixme
   int notename_;
   int alteration_;
   int octave_;
-
+  Scale *scale_;
+  
   void transpose (Pitch);
   void up_to (int);
   void down_to (int);
@@ -57,10 +69,10 @@ public:
   int steps () const;
   int semitone_pitch () const;
   int quartertone_pitch () const;
-  String to_string () const;
+  string to_string () const;
 
   DECLARE_SCHEME_CALLBACK (less_p, (SCM a, SCM b));
-  DECLARE_SIMPLE_SMOBS (Pitch,);
+  DECLARE_SIMPLE_SMOBS (Pitch);
 };
 
 enum
@@ -82,9 +94,9 @@ DECLARE_UNSMOB (Pitch, pitch);
 
 INSTANTIATE_COMPARE (Pitch, Pitch::compare);
 
-int compare (Array<Pitch> *, Array<Pitch> *);
 extern SCM pitch_less_proc;
 Pitch pitch_interval (Pitch const &from, Pitch const &to);
+extern Scale *default_global_scale;
 
 #endif /* MUSICAL_PITCH_HH */