X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftie-performer.cc;h=e93b3e6b0c6047fea2c2de8d33705b9a3098e0c4;hb=699d59b38b5699d578288d3126a08a360c6086f1;hp=97af3eac38814c28c96af238023ad220cba42480;hpb=3c907f2dd5ba3dd91e30454922d8361225ca28d5;p=lilypond.git diff --git a/lily/tie-performer.cc b/lily/tie-performer.cc index 97af3eac38..e93b3e6b0c 100644 --- a/lily/tie-performer.cc +++ b/lily/tie-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -51,7 +51,7 @@ protected: void start_translation_timestep (); virtual void acknowledge_audio_element (Audio_element_info); void process_music (); - DECLARE_TRANSLATOR_LISTENER (tie); + void listen_tie (Stream_event *); public: TRANSLATOR_DECLARATIONS (Tie_performer); }; @@ -61,7 +61,6 @@ Tie_performer::Tie_performer () event_ = 0; } -IMPLEMENT_TRANSLATOR_LISTENER (Tie_performer, tie); void Tie_performer::listen_tie (Stream_event *ev) { @@ -128,8 +127,8 @@ Tie_performer::acknowledge_audio_element (Audio_element_info inf) SCM p1 = left_mus->get_property ("pitch"); SCM p2 = right_mus->get_property ("pitch"); - if (Pitch::is_smob (p1) && Pitch::is_smob (p2) - && Pitch::unsmob (p1)->tone_pitch () == Pitch::unsmob (p2)->tone_pitch ()) + if (unsmob (p1) && unsmob (p2) + && unsmob (p1)->tone_pitch () == unsmob (p2)->tone_pitch ()) { found = true; // (*it).moment_ already stores the end of the tied note! @@ -184,6 +183,12 @@ Tie_performer::stop_translation_timestep () now_tied_heads_.clear (); } +void +Tie_performer::boot () +{ + ADD_LISTENER (Tie_performer, tie); +} + ADD_TRANSLATOR (Tie_performer, /* doc */ "Generate ties between note heads of equal pitch.",