Index: ChangeLog =================================================================== RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v retrieving revision 1.5292 diff -u -p -u -r1.5292 ChangeLog --- ChangeLog 4 Sep 2006 05:31:26 -0000 1.5292 +++ ChangeLog 4 Sep 2006 16:34:28 -0000 @@ -1,3 +1,25 @@ +2006-09-04 Michael Welsh Duggan
+ + * lily/tie-performer.cc: remove unused last_event_ property. + (class Tie_performer): add now_tied_heads_ property for + partially-tied heads. + (acknowledge_audio_element): when adding an Audio_note, put the + note in now_tied_heads_ if the audio note is partially tied. + (stop_translation_timestep): always include entries in + now_tied_heads_ in heads_to_tie_. + + * lily/drum-note-performer.cc (process_music): look for tie-events + in the articulations; pass to Audio_note constructor. + + * lily/note-performer.cc (process_music): look for tie-events in + the articulations; pass to Audio_note constructor. + + * lily/audio-item.cc (Audio_note): Initialize tie_event_ in + constructor. + + * lily/include/audio-item.hh (class Audio_note): add tie_event_. + include initializer in constructor. + 2006-09-02 Joe Neeman * lily/simple-spacer.cc (get_line_forces): Ignore loose columns Index: lily/audio-item.cc =================================================================== RCS file: /cvsroot/lilypond/lilypond/lily/audio-item.cc,v retrieving revision 1.37 diff -u -p -u -r1.37 audio-item.cc --- lily/audio-item.cc 11 Feb 2006 11:35:18 -0000 1.37 +++ lily/audio-item.cc 4 Sep 2006 16:34:28 -0000 @@ -21,12 +21,13 @@ Audio_item::Audio_item () audio_column_ = 0; } -Audio_note::Audio_note (Pitch p, Moment m, int transposing_i) +Audio_note::Audio_note (Pitch p, Moment m, bool tie_event, int transposing_i) { pitch_ = p; length_mom_ = m; tied_ = 0; transposing_ = transposing_i; + tie_event_ = tie_event; } void Index: lily/drum-note-performer.cc =================================================================== RCS file: /cvsroot/lilypond/lilypond/lily/drum-note-performer.cc,v retrieving revision 1.30 diff -u -p -u -r1.30 drum-note-performer.cc --- lily/drum-note-performer.cc 1 Sep 2006 02:01:01 -0000 1.30 +++ lily/drum-note-performer.cc 4 Sep 2006 16:34:28 -0000 @@ -10,6 +10,7 @@ #include "audio-item.hh" #include "audio-column.hh" #include "global-context.hh" +#include "music.hh" #include "pitch.hh" #include "stream-event.hh" #include "translator.icc" @@ -51,7 +52,22 @@ Drum_note_performer::process_music () if (Pitch *pit = unsmob_pitch (defn)) { - Audio_note *p = new Audio_note (*pit, get_event_length (n), 0); + SCM articulations = n->get_property ("articulations"); + Music *tie_event = 0; + for (SCM s = articulations; + !tie_event && scm_is_pair (s); + s = scm_cdr (s)) + { + Music *m = unsmob_music (scm_car (s)); + if (!m) + continue; + + if (m->is_mus_type ("tie-event")) + tie_event = m; + } + + Audio_note *p = new Audio_note (*pit, get_event_length (n), + tie_event, 0); Audio_element_info info (p, n); announce_element (info); notes_.push_back (p); Index: lily/note-performer.cc =================================================================== RCS file: /cvsroot/lilypond/lilypond/lily/note-performer.cc,v retrieving revision 1.73 diff -u -p -u -r1.73 note-performer.cc --- lily/note-performer.cc 1 Sep 2006 02:01:01 -0000 1.73 +++ lily/note-performer.cc 4 Sep 2006 16:34:28 -0000 @@ -10,6 +10,7 @@ #include "audio-item.hh" #include "audio-column.hh" #include "global-context.hh" +#include "music.hh" #include "stream-event.hh" #include "warn.hh" @@ -52,7 +53,22 @@ Note_performer::process_music () if (Pitch *pitp = unsmob_pitch (pit)) { - Audio_note *p = new Audio_note (*pitp, get_event_length (n), - transposing); + SCM articulations = n->get_property ("articulations"); + Music *tie_event = 0; + for (SCM s = articulations; + !tie_event && scm_is_pair (s); + s = scm_cdr (s)) + { + Music *m = unsmob_music (scm_car (s)); + if (!m) + continue; + + if (m->is_mus_type ("tie-event")) + tie_event = m; + } + + Audio_note *p = new Audio_note (*pitp, get_event_length (n), + tie_event, - transposing); Audio_element_info info (p, n); announce_element (info); notes_.push_back (p); Index: lily/tie-performer.cc =================================================================== RCS file: /cvsroot/lilypond/lilypond/lily/tie-performer.cc,v retrieving revision 1.63 diff -u -p -u -r1.63 tie-performer.cc --- lily/tie-performer.cc 19 Jul 2006 21:33:03 -0000 1.63 +++ lily/tie-performer.cc 4 Sep 2006 16:34:29 -0000 @@ -17,8 +17,8 @@ class Tie_performer : public Performer { Stream_event *event_; - Stream_event *last_event_; vector