* 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.
* scm/music-types.scm (make-repeated-music): put different kinds
of repeated music into music-type table.
* lily/include/command-request.hh: removed
lily/include/musical-request.hh: removed. Removed all _req classes
except Key_change_req. Changes throughout.
2002-09-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ * lily/parser.yy (command_element): move clef stuff into Scheme.
+
+ * lily/: rename length_mom () to get_length()
+
* lily/part-combine-music.cc: removed file and class.
* lily/context-specced-music-iterator.cc (class
return ;
- Moment dur = unsmob_duration (m->get_mus_property ("duration"))->length_mom ();
+ Moment dur = unsmob_duration (m->get_mus_property ("duration"))->get_length ();
/* FIXME:
This comment has been here since long:
durlog - 2);
stems_->push (stem);
last_add_mom_ = now;
- extend_mom_ = (extend_mom_ >? now) + m->length_mom ();
+ extend_mom_ = (extend_mom_ >? now) + m->get_length ();
}
}
&& rp->get_mus_property ("iterator-ctor") == Chord_tremolo_iterator::constructor_proc
&& !repeat_)
{
- Moment l = rp->length_mom ();
+ Moment l = rp->get_length ();
repeat_ = rp;
start_mom_ = now_mom ();
stop_mom_ = start_mom_ + l;
note_reqs_.push (m);
first_b_ = true;
- Moment musiclen = m->length_mom ();
+ Moment musiclen = m->get_length ();
Moment now = now_mom();
if (now_mom ().grace_part_)
/*
this could surely be done more efficient. Left to the reader as an
excercise. */
- while (d.length_mom () > length && d.duration_log () < log_limit)
+ while (d.get_length () > length && d.duration_log () < log_limit)
{
if (d.dot_count ())
{
d = Duration (d.duration_log (), 0);
// scale up.
- d = d.compressed (length / d.length_mom ());
+ d = d.compressed (length / d.get_length ());
}
return d;
note_dur = *orig;
}
Moment nb = next_barline_moment ();
- if (nb < note_dur.length_mom ())
+ if (nb < note_dur.get_length ())
{
note_dur = find_nearest_duration (nb.main_part_);
Moment next = now;
- next.main_part_ += note_dur.length_mom ();
+ next.main_part_ += note_dur.get_length ();
top_engraver ()->add_moment_to_process (next);
do_nothing_until_ = next.main_part_;
}
if (orig)
{
- left_to_do_ = orig->length_mom ();
+ left_to_do_ = orig->get_length ();
}
- if (orig && note_dur.length_mom() != orig->length_mom())
+ if (orig && note_dur.get_length () != orig->get_length ())
{
if (!scratch_note_reqs_.size ())
for (int i = 0; i < note_reqs_.size (); i++)
notes_.push (note);
}
- left_to_do_ -= note_dur.length_mom ();
+ left_to_do_ -= note_dur.get_length ();
/*
int
Duration::compare (Duration const &left, Duration const &right)
{
- return Rational::compare (left.length_mom (), right.length_mom ());
+ return Rational::compare (left.get_length (), right.get_length ());
}
Duration::Duration ()
}
Rational
-Duration::length_mom () const
+Duration::get_length () const
{
Rational mom (1 << abs (durlog_));
main_iter_->quit ();
main_iter_ = 0;
- main_length_mom_ += mus->body ()->length_mom ();
+ main_length_mom_ += mus->body ()->get_length ();
}
void
}
Moment
-Grace_music::length_mom () const
+Grace_music::get_length () const
{
Moment m ;
return m;
Moment
Grace_music::start_mom () const
{
- Moment l = Music_wrapper::length_mom ();
+ Moment l = Music_wrapper::get_length ();
Moment gl;
gl.grace_part_ = -(l.main_part_ + l.grace_part_ );
return gl;
if (m)
{
Moment n = now_mom ();
- Moment l = m->length_mom ();
+ Moment l = m->get_length ();
if (!l.to_bool ())
return ;
String string () const;
Duration compressed (Rational) const;
- Rational length_mom () const ;
+ Rational get_length () const ;
Rational factor () const { return factor_; }
int duration_log ()const;
int dot_count () const;
Grace_music ();
protected:
virtual void compress (Moment);
- virtual Moment length_mom () const;
+ virtual Moment get_length () const;
virtual Moment start_mom () const;
};
virtual void transpose (Pitch);
VIRTUAL_COPY_CONS (Music);
- virtual Moment length_mom () const;
+ virtual Moment get_length () const;
virtual Pitch to_relative_octave (Pitch);
virtual void compress (Moment);
};
public:
Midi_note (Audio_note*);
- Moment length_mom () const;
+ Moment get_length () const;
int get_pitch () const;
virtual String string () const;
public:
VIRTUAL_COPY_CONS (Music_iterator);
- Moment music_length_mom () const;
+ Moment music_get_length () const;
Moment music_start_mom () const;
Music_iterator ();
Music_iterator (Music_iterator const&);
public:
VIRTUAL_COPY_CONS (Music);
virtual Pitch to_relative_octave (Pitch);
- virtual Moment length_mom () const;
+ virtual Moment get_length () const;
virtual Moment start_mom () const;
Simultaneous_music ();
};
{
public:
VIRTUAL_COPY_CONS (Music);
- virtual Moment length_mom () const;
+ virtual Moment get_length () const;
virtual Moment start_mom () const;
Sequential_music ();
VIRTUAL_COPY_CONS (Music);
- virtual Moment length_mom () const;
+ virtual Moment get_length () const;
virtual Moment start_mom () const;
virtual Pitch to_relative_octave (Pitch);
virtual void compress (Moment);
virtual Pitch to_relative_octave (Pitch);
/// The duration of this piece of music
- virtual Moment length_mom () const;
+ virtual Moment get_length () const;
virtual Moment start_mom () const;
void print () const;
/// Transpose, with the interval central C to #p#
int repeat_count ( ) const;
virtual Pitch to_relative_octave (Pitch);
- Moment body_length_mom () const;
- Moment alternatives_length_mom (bool fold) const;
- Moment alternatives_volta_length_mom () const;
+ Moment body_get_length () const;
+ Moment alternatives_get_length (bool fold) const;
+ Moment alternatives_volta_get_length () const;
DECLARE_SCHEME_CALLBACK (unfolded_music_length, (SCM));
DECLARE_SCHEME_CALLBACK (volta_music_length, (SCM));
VIRTUAL_COPY_CONS (Music);
virtual void compress (Moment);
virtual void transpose (Pitch);
- virtual Moment length_mom () const;
+ virtual Moment get_length () const;
virtual Pitch to_relative_octave (Pitch);
};
Moment
-Lyric_combine_music::length_mom () const
+Lyric_combine_music::get_length () const
{
- return get_music ()->length_mom ();
+ return get_music ()->get_length ();
}
Pitch
}
Moment
-Midi_note::length_mom () const
+Midi_note::get_length () const
{
Moment m = audio_->length_mom_;
#if 0
Midi_walker::do_start_note (Midi_note* note)
{
Audio_item* ptr = (*items_)[index_];
- Moment stop_mom = note->length_mom () + ptr->audio_column_->at_mom ();
+ Moment stop_mom = note->get_length () + ptr->audio_column_->at_mom ();
bool play_start = true;
for (int i=0; i < stop_note_queue.size (); i++)
//midi->channel_ = track_->number_;
if (Midi_note* note = dynamic_cast<Midi_note*> (midi))
{
- if (note->length_mom ().to_bool ())
+ if (note->get_length ().to_bool ())
do_start_note (note);
}
else
p->music_ = m;
assert (m);
- p->music_length_ = m->length_mom ();
+ p->music_length_ = m->get_length ();
p->start_mom_ = m->start_mom ();
return iter;
}
Moment
-Music_iterator::music_length_mom () const
+Music_iterator::music_get_length () const
{
return music_length_;
}
for (SCM s = l; gh_pair_p (s); s = ly_cdr (s))
{
- Moment l = unsmob_music (ly_car (s))->length_mom ();
+ Moment l = unsmob_music (ly_car (s))->get_length ();
if (last_len.grace_part_ && l.main_part_)
{
last_len.grace_part_ = Rational (0);
for (SCM s = l; gh_pair_p (s); s = ly_cdr (s))
{
Music * m = unsmob_music (ly_car (s));
- Moment l = m->length_mom ();
+ Moment l = m->get_length ();
dur = dur >? l;
}
for (SCM s = l; gh_pair_p (s); s = ly_cdr (s))
{
Music * mus = unsmob_music (ly_car (s));
- Moment l = mus->length_mom ();
+ Moment l = mus->get_length ();
Moment s = mus->start_mom ();
if (l.to_bool () || s.to_bool ())
return s;
}
Moment
-Music_wrapper::length_mom () const
+Music_wrapper::get_length () const
{
- return element ()->length_mom ();
+ return element ()->get_length ();
}
Pitch
}
Moment
-Music::length_mom () const
+Music::get_length () const
{
SCM l = get_mus_property ("length");
if (unsmob_moment (l))
{
Music* n = note_reqs_.pop ();
Pitch pit = * unsmob_pitch (n->get_mus_property ("pitch"));
- Audio_note* p = new Audio_note (pit, n->length_mom (), transposing_i);
+ Audio_note* p = new Audio_note (pit, n->get_length (), transposing_i);
Audio_element_info info (p, n);
announce_element (info);
notes_.push (p);
Duration *d = unsmob_duration ($2->get_mus_property ("duration"));
Midi_def * md = dynamic_cast<Midi_def*> ($$);
if (md)
- md->set_tempo (d->length_mom (), m);
+ md->set_tempo (d->get_length (), m);
}
| music_output_def_body error {
csm->set_mus_property ("context-type", scm_makfrom0str ("Timing"));
}
| PARTIAL duration_length {
- Moment m = - unsmob_duration ($2)->length_mom ();
+ Moment m = - unsmob_duration ($2)->get_length ();
Music * p = set_property_music (ly_symbol2scm ( "measurePosition"),m.smobbed_copy ());
Music * sp = MY_MAKE_MUSIC("ContextSpeccedMusic");
sp-> set_mus_property ("context-type", scm_makfrom0str ("Timing"));
}
| CLEF STRING {
- SCM func = scm_primitive_eval (ly_symbol2scm ("clef-name-to-properties"));
- SCM result = gh_call1 (func, $2);
-
- SCM l = SCM_EOL;
- for (SCM s = result ; gh_pair_p (s); s = ly_cdr (s)) {
- Music * p = MY_MAKE_MUSIC("Music");
- set_music_properties (p, ly_car (s));
- l = scm_cons (p->self_scm (), l);
- scm_gc_unprotect_object (p->self_scm ());
- }
- Music * seq = MY_MAKE_MUSIC("SequentialMusic");
- seq->set_mus_property ("elements", l);
-
- Music * sp = MY_MAKE_MUSIC("ContextSpeccedMusic");
- sp->set_mus_property ("element", seq->self_scm ());
- scm_gc_unprotect_object (seq->self_scm ());
+ static SCM proc ;
+ if (!proc)
+ proc = scm_c_eval_string ("make-clef-set");
- $$ =sp ;
- sp-> set_mus_property ("context-type", scm_makfrom0str ("Staff"));
+ SCM result = scm_call_1 (proc, $2);
+ scm_gc_protect_object (result);
+ $$ = unsmob_music (result);
}
| TIME_T fraction {
Music * p1 = set_property_music (ly_symbol2scm ( "timeSignatureFraction"), $2);
{
scm_sort_list_x (first_durations,
scm_primitive_eval (ly_symbol2scm ("Duration::less_p")));
- first_mom += unsmob_duration (ly_car (first_durations))->length_mom ();
+ first_mom += unsmob_duration (ly_car (first_durations))->get_length ();
}
if (second_durations != SCM_EOL)
{
scm_sort_list_x (second_durations,
scm_primitive_eval (ly_symbol2scm ("Duration::less_p")));
- second_mom += unsmob_duration (ly_car (second_durations))->length_mom ();
+ second_mom += unsmob_duration (ly_car (second_durations))->get_length ();
}
if (first_pitches != SCM_EOL && second_pitches == SCM_EOL
== Percent_repeat_iterator::constructor_proc
&& !repeat_)
{
- body_length_ = rp->body_length_mom ();
+ body_length_ = rp->body_get_length ();
int count = rp->repeat_count ();
Moment now = now_mom ();
Percent_repeat_iterator::construct_children ()
{
Repeated_music * mus =dynamic_cast<Repeated_music *> (get_music ());
- finish_mom_ = mus->length_mom ();
+ finish_mom_ = mus->get_length ();
child_iter_ = unsmob_iterator (get_iterator (mus->body ()));
}
if (m->is_mus_type ("note-event"))
right_heads_.push (Grob_pitch_tuple (info_.grob_, m,
now_mom () +
- m->length_mom ()));
+ m->get_length ()));
}
}
}
Moment
-Repeated_music::alternatives_length_mom (bool fold) const
+Repeated_music::alternatives_get_length (bool fold) const
{
if (!alternatives ())
return 0;
SCM p = alternatives ();
while (gh_pair_p (p) && done < repeat_count ())
{
- m = m + unsmob_music (ly_car (p))->length_mom ();
+ m = m + unsmob_music (ly_car (p))->get_length ();
done ++;
if (repeat_count () - done < scm_ilength (alternatives ()))
p = ly_cdr (p);
of volta repeats, where the alternatives are iterated just as they
were entered. */
Moment
-Repeated_music::alternatives_volta_length_mom () const
+Repeated_music::alternatives_volta_get_length () const
{
if (!alternatives ())
return 0;
SCM p = alternatives ();
while (gh_pair_p (p))
{
- m = m + unsmob_music (ly_car (p))->length_mom ();
+ m = m + unsmob_music (ly_car (p))->get_length ();
p = ly_cdr (p);
}
return m;
Length of the body in THIS. Disregards REPEAT-COUNT.
*/
Moment
-Repeated_music::body_length_mom () const
+Repeated_music::body_get_length () const
{
Moment m = 0;
if (body ())
{
- m = body ()->length_mom ();
+ m = body ()->get_length ();
}
return m;
}
{
Repeated_music* r = dynamic_cast<Repeated_music*> (unsmob_music (m));
- Moment l = Moment (r->repeat_count ()) * r->body_length_mom () + r->alternatives_length_mom (false);
+ Moment l = Moment (r->repeat_count ()) * r->body_get_length () + r->alternatives_get_length (false);
return l.smobbed_copy ();
}
{
Repeated_music* r = dynamic_cast<Repeated_music*> (unsmob_music (m));
- Moment l = r->body_length_mom () + r->alternatives_length_mom (true);
+ Moment l = r->body_get_length () + r->alternatives_get_length (true);
return l.smobbed_copy ();
}
Repeated_music::volta_music_length (SCM m)
{
Repeated_music* r = dynamic_cast<Repeated_music*> (unsmob_music (m));
- Moment l = r->body_length_mom () + r->alternatives_volta_length_mom ();
+ Moment l = r->body_get_length () + r->alternatives_volta_get_length ();
return l.smobbed_copy ();
}
Moment
-Request::length_mom () const
+Request::get_length () const
{
Duration *d = unsmob_duration (get_mus_property ("duration"));
if (!d)
Moment m ;
return m;
}
- return d->length_mom ();
+ return d->get_length ();
}
void
if (d)
{
- l = d->length_mom ();
+ l = d->get_length ();
}
else
programming_error("Music has no duration");
progress_indication (_ ("Interpreting music..."));
Music * music = unsmob_music (music_);
- trans->final_mom_ = music->length_mom ();
+ trans->final_mom_ = music->get_length ();
SCM protected_iter = Music_iterator::get_static_get_iterator (music);
Music_iterator * iter = unsmob_iterator (protected_iter);
iter->init_translator (music, trans);
{
Music * mus = unsmob_music (ly_car (cursor));
Moment s = mus->start_mom ();
- Moment l =mus->length_mom () - s;
+ Moment l =mus->get_length () - s;
if (s.grace_part_)
{
void
Sequential_iterator::next_element (bool side_effect)
{
- Moment len =iter_->music_length_mom () - iter_->music_start_mom ();
+ Moment len =iter_->music_get_length () - iter_->music_start_mom ();
assert (!grace_fixups_ || grace_fixups_->start_ >= here_mom_);
if (len.main_part_ && grace_fixups_ &&
for (SCM i = nm; gh_pair_p (i); i = ly_cdr (i))
{
Music *mus=unsmob_music (ly_car (i));
- m = m >? (mus->length_mom () - mus->start_mom ());
+ m = m >? (mus->get_length () - mus->start_mom ());
}
if (m > Moment (0))
break ;
/*
do the stuff/note/rest preceding a grace.
*/
- iter_->skip (iter_->music_length_mom ());
+ iter_->skip (iter_->music_get_length ());
}
- else if (iter_->music_length_mom () >= until - here_mom_)
+ else if (iter_->music_get_length () >= until - here_mom_)
iter_->skip (until - here_mom_ + iter_->music_start_mom ());
if (iter_->ok ())
/*
do the stuff/note/rest preceding a grace.
*/
- iter_->process (iter_->music_length_mom ());
+ iter_->process (iter_->music_get_length ());
}
else
iter_->process (until - here_mom_ + iter_->music_start_mom ());
Moment
-Sequential_music::length_mom () const
+Sequential_music::get_length () const
{
return Music_sequence::cumulative_length (get_mus_property ("elements"));
}
bool
Simple_music_iterator::ok ()const
{
- return last_processed_mom_ < music_length_mom ();
+ return last_processed_mom_ < music_get_length ();
}
/*
if (last_processed_mom_ < Moment (0))
return Moment (0);
else
- return music_length_mom ();
+ return music_get_length ();
}
void
#include "music-list.hh"
Moment
-Simultaneous_music::length_mom () const
+Simultaneous_music::get_length () const
{
return Music_sequence::maximum_length (get_mus_property ("elements"));
}
Music *r = i.music_cause ();
if (r && r->is_mus_type ("rhythmic-event"))
{
- Moment len = r->length_mom ();
+ Moment len = r->get_length ();
Rhythmic_tuple t (i, now_mom () + len);
now_durations_.push (t);
}
shortest_playing.set_infinite (1);
for (int i=0; i < playing_durations_.size (); i++)
{
- Moment m = (playing_durations_[i].info_.music_cause ())->length_mom ();
+ Moment m = (playing_durations_[i].info_.music_cause ())->get_length ();
shortest_playing = shortest_playing <? m;
}
for (int i=0; i < now_durations_.size (); i++)
{
- Moment m = now_durations_[i].info_.music_cause ()->length_mom ();
+ Moment m = now_durations_[i].info_.music_cause ()->get_length ();
if (m.to_bool ())
{
starter = starter <? m;
SCM met = tempo_req_->get_mus_property ("metronome-count");
Duration *d = unsmob_duration (tempo_req_->get_mus_property ("duration"));
- Rational r = (d->length_mom () / Moment (Rational (1, 4)) * Moment (gh_scm2int (met))).main_part_;
+ Rational r = (d->get_length () / Moment (Rational (1, 4)) * Moment (gh_scm2int (met))).main_part_;
audio_ = new Audio_tempo (int (r));
{
Music *m = i.req_;
if (m->is_mus_type ("note-event"))
- now_notes_.push (CNote_melodic_tuple (nh, m, now_mom ()+ m->length_mom ()));
+ now_notes_.push (CNote_melodic_tuple (nh, m, now_mom ()+ m->get_length ()));
}
}
if (el && !el->is_mus_type ("request-chord"))
{
time_scaled_musics_.push (c);
- Rational m = now_mom ().main_part_ + c->length_mom ().main_part_;
+ Rational m = now_mom ().main_part_ + c->get_length ().main_part_;
stop_moments_.push (m);
SCM s = get_property ("tupletSpannerDuration");
#include "untransposable-music.hh"
+/*
+ todo: This one, together with Un_relativable_music is ugh.
+
+ fixthis.
+*/
+
+
void
Untransposable_music::transpose (Pitch )
{
)
)
-(define-public (clef-name-to-properties cl)
+(define-public (make-clef-set cl)
+ "Generate the clef setting commands for a clef with name CL."
+ (define (make-prop-set props)
+ (let*
+ (
+ (m (make-music-by-name 'PropertySet))
+ )
+
+ (map (lambda (x) (ly-set-mus-property! m (car x) (cdr x))) props)
+ m
+ ))
+
(let ((e '())
(c0 0)
(oct 0)
(set! e (assoc cl supported-clefs))
-
+
(if (pair? e)
- `(((symbol . clefGlyph)
- (iterator-ctor . ,Property_iterator::constructor)
- (value . ,(cadr e))
- )
+ (let*
+ (
+ (musics (map make-prop-set
- ((symbol . centralCPosition)
- (iterator-ctor . ,Property_iterator::constructor)
- (value . ,(+ oct (caddr e) (cdr (assoc (cadr e) c0-pitch-alist))))
- )
- ((symbol . clefPosition)
- (iterator-ctor . ,Property_iterator::constructor)
- (value . ,(caddr e))
- )
- ((symbol . clefOctavation)
- (iterator-ctor . ,Property_iterator::constructor)
- (value . ,(- oct))
- )
+ `(((symbol . clefGlyph)
+ (value . ,(cadr e))
+ )
+ ((symbol . centralCPosition)
+ (value . ,(+ oct (caddr e) (cdr (assoc (cadr e) c0-pitch-alist))))
+ )
+ ((symbol . clefPosition)
+ (value . ,(caddr e))
+ )
+ ((symbol . clefOctavation)
+ (value . ,(- oct))
+ )
+ )))
+ (seq (make-music-by-name 'SequentialMusic))
+ (csp (make-music-by-name 'ContextSpeccedMusic))
+ )
+
+ (ly-set-mus-property! seq 'elements musics)
+ (ly-set-mus-property! csp 'element seq)
+ (ly-set-mus-property! csp 'context-type "Staff")
+
+ csp
)
(begin
- (ly-warn (string-append "Unknown clef type `" cl "'\nSee scm/lily.scm for supported clefs"))
- '())
+ (ly-warn (format "Unknown clef type `~a'
+See scm/lily.scm for supported clefs"))
+ (make-music-by-name 'Music)
+
+ )
)))
-
-
(internal-class-name . "Request")
(types . (general-music event articulation-event script-event))
))
- (AutoChangeMusic
+ (AutoChangeMusic
. (
(description . "")
(iterator-ctor . ,Auto_change_iterator::constructor)
(types . (general-music music-wrapper-music auto-change-instruction))
))
- (BarCheck
- . (
- (description . "")
- (internal-class-name . "Music")
- (types . (general-music bar-check))
- (iterator-ctor . ,Bar_check_iterator::constructor)
- ))
+ (BarCheck
+ . (
+ (description . "")
+ (internal-class-name . "Music")
+ (types . (general-music bar-check))
+ (iterator-ctor . ,Bar_check_iterator::constructor)
+ ))
(BassFigureEvent
. (
(description . "")
(internal-class-name . "Music_wrapper")
(types . (context-specification general-music music-wrapper-music))
))
- (CrescendoEvent
+ (CrescendoEvent
. (
(description . "")
(internal-class-name . "Request")
(types . (general-music dynamic-event decrescendo-event event))
))
- (ExtenderEvent
+ (ExtenderEvent
. (
(description . "")
(iterator-ctor . ,Grace_iterator::constructor)
(types . (grace-music music-wrapper-music general-music))
))
- (HyphenEvent
+ (HyphenEvent
. (
(description . "")
(internal-class-name . "Key_change_req")
(types . (general-music key-change-event event))
))
- (LyricCombineMusic
+ (LyricCombineMusic
. (
(description . "")
(iterator-ctor . ,Lyric_combine_music_iterator::constructor)
))
- (LyricEvent
+ (LyricEvent
. (
(description . "A lyric syllable. Must be entered in lyrics mode, i.e.
@code{\\lyrics @{ twinkle4 twinkle4 @} } .")
(internal-class-name . "Request")
(types . (general-music event note-event rhythmic-event melodic-event))
))
- (OverrideProperty
- . (
+ (OverrideProperty
+ . (
(description . "")
- (internal-class-name . "Music")
- (types . (general-music layout-instruction))
- (iterator-ctor . , Push_property_iterator::constructor)
- ))
+ (internal-class-name . "Music")
+ (types . (general-music layout-instruction))
+ (iterator-ctor . , Push_property_iterator::constructor)
+ ))
- (PartCombineMusic
+ (PartCombineMusic
. (
(description . "")
(internal-class-name . "Simultaneous_music")
(types . (general-music part-combine-music))
(iterator-ctor . ,Part_combine_music_iterator::constructor)
- ))
- (PhrasingSlurEvent
+ ))
+ (PhrasingSlurEvent
. (
(description . "Start or end phrasing slur. Syntax NOTE \\( and \\) NOTE")
(internal-class-name . "Request")
(iterator-ctor . ,Property_iterator::constructor)
)
)
- (PropertyUnset
+ (PropertyUnset
. (
(description . "")
(iterator-ctor . ,Property_unset_iterator::constructor)
)
)
- (PorrectusEvent
+ (PorrectusEvent
. (
(description . "")
))
(RevertProperty
- . (
+ . (
(description . "")
- (internal-class-name . "Music")
- (types . (general-music layout-instruction))
- (iterator-ctor . , Pop_property_iterator::constructor)
- ))
-
+ (internal-class-name . "Music")
+ (types . (general-music layout-instruction))
+ (iterator-ctor . , Pop_property_iterator::constructor)
+ ))
+
(OutputPropertySetMusic
. (
(description . "")
(iterator-ctor . ,Output_property_music_iterator::constructor)
(types . (general-music layout-instruction))
))
-
+
(TextSpanEvent
. (
(description . "Start a text spanner like 8va.....|")
(TranslatorChange
. (
(description . "")
-
(internal-class-name . "Music")
(iterator-ctor . , Change_iterator::constructor)
(types . (general-music translator-change-instruction))
))
+
(TimeScaledMusic
. (
(description . "")
(iterator-ctor . ,Time_scaled_music_iterator::constructor)
(types . (time-scaled-music music-wrapper-music general-music))
))
+
(TransposedMusic
. (
(description . "")
-
(internal-class-name . "Transposed_music")
(types . (music-wrapper-music general-music transposed-music))
))
(UnrelativableMusic
. (
(description . "")
-
(internal-class-name . "Un_relativable_music")
(types . (music-wrapper-music general-music unrelativable-music))
))
(types . (music-wrapper-music general-music relative-octave-music))
))
-
+
(RequestChord
. (
(description . "")
(types . (general-music request-chord simultaneous-music))
)
)
-
+
(ScriptEvent
. (
(description . "")
(types . (general-music event))
))
(SustainPedalEvent
- . (
- (description . "")
- (internal-class-name . "Request")
- (types . (general-music pedal-event sustain-pedal-event))
- ))
+ . (
+ (description . "")
+ (internal-class-name . "Request")
+ (types . (general-music pedal-event sustain-pedal-event))
+ ))
(SostenutoEvent
- . (
- (description . "")
- (internal-class-name . "Request")
- (types . (general-music pedal-event sostenuto-pedal-event))
- ))
+ . (
+ (description . "")
+ (internal-class-name . "Request")
+ (types . (general-music pedal-event sostenuto-pedal-event))
+ ))
(UnaCordaEvent
- . (
- (description . "")
- (internal-class-name . "Request")
- (types . (general-music pedal-event una-corda-pedal-event))
- ))
+ . (
+ (description . "")
+ (internal-class-name . "Request")
+ (types . (general-music pedal-event una-corda-pedal-event))
+ ))
(StringNumberEvent
. (
(description . "")
(internal-class-name . "Request")
(types . (general-music event tremolo-event))
))
- (VoiceSeparator
- . (
- (description . "")
-
- (internal-class-name . "Music")
- (types . (separator general-music))
- ))
-
- (VoltaRepeatedMusic
- . (
- (iterator-ctor . ,Volta_repeat_iterator::constructor)
- (internal-class-name . "Repeated_music")
- (description . "")
- (start-moment-function . ,Repeated_music::first_start)
- (length . ,Repeated_music::volta_music_length)
- (types . (general-music repeated-music volta-repeated-music))
- ))
-
- (UnfoldedRepeatedMusic
- . (
- (iterator-ctor . ,Unfolded_repeat_iterator::constructor)
- (description . "")
- (start-moment-function . ,Repeated_music::first_start)
- (internal-class-name . "Repeated_music")
- (types . (general-music repeated-music unfolded-repeated-music))
- (length . ,Repeated_music::unfolded_music_length)
- ))
- (PercentRepeatedMusic
- . (
- (internal-class-name . "Repeated_music")
- (description . "")
- (iterator-ctor . ,Percent_repeat_iterator::constructor)
- (start-moment-function . ,Repeated_music::first_start)
- (length . ,Repeated_music::unfolded_music_length)
- (types . (general-music repeated-music percent-repeated-music))
- ))
-
- (TremoloRepeteadMusic
- . (
- (iterator-ctor . ,Chord_tremolo_iterator::constructor)
- (description . "")
- (internal-class-name . "Repeated_music")
- (start-moment-function . ,Repeated_music::first_start)
-
- ;; the length of the repeat is handled by shifting the note logs
- (length . ,Repeated_music::folded_music_length)
- (types . (general-music repeated-music tremolo-repeated-music))
-
- ))
- (FoldedRepeatedMusic
- . (
- (internal-class-name . "Repeated_music")
- (description . "")
- (iterator-ctor . ,Folded_repeat_iterator::constructor)
- (start-moment-function . ,Repeated_music::minimum_start)
- (length . ,Repeated_music::folded_music_length)
- (types . (general-music repeated-music folded-repeated-music))
- ))
- ))
+ (VoiceSeparator
+ . (
+ (description . "")
+
+ (internal-class-name . "Music")
+ (types . (separator general-music))
+ ))
+
+ (VoltaRepeatedMusic
+ . (
+ (iterator-ctor . ,Volta_repeat_iterator::constructor)
+ (internal-class-name . "Repeated_music")
+ (description . "")
+ (start-moment-function . ,Repeated_music::first_start)
+ (length . ,Repeated_music::volta_music_length)
+ (types . (general-music repeated-music volta-repeated-music))
+ ))
+
+ (UnfoldedRepeatedMusic
+ . (
+ (iterator-ctor . ,Unfolded_repeat_iterator::constructor)
+ (description . "")
+ (start-moment-function . ,Repeated_music::first_start)
+ (internal-class-name . "Repeated_music")
+ (types . (general-music repeated-music unfolded-repeated-music))
+ (length . ,Repeated_music::unfolded_music_length)
+ ))
+ (PercentRepeatedMusic
+ . (
+ (internal-class-name . "Repeated_music")
+ (description . "")
+ (iterator-ctor . ,Percent_repeat_iterator::constructor)
+ (start-moment-function . ,Repeated_music::first_start)
+ (length . ,Repeated_music::unfolded_music_length)
+ (types . (general-music repeated-music percent-repeated-music))
+ ))
+
+ (TremoloRepeteadMusic
+ . (
+ (iterator-ctor . ,Chord_tremolo_iterator::constructor)
+ (description . "")
+ (internal-class-name . "Repeated_music")
+ (start-moment-function . ,Repeated_music::first_start)
+
+ ;; the length of the repeat is handled by shifting the note logs
+ (length . ,Repeated_music::folded_music_length)
+ (types . (general-music repeated-music tremolo-repeated-music))
+
+ ))
+ (FoldedRepeatedMusic
+ . (
+ (internal-class-name . "Repeated_music")
+ (description . "")
+ (iterator-ctor . ,Folded_repeat_iterator::constructor)
+ (start-moment-function . ,Repeated_music::minimum_start)
+ (length . ,Repeated_music::folded_music_length)
+ (types . (general-music repeated-music folded-repeated-music))
+ ))
+ ))
(set! music-descriptions
(sort music-descriptions alist<?))
(if (eq? props '())
(ly-warn (format "Could not find music type `~a'" x)))
(ly-make-bare-music name props)
- ))
+ ))
(define-public (old-span-request->event name)
(let
(
(entry (assoc
- name
- '(
- ("text" . TextSpanEvent)
- ("decrescendo" . DecrescendoEvent)
- ("crescendo" . CrescendoEvent)
- ("Sustain" . SustainPedalEvent)
- ("slur" . SlurEvent)
- ("UnaCorda" . UnaCordaEvent)
- ("Sostenuto" . SostenutoEvent)
- )))
+ name
+ '(
+ ("text" . TextSpanEvent)
+ ("decrescendo" . DecrescendoEvent)
+ ("crescendo" . CrescendoEvent)
+ ("Sustain" . SustainPedalEvent)
+ ("slur" . SlurEvent)
+ ("UnaCorda" . UnaCordaEvent)
+ ("Sostenuto" . SostenutoEvent)
+ )))
)
(if (eq? entry #f)
(error (format "Could not find span type ~a" name))
(make-music-by-name (cdr entry))
)
- ))
+ ))
(define-public (make-repeated-music name)
(let*
"'\nSee music-types.scm for supported repeats"))
'VoltaRepeatedMusic)
)
- )
+ )
)
- (make-music-by-name music-name)
+ (make-music-by-name music-name)
))