2005-01-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/include/lyric-combine-music.hh ("music.hh"): remove file.
+
* lily/slur-scoring.cc (get_best_curve): only switch on
DEBUG_SLUR_SCORING for non NDEBUG builds.
+++ /dev/null
-/*
- lyric-combine-music.hh -- declare Lyric_combine_music
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
-
-#ifndef LYRIC_COMBINE_MUSIC_HH
-#define LYRIC_COMBINE_MUSIC_HH
-
-#include "music.hh"
-
-class Lyric_combine_music : public Music
-{
-public:
- Lyric_combine_music (SCM);
- VIRTUAL_COPY_CONSTRUCTOR (Music, Lyric_combine_music);
- DECLARE_SCHEME_CALLBACK(length_callback,(SCM));
-
- Music *get_music () const;
- Music *get_lyrics () const;
-};
-
-#endif /* LYRIC_COMBINE_MUSIC_HH */
*/
#include "context.hh"
-#include "lyric-combine-music.hh"
#include "event.hh"
#include "note-head.hh"
#include "grob.hh"
private:
bool get_busy_status ()const ;
bool melisma_busy ();
+ Music* get_combine_lyrics () const;
+ Music* get_combine_music () const;
+
Music_iterator * music_iter_;
Music_iterator * lyric_iter_;
};
lyric_iter_->substitute_outlet (f,t);
}
+
+
+Music*
+Lyric_combine_music_iterator::get_combine_music () const
+{
+ SCM l = get_music()->get_property ("elements");
+ if (!scm_is_pair (l))
+ return 0;
+ return unsmob_music (scm_car (l));
+}
+
+
+
+Music*
+Lyric_combine_music_iterator::get_combine_lyrics () const
+{
+ SCM l = get_music()->get_property ("elements");
+ if (!scm_is_pair (l))
+ return 0;
+ l = scm_cdr (l);
+ if (!scm_is_pair (l))
+ return 0;
+ return unsmob_music (scm_car (l));
+}
+
+
void
Lyric_combine_music_iterator::construct_children ()
{
- Lyric_combine_music const * m = dynamic_cast<Lyric_combine_music const*> (get_music ());
-
- music_iter_ = unsmob_iterator (get_iterator (m->get_music ()));
- lyric_iter_ = unsmob_iterator (get_iterator (m->get_lyrics ()));
+ music_iter_ = unsmob_iterator (get_iterator (get_music ()->get_combine_music ()));
+ lyric_iter_ = unsmob_iterator (get_iterator (get_music ()->get_combine_lyrics ()));
}
bool
*/
-#include "lyric-combine-music.hh"
-
+#include "music.hh"
#include "pitch.hh"
-Lyric_combine_music::Lyric_combine_music (SCM x)
- : Music (x)
+struct Lyric_combine_music
{
-}
+public:
+ DECLARE_SCHEME_CALLBACK(length_callback,(SCM));
+};
+
MAKE_SCHEME_CALLBACK(Lyric_combine_music,length_callback,1);
SCM
Music *melody = unsmob_music (scm_car (me->get_property ("elements")));
return melody->get_length ().smobbed_copy ();
}
-
-Music*
-Lyric_combine_music::get_music () const
-{
- SCM l = get_property ("elements");
- if (!scm_is_pair (l))
- return 0;
- return unsmob_music (scm_car (l));
-}
-
-
-Music*
-Lyric_combine_music::get_lyrics () const
-{
- SCM l = get_property ("elements");
- if (!scm_is_pair (l))
- return 0;
- l = scm_cdr (l);
- if (!scm_is_pair (l))
- return 0;
- return unsmob_music (scm_car (l));
-}
-
-
-ADD_MUSIC (Lyric_combine_music);
*/
#include "context.hh"
-#include "lyric-combine-music.hh"
#include "event.hh"
#include "grob.hh"
#include "music-iterator.hh"
bool music_found_;
bool made_association_;
- Context * lyrics_context_;
- Context * music_context_;
+ Context *lyrics_context_;
+ Context *music_context_;
SCM lyricsto_voice_name_;
Music_iterator * lyric_iter_;
. (
(description . "Align lyrics to the start of notes.
+Syntax @var{\\oldaddlyrics }@var{music} @var{lyrics}.")
-Syntax @var{\\addlyrics }@var{music} @var{lyrics}.")
-
- (internal-class-name . "Lyric_combine_music")
+ (internal-class-name . "Music")
(types . (general-music lyric-combine-music))
+ (length-callback . ,Lyric_combine_music::length_callback)
+ (start-callback . ,Music_sequence::first_start_callback)
(iterator-ctor . ,Lyric_combine_music_iterator::constructor)
))
. (
(description . "Align lyrics to the start of notes.
-
-Syntax @var{\\addlyrics }@var{music} @var{lyrics}.")
+Syntax @var{\\lyricsto }@var{voicename} @var{lyrics}.")
(internal-class-name . "Music")
(length . ,(ly:make-moment 0 1))
(types . (general-music lyric-combine-music))