/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#define is_mus_type(x) internal_is_music_type (ly_symbol2scm (x))
-class Music : public Prob
+struct Preinit_Music {
+ SCM length_callback_;
+ SCM start_callback_;
+ Preinit_Music ();
+};
+
+class Music : Preinit_Music, public Prob
{
public:
Music (SCM init);
Moment start_mom () const;
void print () const;
- /// Transpose, with the interval central C to #p#
- void transpose (Pitch p);
-
/// Scale the music in time by #factor#.
void compress (Moment factor);
virtual void type_check_assignment (SCM, SCM) const;
virtual void derived_mark () const;
protected:
- SCM length_callback_;
- SCM start_callback_;
friend SCM ly_extended_make_music (SCM, SCM);
};
-Music *unsmob_music (SCM);
Music *make_music_by_name (SCM sym);
-SCM ly_music_deep_copy (SCM);
+SCM music_deep_copy (SCM m);
+void set_origin (SCM m, SCM origin);
+
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 */