From 49e78b19bad368750d257062d12b17ad65d83db4 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 20 Aug 2000 20:11:33 +0200 Subject: [PATCH] patch::: 1.3.79.jcn5 1.3.79.jcn5 =========== * Created Thread_devnull_engraver and Voice_devnull_engraver iso single A2_devnull_engraver in Thread context. It seems however that the hack in A2_devnull_engraver works better. --- CHANGES | 8 +++ VERSION | 2 +- lily/a2-devnull-engraver.cc | 2 +- lily/thread-devnull-engraver.cc | 33 ++++++++++++ lily/voice-devnull-engraver.cc | 51 +++++++++++++++++++ ly/engraver.ly | 4 +- mutopia/Coriolan/coriolan-paper.ly | 17 +++++-- .../Coriolan/coriolan-part-combine-paper.ly | 19 ++++--- 8 files changed, 123 insertions(+), 13 deletions(-) create mode 100644 lily/thread-devnull-engraver.cc create mode 100644 lily/voice-devnull-engraver.cc diff --git a/CHANGES b/CHANGES index 1234b55c6e..4b79edf195 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,11 @@ +1.3.79.jcn5 +=========== + +* Created Thread_devnull_engraver and Voice_devnull_engraver iso + single A2_devnull_engraver in Thread context. It seems however + that the hack in A2_devnull_engraver works better. + + 1.3.79.jcn4 =========== diff --git a/VERSION b/VERSION index b864025dbd..cb3268bc65 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=79 -MY_PATCH_LEVEL=jcn4 +MY_PATCH_LEVEL=jcn5 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/lily/a2-devnull-engraver.cc b/lily/a2-devnull-engraver.cc index 4d957c01cc..32aa7d958a 100644 --- a/lily/a2-devnull-engraver.cc +++ b/lily/a2-devnull-engraver.cc @@ -30,7 +30,7 @@ ADD_THIS_TRANSLATOR (A2_devnull_engraver); bool A2_devnull_engraver::do_try_music (Music *m) { - if (daddy_trans_l_->id_str_ == "two" + if (1 //daddy_trans_l_->id_str_ == "two" && (to_boolean (get_property ("unison")) || to_boolean (get_property ("unisilence")))) { diff --git a/lily/thread-devnull-engraver.cc b/lily/thread-devnull-engraver.cc new file mode 100644 index 0000000000..6436f0c2ef --- /dev/null +++ b/lily/thread-devnull-engraver.cc @@ -0,0 +1,33 @@ +/* + thread-devnull-engraver.cc -- implement Thread_devnull_engraver + + source file of the GNU LilyPond music typesetter + + (c) 2000 Jan Nieuwenhuizen +*/ + +#include "engraver.hh" +#include "item.hh" +#include "musical-request.hh" +#include "translator-group.hh" + +class Thread_devnull_engraver : public Engraver +{ +public: + VIRTUAL_COPY_CONS (Translator); + +protected: + virtual void acknowledge_element (Score_element_info); +}; + +ADD_THIS_TRANSLATOR (Thread_devnull_engraver); + +void +Thread_devnull_engraver::acknowledge_element (Score_element_info i) +{ + if (daddy_trans_l_->id_str_ == "two" + && (to_boolean (get_property ("unison")) + || to_boolean (get_property ("unisilence"))) + && to_boolean (get_property ("soloADue"))) + i.elem_l_->suicide (); +} diff --git a/lily/voice-devnull-engraver.cc b/lily/voice-devnull-engraver.cc new file mode 100644 index 0000000000..ed5e782706 --- /dev/null +++ b/lily/voice-devnull-engraver.cc @@ -0,0 +1,51 @@ +/* + voice-devnull-engraver.cc -- implement Voice_devnull_engraver + + source file of the GNU LilyPond music typesetter + + (c) 2000 Jan Nieuwenhuizen +*/ + +#include "engraver.hh" +#include "item.hh" +#include "musical-request.hh" +#include "translator-group.hh" + +class Voice_devnull_engraver : public Engraver +{ +public: + VIRTUAL_COPY_CONS (Translator); + +protected: + virtual void acknowledge_element (Score_element_info); +}; + +ADD_THIS_TRANSLATOR (Voice_devnull_engraver); + +void +Voice_devnull_engraver::acknowledge_element (Score_element_info i) +{ + if (daddy_trans_l_->id_str_ == "two" + && (to_boolean (get_property ("unison")) + || to_boolean (get_property ("unisilence")))) + { + static char const *junk[] = { + // "beam-interface", + "slur-interface", + "tie-interface", + "text-item-interface", + "text-script-interface", + "dynamic-interface", + "crescendo-interface", + 0 + }; + for (char const **p = junk; *p; *p++) + { + if (i.elem_l_->has_interface (ly_symbol2scm (*p))) + { + i.elem_l_->suicide (); + return; + } + } + } +} diff --git a/ly/engraver.ly b/ly/engraver.ly index 1a9bb26eab..aee08d47b3 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -146,6 +146,7 @@ VoiceContext = \translator { textScriptPadding = #3.0 \consists "Text_engraver"; \consists "A2_engraver"; + \consists "Voice_devnull_engraver"; startSustain = #"Ped." stopSustain = #"*" @@ -210,7 +211,8 @@ GraceContext=\translator { ThreadContext = \translator{ \type Engraver_group_engraver; - \consists "A2_devnull_engraver"; + %%\consists "A2_devnull_engraver"; + \consists "Thread_devnull_engraver"; \consists "Note_heads_engraver"; \consists "Output_property_engraver"; Generic_property_list = #generic-thread-properties diff --git a/mutopia/Coriolan/coriolan-paper.ly b/mutopia/Coriolan/coriolan-paper.ly index 6dde56b9bd..9d33209b23 100644 --- a/mutopia/Coriolan/coriolan-paper.ly +++ b/mutopia/Coriolan/coriolan-paper.ly @@ -11,6 +11,8 @@ \ThreadContext \name "VoiceCombineThread"; \consists "Rest_engraver"; + \remove "Thread_devnull_engraver"; + \consists "A2_devnull_engraver"; } \translator{ \VoiceContext @@ -20,10 +22,11 @@ \remove "Rest_engraver"; \accepts "VoiceCombineThread"; \consists "A2_devnull_engraver"; + \remove "Voice_devnull_engraver"; } \translator{ \HaraKiriStaffContext -%% \consists "Mark_engraver"; + \consists "Mark_engraver"; \name "VoiceCombineStaff"; \accepts "VoiceCombineVoice"; } @@ -34,8 +37,8 @@ \translator{ \ThreadContext \name "StaffCombineThread"; - \remove "A2_devnull_engraver"; -%% \remove "Note_heads_engraver"; + \remove "Thread_devnull_engraver"; +%% \consists "A2_devnull_engraver"; } \translator{ \VoiceContext @@ -53,6 +56,7 @@ \remove "Melisma_engraver"; \remove "Text_engraver"; \remove "A2_engraver"; + \remove "Voice_devnull_engraver"; \remove "Piano_pedal_engraver"; \remove "Script_engraver"; @@ -61,6 +65,8 @@ \remove "Slur_engraver"; \remove "Tie_engraver"; + \remove "Voice_devnull_engraver"; +%% \consists "Thread_devnull_engraver"; \consists "A2_devnull_engraver"; } \translator { @@ -79,6 +85,8 @@ \consists "Melisma_engraver"; \consists "Text_engraver"; \consists "A2_engraver"; +%% \consists "Voice_devnull_engraver"; +%% \consists "A2_devnull_engraver"; soloADue = ##f @@ -88,13 +96,14 @@ \consists "Rhythmic_column_engraver"; \consists "Slur_engraver"; \consists "Tie_engraver"; - \consists "A2_devnull_engraver"; } \translator { \StaffGroupContext \accepts "VoiceCombineStaff"; \accepts "StaffCombineStaff"; } + \translator{ \HaraKiriStaffContext } + \translator { %\ScoreContext %\consists "Mark_engraver"; diff --git a/mutopia/Coriolan/coriolan-part-combine-paper.ly b/mutopia/Coriolan/coriolan-part-combine-paper.ly index 3aa73c157a..c23c88937a 100644 --- a/mutopia/Coriolan/coriolan-part-combine-paper.ly +++ b/mutopia/Coriolan/coriolan-part-combine-paper.ly @@ -1,4 +1,5 @@ \paper { + textheight = 295.0\mm; linewidth = 180.0\mm; @@ -10,6 +11,8 @@ \ThreadContext \name "VoiceCombineThread"; \consists "Rest_engraver"; + \remove "Thread_devnull_engraver"; + \consists "A2_devnull_engraver"; } \translator{ \VoiceContext @@ -19,6 +22,7 @@ \remove "Rest_engraver"; \accepts "VoiceCombineThread"; \consists "A2_devnull_engraver"; + \remove "Voice_devnull_engraver"; } \translator{ \HaraKiriStaffContext @@ -33,9 +37,8 @@ \translator{ \ThreadContext \name "StaffCombineThread"; -%% - \remove "A2_devnull_engraver"; -%% \remove "Note_heads_engraver"; + \remove "Thread_devnull_engraver"; +%% \consists "A2_devnull_engraver"; } \translator{ \VoiceContext @@ -53,6 +56,7 @@ \remove "Melisma_engraver"; \remove "Text_engraver"; \remove "A2_engraver"; + \remove "Voice_devnull_engraver"; \remove "Piano_pedal_engraver"; \remove "Script_engraver"; @@ -61,6 +65,8 @@ \remove "Slur_engraver"; \remove "Tie_engraver"; + \remove "Voice_devnull_engraver"; +%% \consists "Thread_devnull_engraver"; \consists "A2_devnull_engraver"; } \translator { @@ -79,9 +85,10 @@ \consists "Melisma_engraver"; \consists "Text_engraver"; \consists "A2_engraver"; +%% \consists "Voice_devnull_engraver"; +%% \consists "A2_devnull_engraver"; soloADue = ##f - %soloADue = ##t \consists "Piano_pedal_engraver"; \consists "Script_engraver"; @@ -89,14 +96,14 @@ \consists "Rhythmic_column_engraver"; \consists "Slur_engraver"; \consists "Tie_engraver"; - - \consists "A2_devnull_engraver"; } \translator { \StaffGroupContext \accepts "VoiceCombineStaff"; \accepts "StaffCombineStaff"; } + \translator{ \HaraKiriStaffContext } + \translator { \ScoreContext \accepts "VoiceCombineStaff"; -- 2.39.5