LEFT | RIGHT |
1 /* | 1 /* |
2 This file is part of LilyPond, the GNU music typesetter. | 2 This file is part of LilyPond, the GNU music typesetter. |
3 | 3 |
4 Copyright (C) 1997--2019 Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 Copyright (C) 1997--2019 Han-Wen Nienhuys <hanwen@xs4all.nl> |
5 | 5 |
6 LilyPond is free software: you can redistribute it and/or modify | 6 LilyPond is free software: you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation, either version 3 of the License, or | 8 the Free Software Foundation, either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 SCM length_callback_; | 31 SCM length_callback_; |
32 SCM start_callback_; | 32 SCM start_callback_; |
33 Preinit_Music (); | 33 Preinit_Music (); |
34 }; | 34 }; |
35 | 35 |
36 class Music : Preinit_Music, public Prob | 36 class Music : Preinit_Music, public Prob |
37 { | 37 { |
38 public: | 38 public: |
39 Music (SCM init); | 39 Music (SCM init); |
40 Music (Music const &m); | 40 Music (Music const &m); |
41 DECLARE_CLASSNAME (Music); | 41 OVERRIDE_CLASS_NAME (Music); |
42 virtual Music *clone () const { return new Music (*this); } | 42 virtual Music *clone () const { return new Music (*this); } |
43 | 43 |
44 Input *origin () const; | 44 Input *origin () const; |
45 void set_spot (Input); | 45 void set_spot (Input); |
46 | 46 |
47 bool internal_is_music_type (SCM) const; | 47 bool internal_is_music_type (SCM) const; |
48 | 48 |
49 Stream_event *to_event () const; | 49 Stream_event *to_event () const; |
50 | 50 |
51 DECLARE_SCHEME_CALLBACK (relative_callback, (SCM, SCM)); | 51 DECLARE_SCHEME_CALLBACK (relative_callback, (SCM, SCM)); |
52 Pitch to_relative_octave (Pitch); | 52 Pitch to_relative_octave (Pitch); |
53 Pitch generic_to_relative_octave (Pitch); | 53 Pitch generic_to_relative_octave (Pitch); |
54 Moment get_length () const; | 54 Moment get_length () const; |
55 Moment start_mom () const; | 55 Moment start_mom () const; |
56 void print () const; | 56 void print () const; |
57 | 57 |
58 /// Scale the music in time by #factor#. | 58 /// Scale the music in time by #factor#. |
59 void compress (Rational factor); | 59 void compress (Rational factor); |
60 | 60 |
61 // Broadcast the event in a context's event-source. | 61 // Broadcast the event in a context's event-source. |
62 void send_to_context (Context *c); | 62 void send_to_context (Context *c); |
63 | 63 |
64 DECLARE_SCHEME_CALLBACK (duration_length_callback, (SCM)); | 64 DECLARE_SCHEME_CALLBACK (duration_length_callback, (SCM)); |
65 | 65 |
66 protected: | 66 protected: |
67 virtual SCM copy_mutable_properties () const; | 67 SCM copy_mutable_properties () const override; |
68 virtual void type_check_assignment (SCM, SCM) const; | 68 void type_check_assignment (SCM, SCM) const override; |
69 virtual void derived_mark () const; | 69 void derived_mark () const override; |
70 protected: | 70 protected: |
71 friend SCM ly_extended_make_music (SCM, SCM); | 71 friend SCM ly_extended_make_music (SCM, SCM); |
72 }; | 72 }; |
73 | 73 |
74 Music *make_music_by_name (SCM sym); | 74 Music *make_music_by_name (SCM sym); |
75 SCM music_deep_copy (SCM m); | 75 SCM music_deep_copy (SCM m); |
76 void set_origin (SCM m, SCM origin); | 76 void set_origin (SCM m, SCM origin); |
77 | 77 |
78 SCM ly_camel_case_2_lisp_identifier (SCM name_sym); | 78 SCM ly_camel_case_2_lisp_identifier (SCM name_sym); |
79 | 79 |
80 extern SCM ly_music_p_proc; | 80 extern SCM ly_music_p_proc; |
81 | 81 |
82 #endif /* MUSIC_HH */ | 82 #endif /* MUSIC_HH */ |
LEFT | RIGHT |