X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fscale.hh;h=19cd175c797fd7d9e63a5ac79dbb8c73696c1fa0;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=ff8e6b2b7f332986e8d1e0df526695de25692d85;hpb=f9214bac21e9926dc3248416f58190c98c4167a9;p=lilypond.git diff --git a/lily/include/scale.hh b/lily/include/scale.hh index ff8e6b2b7f..19cd175c79 100644 --- a/lily/include/scale.hh +++ b/lily/include/scale.hh @@ -1,10 +1,20 @@ -/* - scale.hh -- declare Scale - - source file of the GNU LilyPond music typesetter - - (c) 2006--2007 Han-Wen Nienhuys - +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 2006--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 + 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 SCALE_HH @@ -14,16 +24,22 @@ #include "rational.hh" #include "std-vector.hh" -struct Scale +struct Scale : public Smob { + virtual ~Scale (); + Scale (vector const &); + Scale (Scale const &); + + Rational tones_at_step (int step, int octave) const; + Rational step_size (int step) const; + int step_count () const; + int normalize_step (int step) const; + + +private: vector step_tones_; - Scale (); - Scale (Scale const&); - DECLARE_SMOBS (Scale); }; extern Scale *default_global_scale; #endif /* SCALE_HH */ - -