]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/prob.hh
Imported Upstream version 2.19.45
[lilypond.git] / lily / include / prob.hh
index 58d93cae231c851ead2803c1116b71d1541a5dcc..a9a485b5502642924d8610e352ec7b2967b3d2d6 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2004--2012  Jan Nieuwenhuizen <janneke@gnu.org>
+  Copyright (C) 2004--2015  Jan Nieuwenhuizen <janneke@gnu.org>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -20,6 +20,7 @@
 #ifndef PROPERTY_OBJECT_HH
 #define PROPERTY_OBJECT_HH
 
+#include "pitch.hh"
 #include "stencil.hh"
 #include "virtual-methods.hh"
 
   Property_object. Page-breaking handles Property_object objects.
 */
 
-class Prob
+class Prob : public Smob<Prob>
 {
-  DECLARE_SMOBS (Prob);
+public:
+  int print_smob (SCM, scm_print_state *) const;
+  SCM mark_smob () const;
+  static SCM equal_p (SCM, SCM);
+  static const char * const type_p_name_;
+  virtual ~Prob ();
+private:
   DECLARE_CLASSNAME (Prob);
 
   void init_vars ();
@@ -55,9 +62,14 @@ public:
   SCM internal_get_property (SCM sym) const;
   void instrumented_set_property (SCM, SCM, const char *, int, const char *);
   void internal_set_property (SCM sym, SCM val);
+
+  // Needed in both Music and Stream_event
+  // For technical reasons defined in lily/music.cc
+  //
+  /// Transpose, with the interval central C to #p#
+  void transpose (Pitch p);
 };
 
-DECLARE_UNSMOB (Prob, prob);
 
 SCM ly_prob_set_property_x (SCM system, SCM sym, SCM value);
 SCM ly_prob_property (SCM prob, SCM sym, SCM val);