2002-09-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ * lily/part-combine-music.cc: removed file and class.
+
* lily/context-specced-music-iterator.cc (class
Context_specced_music_iterator): new file. Obsoletes the
Context_specced_music type.
+++ /dev/null
-/*
- part-combine-music.hh -- declare Part_combine_music
-
- source file of the GNU LilyPond music typesetter
-
- (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
-
- */
-
-#ifndef PART_COMBINE_MUSIC_HH
-#define PART_COMBINE_MUSIC_HH
-
-#include "music.hh"
-
-
-class Part_combine_music : public Music
-{
-public:
- VIRTUAL_COPY_CONS (Music);
- Part_combine_music (SCM l);
-
- Music * get_first () const;
- Music * get_second () const;
-
- virtual void transpose (Pitch);
-
- virtual Moment length_mom () const;
- virtual Pitch to_relative_octave (Pitch);
- virtual void compress (Moment);
-
- Part_combine_music ();
-};
-
-#endif /* PART_COMBINE_MUSIC_HH */
-
#include "music-wrapper.hh"
#include "music-wrapper-iterator.hh"
#include "simple-music-iterator.hh"
-
#include "ly-smobs.icc"
Music_iterator::Music_iterator ()
#include "request.hh"
#include "my-lily-parser.hh"
-#include "context-specced-music.hh"
#include "score.hh"
#include "music-list.hh"
#include "output-property-music-iterator.hh"
#include "untransposable-music.hh"
#include "lilypond-input-version.hh"
#include "grace-music.hh"
-#include "part-combine-music.hh"
#include "scm-hash.hh"
#include "auto-change-iterator.hh"
#include "un-relativable-music.hh"
(c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include "part-combine-music.hh"
#include "part-combine-music-iterator.hh"
#include "translator-group.hh"
#include "request.hh"
return first_iter_->ok () || second_iter_->ok ();
}
+
void
Part_combine_music_iterator::construct_children ()
{
- Part_combine_music const * m = dynamic_cast<Part_combine_music const*> (get_music ());
+ SCM lst = get_music ()->get_mus_property ("elements");
+
- first_iter_ = unsmob_iterator (get_iterator (m->get_first ()));
- second_iter_ = unsmob_iterator (get_iterator (m->get_second ()));
+ first_iter_ = unsmob_iterator (get_iterator (unsmob_music (gh_car (lst))));
+ second_iter_ = unsmob_iterator (get_iterator (unsmob_music (gh_cadr (lst))));
}
void
Part_combine_music_iterator::get_state (Moment)
{
int state = UNKNOWN;
- Part_combine_music const *p = dynamic_cast<Part_combine_music const* > (get_music ());
+
+ Music *p = get_music ();
String w = ly_scm2string (p->get_mus_property ("what"));
else
state = state_;
- Part_combine_music const *p =
- dynamic_cast<Part_combine_music const* > (get_music ());
+ Music *p =get_music ();
bool previously_combined_b = first_iter_->report_to ()->daddy_trans_
+++ /dev/null
-/*
- part-combine-music.cc -- implement Part_combine_music
-
- source file of the GNU LilyPond music typesetter
-
- (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
-
- */
-
-#include "part-combine-music.hh"
-#include "part-combine-music-iterator.hh"
-#include "pitch.hh"
-
-Part_combine_music::Part_combine_music ()
-{
-}
-
-void
-Part_combine_music::transpose (Pitch p)
-{
- get_first ()->transpose (p);
- get_second () ->transpose (p);
-}
-
-Moment
-Part_combine_music::length_mom () const
-{
- return get_first ()->length_mom ();
-}
-
-Pitch
-Part_combine_music::to_relative_octave (Pitch p)
-{
- p = get_first ()->to_relative_octave (p);
- return get_second ()->to_relative_octave (p);
-}
-
-void
-Part_combine_music::compress (Moment m)
-{
- get_first ()->compress (m);
- get_second ()->compress (m);
-}
-
-Music*
-Part_combine_music::get_first () const
-{
- SCM l = get_mus_property ("elements");
- if (!gh_pair_p (l))
- return 0;
- return unsmob_music (gh_car (l));
-}
-
-
-Music*
-Part_combine_music::get_second () const
-{
- SCM l = get_mus_property ("elements");
- if (!gh_pair_p (l))
- return 0;
- l = gh_cdr (l);
- if (!gh_pair_p (l))
- return 0;
- return unsmob_music (gh_car (l));
-}
-
-ADD_MUSIC (Part_combine_music);
. (
(description . "")
- (internal-class-name . "Part_combine_music")
+ (internal-class-name . "Simultaneous_music")
(types . (general-music part-combine-music))
(iterator-ctor . ,Part_combine_music_iterator::constructor)
))