+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
===========
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.
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"))))
{
--- /dev/null
+/*
+ thread-devnull-engraver.cc -- implement Thread_devnull_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+*/
+
+#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 ();
+}
--- /dev/null
+/*
+ voice-devnull-engraver.cc -- implement Voice_devnull_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+*/
+
+#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;
+ }
+ }
+ }
+}
textScriptPadding = #3.0
\consists "Text_engraver";
\consists "A2_engraver";
+ \consists "Voice_devnull_engraver";
startSustain = #"Ped."
stopSustain = #"*"
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
\ThreadContext
\name "VoiceCombineThread";
\consists "Rest_engraver";
+ \remove "Thread_devnull_engraver";
+ \consists "A2_devnull_engraver";
}
\translator{
\VoiceContext
\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";
}
\translator{
\ThreadContext
\name "StaffCombineThread";
- \remove "A2_devnull_engraver";
-%% \remove "Note_heads_engraver";
+ \remove "Thread_devnull_engraver";
+%% \consists "A2_devnull_engraver";
}
\translator{
\VoiceContext
\remove "Melisma_engraver";
\remove "Text_engraver";
\remove "A2_engraver";
+ \remove "Voice_devnull_engraver";
\remove "Piano_pedal_engraver";
\remove "Script_engraver";
\remove "Slur_engraver";
\remove "Tie_engraver";
+ \remove "Voice_devnull_engraver";
+%% \consists "Thread_devnull_engraver";
\consists "A2_devnull_engraver";
}
\translator {
\consists "Melisma_engraver";
\consists "Text_engraver";
\consists "A2_engraver";
+%% \consists "Voice_devnull_engraver";
+%% \consists "A2_devnull_engraver";
soloADue = ##f
\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";
\paper {
+
textheight = 295.0\mm;
linewidth = 180.0\mm;
\ThreadContext
\name "VoiceCombineThread";
\consists "Rest_engraver";
+ \remove "Thread_devnull_engraver";
+ \consists "A2_devnull_engraver";
}
\translator{
\VoiceContext
\remove "Rest_engraver";
\accepts "VoiceCombineThread";
\consists "A2_devnull_engraver";
+ \remove "Voice_devnull_engraver";
}
\translator{
\HaraKiriStaffContext
\translator{
\ThreadContext
\name "StaffCombineThread";
-%%
- \remove "A2_devnull_engraver";
-%% \remove "Note_heads_engraver";
+ \remove "Thread_devnull_engraver";
+%% \consists "A2_devnull_engraver";
}
\translator{
\VoiceContext
\remove "Melisma_engraver";
\remove "Text_engraver";
\remove "A2_engraver";
+ \remove "Voice_devnull_engraver";
\remove "Piano_pedal_engraver";
\remove "Script_engraver";
\remove "Slur_engraver";
\remove "Tie_engraver";
+ \remove "Voice_devnull_engraver";
+%% \consists "Thread_devnull_engraver";
\consists "A2_devnull_engraver";
}
\translator {
\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";
\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";