/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2004--2014 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
#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 ();
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);