X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpitch.hh;h=1ef59f3e94d8eb671f9fcc924e26f91072f53482;hb=76d60ecc1f921719d48a9b1b5c65f00cfa9d3930;hp=42a76522f4ae5948cf2aad97b0b65f850cdd79bd;hpb=0e5d83a9ceb4a143f83d22406d7eb816314ff9f7;p=lilypond.git diff --git a/lily/include/pitch.hh b/lily/include/pitch.hh index 42a76522f4..1ef59f3e94 100644 --- a/lily/include/pitch.hh +++ b/lily/include/pitch.hh @@ -1,27 +1,38 @@ /* - pitch.hh -- declare Pitch + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1998--2011 Han-Wen Nienhuys - (c) 1998--2009 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ -#ifndef MUSICAL_PITCH_HH -#define MUSICAL_PITCH_HH +#ifndef PITCH_HH +#define PITCH_HH #include "lily-proto.hh" #include "smobs.hh" #include "rational.hh" -/** 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. - - Pitch is lexicographically ordered by (octave, notename, - alteration). +/* + 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. + Pitch is lexicographically ordered by (octave, notename, alteration). */ + class Pitch { private: @@ -49,6 +60,8 @@ public: Pitch transposed (Pitch) const; Pitch to_relative_octave (Pitch) const; + Pitch normalized () const; + static int compare (Pitch const &, Pitch const &); int steps () const; @@ -75,15 +88,15 @@ enum { DOUBLE_SHARP, }; -extern Rational DOUBLE_FLAT_ALTERATION; -extern Rational THREE_Q_FLAT_ALTERATION; -extern Rational FLAT_ALTERATION; -extern Rational SEMI_FLAT_ALTERATION; -extern Rational NATURAL_ALTERATION; -extern Rational SEMI_SHARP_ALTERATION; -extern Rational SHARP_ALTERATION; -extern Rational THREE_Q_SHARP_ALTERATION; -extern Rational DOUBLE_SHARP_ALTERATION; +extern Rational DOUBLE_FLAT_ALTERATION; +extern Rational THREE_Q_FLAT_ALTERATION; +extern Rational FLAT_ALTERATION; +extern Rational SEMI_FLAT_ALTERATION; +extern Rational NATURAL_ALTERATION; +extern Rational SEMI_SHARP_ALTERATION; +extern Rational SHARP_ALTERATION; +extern Rational THREE_Q_SHARP_ALTERATION; +extern Rational DOUBLE_SHARP_ALTERATION; SCM ly_pitch_diff (SCM pitch, SCM root); SCM ly_pitch_transpose (SCM p, SCM delta); @@ -94,5 +107,4 @@ INSTANTIATE_COMPARE (Pitch, Pitch::compare); extern SCM pitch_less_proc; Pitch pitch_interval (Pitch const &from, Pitch const &to); -#endif /* MUSICAL_PITCH_HH */ - +#endif /* PITCH_HH */