X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpitch.hh;h=dad2bc1246727c5fc4f5dc016b78c7f2c788347b;hb=9468b77cb2ae93b992bfb9105016f3393d206b47;hp=cab0c5092202a2b46f4b2b9cc2c96a89c66039c7;hpb=9e781b7dc83b60a543ce218aa1a5f139f74c760f;p=lilypond.git diff --git a/lily/include/pitch.hh b/lily/include/pitch.hh index cab0c50922..dad2bc1246 100644 --- a/lily/include/pitch.hh +++ b/lily/include/pitch.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,8 +32,13 @@ Pitch is lexicographically ordered by (octave, notename, alteration). */ -class Pitch +class Pitch : public Simple_smob { +public: + static SCM equal_p (SCM, SCM); + int print_smob (SCM, scm_print_state *) const; + SCM mark_smob () const; + static const char * const type_p_name_; private: int octave_; int notename_; @@ -52,8 +57,7 @@ public: int get_notename () const; Rational get_alteration () const; - Pitch (int octave, int notename, Rational accidental); - Pitch (int octave, int notename); + Pitch (int octave, int notename, Rational accidental = 0); Pitch (); Pitch transposed (Pitch) const; @@ -71,7 +75,6 @@ public: string to_string () const; DECLARE_SCHEME_CALLBACK (less_p, (SCM a, SCM b)); - DECLARE_SIMPLE_SMOBS (Pitch); }; enum @@ -99,7 +102,6 @@ extern Rational DOUBLE_SHARP_ALTERATION; SCM ly_pitch_diff (SCM pitch, SCM root); SCM ly_pitch_transpose (SCM p, SCM delta); -DECLARE_UNSMOB (Pitch, pitch); INSTANTIATE_COMPARE (Pitch, Pitch::compare);