source file of the GNU LilyPond music typesetter
- (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_HH
#define MUSIC_HH
-#include "virtual-methods.hh"
#include "smobs.hh"
#include "moment.hh"
#include "pitch.hh"
bool internal_is_music_type (SCM) const;
+ Stream_event *to_event () const;
+
DECLARE_SCHEME_CALLBACK (relative_callback, (SCM, SCM));
Pitch to_relative_octave (Pitch);
Pitch generic_to_relative_octave (Pitch);
/// Scale the music in time by #factor#.
void compress (Moment factor);
+
+ // Broadcast the event in a context's event-source.
+ void send_to_context (Context *c);
DECLARE_SCHEME_CALLBACK (duration_length_callback, (SCM));
-
+
protected:
virtual SCM copy_mutable_properties () const;
virtual void type_check_assignment (SCM, SCM) const;
Music *unsmob_music (SCM);
Music *make_music_by_name (SCM sym);
SCM ly_music_deep_copy (SCM);
+SCM ly_camel_case_2_lisp_identifier (SCM name_sym);
+
extern SCM ly_music_p_proc;
+/* common transposition function for music and event */
+void transpose_mutable (SCM alist, Pitch delta);
+
#endif /* MUSIC_HH */