X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fduration.hh;h=6233fc1b2d4fdff1c897cc33c040e8145fbf457e;hb=bf14e3a7d89454c17f65b291d192d05752afad27;hp=258c03ba9f4a5e86522291a7c6cde87a1b6fb1f0;hpb=e24df7c27635dc996c466295eacf2981bddccaf7;p=lilypond.git diff --git a/lily/include/duration.hh b/lily/include/duration.hh index 258c03ba9f..6233fc1b2d 100644 --- a/lily/include/duration.hh +++ b/lily/include/duration.hh @@ -1,10 +1,20 @@ /* - duration.hh -- declare Duration - - source file of the LilyPond music typesetter + This file is part of LilyPond, the GNU music typesetter. - (c) 1997--2005 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen + 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 DURATION_HH @@ -14,24 +24,26 @@ /** A musical duration. - */ -struct Duration { -public: - +*/ +struct Duration : public Simple_smob +{ + static SCM equal_p (SCM, SCM); + int print_smob (SCM, scm_print_state *) const; + static const char * const type_p_name_; Duration (); Duration (int, int); - String to_string () const; + Duration (Rational, bool scale); + string to_string () const; Duration compressed (Rational) const; - Rational get_length () const ; + Rational get_length () const; Rational factor () const { return factor_; } int duration_log () const; int dot_count () const; - static int compare (Duration const&, Duration const&); + static int compare (Duration const &, Duration const &); DECLARE_SCHEME_CALLBACK (less_p, (SCM a, SCM b)); - DECLARE_SIMPLE_SMOBS (Duration,); private: /// Logarithm of the base duration. @@ -42,7 +54,7 @@ private: }; INSTANTIATE_COMPARE (Duration, Duration::compare); -DECLARE_UNSMOB (Duration, duration); -#endif // DURATION_HH +extern SCM Duration_type_p_proc; +#endif // DURATION_HH