From b5f49d8b3ffa0f5c3d821d19faa00d0f1bf3974f Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 17 Sep 2003 22:55:27 +0000 Subject: [PATCH] * lily/tie-engraver.cc (start_translation_timestep): move melisma stuff in accordance with new timing of tie-events. * lily/my-lily-lexer.cc: remove \outputproperty * lily/melisma-engraver.cc (try_music): use melismaBusyProperties. --- ChangeLog | 5 +++++ lily/lyric-combine-music-iterator.cc | 21 +++------------------ lily/melisma-engraver.cc | 3 ++- lily/my-lily-lexer.cc | 1 - lily/tie-engraver.cc | 18 +++++++++--------- ly/property-init.ly | 11 ++++++----- 6 files changed, 25 insertions(+), 34 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8925ecbfef..d4c52ba27b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2003-09-18 Han-Wen Nienhuys + * lily/tie-engraver.cc (start_translation_timestep): move melisma + stuff in accordance with new timing of tie-events. + + * lily/my-lily-lexer.cc: remove \outputproperty + * lily/melisma-engraver.cc (try_music): use melismaBusyProperties. * scm/define-translator-properties.scm (melismaBusyProperties): diff --git a/lily/lyric-combine-music-iterator.cc b/lily/lyric-combine-music-iterator.cc index 37f3d39467..2e9a870ba1 100644 --- a/lily/lyric-combine-music-iterator.cc +++ b/lily/lyric-combine-music-iterator.cc @@ -127,27 +127,12 @@ Lyric_combine_music_iterator::get_busy_status () const bool Lyric_combine_music_iterator::melisma_busy () { -#if 0 - - Translator_group * trg = music_iter_->report_to(); - bool melisma_busy= to_boolean (trg->get_property ("melismaBusy")); - - melisma_busy = melisma_busy || to_boolean (trg->get_property ("slurMelismaBusy")); - melisma_busy = melisma_busy || to_boolean (trg->get_property ("tieMelismaBusy")); - melisma_busy = melisma_busy || to_boolean (trg->get_property ("beamMelismaBusy")); - return melisma_busy; - -#else - /* - The above code is nicer since it doesn't rely on a special - engraver to signal the melisma status. Unfortunately, - music_iter_->report_to() might not be the context that sets the - melisma properties, but rather a parent context. + We can not read the property, since music_iter_->report_to() might + not be the context that sets the melisma properties, but rather a + parent context. */ return music_iter_->try_music (melisma_playing_req); -#endif - } void diff --git a/lily/melisma-engraver.cc b/lily/melisma-engraver.cc index 554d3c78da..72dfb94ac7 100644 --- a/lily/melisma-engraver.cc +++ b/lily/melisma-engraver.cc @@ -31,7 +31,8 @@ Melisma_engraver::try_music (Music *m) for (; gh_pair_p (melisma_properties); melisma_properties = gh_cdr (melisma_properties)) - busy = busy || to_boolean (get_property (gh_car (melisma_properties))); + + busy = busy || to_boolean (internal_get_property (gh_car (melisma_properties))); /* for the phrasing engraver we also need this. diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index 7e1c895bf1..bd57eb0899 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -61,7 +61,6 @@ static Keyword_ent the_key_tab[]={ {"notes", NOTES}, {"octave", OCTAVE}, {"once", ONCE}, - {"outputproperty", OUTPUTPROPERTY}, {"override", OVERRIDE}, {"paper", PAPER}, {"partcombine", PARTCOMBINE}, diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc index 7806f311f7..7cc71e4d51 100644 --- a/lily/tie-engraver.cc +++ b/lily/tie-engraver.cc @@ -49,6 +49,7 @@ class Tie_engraver : public Engraver protected: virtual void stop_translation_timestep (); + virtual void start_translation_timestep (); virtual void acknowledge_grob (Grob_info); virtual bool try_music (Music*); virtual void process_acknowledged_grobs (); @@ -75,15 +76,6 @@ Tie_engraver::try_music (Music *mus) event_ = mus; } - if (event_) - { - SCM m = get_property ("automaticMelismata"); - bool am = gh_boolean_p (m) &&gh_scm2bool (m); - if (am) - { - daddy_trans_->set_property ("tieMelismaBusy", m ? SCM_BOOL_T : SCM_BOOL_F); - } - } return true; } @@ -128,6 +120,14 @@ Tie_engraver::process_acknowledged_grobs () } } +void +Tie_engraver::start_translation_timestep () +{ + if (to_boolean (get_property ("automaticMelismata"))) + daddy_trans_->set_property ("tieMelismaBusy", + gh_bool2scm (heads_to_tie_.size ())); + +} void Tie_engraver::stop_translation_timestep () diff --git a/ly/property-init.ly b/ly/property-init.ly index 0f4d2c1901..0a25bbc122 100644 --- a/ly/property-init.ly +++ b/ly/property-init.ly @@ -76,8 +76,9 @@ newpage = \notes { \break % urg, only works for TeX output - \context Score \outputproperty #(make-type-checker 'paper-column-interface) - #'between-system-string = #"\\newpage" + \context Score \applyoutput + #(outputproperty-compatibility (make-type-checker 'paper-column-interface) + 'between-system-string "\\newpage") } % dynamic ly:dir? text script, articulation script ly:dir? @@ -100,10 +101,10 @@ normalsize = { % End the incipit and print a ``normal line start''. -endincipit = \notes{ +endincipit = \notes \context Staff { \partial 16 s16 % Hack to handle e.g. \bar ".|" \endincipit - \context Staff \outputproperty #(make-type-checker 'clef-interface) #'full-size-change = ##t - \context Staff \outputproperty #(make-type-checker 'clef-interface) #'non-default = ##t + \once \property Staff.Clef \set #'full-size-change = ##t + \once \property Staff.Clef \set #'non-default = ##t \bar "" } -- 2.39.2