From: Han-Wen Nienhuys Date: Mon, 18 Sep 2000 13:03:45 +0000 (+0200) Subject: release: 1.3.87 X-Git-Tag: release/1.3.87 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=287611887cd612ac84dbf10c5fe4e1a44cc56596;p=lilypond.git release: 1.3.87 ================ * Made fixes to part-combine examples and Coriolan. * Bugfix: don't dump core on unterminated (de)crescendo. * Rolled next (M) also into get_music (M), similar to process (M), so that sequential-music-iterator::get_music (M) returns something useful. * Bugfix: part-combiner still expected Music_sequence, where get_music () now returns plain list of events. 1.3.86.h --- diff --git a/CHANGES b/CHANGES index 661c3999a1..fe8475f59d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,35 +1,26 @@ -1.3.86.jcn3 -=========== - -* Made several fixes, simple music starts to work. - 1.3.86.jcn2 -=========== +================ -* Replaced try_music and next functionality of do_process_and_next by - get_music and next. Process functionality of do_process_and_next - is handled by do_process. +* Made fixes to part-combine examples and Coriolan. -1.3.86.jcn1 -=========== +* Bugfix: don't dump core on unterminated (de)crescendo. -* Fixed chord iteration. +* Rolled next (M) also into get_music (M), similar to process (M), so that + sequential-music-iterator::get_music (M) returns something useful. -1.3.85.jcn5 -=========== - -* Modified part-combiner to use new get_music ()/next () music iterator - functionality. +* Bugfix: part-combiner still expected Music_sequence, where get_music () + now returns plain list of events. -1.3.85.jcn4 +1.3.86.hwn3 =========== -* Added clone () to music iterators, so that we can do next () on a copy. +* Fixed problem with disappearing crescendi across line break. -1.3.85.jcn3 -=========== +* Bugfix: dynamic texts should not be set by text-engraver. + +* Rewrote and cleaned up music-iterator. -* Added get_music () and next () to music iterators. +* etf2ly robustness fixes. 1.3.85.hwn2 =========== diff --git a/VERSION b/VERSION index bc9bf2740d..1da5d29c99 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=86 -MY_PATCH_LEVEL=jcn3 +PATCH_LEVEL=87 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/bugs/broken-cresc.ly b/input/bugs/broken-cresc.ly deleted file mode 100644 index 3580a230ff..0000000000 --- a/input/bugs/broken-cresc.ly +++ /dev/null @@ -1,5 +0,0 @@ -\score { - \notes \context Thread { - c1 \< c1 \break c1 c1 \! c1 - } -} diff --git a/input/bugs/dynamic-switch.ly b/input/bugs/dynamic-switch.ly new file mode 100644 index 0000000000..3fc9f7e299 --- /dev/null +++ b/input/bugs/dynamic-switch.ly @@ -0,0 +1,23 @@ +\score{ + \context Staff < + \context Voice=one\skip 1; + \context Voice=two\skip 1; + \context Voice=one \partcombine Voice + \context Thread=one \notes\relative c'' { + c2 \clef bass; c2 + c2 c2 + } + \context Thread=two \notes\relative c'' { + b2 \< a4 () \! a + a2 \> a4 () \! a + } + > + \paper{ + linewidth=140.\mm; + } + \midi{ + + } +} + + diff --git a/input/bugs/f.ly b/input/bugs/f.ly index 5acc702a01..2a7ee47918 100644 --- a/input/bugs/f.ly +++ b/input/bugs/f.ly @@ -1,6 +1,2 @@ -% bug or feature? -\score { \notes { c8 c8 - % needed to force auto-beam: - % c4 -}} +\score {\notes c4 } diff --git a/input/bugs/voice-switch.ly b/input/bugs/voice-switch.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/test/cue-notes.ly b/input/test/cue-notes.ly new file mode 100644 index 0000000000..7dba0a417e --- /dev/null +++ b/input/test/cue-notes.ly @@ -0,0 +1,46 @@ + +% add cue notes context +\paper { + CueVoiceContext = \translator { + \VoiceContext + \name CueVoice; + basicNoteHeadProperties \push #'font-size = #-1 + basicStemProperties \push #'font-size = #-1 + basicBeamProperties \push #'font-size = #-1 + basicTextScriptProperties \push #'font-size = #-1 + basicSlurProperties \push #'font-size = #-1 + basicLocalKeyProperties \push #'font-size = #-1 + }; + \translator{ \CueVoiceContext } + StaffContext = \translator{\StaffContext + \accepts "CueVoice"; + }; +} + +\paper { + StaffContext = \translator{ + \StaffContext + \remove "Time_signature_engraver"; + }; + \translator { \StaffContext } + \translator{ + \VoiceContext + \remove "Auto_beam_engraver"; + } + \translator { + \ScoreContext + barScriptPadding = #2.0 + markScriptPadding = #4.0 + barNumberScriptPadding = #15 + } +} + +\score{ + \notes \relative c' \context Voice + { + c4 c4 g'2 + \context CueVoice { r2 [f16 f f f] [a f f f] } + c4 c4 g'2 + } +} + diff --git a/input/test/part-combine-score.ly b/input/test/part-combine-score.ly index c674bd4416..17244b7d77 100644 --- a/input/test/part-combine-score.ly +++ b/input/test/part-combine-score.ly @@ -38,7 +38,8 @@ \context StaffCombineStaff=one \skip 1*9; \context StaffCombineStaff=two \skip 1*9; \context StaffCombineStaff=one \partcombine StaffCombineStaff - \context StaffCombineThread=one \notes\relative c'' + \context StaffCombineVoice=one \notes\relative c'' + %\context StaffCombineThread=one \notes\relative c'' { c4 d e f c d e f @@ -51,7 +52,8 @@ b b b b d1 } - \context StaffCombineThread=two \notes\relative c'' + \context StaffCombineVoice=two \notes\relative c'' + %\context StaffCombineThread=two \notes\relative c'' { c4 d e f c d e f @@ -66,7 +68,12 @@ } > > - \paper{ + \paper { + + textheight = 295.0\mm; + linewidth = 180.0\mm; + + \translator{ \HaraKiriStaffContext } % % The Voice combine hierarchy % @@ -78,6 +85,8 @@ \translator{ \VoiceContext \name "VoiceCombineVoice"; + soloText = #"I." + soloIIText = #"II." \remove "Rest_engraver"; \accepts "VoiceCombineThread"; } @@ -94,77 +103,51 @@ \translator{ \ThreadContext \name "StaffCombineThread"; -%% -%% \remove "A2_devnull_engraver"; -%% \remove "Note_heads_engraver"; } \translator{ \VoiceContext \name "StaffCombineVoice"; \accepts "StaffCombineThread"; - - \remove "Rest_engraver"; - \remove "Dot_column_engraver"; - \remove "Stem_engraver"; - \remove "Beam_engraver"; - \remove "Auto_beam_engraver"; - %\include "auto-beam-settings.ly"; - - \remove "Chord_tremolo_engraver"; - \remove "Melisma_engraver"; - \remove "Text_engraver"; - \remove "A2_engraver"; - - \remove "Piano_pedal_engraver"; - \remove "Script_engraver"; - \remove "Script_column_engraver"; - \remove "Rhythmic_column_engraver"; - \remove "Slur_engraver"; - \remove "Tie_engraver"; - -%% \consists "A2_devnull_engraver"; -%% \consists "Note_heads_engraver"; + \consists "Thread_devnull_engraver"; } \translator { \HaraKiriStaffContext \name "StaffCombineStaff"; \accepts "StaffCombineVoice"; - \consists "Rest_engraver"; - \consists "Dot_column_engraver"; - \consists "Stem_engraver"; - \consists "Beam_engraver"; - \consists "Auto_beam_engraver"; - \include "auto-beam-settings.ly"; - - \consists "Chord_tremolo_engraver"; - \consists "Melisma_engraver"; - \consists "Text_engraver"; - \consists "A2_engraver"; - - soloADue = ##f - %soloADue = ##t - - \consists "Piano_pedal_engraver"; - \consists "Script_engraver"; - \consists "Script_column_engraver"; - \consists "Rhythmic_column_engraver"; - \consists "Slur_engraver"; - \consists "Tie_engraver"; + soloADue = ##t + soloText = #"" + soloIIText = #"" + aDueText = #"" + splitInterval = #'(1 . 0) } \translator { \StaffGroupContext \accepts "VoiceCombineStaff"; \accepts "StaffCombineStaff"; } + \translator{ \HaraKiriStaffContext } + \translator { \ScoreContext \accepts "VoiceCombineStaff"; \accepts "StaffCombineStaff"; + skipBars = ##t + + barScriptPadding = #2.0 % dimension \pt + markScriptPadding = #4.0 + + %% urg: in pt? + barNumberScriptPadding = #15 + %% URG: this changes dynamics too + %%textStyle = #"italic" + timeSignatureStyle = #"C" + instrumentScriptPadding = #60 %% urg, this is in pt + instrScriptPadding = #40 %% urg, this is in pt + marginScriptHorizontalAlignment = #1 + maximumRestCount = #1 } -% linewidth = 40.\mm; } - \midi{ \tempo 4 = 150; diff --git a/input/test/part-combine-staff.ly b/input/test/part-combine-staff.ly index 141c70a7ff..0446b20bd0 100644 --- a/input/test/part-combine-staff.ly +++ b/input/test/part-combine-staff.ly @@ -1,81 +1,106 @@ \score{ \context PianoStaff < - \context Staff=one \skip 1*5; - \context Staff=two \skip 1*5; - \context Staff=one \partcombine Staff - \context Voice=one \notes\relative c'' + \context StaffCombineStaff=one \skip 1*6; + \context StaffCombineStaff=two \skip 1*6; + \context StaffCombineStaff=one \partcombine StaffCombineStaff + \context StaffCombineVoice=one \notes\relative c'' { c4 d e f\break c d e f\break c d e f c4 d e f\break a8 a a a b b b b + a,4 a a a } - \context Voice=two \notes\relative c'' + \context StaffCombineVoice=two \notes\relative c'' { c2 e2 c4 d e f c2 e2 c,4 d e f a8 a a a b b b b + a4 a a a } > - \paper{ - %\translator { \HaraKiriStaffContext } - \translator { - \HaraKiriStaffContext - - \consists "Rest_engraver"; - \consists "Dot_column_engraver"; - \consists "Stem_engraver"; - \consists "Beam_engraver"; - \consists "Auto_beam_engraver"; - \include "auto-beam-settings.ly"; + \paper { - \consists "Chord_tremolo_engraver"; - \consists "Melisma_engraver"; - \consists "Text_engraver"; - \consists "A2_engraver"; + textheight = 295.0\mm; + linewidth = 180.0\mm; - soloADue = ##f - - \consists "Piano_pedal_engraver"; - \consists "Script_engraver"; - \consists "Script_column_engraver"; - \consists "Rhythmic_column_engraver"; - \consists "Slur_engraver"; - \consists "Tie_engraver"; + \translator{ \HaraKiriStaffContext } + % + % The Voice combine hierarchy + % + \translator{ + \ThreadContext + \name "VoiceCombineThread"; + \consists "Rest_engraver"; } \translator{ \VoiceContext - + \name "VoiceCombineVoice"; + soloText = #"I." + soloIIText = #"II." \remove "Rest_engraver"; - \remove "Dot_column_engraver"; - \remove "Stem_engraver"; - \remove "Beam_engraver"; - \remove "Auto_beam_engraver"; - %\include "auto-beam-settings.ly"; + \accepts "VoiceCombineThread"; + } + \translator{ + \HaraKiriStaffContext + \consists "Mark_engraver"; + \name "VoiceCombineStaff"; + \accepts "VoiceCombineVoice"; + } - \remove "Chord_tremolo_engraver"; - \remove "Melisma_engraver"; - \remove "Text_engraver"; - \remove "A2_engraver"; + % + % The Staff combine hierarchy + % + \translator{ + \ThreadContext + \name "StaffCombineThread"; + } + \translator{ + \VoiceContext + \name "StaffCombineVoice"; + \accepts "StaffCombineThread"; + \consists "Thread_devnull_engraver"; + } + \translator { + \HaraKiriStaffContext + \name "StaffCombineStaff"; + \accepts "StaffCombineVoice"; - \remove "Piano_pedal_engraver"; - \remove "Script_engraver"; - \remove "Script_column_engraver"; - \remove "Rhythmic_column_engraver"; - \remove "Slur_engraver"; - \remove "Tie_engraver"; + soloADue = ##t + soloText = #"" + soloIIText = #"" + aDueText = #"" + splitInterval = #'(1 . 0) - \consists "A2_devnull_engraver"; - \consists "Note_heads_engraver"; } - \translator{ - \ThreadContext - \remove "A2_devnull_engraver"; - \remove "Note_heads_engraver"; + \translator { + \StaffGroupContext + \accepts "VoiceCombineStaff"; + \accepts "StaffCombineStaff"; + } + \translator{ \HaraKiriStaffContext } + + \translator { + \ScoreContext + \accepts "VoiceCombineStaff"; + \accepts "StaffCombineStaff"; + skipBars = ##t + + barScriptPadding = #2.0 % dimension \pt + markScriptPadding = #4.0 + + %% urg: in pt? + barNumberScriptPadding = #15 + %% URG: this changes dynamics too + %%textStyle = #"italic" + timeSignatureStyle = #"C" + instrumentScriptPadding = #60 %% urg, this is in pt + instrScriptPadding = #40 %% urg, this is in pt + marginScriptHorizontalAlignment = #1 + maximumRestCount = #1 } - linewidth = 40.\mm; } } diff --git a/lily/a2-devnull-engraver.cc b/lily/a2-devnull-engraver.cc deleted file mode 100644 index ab905a49d4..0000000000 --- a/lily/a2-devnull-engraver.cc +++ /dev/null @@ -1,72 +0,0 @@ -/* - a2-devnull-engraver.cc -- implement A2_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 A2_devnull_engraver : public Engraver -{ -public: - VIRTUAL_COPY_CONS (Translator); - -protected: - virtual void acknowledge_element (Score_element_info); - virtual bool do_try_music (Music *); -}; - -ADD_THIS_TRANSLATOR (A2_devnull_engraver); -/* - Maybe this is too crude. - It would probably be better to have a devnull engraver in StaffContext, - that acknowledges stuff and suicides it. - */ -bool -A2_devnull_engraver::do_try_music (Music *m) -{ - return false; - if (1 //daddy_trans_l_->id_str_ == "two" - && (to_boolean (get_property ("unison")) - || to_boolean (get_property ("unisilence")))) - { - /* - We mustn't junk Rest requests - */ - if (Span_req *s = dynamic_cast (m)) - { - if (s->span_type_str_ == "slur" - || s->span_type_str_ == "beam" - || s->span_type_str_ == "crescendo" - || s->span_type_str_ == "decrescendo") - { - return true; - } - return false; - } - else if (Tie_req *t = dynamic_cast (m)) - { - return true; - } - else if (Text_script_req *d = dynamic_cast (m)) - { - return true; - } - } - return false; -} - -void -A2_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/auto-change-iterator.cc b/lily/auto-change-iterator.cc index ec4a498c74..cd4a350c85 100644 --- a/lily/auto-change-iterator.cc +++ b/lily/auto-change-iterator.cc @@ -69,9 +69,9 @@ Auto_change_iterator::change_to (Music_iterator *it, String to_type, Pitch_interrogate_req* spanish_inquisition; // nobody expects it void -Auto_change_iterator::do_process (Moment m) +Auto_change_iterator::process (Moment m) { - Music_wrapper_iterator::do_process (m); + Music_wrapper_iterator::process (m); if (!spanish_inquisition) spanish_inquisition = new Pitch_interrogate_req; diff --git a/lily/change-iterator.cc b/lily/change-iterator.cc index 36eb168f29..7bd04e1e89 100644 --- a/lily/change-iterator.cc +++ b/lily/change-iterator.cc @@ -24,7 +24,7 @@ Change_iterator::error (String reason) /* GUHG! */ - String warn2= "Change_iterator::do_process (): " + String warn2= "Change_iterator::process (): " + report_to_l ()->type_str_ + " = `" + report_to_l ()->id_str_ + "': "; warning (warn2); @@ -35,7 +35,7 @@ Change_iterator::error (String reason) move to construct_children ? */ void -Change_iterator::do_process (Moment m) +Change_iterator::process (Moment m) { Translator_group * current = report_to_l (); Translator_group * last = 0; @@ -80,7 +80,7 @@ Change_iterator::do_process (Moment m) } else error (_ ("none of these in my family")); - Music_iterator::do_process (m); + Simple_music_iterator::process (m); } diff --git a/lily/chord-tremolo-iterator.cc b/lily/chord-tremolo-iterator.cc index e853e851da..0f86e33d98 100644 --- a/lily/chord-tremolo-iterator.cc +++ b/lily/chord-tremolo-iterator.cc @@ -31,7 +31,7 @@ Chord_tremolo_iterator::Chord_tremolo_iterator() } void -Chord_tremolo_iterator::do_process (Moment m) +Chord_tremolo_iterator::process (Moment m) { if (!m) { @@ -47,9 +47,9 @@ Chord_tremolo_iterator::do_process (Moment m) Moment -Chord_tremolo_iterator::next_moment () const +Chord_tremolo_iterator::pending_moment () const { - return child_iter_p_->next_moment () / factor_; + return child_iter_p_->pending_moment () / factor_; } bool @@ -70,8 +70,3 @@ Chord_tremolo_iterator::try_music_in_children (Music *m) const } -void -Chord_tremolo_iterator::do_print () const -{ - child_iter_p_->print (); -} diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 0593606bb6..a2da4e1b2b 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -130,9 +130,12 @@ Dynamic_engraver::do_process_music () } /* - TODO: should finish and create new spanner if vertical dyn-direction is changed. + finish side position alignment if the (de)cresc ends here, and + there are no new dynamics. + */ - else if (!accepted_spanreqs_drul_[START] && !text_req_l_) + else if (accepted_spanreqs_drul_[STOP] + && !accepted_spanreqs_drul_[START] && !text_req_l_) { finished_line_spanner_ = line_spanner_; line_spanner_ = 0; @@ -159,7 +162,12 @@ Dynamic_engraver::do_process_music () as (de)crecsendo, b.o. line-breaking. */ + + /* + maybe we should leave dynamic texts to the text-engraver and + simply acknowledge them? + */ if (text_req_l_) { String loud = text_req_l_->text_str_; @@ -284,31 +292,17 @@ void Dynamic_engraver::do_removal_processing () { typeset_all (); - -#if 0 - if (cresc_p_) - { - typeset_element (cresc_p_ ); - finished_cresc_p_ = cresc_p_; - - current_cresc_req_->origin ()->warning (_ ("unterminated (de)crescendo")); - } if (line_spanner_) { finished_line_spanner_ = line_spanner_; + typeset_all (); } - typeset_all (); -#else + if (cresc_p_) { current_cresc_req_->origin ()->warning (_ ("unterminated (de)crescendo")); cresc_p_->suicide (); } - if (line_spanner_) - { - line_spanner_->suicide (); - } -#endif } void @@ -328,18 +322,6 @@ Dynamic_engraver::typeset_all () if (finished_line_spanner_) { Side_position::add_staff_support (finished_line_spanner_); -#if 0 - if (!finished_line_spanner_->get_bound (LEFT)) - { - Score_element * cmc - = unsmob_element (get_property ("currentMusicalColumn")); - finished_line_spanner_->set_bound (LEFT, cmc); - } - if (!finished_line_spanner_->get_bound (RIGHT)) - finished_line_spanner_->set_bound (RIGHT, - finished_line_spanner_->get_bound (LEFT)); - -#endif extend_spanner_over_elements (finished_line_spanner_); typeset_element (finished_line_spanner_); finished_line_spanner_ = 0; diff --git a/lily/dynamic-performer.cc b/lily/dynamic-performer.cc index 3ed300021e..1a7ac9e2c6 100644 --- a/lily/dynamic-performer.cc +++ b/lily/dynamic-performer.cc @@ -14,7 +14,6 @@ /* TODO: handle multiple requests - handle span requests (crescendo/decrescendo) */ /** diff --git a/lily/folded-repeat-iterator.cc b/lily/folded-repeat-iterator.cc index 514192a5cd..b8b4e16033 100644 --- a/lily/folded-repeat-iterator.cc +++ b/lily/folded-repeat-iterator.cc @@ -32,14 +32,14 @@ Folded_repeat_iterator::~Folded_repeat_iterator () } Moment -Folded_repeat_iterator::next_moment () const +Folded_repeat_iterator::pending_moment () const { if (main_iter_p_) { - return main_iter_p_->next_moment (); + return main_iter_p_->pending_moment (); } else - return main_length_mom_ + alternative_iter_p_->next_moment (); + return main_length_mom_ + alternative_iter_p_->pending_moment (); } void @@ -55,7 +55,7 @@ Folded_repeat_iterator::construct_children () } void -Folded_repeat_iterator::do_process (Moment m) +Folded_repeat_iterator::process (Moment m) { if (!m) { diff --git a/lily/global-translator.cc b/lily/global-translator.cc index de0ee4c4af..1713ce3736 100644 --- a/lily/global-translator.cc +++ b/lily/global-translator.cc @@ -83,73 +83,21 @@ Global_translator::finish () void Global_translator::run_iterator_on_me (Music_iterator * iter) { - bool first = true; + while (iter->ok () || moments_left_i ()) { Moment w; w.set_infinite (1); if (iter->ok ()) { - w = iter->next_moment(); - - if (!first) - iter->next (); - else - first = false; + w = iter->pending_moment(); DEBUG_OUT << "proccing: " << w << '\n'; - if (flower_dstream && !flower_dstream->silent_b ("walking")) - iter->print(); } w = sneaky_insert_extra_moment (w); prepare (w); - - if (flower_dstream && !flower_dstream->silent_b ("walking")) - print(); - iter->process (w); - - /* - Urg, this is request_chord_iterator. - */ - for (SCM i = iter->get_music (); gh_pair_p (i); i = SCM_CDR (i)) - { - assert (gh_pair_p (i)); - SCM p = SCM_CAR (i); - Music *m = unsmob_music (SCM_CAR (p)); - Translator *t = unsmob_translator (SCM_CDR (p)); - assert (m); - assert (t); - for (SCM s = dynamic_cast (m)->music_list (); - gh_pair_p (s); s = SCM_CDR (s)) - { - Music *m = unsmob_music (SCM_CAR (s)); - if (Request* r = dynamic_cast (m)) - { - bool b = t->try_music (m); - if (!b) - m->origin ()->warning (_f ("Junking request: `%s'", - classname(m))); - } - else - m->origin ()->warning (_f ("Huh? Not a Request: `%s'", - classname (m))); - } - if (! dynamic_cast (m)) - { - bool b = t->try_music (m); - if (!b) - { - /* - Children? - */ - printf ("junking:\n"); - m->print (); - t->print (); - } - } - } process (); } diff --git a/lily/grace-iterator.cc b/lily/grace-iterator.cc index 86e8fa9a1e..ddcd3a401b 100644 --- a/lily/grace-iterator.cc +++ b/lily/grace-iterator.cc @@ -27,7 +27,7 @@ Grace_iterator::construct_children () } void -Grace_iterator::do_process (Moment m) +Grace_iterator::process (Moment m) { Global_translator * t = dynamic_cast(report_to_l ()); if (t) @@ -42,11 +42,10 @@ Grace_iterator::do_process (Moment m) { warning (_("no Grace context available")); } - Music_iterator::do_process (m); } Moment -Grace_iterator::next_moment () const +Grace_iterator::pending_moment () const { return 0; } diff --git a/lily/include/auto-change-iterator.hh b/lily/include/auto-change-iterator.hh index 5160fac293..72b463c7ef 100644 --- a/lily/include/auto-change-iterator.hh +++ b/lily/include/auto-change-iterator.hh @@ -20,7 +20,7 @@ public: Auto_change_iterator (); protected: - virtual void do_process (Moment); + virtual void process (Moment); private: Direction where_dir_; diff --git a/lily/include/change-iterator.hh b/lily/include/change-iterator.hh index f52eb63120..8714801b3f 100644 --- a/lily/include/change-iterator.hh +++ b/lily/include/change-iterator.hh @@ -10,15 +10,15 @@ #ifndef CHANGE_ITERATOR_HH #define CHANGE_ITERATOR_HH -#include "music-iterator.hh" +#include "simple-music-iterator.hh" -class Change_iterator : public Music_iterator +class Change_iterator : public Simple_music_iterator { public: VIRTUAL_COPY_CONS (Music_iterator); /* constructor is public */ - virtual void do_process (Moment); + virtual void process (Moment); private: void error (String); diff --git a/lily/include/chord-tremolo-iterator.hh b/lily/include/chord-tremolo-iterator.hh index f83e497a31..3f08463c36 100644 --- a/lily/include/chord-tremolo-iterator.hh +++ b/lily/include/chord-tremolo-iterator.hh @@ -20,11 +20,10 @@ public: protected: virtual ~Chord_tremolo_iterator (); - virtual Moment next_moment () const; + virtual Moment pending_moment () const; virtual void construct_children () ; virtual bool ok () const; - virtual void do_print () const; - virtual void do_process (Moment) ; + virtual void process (Moment) ; virtual Music_iterator *try_music_in_children (Music *) const; private: diff --git a/lily/include/command-request.hh b/lily/include/command-request.hh index 7ef86dda91..875024650c 100644 --- a/lily/include/command-request.hh +++ b/lily/include/command-request.hh @@ -48,7 +48,7 @@ public: Tempo_req(); protected: - virtual void do_print () const; + virtual void do_print () const; VIRTUAL_COPY_CONS(Music); bool do_equal_b (Request const *) const; }; diff --git a/lily/include/folded-repeat-iterator.hh b/lily/include/folded-repeat-iterator.hh index c5f73658df..6217df1bee 100644 --- a/lily/include/folded-repeat-iterator.hh +++ b/lily/include/folded-repeat-iterator.hh @@ -24,14 +24,14 @@ public: ~Folded_repeat_iterator (); virtual void construct_children (); - virtual Moment next_moment () const; + virtual Moment pending_moment () const; virtual bool ok () const; protected: void enter_alternative (); void leave_body (); - virtual void do_process (Moment); + virtual void process (Moment); virtual Music_iterator *try_music_in_children (Music *) const; private: diff --git a/lily/include/grace-iterator.hh b/lily/include/grace-iterator.hh index 49db1a9d39..4806037d28 100644 --- a/lily/include/grace-iterator.hh +++ b/lily/include/grace-iterator.hh @@ -18,9 +18,9 @@ public: VIRTUAL_COPY_CONS (Music_iterator); ~Grace_iterator (); virtual void construct_children () ; - virtual void do_process (Moment); + virtual void process (Moment); - Moment next_moment () const; + Moment pending_moment () const; }; diff --git a/lily/include/lyric-combine-music-iterator.hh b/lily/include/lyric-combine-music-iterator.hh index eada524f80..5d519abf66 100644 --- a/lily/include/lyric-combine-music-iterator.hh +++ b/lily/include/lyric-combine-music-iterator.hh @@ -21,12 +21,11 @@ public: protected: virtual void construct_children (); - virtual Moment next_moment () const; - virtual void do_process (Moment); + virtual Moment pending_moment () const; + virtual void process (Moment); virtual Music_iterator *try_music_in_children (Music *) const; virtual bool ok () const; - virtual void do_print () const; virtual ~Lyric_combine_music_iterator (); private: diff --git a/lily/include/moment.hh b/lily/include/moment.hh index 0bd535a6d5..55a5c87a81 100644 --- a/lily/include/moment.hh +++ b/lily/include/moment.hh @@ -44,18 +44,5 @@ IMPLEMENT_ARITHMETIC_OPERATOR (Moment, % ); INSTANTIATE_COMPARE (Moment const&, Rational::compare); -/** - A really big time-moment. - - Windhoze-suck-suck-suck-suck-suck-thank-you-cygnus - - I get tired of all these incompatibilities. Let's just assume that - INT_MAX is really, really, really big. - - Can't we name this Saint_jut_mom (Sintjuttemis ?) */ - -/* URG ! WE HAVE TWO RATIONAL INFINITIES! */ -const Moment infinity_mom = INT_MAX; - #endif /* MOMENT_HH */ diff --git a/lily/include/music-iterator.hh b/lily/include/music-iterator.hh index 7ea76005a5..2f9c6cf7cc 100644 --- a/lily/include/music-iterator.hh +++ b/lily/include/music-iterator.hh @@ -16,14 +16,33 @@ #include "virtual-methods.hh" #include "interpretation-context-handle.hh" -/** Walk through music and deliver music to translation units, synced - in time. This class provides both the implementation of the shared - code, and the public interface. - - Derived classes should only have a public constructor. - The state of an iterator would be the intersection of the particular music - construct with one point in musical time. - */ +/** + Conceptually a music-iterator operates on a queue of musical events + that are pending. This queue does not actually exist, but it is a + way of viewing and traversing music-expressions. + + + ok () -- events left ? + + pending_mom () -- time tag of the next event to be processed. + + process (M) -- process all at M (Precondition: no events exist before + M). Side-effects: + + * This removes all events at M from the pending queue. + + * Typically this reports the music to an interpretation context, + thus changing the state of the interpretation context. + + get_music (M) -- return all events starting at M (pre: no events + before M). Side effects: + + * This removes all events at M from the pending queue. + + Because next (M) is rolled into process () as a side effect, + we need to roll next (M) into get_music too. Urg. + +*/ class Music_iterator { public: @@ -52,51 +71,27 @@ public: static Music_iterator* static_get_iterator_p (Music * mus); void init_translator (Music *, Translator_group *); - /// Find the next interesting point in time. - virtual Moment next_moment () const; - - - ///Are we finished with this piece of music? + virtual Moment pending_moment () const; virtual bool ok () const; - - virtual SCM get_music (); - virtual bool next (); - - void process (Moment until); + virtual SCM get_music (Moment until)const; + virtual void process (Moment until); /** Construct sub-iterators, and set the translator to report to. */ virtual void construct_children (); - void print () const; protected: Music * music_l_; - /// ugh. JUNKME - bool first_b_; - - /** - Do the actual printing. This should be overriden in derived classes. It - is called by #print#, in the public interface - */ - virtual void do_print () const; - - /** - Find a bottom notation context to deliver requests to. - */ - virtual Translator_group* get_req_translator_l (); - /** Get an iterator for MUS, inheriting the translation unit from THIS. */ Music_iterator* get_iterator_p (Music *) const; - virtual void do_process (Moment); - virtual Music_iterator* try_music_in_children (Music *) const; - + private: Interpretation_context_handle handle_; }; diff --git a/lily/include/music-wrapper-iterator.hh b/lily/include/music-wrapper-iterator.hh index edb6b8a4d8..cbe4fa3827 100644 --- a/lily/include/music-wrapper-iterator.hh +++ b/lily/include/music-wrapper-iterator.hh @@ -27,14 +27,12 @@ public: ~Music_wrapper_iterator (); virtual void construct_children () ; - virtual Moment next_moment () const; + virtual Moment pending_moment () const; virtual bool ok () const; - virtual SCM get_music (); - virtual bool next (); + virtual SCM get_music (Moment)const; protected: - virtual void do_print () const; - virtual void do_process (Moment); + virtual void process (Moment); virtual Music_iterator *try_music_in_children (Music *) const; Music_iterator *child_iter_p_; diff --git a/lily/include/part-combine-music-iterator.hh b/lily/include/part-combine-music-iterator.hh index ee27bebb3a..4400e458ee 100644 --- a/lily/include/part-combine-music-iterator.hh +++ b/lily/include/part-combine-music-iterator.hh @@ -22,14 +22,11 @@ protected: virtual ~Part_combine_music_iterator (); virtual void construct_children (); - virtual Moment next_moment () const; - virtual void do_process (Moment); + virtual Moment pending_moment () const; + virtual void process (Moment); + virtual SCM get_music (Moment)const; virtual Music_iterator *try_music_in_children (Music *) const; - virtual bool ok () const; - virtual bool next (); - virtual SCM get_music (); - virtual void do_print () const; private: void change_to (Music_iterator*, String, String); diff --git a/lily/include/property-iterator.hh b/lily/include/property-iterator.hh index bda6483ec9..cd8aace3f0 100644 --- a/lily/include/property-iterator.hh +++ b/lily/include/property-iterator.hh @@ -10,7 +10,7 @@ #ifndef PROPERTY_ITERATOR_HH #define PROPERTY_ITERATOR_HH -#include "music-iterator.hh" +#include "simple-music-iterator.hh" @@ -18,31 +18,31 @@ /** Iterate a property. */ -class Property_iterator : public Music_iterator +class Property_iterator : public Simple_music_iterator { public: VIRTUAL_COPY_CONS (Music_iterator); /* construction */ protected: - virtual void do_process (Moment); + virtual void process (Moment); }; -class Push_property_iterator : public Music_iterator +class Push_property_iterator : public Simple_music_iterator { public: VIRTUAL_COPY_CONS (Music_iterator); protected: /* construction */ - virtual void do_process (Moment); + virtual void process (Moment); }; -class Pop_property_iterator : public Music_iterator +class Pop_property_iterator : public Simple_music_iterator { public: VIRTUAL_COPY_CONS (Music_iterator); protected: /* construction */ - virtual void do_process (Moment); + virtual void process (Moment); }; diff --git a/lily/include/request-chord-iterator.hh b/lily/include/request-chord-iterator.hh index 0e820f7b1f..5d6602add1 100644 --- a/lily/include/request-chord-iterator.hh +++ b/lily/include/request-chord-iterator.hh @@ -10,33 +10,34 @@ #ifndef REQUEST_ITER_HH #define REQUEST_ITER_HH -#include "music-iterator.hh" +#include "simple-music-iterator.hh" /** Walk through a Request_chord */ -class Request_chord_iterator : public Music_iterator +class Request_chord_iterator : public Simple_music_iterator { Request_chord * elt_l () const; /** - cache elt_l ()->length_mom (). + Find a bottom notation context to deliver requests to. */ - Moment elt_length_mom_; - bool last_b_; + virtual Translator_group* get_req_translator_l (); + + /* + Since Request_chord_iterator has no list-cursor internally, we + must use a status variable to adminstrate where we are */ + + enum { NONE_DONE, START_DONE, END_DONE } status_; public: VIRTUAL_COPY_CONS (Music_iterator); Request_chord_iterator (); Request_chord_iterator (Request_chord_iterator const&); - - virtual bool next (); - virtual bool ok () const; + virtual SCM get_music (Moment) const; protected: - virtual void do_process (Moment); - virtual Moment next_moment() const; + virtual void process (Moment); virtual void construct_children(); - virtual void do_print() const; }; diff --git a/lily/include/request-iterator.hh b/lily/include/request-iterator.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/sequential-music-iterator.hh b/lily/include/sequential-music-iterator.hh index 661ce709b4..5661f260bd 100644 --- a/lily/include/sequential-music-iterator.hh +++ b/lily/include/sequential-music-iterator.hh @@ -24,14 +24,12 @@ public: virtual ~Sequential_music_iterator (); virtual void construct_children (); - virtual Moment next_moment () const; + virtual Moment pending_moment () const; virtual bool ok () const; - virtual SCM get_music (); - virtual bool next (); + virtual SCM get_music (Moment)const; protected: - virtual void do_print() const; - virtual void do_process (Moment); + virtual void process (Moment); virtual Music_iterator *try_music_in_children (Music *) const; private: diff --git a/lily/include/simple-music-iterator.hh b/lily/include/simple-music-iterator.hh index f81a4cd629..6d86c1c35c 100644 --- a/lily/include/simple-music-iterator.hh +++ b/lily/include/simple-music-iterator.hh @@ -13,11 +13,17 @@ class Simple_music_iterator : public Music_iterator { +protected: + Moment length_mom_; + Moment last_processed_mom_; public: VIRTUAL_COPY_CONS (Music_iterator); Simple_music_iterator (); Simple_music_iterator (Simple_music_iterator const &); - virtual void do_process (Moment); + virtual void process (Moment); + virtual bool ok()const; + virtual Moment pending_moment ()const; + virtual void construct_children (); }; #endif /* SIMPLE_MUSIC_ITERATOR_HH */ diff --git a/lily/include/simultaneous-music-iterator.hh b/lily/include/simultaneous-music-iterator.hh index 20efba729e..e5ecdcd14b 100644 --- a/lily/include/simultaneous-music-iterator.hh +++ b/lily/include/simultaneous-music-iterator.hh @@ -26,14 +26,12 @@ public: int cursor_i_; virtual void construct_children (); - virtual Moment next_moment () const; + virtual Moment pending_moment () const; virtual bool ok () const; - virtual bool next (); - virtual SCM get_music (); + virtual SCM get_music (Moment)const; protected: - virtual void do_print () const; - virtual void do_process (Moment); + virtual void process (Moment); virtual Music_iterator *try_music_in_children (Music *) const; private: diff --git a/lily/include/time-scaled-music-iterator.hh b/lily/include/time-scaled-music-iterator.hh index e124bf2d42..e18716adc9 100644 --- a/lily/include/time-scaled-music-iterator.hh +++ b/lily/include/time-scaled-music-iterator.hh @@ -18,7 +18,7 @@ public: VIRTUAL_COPY_CONS (Music_iterator); /* construction */ protected: - virtual void do_process (Moment); + virtual void process (Moment); }; diff --git a/lily/include/unfolded-repeat-iterator.hh b/lily/include/unfolded-repeat-iterator.hh index 08a51b5041..6ffdbb62aa 100644 --- a/lily/include/unfolded-repeat-iterator.hh +++ b/lily/include/unfolded-repeat-iterator.hh @@ -47,13 +47,12 @@ public: protected: virtual void construct_children (); - virtual Moment next_moment () const; - virtual void do_process (Moment); + virtual Moment pending_moment () const; + virtual void process (Moment); virtual Music_iterator *try_music_in_children (Music *) const; virtual bool ok () const; virtual void next_element (); - virtual void do_print () const; }; #endif /* UNFOLDED_REPEAT_ITERATOR_HH */ diff --git a/lily/lyric-combine-music-iterator.cc b/lily/lyric-combine-music-iterator.cc index ff1e6e1798..035b83b7c8 100644 --- a/lily/lyric-combine-music-iterator.cc +++ b/lily/lyric-combine-music-iterator.cc @@ -37,9 +37,9 @@ Lyric_combine_music_iterator::Lyric_combine_music_iterator () } Moment -Lyric_combine_music_iterator::next_moment () const +Lyric_combine_music_iterator::pending_moment () const { - Moment musnext = music_iter_p_->next_moment (); + Moment musnext = music_iter_p_->pending_moment (); return musnext; } @@ -49,12 +49,6 @@ Lyric_combine_music_iterator::ok () const return music_iter_p_->ok (); } -void -Lyric_combine_music_iterator::do_print () const -{ - music_iter_p_->print (); - lyric_iter_p_->print (); -} void Lyric_combine_music_iterator::construct_children () @@ -66,9 +60,9 @@ Lyric_combine_music_iterator::construct_children () } void -Lyric_combine_music_iterator::do_process (Moment m) +Lyric_combine_music_iterator::process (Moment m) { - Moment my_next = music_iter_p_->next_moment (); + Moment my_next = music_iter_p_->pending_moment (); if (my_next > m) return; @@ -90,13 +84,12 @@ Lyric_combine_music_iterator::do_process (Moment m) lyric_iter_p_->try_music (melisma_stop_req); #endif - Moment m= lyric_iter_p_->next_moment (); + Moment m= lyric_iter_p_->pending_moment (); lyric_iter_p_->process (m); } } } - Music_iterator::do_process (m); } Lyric_combine_music_iterator::~Lyric_combine_music_iterator () diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc index bb7fa19310..51ae61f1ce 100644 --- a/lily/music-iterator.cc +++ b/lily/music-iterator.cc @@ -43,12 +43,12 @@ Music_iterator::Music_iterator () { - first_b_ = true; + // clone_i_ = 0; } Music_iterator::Music_iterator (Music_iterator const& src) { - first_b_ = src.first_b_; + // clone_i_ = src.clone_i_ + 1; handle_ = *src.handle_.clone (); music_l_ = src.music_l_; } @@ -57,39 +57,7 @@ Music_iterator::~Music_iterator () { } -void -Music_iterator::do_print () const -{ -} - -void -Music_iterator::print () const -{ -#ifndef NPRINT - if (!flower_dstream) - return ; - DEBUG_OUT << classname (this) << "{"; - Translator_group *t = report_to_l (); - DEBUG_OUT << "report to " << t->type_str_ << " = " << t->id_str_ << "\n"; - if (ok ()) - DEBUG_OUT << "next at " << next_moment () << " "; - else - DEBUG_OUT << "not feeling well today.."; - do_print (); - DEBUG_OUT << "}\n"; -#endif -} - -Translator_group* -Music_iterator::get_req_translator_l () -{ - assert (report_to_l ()); - if (report_to_l ()->is_bottom_translator_b ()) - return report_to_l (); - set_translator (report_to_l ()->get_default_interpreter ()); - return report_to_l (); -} Translator_group* @@ -111,46 +79,29 @@ Music_iterator::construct_children () } Moment -Music_iterator::next_moment () const +Music_iterator::pending_moment () const { return 0; } -void -Music_iterator::process (Moment m) -{ - do_process (m); -} void -Music_iterator::do_process (Moment) +Music_iterator::process (Moment) { - first_b_ = false; } bool Music_iterator::ok () const { - return first_b_; + return false; } SCM -Music_iterator::get_music () +Music_iterator::get_music (Moment)const { - if (ok ()) - return scm_listify (scm_cons (music_l_->self_scm (), - report_to_l ()->self_scm ()), - SCM_UNDEFINED); return SCM_EOL; } -bool -Music_iterator::next () -{ - first_b_ = false; - return ok (); -} - Music_iterator* Music_iterator::static_get_iterator_p (Music *m) { diff --git a/lily/music-wrapper-iterator.cc b/lily/music-wrapper-iterator.cc index 46f9b6da26..834494c88d 100644 --- a/lily/music-wrapper-iterator.cc +++ b/lily/music-wrapper-iterator.cc @@ -4,7 +4,6 @@ source file of the GNU LilyPond music typesetter (c) 1998--2000 Han-Wen Nienhuys - */ @@ -27,11 +26,6 @@ Music_wrapper_iterator::~Music_wrapper_iterator () delete child_iter_p_; } -void -Music_wrapper_iterator::do_print () const -{ - child_iter_p_->print (); -} void Music_wrapper_iterator::construct_children () @@ -47,31 +41,23 @@ Music_wrapper_iterator::ok () const } void -Music_wrapper_iterator::do_process (Moment m) +Music_wrapper_iterator::process (Moment m) { child_iter_p_->process (m); - Music_iterator::do_process (m); } SCM -Music_wrapper_iterator::get_music () +Music_wrapper_iterator::get_music (Moment m)const { - return child_iter_p_->get_music (); -} - -bool -Music_wrapper_iterator::next () -{ - return child_iter_p_->next (); + return child_iter_p_->get_music (m); } Moment -Music_wrapper_iterator::next_moment () const +Music_wrapper_iterator::pending_moment () const { - return child_iter_p_->next_moment (); + return child_iter_p_->pending_moment (); } - Music_iterator* Music_wrapper_iterator::try_music_in_children (Music *m) const { diff --git a/lily/part-combine-music-iterator.cc b/lily/part-combine-music-iterator.cc index 9ed054e1ec..9fa9bd7fe3 100644 --- a/lily/part-combine-music-iterator.cc +++ b/lily/part-combine-music-iterator.cc @@ -28,17 +28,16 @@ Part_combine_music_iterator::~Part_combine_music_iterator () } Moment -Part_combine_music_iterator::next_moment () const +Part_combine_music_iterator::pending_moment () const { - Moment first_next = infinity_mom; + Moment p; + p.set_infinite (1); if (first_iter_p_->ok ()) - first_next = first_iter_p_->next_moment (); - Moment second_next = infinity_mom; + p = p pending_moment (); + if (second_iter_p_->ok ()) - second_next = second_iter_p_->next_moment (); - if (first_next == infinity_mom && second_next == infinity_mom) - return 0; - return first_next pending_moment (); + return p; } bool @@ -48,30 +47,6 @@ Part_combine_music_iterator::ok () const return first_iter_p_->ok () || second_iter_p_->ok (); } -SCM -Part_combine_music_iterator::get_music () -{ - return SCM_EOL; -} - -bool -Part_combine_music_iterator::next () -{ - bool b = false; - if (first_iter_p_->ok ()) - b = first_iter_p_->next (); - if (second_iter_p_->ok ()) - b = second_iter_p_->next () || b; - return b; -} - -void -Part_combine_music_iterator::do_print () const -{ - first_iter_p_->print (); - second_iter_p_->print (); -} - void Part_combine_music_iterator::construct_children () { @@ -133,64 +108,54 @@ Part_combine_music_iterator::change_to (Music_iterator *it, String to_type, } void -Part_combine_music_iterator::do_process (Moment m) +Part_combine_music_iterator::process (Moment m) { + + /* + TODO: + - Use three named contexts (be it Thread or Voice): one, two, solo. + Let user pre-set (pushproperty) stem direction, remove + dynamic-engraver, and such. + - staff-combiner must switch only on per-measure basis (maybe even on + per-line-basis, but that's not feasible). Maybe set minimum lengths + of matching rhythm for combine/split? + */ + Part_combine_music const * p = dynamic_cast (music_l_); - Moment now = next_moment (); + Moment now = pending_moment (); Array first_pitches; Array first_durations; if (first_iter_p_->ok ()) { - Music_iterator* i = first_iter_p_->clone (); - - /* Urg, silly first_b_ stuff */ - if (now) - i->next (); - - SCM s = i->get_music (); - if (gh_pair_p (s)) + /* get_music () also performs next, modifying iterator */ + Music_iterator *mi = first_iter_p_->clone (); + for (SCM i = mi->get_music (now); gh_pair_p (i); i = gh_cdr (i)) { - if (Music_sequence* m = dynamic_cast (unsmob_music (SCM_CAR (SCM_CAR (s))))) - { - for (SCM s = m->music_list (); gh_pair_p (s); s = gh_cdr (s)) - { - Music *u = unsmob_music (gh_car (s)); - if (Melodic_req *r = dynamic_cast (u)) - first_pitches.push (r->pitch_); - if (Rhythmic_req *r = dynamic_cast (u)) + Music *m = unsmob_music (gh_car (i)); + if (Melodic_req *r = dynamic_cast (m)) + first_pitches.push (r->pitch_); + if (Rhythmic_req *r = dynamic_cast (m)) first_durations.push (r->duration_); - } - } } + delete mi; } Array second_pitches; Array second_durations; if (second_iter_p_->ok ()) { - Music_iterator* i = second_iter_p_->clone (); - - /* Urg, silly second_b_ stuff */ - if (now) - i->next (); - - SCM s = i->get_music (); - if (gh_pair_p (s)) + Music_iterator *mi = second_iter_p_->clone (); + for (SCM i = mi->get_music (now); gh_pair_p (i); i = gh_cdr (i)) { - if (Music_sequence* m = dynamic_cast (unsmob_music (SCM_CAR (SCM_CAR (s))))) - { - for (SCM s = m->music_list (); gh_pair_p (s); s = gh_cdr (s)) - { - Music *u = unsmob_music (gh_car (s)); - if (Melodic_req *r = dynamic_cast (u)) - second_pitches.push (r->pitch_); - if (Rhythmic_req *r = dynamic_cast (u)) - second_durations.push (r->duration_); - } - } + Music *m = unsmob_music (gh_car (i)); + if (Melodic_req *r = dynamic_cast (m)) + second_pitches.push (r->pitch_); + if (Rhythmic_req *r = dynamic_cast (m)) + second_durations.push (r->duration_); } + delete mi; } SCM interval = SCM_BOOL_F; @@ -217,7 +182,7 @@ Part_combine_music_iterator::do_process (Moment m) second_until_ = new_until; } -#if 1 /* DEBUG */ +#if 0 /* DEBUG */ printf ("now: %s\n", now.str ().ch_C ()); printf ("first: "); for (int i = 0; i < first_pitches.size (); i++) @@ -307,16 +272,11 @@ Part_combine_music_iterator::do_process (Moment m) sd->set_property ("solo", b); } - /* - Hmm, shouldn't we check per iterator if next_moment < m? - */ if (first_iter_p_->ok ()) first_iter_p_->process (m); if (second_iter_p_->ok ()) second_iter_p_->process (m); - - Music_iterator::do_process (m); } Music_iterator* @@ -329,3 +289,14 @@ Part_combine_music_iterator::try_music_in_children (Music *m) const return second_iter_p_->try_music (m); } + +SCM +Part_combine_music_iterator::get_music (Moment m)const +{ + SCM s = SCM_EOL; + if (first_iter_p_) + s = gh_append2 (s,first_iter_p_->get_music (m)); + if (second_iter_p_) + s = gh_append2 (second_iter_p_->get_music (m),s); + return s; +} diff --git a/lily/property-iterator.cc b/lily/property-iterator.cc index 3b6c47f9f7..ea8273d761 100644 --- a/lily/property-iterator.cc +++ b/lily/property-iterator.cc @@ -16,16 +16,16 @@ translation unit, and set the property. */ void -Property_iterator::do_process (Moment m) +Property_iterator::process (Moment m) { SCM sym = music_l_->get_mus_property ("symbol"); if (gh_symbol_p(sym)) report_to_l ()->set_property (sym, music_l_->get_mus_property ("value")); - Music_iterator::do_process (m); + Simple_music_iterator::process (m); } void -Push_property_iterator::do_process (Moment m) +Push_property_iterator::process (Moment m) { SCM syms = music_l_->get_mus_property ("symbols"); SCM eprop = music_l_->get_mus_property ("element-property"); @@ -33,15 +33,15 @@ Push_property_iterator::do_process (Moment m) Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, val); - Music_iterator::do_process (m); + Simple_music_iterator::process (m); } void -Pop_property_iterator::do_process (Moment m) +Pop_property_iterator::process (Moment m) { SCM syms = music_l_->get_mus_property ("symbols"); SCM eprop = music_l_->get_mus_property ("element-property"); Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, SCM_UNDEFINED); - Music_iterator::do_process (m); + Simple_music_iterator::process (m); } diff --git a/lily/request-chord-iterator.cc b/lily/request-chord-iterator.cc index c13de02132..f463190a34 100644 --- a/lily/request-chord-iterator.cc +++ b/lily/request-chord-iterator.cc @@ -14,20 +14,28 @@ Request_chord_iterator::Request_chord_iterator () { - last_b_ = false; } Request_chord_iterator::Request_chord_iterator (Request_chord_iterator const &src) - : Music_iterator (src) + : Simple_music_iterator (src) { - last_b_ = src.last_b_; - elt_length_mom_ = src.elt_length_mom_; +} + +Translator_group* +Request_chord_iterator::get_req_translator_l () +{ + assert (report_to_l ()); + if (report_to_l ()->is_bottom_translator_b ()) + return report_to_l (); + + set_translator (report_to_l ()->get_default_interpreter ()); + return report_to_l (); } void Request_chord_iterator::construct_children() { - elt_length_mom_ =elt_l ()->length_mom (); + Simple_music_iterator::construct_children (); get_req_translator_l(); } @@ -37,50 +45,34 @@ Request_chord_iterator::elt_l () const return (Request_chord*) music_l_; } -bool -Request_chord_iterator::ok() const -{ - return (elt_length_mom_ && !last_b_) || first_b_; -} - -Moment -Request_chord_iterator::next_moment() const -{ - Moment m (0); - if (!first_b_) - m = elt_length_mom_; - return m; -} - -void -Request_chord_iterator::do_print() const +SCM +Request_chord_iterator::get_music (Moment)const { -#ifndef NPRINT - DEBUG_OUT << "duration: " << elt_length_mom_; -#endif -} - -bool -Request_chord_iterator::next () -{ - if (first_b_) - first_b_ = false; - else - last_b_ = true; - return ok (); + SCM s = SCM_EOL; + if (music_l_) + { + Music_sequence * ms = dynamic_cast (music_l_); + + for (SCM m = ms->music_list (); gh_pair_p (m); m = gh_cdr (m)) + { + s = gh_cons (gh_car (m) , s); + } + } + return s; } void -Request_chord_iterator::do_process (Moment) +Request_chord_iterator::process (Moment m) { -#if 0 - // URG - if (first_b_) + last_processed_mom_ = m; + if (music_l_) { - for (SCM s = dynamic_cast (get_music ())->music_list (); gh_pair_p (s); s = gh_cdr (s)) + for (SCM s = dynamic_cast (music_l_)->music_list (); + gh_pair_p (s); s = gh_cdr (s)) { Music *mus = unsmob_music (gh_car (s)); + if (Request * req_l = dynamic_cast (mus)) { bool gotcha = try_music (req_l); @@ -89,10 +81,9 @@ Request_chord_iterator::do_process (Moment) } else mus->origin ()->warning (_f ("Huh? Not a Request: `%s'", - classname (mus))); - } - } + classname (mus))); + } - next (); -#endif + music_l_ =0; + } } diff --git a/lily/request-iterator.cc b/lily/request-iterator.cc deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/sequential-music-iterator.cc b/lily/sequential-music-iterator.cc index ce71cc36e1..8218251942 100644 --- a/lily/sequential-music-iterator.cc +++ b/lily/sequential-music-iterator.cc @@ -31,19 +31,14 @@ Sequential_music_iterator::~Sequential_music_iterator() { if (iter_p_) { - if (iter_p_->ok ()) + /* if (iter_p_->ok () ) music_l_->origin ()->warning (_ ("Must stop before this music ends")); + */ delete iter_p_; iter_p_ = 0; } } -void -Sequential_music_iterator::do_print() const -{ - if (iter_p_) - iter_p_->print(); -} void Sequential_music_iterator::construct_children() @@ -93,69 +88,56 @@ Sequential_music_iterator::set_sequential_music_translator() set_translator (child_report); } + SCM -Sequential_music_iterator::get_music () -{ - if (ok ()) - return scm_listify (scm_cons (SCM_CAR (cursor_), - report_to_l ()->self_scm ()), - SCM_UNDEFINED); - - return SCM_EOL; -} - -bool -Sequential_music_iterator::next () +Sequential_music_iterator::get_music (Moment until)const { #if 0 - if (ok ()) - { - bool b = false; - if (iter_p_->ok ()) - b = iter_p_->next (); - if (!b) - { - set_sequential_music_translator (); - leave_element (); - if (gh_pair_p (cursor_)) - start_next_element (); - b = ok (); + /* + FIXME: get_music () is const, so we must operate on a copy of child-iter. + */ + + SCM s = SCM_EOL; + while (1) + { + Moment local_until = until - here_mom_; + while (iter_p_->ok ()) + { + Moment here = iter_p_->pending_moment (); + if (here != local_until) + return s; + + s = gh_append2 (iter_p_->get_music (local_until), s); + } + + if (!iter_p_->ok ()) + { + // leave_element (); + + if (gh_pair_p (cursor_)) + start_next_element (); + else + return s; + } } - return b; - } - return false; -#else - if (ok ()) - { - set_sequential_music_translator (); - leave_element (); - if (gh_pair_p (cursor_)) - start_next_element (); - return ok (); - } - return false; + return s; #endif + return SCM_EOL; } -/* - This should use get_music () and next () - */ void -Sequential_music_iterator::do_process (Moment until) +Sequential_music_iterator::process (Moment until) { -#if 1 - return; -#else if (ok ()) { - // while (1) + while (1) { Moment local_until = until - here_mom_; while (iter_p_->ok ()) { - Moment here = iter_p_->next_moment (); + Moment here = iter_p_->pending_moment (); if (here != local_until) - return Music_iterator::do_process (until); + return ; iter_p_->process (local_until); } @@ -168,17 +150,16 @@ Sequential_music_iterator::do_process (Moment until) if (gh_pair_p (cursor_)) start_next_element (); else - return Music_iterator::do_process (until); + return ; } } } -#endif } Moment -Sequential_music_iterator::next_moment() const +Sequential_music_iterator::pending_moment() const { - return iter_p_->next_moment() + here_mom_; + return iter_p_->pending_moment() + here_mom_; } diff --git a/lily/simple-music-iterator.cc b/lily/simple-music-iterator.cc index d6cc80b0f2..a25147d4e9 100644 --- a/lily/simple-music-iterator.cc +++ b/lily/simple-music-iterator.cc @@ -14,25 +14,51 @@ Simple_music_iterator::Simple_music_iterator () : Music_iterator () { + last_processed_mom_ = -1; } Simple_music_iterator::Simple_music_iterator (Simple_music_iterator const &src) : Music_iterator (src) { + last_processed_mom_ = -1; } void -Simple_music_iterator::do_process (Moment m) +Simple_music_iterator::construct_children () +{ + length_mom_ = music_l_->length_mom (); +} + +bool +Simple_music_iterator::ok ()const +{ + return last_processed_mom_ < length_mom_; +} + +Moment +Simple_music_iterator::pending_moment ()const +{ + if (music_l_) + return Moment (0); + else + return length_mom_; +} + +void +Simple_music_iterator::process (Moment m) { #if 0 - if (ok ()) + /* + try_music () causes trouble for base classes + */ + if (music_l_) { - bool b = try_music (get_music ()); + bool b = try_music (music_l_); if (!b) music_l_->origin ()->warning (_f ("Junking music: `%s'", classname (music_l_))); - } - Music_iterator::do_process (m); #endif + music_l_ = 0; + last_processed_mom_ = m; } diff --git a/lily/simultaneous-music-iterator.cc b/lily/simultaneous-music-iterator.cc index 252a288f0d..f860241448 100644 --- a/lily/simultaneous-music-iterator.cc +++ b/lily/simultaneous-music-iterator.cc @@ -35,29 +35,19 @@ Simultaneous_music_iterator::~Simultaneous_music_iterator () children_p_list_.junk (); } -bool -Simultaneous_music_iterator::next () -{ - for (Cons **pp = &children_p_list_.head_; *pp;) - { - Music_iterator *i = (*pp)->car_; - if (i->ok ()) - i->next (); - if (!i->ok ()) - delete children_p_list_.remove_cons (pp); - else - pp = &(*pp)->next_; - } - return ok (); -} +/* + Should roll next () into this as well + + huh? --hwn + */ SCM -Simultaneous_music_iterator::get_music () +Simultaneous_music_iterator::get_music (Moment m)const { SCM s = SCM_EOL; for (Cons *p = children_p_list_.head_; p; p = p->next_) { - s = gh_append2 (p->car_->get_music (), s); + s = gh_append2 (p->car_->get_music (m), s); } return s; } @@ -97,23 +87,14 @@ Simultaneous_music_iterator::construct_children() } } -void -Simultaneous_music_iterator::do_print() const -{ -#ifndef NPRINT - for (Cons *p = children_p_list_.head_; p; p = p->next_) - p->car_->print(); -#endif -} void -Simultaneous_music_iterator::do_process (Moment until) +Simultaneous_music_iterator::process (Moment until) { -#if 1 for (Cons **pp = &children_p_list_.head_; *pp;) { Music_iterator * i = (*pp)->car_; - if (i->next_moment() == until) + if (i->pending_moment() == until) { i->process (until); } @@ -122,18 +103,16 @@ Simultaneous_music_iterator::do_process (Moment until) else pp = &(*pp)->next_; } - Music_iterator::do_process (until); -#endif } Moment -Simultaneous_music_iterator::next_moment() const +Simultaneous_music_iterator::pending_moment() const { Moment next; next.set_infinite (1); for (Cons *p = children_p_list_.head_; p; p = p->next_) - next = next car_->next_moment() ; + next = next car_->pending_moment() ; return next; } diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index 2acdd0d99d..763d77a3e5 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -101,8 +101,7 @@ Slur_engraver::do_process_music () if (slur_req_l->span_dir_ == STOP) { if (slur_l_stack_.empty ()) - slur_req_l->origin ()->warning (_f ("can't find start of %s", - _ ("slur"))); + slur_req_l->origin ()->warning (_f ("can't find start of slur")); else { Score_element* slur = slur_l_stack_.pop (); diff --git a/lily/span-dynamic-performer.cc b/lily/span-dynamic-performer.cc index 5a1eadfe49..38bc89117d 100644 --- a/lily/span-dynamic-performer.cc +++ b/lily/span-dynamic-performer.cc @@ -85,6 +85,7 @@ Span_dynamic_performer::do_process_music () if (!span_start_req_l_) { span_req_l_drul_[STOP]->origin ()->warning (_ ("can't find start of (de)crescendo")); + span_req_l_drul_[STOP] = 0; } else { diff --git a/lily/spanner.cc b/lily/spanner.cc index a19032f2eb..7272c2d91e 100644 --- a/lily/spanner.cc +++ b/lily/spanner.cc @@ -104,15 +104,8 @@ Spanner::do_break_processing () span_p->set_bound(LEFT,bounds[LEFT]); span_p->set_bound(RIGHT,bounds[RIGHT]); -#if 0 - assert (bounds[LEFT]->line_l () == - bounds[RIGHT]->line_l ()); - - bounds[LEFT]->line_l ()->typeset_element (span_p); - broken_into_l_arr_.push (span_p); -#else - - if (bounds[LEFT]->line_l () != bounds[RIGHT]->line_l ()) + if (bounds[LEFT]->line_l () + && bounds[LEFT]->line_l () != bounds[RIGHT]->line_l ()) { programming_error ("bounds[LEFT]->line_l () != bounds[RIGHT]->line_l ()"); #if 0 @@ -129,13 +122,25 @@ Spanner::do_break_processing () #endif span_p->suicide (); } + else if (!bounds[LEFT]->line_l ()) + { + // bounds[LEFT]->line_l ()->typeset_element (span_p); + // broken_into_l_arr_.push (span_p); + programming_error ("bounds[LEFT]->line_l () == 0"); + span_p->suicide (); + } + else if (!bounds[RIGHT]->line_l ()) + { + // bounds[RIGHT]->line_l ()->typeset_element (span_p); + // broken_into_l_arr_.push (span_p); + programming_error ("bounds[RIGHT]->line_l () == 0"); + span_p->suicide (); + } else { bounds[LEFT]->line_l ()->typeset_element (span_p); broken_into_l_arr_.push (span_p); } -#endif - } } broken_into_l_arr_.sort (Spanner::compare); diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 4d72b074db..ffb578c120 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -38,6 +38,9 @@ Text_engraver::do_try_music (Music *m) { if (Text_script_req *r = dynamic_cast (m)) { + if (r->style_str_ == "dynamic") + return false; + reqs_.push (r); return true; } diff --git a/lily/time-scaled-music-iterator.cc b/lily/time-scaled-music-iterator.cc index 6c111441f9..f68a4d7d88 100644 --- a/lily/time-scaled-music-iterator.cc +++ b/lily/time-scaled-music-iterator.cc @@ -14,7 +14,7 @@ #include "command-request.hh" void -Time_scaled_music_iterator::do_process (Moment m) +Time_scaled_music_iterator::process (Moment m) { if (!m) { @@ -25,5 +25,5 @@ Time_scaled_music_iterator::do_process (Moment m) music_l_->origin ()->warning ( _("no one to print a tuplet start bracket")); } - Music_wrapper_iterator::do_process (m); + Music_wrapper_iterator::process (m); } diff --git a/lily/unfolded-repeat-iterator.cc b/lily/unfolded-repeat-iterator.cc index 92b501f0a5..9a4155f54d 100644 --- a/lily/unfolded-repeat-iterator.cc +++ b/lily/unfolded-repeat-iterator.cc @@ -105,9 +105,9 @@ Unfolded_repeat_iterator::ok () const } Moment -Unfolded_repeat_iterator::next_moment () const +Unfolded_repeat_iterator::pending_moment () const { - return done_mom_ + current_iter_p_->next_moment (); + return done_mom_ + current_iter_p_->pending_moment (); } void @@ -135,7 +135,7 @@ Unfolded_repeat_iterator::construct_children () } void -Unfolded_repeat_iterator::do_process (Moment m) +Unfolded_repeat_iterator::process (Moment m) { if (!m) { @@ -155,22 +155,13 @@ Unfolded_repeat_iterator::do_process (Moment m) return; } - if (m - done_mom_ >= current_iter_p_->next_moment ()) + if (m - done_mom_ >= current_iter_p_->pending_moment ()) current_iter_p_->process (m - done_mom_); else return; } } - -void -Unfolded_repeat_iterator::do_print () const -{ -#ifndef NPRINT - DEBUG_OUT << "count " << done_count_ << "done time " << Rational (done_mom_) << '\n'; - DEBUG_OUT << "current: "; - current_iter_p_->print(); -#endif -} + Music_iterator* Unfolded_repeat_iterator::try_music_in_children (Music * m) const diff --git a/lily/voice-devnull-engraver.cc b/lily/voice-devnull-engraver.cc index eb9bf86354..93e17d18db 100644 --- a/lily/voice-devnull-engraver.cc +++ b/lily/voice-devnull-engraver.cc @@ -17,11 +17,41 @@ public: VIRTUAL_COPY_CONS (Translator); protected: + virtual bool do_try_music (Music *m); virtual void acknowledge_element (Score_element_info); }; ADD_THIS_TRANSLATOR (Voice_devnull_engraver); +static char const *eat_spanners[] = { + "beam-interface", + "slur", + "dynamic-interface", + "crescendo-interface", + 0 +}; + +bool +Voice_devnull_engraver::do_try_music (Music *m) +{ + if (daddy_trans_l_->id_str_ == "two" + && (to_boolean (get_property ("unison")) + || to_boolean (get_property ("unisilence")))) + { + for (char const **p = eat_spanners; *p; p++) + { + if (Span_req *s = dynamic_cast (m)) + { + if (s->span_type_str_ == *p) + { + return true; + } + } + } + } + return false; +} + static char const *junk_interfaces[] = { #if 0 "beam-interface", diff --git a/ly/engraver.ly b/ly/engraver.ly index 5ba0d7f4f6..b21a4d5f43 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -181,7 +181,6 @@ GraceContext=\translator { ThreadContext = \translator{ \type Engraver_group_engraver; - %%\consists "A2_devnull_engraver"; \consists "Thread_devnull_engraver"; \consists "Note_heads_engraver"; \consists "Output_property_engraver"; diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 205b71f658..584f3fd32b 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.86 -Entered-date: 13SEP00 +Version: 1.3.87 +Entered-date: 18SEP00 Description: Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.3.86.tar.gz + 1000k lilypond-1.3.87.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.86.tar.gz + 1000k lilypond-1.3.87.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index de47e9b123..a087e0f695 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.3.86 +Version: 1.3.87 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.86.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.87.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # Icon: lilypond-icon.gif diff --git a/mutopia/Coriolan/bassi-part.ly b/mutopia/Coriolan/bassi-part.ly index 7f011a363a..ab28f5de68 100644 --- a/mutopia/Coriolan/bassi-part.ly +++ b/mutopia/Coriolan/bassi-part.ly @@ -13,21 +13,24 @@ copyright = "public domain"; \include "violoncello.ly" \include "contrabasso.ly" -bassiGroup = \context PianoStaff = bassi_group < +bassiGroup = \context PianoStaff = bassi_group \notes < + %\global \context StaffCombineStaff=one { \clef "bass"; + \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=two { \clef "bass"; + \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=one \partcombine StaffCombineStaff - \context StaffCombineThread=one \violoncello - \context StaffCombineThread=two \contrabasso + \context StaffCombineVoice=one \violoncello + \context StaffCombineVoice=two \contrabasso > \score{ diff --git a/mutopia/Coriolan/clarinetti.ly b/mutopia/Coriolan/clarinetti.ly index 8b6cad3d3a..735770136d 100644 --- a/mutopia/Coriolan/clarinetti.ly +++ b/mutopia/Coriolan/clarinetti.ly @@ -23,7 +23,7 @@ clarinettiStaff = \context Staff = clarinetti < \property Staff.transposing = #-2 \time 4/4; \notes \key f \major; - \skip 1*341; \bar "|."; + \skip 1*314; \bar "|."; \context Voice=one \partcombine Voice \context Thread=one \clarinettoI \context Thread=two \clarinettoII diff --git a/mutopia/Coriolan/contrabasso.ly b/mutopia/Coriolan/contrabasso.ly index 1c75a4e044..1e8f4c1a24 100644 --- a/mutopia/Coriolan/contrabasso.ly +++ b/mutopia/Coriolan/contrabasso.ly @@ -10,15 +10,60 @@ copyright = "public domain"; \version "1.3.59"; contrabasso = \notes \relative c { -% \translator Staff=violoncello - \skip 1*21; -% \translator Staff=contrabasso - bes4\p r4 r2 | + % copied 21 from cello + c1\ff ~ | + c | + f,4-. r r2 | + r1 | + c'1\ff ~ | + c | + f,4-. r r2 | + \property Staff.instr = #"Vc.\nCb." + r1 | + c'1\ff ~ | + c | + fis,4-. r r2 | + r1 | + g4-. r r2 | + g4-. r r2 | + c4\p r4 r2 | + c4 r4 r2 | + c4 r4 r2 | + r1 | + \property Voice.crescendoText = "cresc." + \property Voice.crescendoSpanner = "dashed-line" + c'4.\< c8 bes4. bes8 | + + %20 + as4. as8 \!g4\f r4 | + R1| + + bes,4\p r4 r2 | bes4 r4 r2 | bes4 r4 r2 | %25 R1 | - \skip 1*14; + + % copied 14 from cello + + \property Voice.crescendoText = "cresc." + \property Voice.crescendoSpanner = "dashed-line" + bes'4.\< bes8 as4. as8 | + g4 \!g4-.\f r2 | + R1 + as4.\p as8 g4. g8 | + f2.-"cresc" g4 | + f2. g4 | + f4. g8 f4. g8 | + f4. g8 f4. g8 | + as1\ff ~ | + %35 + as4(g f)es| + d4. r8 c4. r8 | + b4. r8 c4. r8 | + bes4. r8 as4. r8 | + g4. r8 f4. r8 | + %40 fis2\sf r | fis2\sf r | f!2\sf r | @@ -67,7 +112,10 @@ contrabasso = \notes \relative c { % ) { s2 s4 \!s8}> | \!)b1\sf | %75 - \skip 1*3; | + % copied 3 from cello + c4\p r d r | + es r d r | + c r cis r | d4\pp r d r | d r d r | %80 @@ -76,36 +124,76 @@ contrabasso = \notes \relative c { d r d\< r | d r d r | d r d r | - d r d \!r | - \skip 1*8; | + d r d r | + % copied 8 from cello + \!c'2.\ff()bes4 | + %85 + a(g a)g| + c2.()bes4 | + a(g a)g| + f!2.()es4 | + d(c d)c| + %90 + f2.()es4 | + d(c d)c| c4 r r2 | c4 r r2 | c4 r r2 | %95 c4 r r2 | - \skip 1*6; | - g4\p r r2 | + % copied 6 from cello | + c4. c'8 c,4. c'8 | + b,4. b'8 bes,4. bes'8 | + as,4. as'8 g,4. g'8 | + fis,4. fis'8 es4. es8 | + %100 + d4 r8 d es4 r8 es | + c4 r8 c d4 r8 d | + g,4\p r r2 | r2 r4 r8 fis\f | %105 g4 r r2 | r2 r4 r8 fis\f | g4 r r2 | R1*3 | - % urg, aargh burp: skip 'same as cello' part - \skip 1*8; | - + % copied 8 from cello + %110 + [g'8:8 bes d es][f, a cis d] | + [es,8: g: b: c!:][d,: f: a: bes:] | + [c,: es: g: a:][cis,: e: g: bes:] | + [d,: g: bes: d:][d,: fis: a: d:] | + g,,2 ~ g4. g8 | + %115 + g2 ~ g4. g8 | + g4. g8 g4 r8 g | + g4. g8 g4 r8 g | g4\p r r2 | - % urg, this is *rest*, not skip: % need own staff for rests, mustn't collapse to one cello staff! %120 - 1 R1*21 | - - % play with cello - \skip 1*4; | - f'4\p r r2 | + % copied 4 frorm cello + [des'8\f f a bes][c, es g as]| + [bes,8:8 des: f: ges:][as,: c: e: f:]| + [g,: bes: c: des:][f,: bes: c: des:]| + [e,: g: bes: des:][c: e: g: c:]| + f,4\p r r2 | R1*3 | - \skip 1*10; | + % copied 10 from cello| + [f8:\ff as: c: des:][es,: g: b: c:]| + [des,: f: a: bes:][c,: es: g: as:]| + %150 + % r[des,16 des][e e g g]r8[c,16 c][e e f f]| + [bes, des e g][as, c e f]| + % r8[des16 des][f f g g][c, c e e][g g c c]| + [bes, des f g][c, e g c]| + f,1\ff ~ | + f | + bes,4-. r r2 + %155 + R1 | + f'1\ff ~ | + f | b,2\sf r | b2\sf r | R1*3 | @@ -158,21 +246,144 @@ contrabasso = \notes \relative c { %200 )g1 | f | - \skip 1*18; | + % copied 18 from cello + [f8(g f g][f g f)g] | + es!4\fp r e r | + f r g r | + + %205 + as r g r | + f r fis r | + g r g r | + g r g r | + \property Voice.crescendoText = "cresc." + \property Voice.crescendoSpanner = "dashed-line" + g r g\< r | + + %210 + g r g r | + g r g r | + g r g r | + \!f2.\ff()es4 | + d( c d )c | + + %215 + f2.\ff()es4 | + d( c d )c | + bes2.\ff()as4 | + g( f g )f | + bes2.\ff()as4 | %220 f'4 r r2 | f'4 r r2 | f4 r r2 | f4 r r2 | - \skip 1*6; | + % copied 6 from cello | + f4. f'8 f,4. f'8 | + e,4. e'8 es,4. es'8 | + d,4. d'8 c,4. c'8 | + b,4. b'8 as,4. as'8 | + g,4 r8 g as4 r8 as | + + %230 + f4 r8 f g4 r8 g | c,4\p r r2 | r2 r4 r8 b\f | c4 r r2 | r2 r4 r8 b\f | + %235 c4 r r2 | R1*3 | - \skip 1*59; | + + %copied 59 from cello + [c,8\f e g as][bes, d fis g]| + + %240 + [as, c e f!][g, bes d es]| + f4 r r2 | + R1*3 | + c4\p r r r8 c(| + + %245 + )f4 r r r8 f(| + )e4 r r r8 e(| + )b4 r r r8 b(| + )c4 r r r8 c(| + )f4 r r r8 f(| + + %250 + )es4 r r r8 es(| + )b4 r r r8 b(| + \property Voice.crescendoText = "cresc." + \property Voice.crescendoSpanner = "dashed-line" + )c4\< r r r8 c(| + )f4 r r r8 f,(| + )es1 | + + %255 + \!ges\f | + f\p | + as\f | + g!\p | + bes\f | + + %260 + \property Voice.crescendoText = "cresc." + \property Voice.crescendoSpanner = "dashed-line" + as4.\p\< as'8 g4. g8 | + f4. f8 es4. es8 | + as4. as8 g4. g8 | + f4. f8 es4. es8 | + \!f,4.\ff f'8 f2\sf | + + %265 + f,4. f'8 f2\sf | + g,4. g'8 g2\sf | + g,4. g'8 g2\sf | + as,4. as'8 as2\sf | + b,4. b'8 b2\sf | + + %270 + [c,8-"sempre"\ff b c d][es\ff d es c]| + [b c d c][b c b g]| + [c8 b c d][es d es c]| + [b c d c][b c b g]| + [c b c g][c b c g]| + + %275 + [c b c g][c b c g]| + c1 ~ | + c | + f4-. r r2 | + R1 | + + %280 + c1 ~ | + c | + f4-. r r2 | + R1 | + c1 ~ | + + %285 + c | + fis4-. f-. r2 | + R1| + es4-. e-. r2 | + f,4-. g-. r2 | + + %290 + \property Voice.decrescendoText = "dim." + \property Voice.decrescendoSpanner = "dashed-line" + as4\> r b r | + R1 | + \!c4\p r r2| + R1 | + g4-"pizz." r r2 | + + %295 + R1 | + c4 r r2 | r2 r4 f, | c' r r2 | r2 r4 f, | diff --git a/mutopia/Coriolan/coriolan-paper.ly b/mutopia/Coriolan/coriolan-paper.ly index 9d33209b23..08cc643ca3 100644 --- a/mutopia/Coriolan/coriolan-paper.ly +++ b/mutopia/Coriolan/coriolan-paper.ly @@ -1,5 +1,5 @@ \paper{ - \paper_sixteen + textheight = 295.0\mm; linewidth = 180.0\mm; @@ -11,8 +11,6 @@ \ThreadContext \name "VoiceCombineThread"; \consists "Rest_engraver"; - \remove "Thread_devnull_engraver"; - \consists "A2_devnull_engraver"; } \translator{ \VoiceContext @@ -21,8 +19,6 @@ soloIIText = #"II." \remove "Rest_engraver"; \accepts "VoiceCombineThread"; - \consists "A2_devnull_engraver"; - \remove "Voice_devnull_engraver"; } \translator{ \HaraKiriStaffContext @@ -37,65 +33,23 @@ \translator{ \ThreadContext \name "StaffCombineThread"; - \remove "Thread_devnull_engraver"; -%% \consists "A2_devnull_engraver"; } \translator{ \VoiceContext \name "StaffCombineVoice"; \accepts "StaffCombineThread"; - - \remove "Rest_engraver"; - \remove "Dot_column_engraver"; - \remove "Stem_engraver"; - \remove "Beam_engraver"; - \remove "Auto_beam_engraver"; - %\include "auto-beam-settings.ly"; - - \remove "Chord_tremolo_engraver"; - \remove "Melisma_engraver"; - \remove "Text_engraver"; - \remove "A2_engraver"; - \remove "Voice_devnull_engraver"; - - \remove "Piano_pedal_engraver"; - \remove "Script_engraver"; - \remove "Script_column_engraver"; - \remove "Rhythmic_column_engraver"; - \remove "Slur_engraver"; - \remove "Tie_engraver"; - - \remove "Voice_devnull_engraver"; -%% \consists "Thread_devnull_engraver"; - \consists "A2_devnull_engraver"; + \consists "Thread_devnull_engraver"; } \translator { \HaraKiriStaffContext \name "StaffCombineStaff"; \accepts "StaffCombineVoice"; - \consists "Rest_engraver"; - \consists "Dot_column_engraver"; - \consists "Stem_engraver"; - \consists "Beam_engraver"; - \consists "Auto_beam_engraver"; - \include "auto-beam-settings.ly"; - - \consists "Chord_tremolo_engraver"; - \consists "Melisma_engraver"; - \consists "Text_engraver"; - \consists "A2_engraver"; -%% \consists "Voice_devnull_engraver"; -%% \consists "A2_devnull_engraver"; - - soloADue = ##f - - \consists "Piano_pedal_engraver"; - \consists "Script_engraver"; - \consists "Script_column_engraver"; - \consists "Rhythmic_column_engraver"; - \consists "Slur_engraver"; - \consists "Tie_engraver"; + soloADue = ##t + soloText = #"" + soloIIText = #"" + aDueText = #"" + splitInterval = #'(1 . 0) } \translator { \StaffGroupContext @@ -106,10 +60,10 @@ \translator { %\ScoreContext - %\consists "Mark_engraver"; \OrchestralScoreContext \accepts "VoiceCombineStaff"; \accepts "StaffCombineStaff"; + skipBars = ##t barScriptPadding = #2.0 % dimension \pt markScriptPadding = #4.0 @@ -119,8 +73,8 @@ %% URG: this changes dynamics too %%textStyle = #"italic" timeSignatureStyle = #"C" - instrumentScriptPadding = #55 %% urg, this is in pt - instrScriptPadding = #40 %% urg, this is in pt + instrumentScriptPadding = #60 %% urg, this is in pt + instrScriptPadding = #40 %% urg, this is in pt marginScriptHorizontalAlignment = #1 maximumRestCount = #1 } diff --git a/mutopia/Coriolan/coriolan-part-combine-paper.ly b/mutopia/Coriolan/coriolan-part-combine-paper.ly index c23c88937a..b78365c2a8 100644 --- a/mutopia/Coriolan/coriolan-part-combine-paper.ly +++ b/mutopia/Coriolan/coriolan-part-combine-paper.ly @@ -1,4 +1,4 @@ -\paper { +\paper{ textheight = 295.0\mm; linewidth = 180.0\mm; @@ -11,8 +11,6 @@ \ThreadContext \name "VoiceCombineThread"; \consists "Rest_engraver"; - \remove "Thread_devnull_engraver"; - \consists "A2_devnull_engraver"; } \translator{ \VoiceContext @@ -21,8 +19,6 @@ soloIIText = #"II." \remove "Rest_engraver"; \accepts "VoiceCombineThread"; - \consists "A2_devnull_engraver"; - \remove "Voice_devnull_engraver"; } \translator{ \HaraKiriStaffContext @@ -37,65 +33,23 @@ \translator{ \ThreadContext \name "StaffCombineThread"; - \remove "Thread_devnull_engraver"; -%% \consists "A2_devnull_engraver"; } \translator{ \VoiceContext \name "StaffCombineVoice"; \accepts "StaffCombineThread"; - - \remove "Rest_engraver"; - \remove "Dot_column_engraver"; - \remove "Stem_engraver"; - \remove "Beam_engraver"; - \remove "Auto_beam_engraver"; - %\include "auto-beam-settings.ly"; - - \remove "Chord_tremolo_engraver"; - \remove "Melisma_engraver"; - \remove "Text_engraver"; - \remove "A2_engraver"; - \remove "Voice_devnull_engraver"; - - \remove "Piano_pedal_engraver"; - \remove "Script_engraver"; - \remove "Script_column_engraver"; - \remove "Rhythmic_column_engraver"; - \remove "Slur_engraver"; - \remove "Tie_engraver"; - - \remove "Voice_devnull_engraver"; -%% \consists "Thread_devnull_engraver"; - \consists "A2_devnull_engraver"; + \consists "Thread_devnull_engraver"; } \translator { \HaraKiriStaffContext \name "StaffCombineStaff"; \accepts "StaffCombineVoice"; - \consists "Rest_engraver"; - \consists "Dot_column_engraver"; - \consists "Stem_engraver"; - \consists "Beam_engraver"; - \consists "Auto_beam_engraver"; - \include "auto-beam-settings.ly"; - - \consists "Chord_tremolo_engraver"; - \consists "Melisma_engraver"; - \consists "Text_engraver"; - \consists "A2_engraver"; -%% \consists "Voice_devnull_engraver"; -%% \consists "A2_devnull_engraver"; - - soloADue = ##f - - \consists "Piano_pedal_engraver"; - \consists "Script_engraver"; - \consists "Script_column_engraver"; - \consists "Rhythmic_column_engraver"; - \consists "Slur_engraver"; - \consists "Tie_engraver"; + soloADue = ##t + soloText = #"" + soloIIText = #"" + aDueText = #"" + splitInterval = #'(1 . 0) } \translator { \StaffGroupContext @@ -106,6 +60,7 @@ \translator { \ScoreContext + %\OrchestralScoreContext \accepts "VoiceCombineStaff"; \accepts "StaffCombineStaff"; skipBars = ##t @@ -124,4 +79,3 @@ maximumRestCount = #1 } } - diff --git a/mutopia/Coriolan/coriolan-part-paper.ly b/mutopia/Coriolan/coriolan-part-paper.ly index da6d84ab9a..f9f5401a5c 100644 --- a/mutopia/Coriolan/coriolan-part-paper.ly +++ b/mutopia/Coriolan/coriolan-part-paper.ly @@ -6,6 +6,7 @@ \translator { \ScoreContext + %\OrchestralScoreContext skipBars = ##t barScriptPadding = #2.0 % dimension \pt diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index 05aebee900..ea8f927ad3 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -51,38 +51,42 @@ violiniGroup = \context GrandStaff = violini_group < \violinoIIStaff > -violiGroup = \context PianoStaff = violi_group < +violiGroup = \context PianoStaff = violi_group \notes < \context StaffCombineStaff=one { \clef "alto"; + \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=two { \clef "alto"; + \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=one \partcombine StaffCombineStaff - \context StaffCombineThread=one \violaI - \context StaffCombineThread=two \violaII + \context StaffCombineVoice=one \violaI + \context StaffCombineVoice=two \violaII > -bassiGroup = \context PianoStaff = bassi_group < +bassiGroup = \context PianoStaff = bassi_group \notes < \context StaffCombineStaff=one { \clef "bass"; + \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=two { \clef "bass"; + \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=one \partcombine StaffCombineStaff - \context StaffCombineThread=one \violoncello - \context StaffCombineThread=two \contrabasso + \context StaffCombineVoice=one \violoncello + \context StaffCombineVoice=two \contrabasso > diff --git a/mutopia/Coriolan/corni.ly b/mutopia/Coriolan/corni.ly index 13c376c106..6e241a7ab3 100644 --- a/mutopia/Coriolan/corni.ly +++ b/mutopia/Coriolan/corni.ly @@ -22,7 +22,7 @@ corniStaff = \context Staff = corni < %\property Staff.transposing = "es" \property Staff.transposing = #3 \time 4/4; - \skip 1*341; \bar "|."; + \skip 1*314; \bar "|."; \context Voice=one \partcombine Voice \context Thread=one \cornoI \context Thread=two \cornoII diff --git a/mutopia/Coriolan/violi-part.ly b/mutopia/Coriolan/violi-part.ly index ae9ac83b2b..ffb79d3d95 100644 --- a/mutopia/Coriolan/violi-part.ly +++ b/mutopia/Coriolan/violi-part.ly @@ -13,21 +13,23 @@ copyright = "public domain"; \include "viola-1.ly" \include "viola-2.ly" -violiGroup = \context PianoStaff = violi_group < +violiGroup = \context PianoStaff = violi_group \notes < \context StaffCombineStaff=one { \clef "alto"; + \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=two { \clef "alto"; + \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=one \partcombine StaffCombineStaff - \context StaffCombineThread=one \violaI - \context StaffCombineThread=two \violaII + \context StaffCombineVoice=one \violaI + \context StaffCombineVoice=two \violaII > \score{ diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly index 3e5a3bcfc7..1a07ac60e4 100644 --- a/mutopia/Coriolan/violoncello.ly +++ b/mutopia/Coriolan/violoncello.ly @@ -128,6 +128,7 @@ violoncello = \notes \relative c { r4 r8 d d4. d8 | r4 r8 d d4. d8 | \!c'2.\ff()bes4 | + %85 a(g a)g| c2.()bes4 | a(g a)g| diff --git a/po/de.po b/po/de.po index 7258319846..4f64c43cc5 100644 --- a/po/de.po +++ b/po/de.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Lilypond 1.2.8\n" -"POT-Creation-Date: 2000-07-24 21:55+0200\n" +"POT-Creation-Date: 2000-09-17 12:01+0200\n" "PO-Revision-Date: 1999-09-18 01:30+0200\n" "Last-Translator: Erwin Dieterich \n" "Language-Team: LANGUAGE \n" @@ -64,7 +64,7 @@ msgid "can't map file" msgstr "Kann die Datei nicht mappen" #: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:111 -#: paper-stream.cc:25 scores.cc:37 simple-file-storage.cc:44 text-stream.cc:22 +#: paper-stream.cc:25 scores.cc:38 simple-file-storage.cc:44 text-stream.cc:22 #, c-format msgid "can't open file: `%s'" msgstr "Kann die Datei %s nicht öffnen" @@ -102,59 +102,60 @@ msgstr "Ich kann das Zeichen `%s' nicht finden" msgid "Error parsing AFM file" msgstr "" -#: all-font-metrics.cc:149 lookup.cc:80 +#: all-font-metrics.cc:151 lookup.cc:80 #, c-format msgid "can't find font: `%s'" msgstr "Kann Schrift `%s' nicht finden" -#: all-font-metrics.cc:150 +#: all-font-metrics.cc:152 #, fuzzy msgid "Loading default font" msgstr "Kann die Schrift %s nicht finden, lade die Standardschrift." -#: all-font-metrics.cc:167 +#: all-font-metrics.cc:169 #, fuzzy, c-format msgid "can't find default font: `%s'" msgstr "Kann Schrift `%s' nicht finden" -#: all-font-metrics.cc:168 includable-lexer.cc:50 lookup.cc:81 scores.cc:108 +#: all-font-metrics.cc:170 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 #, c-format msgid "(search path: `%s')" msgstr "(Suchpfad: `%s')" -#: all-font-metrics.cc:169 +#: all-font-metrics.cc:171 msgid "Giving up" msgstr "" #: auto-change-iterator.cc:43 change-iterator.cc:60 +#: part-combine-music-iterator.cc:85 msgid "Can't switch translators, I'm there already" msgstr "" -#: beam-engraver.cc:75 beam-engraver.cc:91 +#: beam-engraver.cc:76 beam-engraver.cc:109 #, fuzzy msgid "can't find start of beam" msgstr "Kann nicht beide Enden von %s finden" -#: beam-engraver.cc:120 +#: beam-engraver.cc:138 #, fuzzy msgid "already have a beam" msgstr "Habe schon einen Balken" -#: beam-engraver.cc:177 +#: beam-engraver.cc:202 #, fuzzy msgid "unterminated beam" msgstr "Unbeendeter Bindestrich" -#: beam-engraver.cc:210 chord-tremolo-engraver.cc:172 +#: beam-engraver.cc:240 chord-tremolo-engraver.cc:176 #, fuzzy msgid "stem must have Rhythmic structure" msgstr "Ein Notenhals muss rhythmische Struktur haben." -#: beam-engraver.cc:221 +#: beam-engraver.cc:251 msgid "stem doesn't fit in beam" msgstr "Notenhals passt nicht in den Balken" -#: beam-engraver.cc:222 +#: beam-engraver.cc:252 msgid "beam was started here" msgstr "Der Balken bagann hier" @@ -163,7 +164,7 @@ msgstr "Der Balken bagann hier" msgid "beam has less than two stems" msgstr "Balken mit weniger als zwei Hälsen" -#: beam.cc:510 +#: beam.cc:511 msgid "weird beam vertical offset" msgstr "" @@ -201,17 +202,17 @@ msgstr "Unbeendeter Bindestrich" msgid "no one to print a tremolos" msgstr "Keiner darf eine Wiederholungsklammer drucken" -#: chord.cc:152 +#: chord.cc:162 #, c-format msgid "invalid subtraction: not part of chord: %s" msgstr "Unerlaubte Subtraktion: nicht Teil eines Akkords: %s" -#: chord.cc:376 +#: chord.cc:386 #, c-format msgid "invalid inversion pitch: not part of chord: %s" msgstr "Unerlaubter Baßton: gehört nicht zum Akkord: %s" -#: clef-engraver.cc:167 +#: clef-engraver.cc:165 #, fuzzy msgid "unknown clef type" msgstr "Unbekannter Notenschlüssel" @@ -250,22 +251,22 @@ msgstr "Kann die Speicher msgid "NaN" msgstr "NaN" -#: dynamic-engraver.cc:184 span-dynamic-performer.cc:87 +#: dynamic-engraver.cc:192 span-dynamic-performer.cc:87 #, fuzzy msgid "can't find start of (de)crescendo" msgstr "Ich kann kein (De)crescendo bis zum Ende finden" -#: dynamic-engraver.cc:203 +#: dynamic-engraver.cc:213 #, fuzzy msgid "already have a crescendo" msgstr "Habe schon einen Balken" -#: dynamic-engraver.cc:204 +#: dynamic-engraver.cc:214 #, fuzzy msgid "already have a decrescendo" msgstr "Habe schon einen Balken" -#: dynamic-engraver.cc:289 +#: dynamic-engraver.cc:303 #, fuzzy msgid "unterminated (de)crescendo" msgstr "Nichtbeendetes Crescendo" @@ -312,12 +313,12 @@ msgid "wrong identifier type, expected: `%s'" msgstr "Falscher Typ von Identifier: " #: includable-lexer.cc:48 lily-guile.cc:117 midi-score-parser.cc:24 -#: scores.cc:107 scores.cc:113 +#: scores.cc:108 scores.cc:114 #, c-format msgid "can't find file: `%s'" msgstr "Kann Datei `%s' nicht finden" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-engraver.cc:101 key-performer.cc:54 msgid "FIXME: key change merge" msgstr "" @@ -349,11 +350,15 @@ msgstr "Ich breche nieder" msgid "Non-matching braces in text `%s', adding braces" msgstr "Nicht zusammenpassende Klammern im Text `%s', füge Klammern hinzu." -#: lyric-phrasing-engraver.cc:147 -msgid "lyrics found without matching notehead ... aligning on self" +#: lyric-phrasing-engraver.cc:245 +msgid "lyrics found without any matching notehead" +msgstr "" + +#: lyric-phrasing-engraver.cc:250 +msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:75 main.cc:92 +#: main.cc:75 main.cc:93 msgid "enable debugging output" msgstr "Debugger Ausgabe an" @@ -366,7 +371,7 @@ msgstr "EXT" msgid "use output format EXT (scm, ps, tex or as)" msgstr "Benutze das Ausgabeformat EXT" -#: main.cc:77 main.cc:93 +#: main.cc:77 main.cc:94 msgid "this help" msgstr "Diese Hilfe" @@ -378,7 +383,7 @@ msgstr "DIR" msgid "add DIR to search path" msgstr "Hänge DIR an den Suchpfad an" -#: main.cc:79 main.cc:96 +#: main.cc:79 main.cc:97 msgid "FILE" msgstr "DATEI" @@ -411,7 +416,7 @@ msgstr "Zeige alle Ver msgid "inhibit file output naming and exporting" msgstr "Unterdrücke die automatische Benennung von Ausgabedateien und Export" -#: main.cc:85 main.cc:100 +#: main.cc:85 main.cc:102 msgid "don't timestamp the output" msgstr "Keine Datumsangabe auf der Ausgabe" @@ -419,7 +424,7 @@ msgstr "Keine Datumsangabe auf der Ausgabe" msgid "switch on experimental features" msgstr "Schalte experimentelle Möglichkeiten an" -#: main.cc:87 main.cc:101 +#: main.cc:87 main.cc:103 msgid "print version number" msgstr "Zeige die Versionsnummer" @@ -428,21 +433,24 @@ msgstr "Zeige die Versionsnummer" msgid "verbose" msgstr "Sei geschwätzig" -#: main.cc:89 main.cc:103 +#: main.cc:89 main.cc:105 msgid "show warranty and copyright" msgstr "Zeige Garantie und Urheberrechte" -#: main.cc:105 +#. +#. No version number or newline here. It confuses help2man +#. +#: main.cc:107 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Benutzung: %s [OPTIONEN] ... [DATEI] ..." -#: main.cc:107 +#: main.cc:109 #, fuzzy msgid "Typeset music and or play MIDI from FILE" msgstr "Setze Musik oder spiele MIDI von DATEI" -#: main.cc:111 +#: main.cc:113 msgid "" "LilyPond is a music typesetter. It produces beautiful sheet music\n" "using a high level description file as input. LilyPond is part of \n" @@ -452,20 +460,20 @@ msgstr "" "Notenblätter erzeugen. Dazu verwendet es eine eigene Beschreibungssprache.\n" "lilyPond ist Teil des GNU-Projekts\n" -#: main.cc:116 main.cc:117 +#: main.cc:118 main.cc:119 msgid "Options:" msgstr "Optionen:" -#: main.cc:121 +#: main.cc:123 msgid "This binary was compiled with the following options:" msgstr "Diese Programm wurde mit den folgenden Optionen übersetzt:" -#: main.cc:120 main.cc:140 +#: main.cc:122 main.cc:142 #, fuzzy, c-format msgid "Report bugs to %s" msgstr "Melde Fehler an" -#: main.cc:53 main.cc:148 +#: main.cc:54 main.cc:150 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -478,17 +486,17 @@ msgstr "" "einhalten. Wenn Sie das Programm mit `%s --warranty starten, bekommen\n" "Sie mehr Informationen.\n" -#: main.cc:60 main.cc:155 main.cc:167 +#: main.cc:61 main.cc:157 main.cc:169 #, c-format msgid "Copyright (c) %s by" msgstr "Urheberrechte (Copyright) (c) %s bei" #. GNU GNU? -#: main.cc:165 +#: main.cc:167 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "GNU LilyPond -- Der Notensatz des GNU-Projekts" -#: main.cc:69 main.cc:173 +#: main.cc:70 main.cc:175 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License version 2\n" @@ -541,11 +549,7 @@ msgstr "unsinnige Tonh msgid "Error syncing file (disk full?)" msgstr "Fehler beim Abspeichern der Datei (Platte voll?)" -#: music-output-def.cc:51 -msgid "Interpretation context with empty type" -msgstr "Interpretationskontext mit leerer Typangabe" - -#: music-output-def.cc:78 +#: music-output-def.cc:71 #, fuzzy, c-format msgid "can't find `%s' context" msgstr "Kann Partiturkontext nicht finden" @@ -555,21 +559,21 @@ msgstr "Kann Partiturkontext nicht finden" msgid "Transposition by %s makes accidental larger than two" msgstr "Transponieren um %s macht Vorzecihen größer als zwei" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:124 #, fuzzy, c-format msgid "Identifier name is a keyword: `%s'" msgstr "name ist ein Schlüsselbegriff (keyword) (`%s')" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:143 #, c-format msgid "error at EOF: %s" msgstr "Fehler am Dateiende(EOF): %s" -#: midi-score-parser.cc:94 my-lily-parser.cc:55 +#: midi-score-parser.cc:94 my-lily-parser.cc:47 msgid "Parsing..." msgstr "Verarbeite..." -#: my-lily-parser.cc:63 +#: my-lily-parser.cc:55 #, fuzzy msgid "Braces don't match" msgstr "Klammern passen nicht zusammen" @@ -592,6 +596,22 @@ msgstr "Verarbeite Element vor..." msgid "Outputting Score, defined at: " msgstr "Gebe Partitur aus, definiert bei: " +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: part-combine-music-iterator.cc:104 +#, c-format +msgid "I'm one myself: `%s'" +msgstr "" + +#: part-combine-music-iterator.cc:107 +#, c-format +msgid "none of these in my family: `%s'" +msgstr "" + #: performance.cc:50 msgid "Track ... " msgstr "Stück ... " @@ -621,30 +641,21 @@ msgstr "MIDI-Ausgabe nach %s..." msgid "can't find start of piano pedal: %s" msgstr "Kann keine kürzeste Note bei %s finden" -#: property-engraver.cc:128 +#: property-engraver.cc:131 #, fuzzy msgid "Wrong type for property" msgstr "Falsche Type für Besitz-Wert" -#: repeat-engraver.cc:253 -msgid "No bar engraver found. Ignoring repeats." -msgstr "" - -#: request-chord-iterator.cc:72 +#: request-chord-iterator.cc:93 #, fuzzy, c-format msgid "Junking request: `%s'" msgstr "Uralt-Bitte: `%s'" -#: request-chord-iterator.cc:75 +#: request-chord-iterator.cc:96 #, c-format msgid "Huh? Not a Request: `%s'" msgstr "Wie? Keine Anforderung: `%s'" -#: request-iterator.cc:20 -#, fuzzy, c-format -msgid "Junking music: `%s'" -msgstr "Uralt-Bitte: `%s'" - #: rest-collision.cc:159 #, fuzzy msgid "too many colliding rests" @@ -655,7 +666,7 @@ msgstr "Zu viele kollidierende Pausen." msgid "too many notes for rest collision" msgstr "Zu viele Noten für kollidierende Pausen." -#: score-engraver.cc:151 +#: score-engraver.cc:149 #, fuzzy, c-format msgid "unbound spanner `%s'" msgstr "Unbeschränkter Abstand `%s'" @@ -675,60 +686,61 @@ msgstr "Ich brauche Noten in einer Partitur" msgid "Errors found/*, not processing score*/" msgstr "Habe Fehler gefunden, /* die Partitur wird nicht verarbeitet */" -#: score.cc:100 +#: score.cc:101 #, fuzzy, c-format msgid "elapsed time: %.2f seconds" msgstr "verstrichene Zeit %.2f Sekunden" #: scores.cc:34 #, fuzzy, c-format -msgid "Writing dependency file: `%s'...\n" +msgid "Writing dependency file: `%s'..." msgstr "Schreibe Datei mit Abhängigkeiten: `%s'..." -#: scores.cc:78 +#: scores.cc:79 #, fuzzy msgid "Score contains errors; will not process it" msgstr "Partitur enthält Fehler; ich werde sie nicht weiterverarbeiten" -#: scores.cc:123 -#, c-format -msgid "Now processing: `%s'\n" -msgstr "" +#: scores.cc:124 +#, fuzzy, c-format +msgid "Now processing: `%s'" +msgstr "Unbekannte Sonder-Zeichenkette" -#: script-engraver.cc:65 +#: script-engraver.cc:66 #, fuzzy, c-format msgid "Don't know how to interpret articulation `%s'" msgstr "Ich weiß nicht, wie ich die Artikulation `%s' interpretieren soll\n" #. this shouldn't happen, but let's continue anyway. -#: separation-item.cc:48 +#: separation-item.cc:47 #, fuzzy msgid "Separation_item: I've been drinking too much" msgstr "Single_malt_grouping_item: Ich saufe zu viel" -#: sequential-music-iterator.cc:83 +#: sequential-music-iterator.cc:35 msgid "Must stop before this music ends" msgstr "" -#: slur-engraver.cc:82 +#: simple-music-iterator.cc:36 +#, fuzzy, c-format +msgid "Junking music: `%s'" +msgstr "Uralt-Bitte: `%s'" + +#: slur-engraver.cc:89 msgid "unterminated slur" msgstr "Unbeendeter Bindebogen" -#: slur-engraver.cc:98 -#, c-format -msgid "can't find both ends of %s" +#: slur-engraver.cc:104 +#, fuzzy +msgid "can't find start of slur" msgstr "Kann nicht beide Enden von %s finden" -#: slur-engraver.cc:98 -msgid "slur" -msgstr "Bindebogen" - #: slur.cc:48 #, fuzzy msgid "Putting slur over rest. Ignoring." msgstr "Setze Bindebogen über Pause. Wird ignoriert" -#: slur.cc:122 +#: slur.cc:324 msgid "Slur over rest?" msgstr "Bindebogen übe den Rest?" @@ -771,17 +783,6 @@ msgstr "Einsamer Haltebogen" msgid "no one to print a tuplet start bracket" msgstr "Niemand schreibt eine mehrfahce Anfangsklammer" -#: time-signature-engraver.cc:49 -#, fuzzy -msgid "lost in time:" -msgstr "Verloren in der Zeit" - -#: time-signature-engraver.cc:50 translator-group.cc:419 -#: translator-group.cc:428 -#, fuzzy, c-format -msgid "can't find: `%s'" -msgstr "Kann `%s' nicht finden" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "Widersprechende Zeitangaben" @@ -790,31 +791,41 @@ msgstr "Widersprechende Zeitangaben" msgid "This is the other timing request" msgstr "" -#: timing-translator.cc:79 +#: timing-translator.cc:65 #, fuzzy, c-format msgid "barcheck failed at: %s" msgstr "Überprüfung der Takte is fehlgeschlagen bei: %s" -#: translator-ctors.cc:41 +#: translator-ctors.cc:40 #, fuzzy, c-format msgid "unknown translator: `%s'" msgstr "unbekannter Übersetzer `%s'" -#: translator-group.cc:82 translator-group.cc:95 +#: translator-def.cc:96 msgid "Program has no such type" msgstr "" -#: translator-group.cc:86 translator-group.cc:101 +#: translator-def.cc:102 #, fuzzy, c-format msgid "Already contains: `%s'" msgstr "Enthält schon ein `%s'" -#: translator-group.cc:213 +#: translator-def.cc:103 +#, fuzzy, c-format +msgid "Not adding translator: `%s'" +msgstr "unbekannter Übersetzer `%s'" + +#: translator-def.cc:215 +#, fuzzy, c-format +msgid "can't find: `%s'" +msgstr "Kann `%s' nicht finden" + +#: translator-group.cc:142 #, c-format msgid "can't find or create `%s' called `%s'" msgstr "Kann ein `%s', genannt `%s' weder finden noch erzeugen" -#: translator-group.cc:325 +#: translator-group.cc:246 #, fuzzy, c-format msgid "can't find or create: `%s'" msgstr "Kann ein `%s' weder finden noch erzeugen" @@ -824,182 +835,207 @@ msgstr "Kann ein `%s' weder finden noch erzeugen" msgid "no one to print a volta bracket" msgstr "Niemand schreibt eine Volta-Klammer" -#: parser.yy:59 +#: parser.yy:61 #, c-format msgid "Oldest supported input version: %s" msgstr "Älteste noch unterstütze Version der Eingabe: %s" -#: parser.yy:426 -msgid "Need a translator group for a context" -msgstr "Ich brauche eine Übersetzer-Gruppe für den Kontext" - -#: parser.yy:441 +#: parser.yy:447 msgid "Wrong type for property value" msgstr "Falsche Type für Besitz-Wert" -#: parser.yy:626 +#: parser.yy:633 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:666 +#: parser.yy:673 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:671 +#: parser.yy:678 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:971 +#: parser.yy:1015 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:981 +#: parser.yy:1025 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1073 +#: parser.yy:1117 #, c-format msgid "Expecting %d arguments" msgstr "" -#: parser.yy:1089 +#: parser.yy:1133 msgid "Must have 2 arguments for duration" msgstr "" -#: parser.yy:1096 parser.yy:1104 parser.yy:1339 +#: parser.yy:1140 parser.yy:1148 parser.yy:1383 #, fuzzy msgid "Have to be in Lyric mode for lyrics" msgstr "Um Text zu verarbeiten, muß ich im Text-(Lyrics)-Modus sein" -#: parser.yy:1245 parser.yy:1265 +#: parser.yy:1289 parser.yy:1309 #, c-format msgid "not a duration: %d" msgstr "Keine Dauer: %d" -#: parser.yy:1274 +#: parser.yy:1318 #, fuzzy msgid "Have to be in Note mode for notes" msgstr "Für Noten muß ich im Noten-(Note)-Modus sein" -#: parser.yy:1352 +#: parser.yy:1396 #, fuzzy msgid "Have to be in Chord mode for chords" msgstr "Für Akkorde muß ich im Akkord-(Chord)-Modus sein" -#: parser.yy:1513 parser.yy:1531 +#: parser.yy:1558 parser.yy:1576 msgid "need integer number arg" msgstr "" -#: parser.yy:1517 +#: parser.yy:1562 msgid "Must be positive integer" msgstr "" -#: lexer.ll:158 +#: lexer.ll:159 msgid "EOF found inside a comment" msgstr "Während eines Kommentar war die Datei zu Ende (EOF gefunden)" -#: lexer.ll:172 +#: lexer.ll:173 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:196 +#: lexer.ll:197 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "Unbekannter Identifier: `%s'" #. backup rule -#: lexer.ll:201 +#: lexer.ll:202 #, fuzzy msgid "Missing end quote" msgstr "Endnote fehlt" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:224 lexer.ll:228 msgid "white expected" msgstr "Erwarte Weiß" -#: lexer.ll:235 +#: lexer.ll:236 #, fuzzy msgid "Can't evaluate Scheme in safe mode" msgstr "Kann Scheme nicht interpretieren, wenn ich im sicheren Modus bin" -#: lexer.ll:431 +#: lexer.ll:432 #, c-format msgid "invalid character: `%c'" msgstr "Ungültiger Buchstabe `%c'" -#: lexer.ll:508 +#: lexer.ll:512 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "Unbekannte Sonder-Zeichenkette" -#: lexer.ll:594 +#: lexer.ll:598 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "Falsche Version von Mudela: (s /%s, %s)" -#: lexer.ll:595 +#: lexer.ll:599 msgid "Consider converting the input with the convert-mudela script" msgstr "" -#: main.cc:91 +#: main.cc:92 msgid "write exact durations, e.g.: a4*385/384" msgstr "Schreibe genaue Dauer, z.B.: a4*385/384" -#: main.cc:94 +#: main.cc:95 msgid "ACC[:MINOR]" msgstr "ACC[:MOLL]" -#: main.cc:94 +#: main.cc:95 msgid "set key: ACC +sharps/-flats; :1 minor" msgstr "Setze Tonart: ACC +Kreuze/-Bes; :1 Moll" -#: main.cc:95 +#: main.cc:96 #, fuzzy -msgid "don't output tuplets or double dots, smallest is 32" +msgid "don't output tuplets, double dots or rests, smallest is 32" msgstr "" "Nimm an, dass keine -olen (Triolen, Quintolen etc.) oder Doppelpunkte \n" "vorliegen. Kleinste Teilung sind 32igstel" -#: main.cc:96 +#: main.cc:97 msgid "set FILE as default output" msgstr "Ausgabe standardmäßig in Datei FILE" -#: main.cc:97 +#: main.cc:98 msgid "don't output tuplets" msgstr "" -#: main.cc:98 +#: main.cc:99 msgid "be quiet" msgstr "Sei ruhig" -#: main.cc:99 +#: main.cc:100 +msgid "don't output rests or skips" +msgstr "" + +#: main.cc:101 msgid "DUR" msgstr "DUR" -#: main.cc:99 +#: main.cc:101 #, fuzzy msgid "set smallest duration" msgstr "Setze kürzeste Dauer (?)" -#: main.cc:102 +#: main.cc:104 msgid "be verbose" msgstr "Sei geschwätzig" -#: main.cc:104 +#: main.cc:106 msgid "assume no double dotted notes" msgstr "Keine Noten mit Doppelpunkt" -#: main.cc:111 +#: main.cc:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]" msgstr "Verwendung: %s [OPTIONEN] ... [DATEI]" -#: main.cc:113 +#: main.cc:115 #, fuzzy msgid "Translate MIDI-file to mudela" msgstr "Übersetze MIDI in mudela" +#: main.cc:129 +#, c-format +msgid "no_double_dots: %d\n" +msgstr "" + +#: main.cc:131 +#, c-format +msgid "no_rests: %d\n" +msgstr "" + +#: main.cc:133 +#, c-format +msgid "no_quantify_b_s: %d\n" +msgstr "" + +#: main.cc:135 +#, c-format +msgid "no_smaller_than: %d (1/%d)\n" +msgstr "" + +#: main.cc:138 +#, c-format +msgid "no_tuplets: %d\n" +msgstr "" + #: midi-parser.cc:64 msgid "zero length string encountered" msgstr "Zeichenkette der Länge 0 gefunden" @@ -1096,12 +1132,12 @@ msgstr "Quantifiziere Spalten..." msgid "Settling columns..." msgstr "Erledige Spalten..." -#: mudela-staff.cc:178 +#: mudela-staff.cc:209 #, fuzzy msgid "% MIDI copyright:" msgstr "% Midi Urheberrecht:" -#: mudela-staff.cc:179 +#: mudela-staff.cc:210 #, fuzzy msgid "% MIDI instrument:" msgstr "% Instrument:" @@ -1125,6 +1161,22 @@ msgstr "% Automatisch generiert" msgid "% from input file: " msgstr "% aus Eingabedatei: " +#~ msgid "Interpretation context with empty type" +#~ msgstr "Interpretationskontext mit leerer Typangabe" + +#~ msgid "can't find both ends of %s" +#~ msgstr "Kann nicht beide Enden von %s finden" + +#~ msgid "slur" +#~ msgstr "Bindebogen" + +#, fuzzy +#~ msgid "lost in time:" +#~ msgstr "Verloren in der Zeit" + +#~ msgid "Need a translator group for a context" +#~ msgstr "Ich brauche eine Übersetzer-Gruppe für den Kontext" + #, fuzzy #~ msgid "No key name, assuming `C'" #~ msgstr "Keine Tonart: ich nehme `C' an" diff --git a/po/fr.po b/po/fr.po index d8b6a122ce..488e91445d 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: lilypond 1.3.18\n" -"POT-Creation-Date: 2000-07-24 21:55+0200\n" +"POT-Creation-Date: 2000-09-17 12:01+0200\n" "PO-Revision-Date: 1999-12-28 00:32 +1\n" "Last-Translator: Laurent Martelli \n" "Language-Team: \n" @@ -64,7 +64,7 @@ msgid "can't map file" msgstr "impossible de mapper le fichier" #: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:111 -#: paper-stream.cc:25 scores.cc:37 simple-file-storage.cc:44 text-stream.cc:22 +#: paper-stream.cc:25 scores.cc:38 simple-file-storage.cc:44 text-stream.cc:22 #, c-format msgid "can't open file: `%s'" msgstr "impossible d'ouvrir le fichier: `%s'" @@ -102,59 +102,60 @@ msgstr "impossible de trouver le caract msgid "Error parsing AFM file" msgstr "" -#: all-font-metrics.cc:149 lookup.cc:80 +#: all-font-metrics.cc:151 lookup.cc:80 #, fuzzy, c-format msgid "can't find font: `%s'" msgstr "ne peut pas trouver le fichier: `%s'" -#: all-font-metrics.cc:150 +#: all-font-metrics.cc:152 #, fuzzy msgid "Loading default font" msgstr "Impossible de trouver la police `%s', chargement la police par défaut" -#: all-font-metrics.cc:167 +#: all-font-metrics.cc:169 #, fuzzy, c-format msgid "can't find default font: `%s'" msgstr "Impossible de trouver la fonte par défaut `%s', abandon." -#: all-font-metrics.cc:168 includable-lexer.cc:50 lookup.cc:81 scores.cc:108 +#: all-font-metrics.cc:170 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 #, fuzzy, c-format msgid "(search path: `%s')" msgstr "chemin de recherche= %s" -#: all-font-metrics.cc:169 +#: all-font-metrics.cc:171 msgid "Giving up" msgstr "" #: auto-change-iterator.cc:43 change-iterator.cc:60 +#: part-combine-music-iterator.cc:85 msgid "Can't switch translators, I'm there already" msgstr "" -#: beam-engraver.cc:75 beam-engraver.cc:91 +#: beam-engraver.cc:76 beam-engraver.cc:109 #, fuzzy msgid "can't find start of beam" msgstr "impossible de trouver le caractères numéro %d" -#: beam-engraver.cc:120 +#: beam-engraver.cc:138 #, fuzzy msgid "already have a beam" msgstr "Il y a déjà une barre" -#: beam-engraver.cc:177 +#: beam-engraver.cc:202 #, fuzzy msgid "unterminated beam" msgstr "Barre non terminée" -#: beam-engraver.cc:210 chord-tremolo-engraver.cc:172 +#: beam-engraver.cc:240 chord-tremolo-engraver.cc:176 #, fuzzy msgid "stem must have Rhythmic structure" msgstr "La tige doit avoir une structure rythmique." -#: beam-engraver.cc:221 +#: beam-engraver.cc:251 msgid "stem doesn't fit in beam" msgstr "la tige ne rentre pas dans la barre" -#: beam-engraver.cc:222 +#: beam-engraver.cc:252 msgid "beam was started here" msgstr "la barre a commencé ici" @@ -163,7 +164,7 @@ msgstr "la barre a commenc msgid "beam has less than two stems" msgstr "barre avec moins de deux tiges" -#: beam.cc:510 +#: beam.cc:511 msgid "weird beam vertical offset" msgstr "" @@ -199,17 +200,17 @@ msgstr "" msgid "no one to print a tremolos" msgstr "" -#: chord.cc:152 +#: chord.cc:162 #, c-format msgid "invalid subtraction: not part of chord: %s" msgstr "soustraction invalide: ne fait pas partie de l'accord: %s" -#: chord.cc:376 +#: chord.cc:386 #, c-format msgid "invalid inversion pitch: not part of chord: %s" msgstr "renversement invalide: ne fait pas partie de l'accord: %s" -#: clef-engraver.cc:167 +#: clef-engraver.cc:165 #, fuzzy msgid "unknown clef type" msgstr "type de clé inconnu" @@ -246,22 +247,22 @@ msgstr "impossible de positionner mem-checking" msgid "NaN" msgstr "" -#: dynamic-engraver.cc:184 span-dynamic-performer.cc:87 +#: dynamic-engraver.cc:192 span-dynamic-performer.cc:87 #, fuzzy msgid "can't find start of (de)crescendo" msgstr "ne peut pas trouver un (de)crescendo à la fin" -#: dynamic-engraver.cc:203 +#: dynamic-engraver.cc:213 #, fuzzy msgid "already have a crescendo" msgstr "Il y a déjà une barre" -#: dynamic-engraver.cc:204 +#: dynamic-engraver.cc:214 #, fuzzy msgid "already have a decrescendo" msgstr "Il y a déjà une barre" -#: dynamic-engraver.cc:289 +#: dynamic-engraver.cc:303 #, fuzzy msgid "unterminated (de)crescendo" msgstr "crescendo non terminé" @@ -305,12 +306,12 @@ msgid "wrong identifier type, expected: `%s'" msgstr "Mauvais type d'indentifiant: " #: includable-lexer.cc:48 lily-guile.cc:117 midi-score-parser.cc:24 -#: scores.cc:107 scores.cc:113 +#: scores.cc:108 scores.cc:114 #, c-format msgid "can't find file: `%s'" msgstr "ne peut pas trouver le fichier: `%s'" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-engraver.cc:101 key-performer.cc:54 msgid "FIXME: key change merge" msgstr "" @@ -342,11 +343,15 @@ msgstr "Annulation" msgid "Non-matching braces in text `%s', adding braces" msgstr "" -#: lyric-phrasing-engraver.cc:147 -msgid "lyrics found without matching notehead ... aligning on self" +#: lyric-phrasing-engraver.cc:245 +msgid "lyrics found without any matching notehead" +msgstr "" + +#: lyric-phrasing-engraver.cc:250 +msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:75 main.cc:92 +#: main.cc:75 main.cc:93 msgid "enable debugging output" msgstr "" @@ -358,7 +363,7 @@ msgstr "" msgid "use output format EXT (scm, ps, tex or as)" msgstr "" -#: main.cc:77 main.cc:93 +#: main.cc:77 main.cc:94 msgid "this help" msgstr "cette aide" @@ -371,7 +376,7 @@ msgstr "REP" msgid "add DIR to search path" msgstr "ajoute REP au chemin de recherche" -#: main.cc:79 main.cc:96 +#: main.cc:79 main.cc:97 msgid "FILE" msgstr "FICHIER" @@ -405,7 +410,7 @@ msgstr "" msgid "inhibit file output naming and exporting" msgstr "" -#: main.cc:85 main.cc:100 +#: main.cc:85 main.cc:102 msgid "don't timestamp the output" msgstr "" @@ -413,7 +418,7 @@ msgstr "" msgid "switch on experimental features" msgstr "" -#: main.cc:87 main.cc:101 +#: main.cc:87 main.cc:103 msgid "print version number" msgstr "afficher le numéro de version" @@ -421,20 +426,23 @@ msgstr "afficher le num msgid "verbose" msgstr "" -#: main.cc:89 main.cc:103 +#: main.cc:89 main.cc:105 msgid "show warranty and copyright" msgstr "" -#: main.cc:105 +#. +#. No version number or newline here. It confuses help2man +#. +#: main.cc:107 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Usage: %s [OPTION]... [FICHIER]..." -#: main.cc:107 +#: main.cc:109 msgid "Typeset music and or play MIDI from FILE" msgstr "" -#: main.cc:111 +#: main.cc:113 #, fuzzy msgid "" "LilyPond is a music typesetter. It produces beautiful sheet music\n" @@ -445,21 +453,21 @@ msgstr "" "paritions à partir de description de gaut niveau en entrée. Lilypond\n" "fait partie du projet GNU.\n" -#: main.cc:116 main.cc:117 +#: main.cc:118 main.cc:119 msgid "Options:" msgstr "Options: " -#: main.cc:121 +#: main.cc:123 #, fuzzy msgid "This binary was compiled with the following options:" msgstr "Cet exécutable a été compilé avec les options suivantes:" -#: main.cc:120 main.cc:140 +#: main.cc:122 main.cc:142 #, fuzzy, c-format msgid "Report bugs to %s" msgstr "Rapporter les bugs à" -#: main.cc:53 main.cc:148 +#: main.cc:54 main.cc:150 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -467,17 +475,17 @@ msgid "" "certain conditions. Invoke as `%s --warranty' for more information.\n" msgstr "" -#: main.cc:60 main.cc:155 main.cc:167 +#: main.cc:61 main.cc:157 main.cc:169 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s par" #. GNU GNU? -#: main.cc:165 +#: main.cc:167 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "GNU LilyPond -- Il tipografo musicale del progetto GNU" -#: main.cc:69 main.cc:173 +#: main.cc:70 main.cc:175 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License version 2\n" @@ -517,11 +525,7 @@ msgstr "" msgid "Error syncing file (disk full?)" msgstr ")" -#: music-output-def.cc:51 -msgid "Interpretation context with empty type" -msgstr "" - -#: music-output-def.cc:78 +#: music-output-def.cc:71 #, fuzzy, c-format msgid "can't find `%s' context" msgstr "ne peut pas trouver `%s'" @@ -531,21 +535,21 @@ msgstr "ne peut pas trouver `%s'" msgid "Transposition by %s makes accidental larger than two" msgstr "" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:124 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:143 #, c-format msgid "error at EOF: %s" msgstr "" -#: midi-score-parser.cc:94 my-lily-parser.cc:55 +#: midi-score-parser.cc:94 my-lily-parser.cc:47 msgid "Parsing..." msgstr "Analyse..." -#: my-lily-parser.cc:63 +#: my-lily-parser.cc:55 msgid "Braces don't match" msgstr "" @@ -566,6 +570,22 @@ msgstr "" msgid "Outputting Score, defined at: " msgstr "" +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: part-combine-music-iterator.cc:104 +#, c-format +msgid "I'm one myself: `%s'" +msgstr "" + +#: part-combine-music-iterator.cc:107 +#, c-format +msgid "none of these in my family: `%s'" +msgstr "" + #: performance.cc:50 #, fuzzy msgid "Track ... " @@ -596,30 +616,21 @@ msgstr "" msgid "can't find start of piano pedal: %s" msgstr "ne peut pas trouver le fichier: `%s'" -#: property-engraver.cc:128 +#: property-engraver.cc:131 #, fuzzy msgid "Wrong type for property" msgstr "Mauvais type pour la valeur de la propriété" -#: repeat-engraver.cc:253 -msgid "No bar engraver found. Ignoring repeats." -msgstr "" - -#: request-chord-iterator.cc:72 +#: request-chord-iterator.cc:93 #, c-format msgid "Junking request: `%s'" msgstr "" -#: request-chord-iterator.cc:75 +#: request-chord-iterator.cc:96 #, c-format msgid "Huh? Not a Request: `%s'" msgstr "" -#: request-iterator.cc:20 -#, c-format -msgid "Junking music: `%s'" -msgstr "" - #: rest-collision.cc:159 msgid "too many colliding rests" msgstr "" @@ -628,7 +639,7 @@ msgstr "" msgid "too many notes for rest collision" msgstr "" -#: score-engraver.cc:151 +#: score-engraver.cc:149 #, fuzzy, c-format msgid "unbound spanner `%s'" msgstr "traducteur inconnu `%s'" @@ -646,57 +657,58 @@ msgstr "" msgid "Errors found/*, not processing score*/" msgstr "" -#: score.cc:100 +#: score.cc:101 #, fuzzy, c-format msgid "elapsed time: %.2f seconds" msgstr "temps ecoulé: %.2f secondes" #: scores.cc:34 #, fuzzy, c-format -msgid "Writing dependency file: `%s'...\n" +msgid "Writing dependency file: `%s'..." msgstr "impossible d'ouvrir le fichier: `%s'" -#: scores.cc:78 +#: scores.cc:79 msgid "Score contains errors; will not process it" msgstr "" -#: scores.cc:123 -#, c-format -msgid "Now processing: `%s'\n" -msgstr "" +#: scores.cc:124 +#, fuzzy, c-format +msgid "Now processing: `%s'" +msgstr "chaîne d'échappement inconnue: `\\%s'" -#: script-engraver.cc:65 +#: script-engraver.cc:66 #, c-format msgid "Don't know how to interpret articulation `%s'" msgstr "" #. this shouldn't happen, but let's continue anyway. -#: separation-item.cc:48 +#: separation-item.cc:47 msgid "Separation_item: I've been drinking too much" msgstr "" -#: sequential-music-iterator.cc:83 +#: sequential-music-iterator.cc:35 msgid "Must stop before this music ends" msgstr "" -#: slur-engraver.cc:82 -msgid "unterminated slur" -msgstr "" - -#: slur-engraver.cc:98 +#: simple-music-iterator.cc:36 #, c-format -msgid "can't find both ends of %s" +msgid "Junking music: `%s'" msgstr "" -#: slur-engraver.cc:98 -msgid "slur" +#: slur-engraver.cc:89 +msgid "unterminated slur" msgstr "" +#: slur-engraver.cc:104 +#, fuzzy +msgid "can't find start of slur" +msgstr "impossible de trouver le caractères numéro %d" + #: slur.cc:48 msgid "Putting slur over rest. Ignoring." msgstr "" -#: slur.cc:122 +#: slur.cc:324 msgid "Slur over rest?" msgstr "" @@ -737,17 +749,6 @@ msgstr "liaison solitaire" msgid "no one to print a tuplet start bracket" msgstr "" -#: time-signature-engraver.cc:49 -#, fuzzy -msgid "lost in time:" -msgstr "perdu dans le temps" - -#: time-signature-engraver.cc:50 translator-group.cc:419 -#: translator-group.cc:428 -#, fuzzy, c-format -msgid "can't find: `%s'" -msgstr "ne peut pas trouver `%s'" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "" @@ -756,31 +757,41 @@ msgstr "" msgid "This is the other timing request" msgstr "" -#: timing-translator.cc:79 +#: timing-translator.cc:65 #, c-format msgid "barcheck failed at: %s" msgstr "" -#: translator-ctors.cc:41 +#: translator-ctors.cc:40 #, fuzzy, c-format msgid "unknown translator: `%s'" msgstr "traducteur inconnu `%s'" -#: translator-group.cc:82 translator-group.cc:95 +#: translator-def.cc:96 msgid "Program has no such type" msgstr "" -#: translator-group.cc:86 translator-group.cc:101 +#: translator-def.cc:102 #, fuzzy, c-format msgid "Already contains: `%s'" msgstr "Contient déjà un `%s'" -#: translator-group.cc:213 +#: translator-def.cc:103 +#, fuzzy, c-format +msgid "Not adding translator: `%s'" +msgstr "traducteur inconnu `%s'" + +#: translator-def.cc:215 +#, fuzzy, c-format +msgid "can't find: `%s'" +msgstr "ne peut pas trouver `%s'" + +#: translator-group.cc:142 #, c-format msgid "can't find or create `%s' called `%s'" msgstr "ne peut pas trouver ou créer `%s' nommé `%s'" -#: translator-group.cc:325 +#: translator-group.cc:246 #, fuzzy, c-format msgid "can't find or create: `%s'" msgstr "ne peut pas trouver ou créer `%s'" @@ -789,178 +800,203 @@ msgstr "ne peut pas trouver ou cr msgid "no one to print a volta bracket" msgstr "" -#: parser.yy:59 +#: parser.yy:61 #, c-format msgid "Oldest supported input version: %s" msgstr "Plus ancienne version supportée: %s" -#: parser.yy:426 -msgid "Need a translator group for a context" -msgstr "" - -#: parser.yy:441 +#: parser.yy:447 msgid "Wrong type for property value" msgstr "Mauvais type pour la valeur de la propriété" -#: parser.yy:626 +#: parser.yy:633 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:666 +#: parser.yy:673 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:671 +#: parser.yy:678 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:971 +#: parser.yy:1015 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:981 +#: parser.yy:1025 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1073 +#: parser.yy:1117 #, c-format msgid "Expecting %d arguments" msgstr "" -#: parser.yy:1089 +#: parser.yy:1133 msgid "Must have 2 arguments for duration" msgstr "" -#: parser.yy:1096 parser.yy:1104 parser.yy:1339 +#: parser.yy:1140 parser.yy:1148 parser.yy:1383 #, fuzzy msgid "Have to be in Lyric mode for lyrics" msgstr "il fayt être en mode Parole pour les paroles" -#: parser.yy:1245 parser.yy:1265 +#: parser.yy:1289 parser.yy:1309 #, c-format msgid "not a duration: %d" msgstr "pas une durée: %d" -#: parser.yy:1274 +#: parser.yy:1318 #, fuzzy msgid "Have to be in Note mode for notes" msgstr "il faut être en mode Note pour les notes" -#: parser.yy:1352 +#: parser.yy:1396 #, fuzzy msgid "Have to be in Chord mode for chords" msgstr "il faut être en mode Accord pour les accords" -#: parser.yy:1513 parser.yy:1531 +#: parser.yy:1558 parser.yy:1576 msgid "need integer number arg" msgstr "" -#: parser.yy:1517 +#: parser.yy:1562 msgid "Must be positive integer" msgstr "" -#: lexer.ll:158 +#: lexer.ll:159 msgid "EOF found inside a comment" msgstr "EOF trouvé dans un commentaire" -#: lexer.ll:172 +#: lexer.ll:173 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:196 +#: lexer.ll:197 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "indentifiant non défini: `%s'" #. backup rule -#: lexer.ll:201 +#: lexer.ll:202 msgid "Missing end quote" msgstr "" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:224 lexer.ll:228 msgid "white expected" msgstr "blanche attendue" -#: lexer.ll:235 +#: lexer.ll:236 msgid "Can't evaluate Scheme in safe mode" msgstr "" -#: lexer.ll:431 +#: lexer.ll:432 #, fuzzy, c-format msgid "invalid character: `%c'" msgstr "caractères illégal: `%c'" -#: lexer.ll:508 +#: lexer.ll:512 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "chaîne d'échappement inconnue: `\\%s'" -#: lexer.ll:594 +#: lexer.ll:598 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "version de mudela incorrecte: %s (%s, %s)" -#: lexer.ll:595 +#: lexer.ll:599 msgid "Consider converting the input with the convert-mudela script" msgstr "" -#: main.cc:91 +#: main.cc:92 msgid "write exact durations, e.g.: a4*385/384" msgstr "" -#: main.cc:94 +#: main.cc:95 msgid "ACC[:MINOR]" msgstr "" -#: main.cc:94 +#: main.cc:95 msgid "set key: ACC +sharps/-flats; :1 minor" msgstr "" -#: main.cc:95 -msgid "don't output tuplets or double dots, smallest is 32" +#: main.cc:96 +msgid "don't output tuplets, double dots or rests, smallest is 32" msgstr "" -#: main.cc:96 +#: main.cc:97 #, fuzzy msgid "set FILE as default output" msgstr " -o, --output=FILE set FILE come output di default\n" -#: main.cc:97 +#: main.cc:98 msgid "don't output tuplets" msgstr "" -#: main.cc:98 +#: main.cc:99 msgid "be quiet" msgstr "mode silencieux" -#: main.cc:99 +#: main.cc:100 +msgid "don't output rests or skips" +msgstr "" + +#: main.cc:101 msgid "DUR" msgstr "" -#: main.cc:99 +#: main.cc:101 #, fuzzy msgid "set smallest duration" msgstr "Positionne la plus petite durée (?)" -#: main.cc:102 +#: main.cc:104 msgid "be verbose" msgstr "" -#: main.cc:104 +#: main.cc:106 msgid "assume no double dotted notes" msgstr "" -#: main.cc:111 +#: main.cc:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]" msgstr "Usage: %s [OPTION... [FICHIER]" -#: main.cc:113 +#: main.cc:115 #, fuzzy msgid "Translate MIDI-file to mudela" msgstr "Traduction du fichier MIDI en mudela" +#: main.cc:129 +#, c-format +msgid "no_double_dots: %d\n" +msgstr "" + +#: main.cc:131 +#, c-format +msgid "no_rests: %d\n" +msgstr "" + +#: main.cc:133 +#, c-format +msgid "no_quantify_b_s: %d\n" +msgstr "" + +#: main.cc:135 +#, c-format +msgid "no_smaller_than: %d (1/%d)\n" +msgstr "" + +#: main.cc:138 +#, c-format +msgid "no_tuplets: %d\n" +msgstr "" + #: midi-parser.cc:64 msgid "zero length string encountered" msgstr "chaîne de taille vide rencontrée" @@ -1057,11 +1093,11 @@ msgstr "Quantification des colonnes..." msgid "Settling columns..." msgstr "" -#: mudela-staff.cc:178 +#: mudela-staff.cc:209 msgid "% MIDI copyright:" msgstr "" -#: mudela-staff.cc:179 +#: mudela-staff.cc:210 #, fuzzy msgid "% MIDI instrument:" msgstr "Pas d'instrument tel: `%s'" @@ -1085,6 +1121,10 @@ msgstr "% G msgid "% from input file: " msgstr "% dal file di input: " +#, fuzzy +#~ msgid "lost in time:" +#~ msgstr "perdu dans le temps" + #, fuzzy #~ msgid "No key name, assuming `C'" #~ msgstr "Pas de nom de clé: Do assumé" diff --git a/po/it.po b/po/it.po index 6d4b9d5dc6..961b893efe 100644 --- a/po/it.po +++ b/po/it.po @@ -5,7 +5,7 @@ #, fuzzy msgid "" msgstr "" -"POT-Creation-Date: 2000-07-24 21:55+0200\n" +"POT-Creation-Date: 2000-09-17 12:01+0200\n" "Content-Type: text/plain; charset=\n" "Date: 1998-05-30 00:17:12+0200\n" "From: \n" @@ -64,7 +64,7 @@ msgid "can't map file" msgstr "non posso mappare il documento" #: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:111 -#: paper-stream.cc:25 scores.cc:37 simple-file-storage.cc:44 text-stream.cc:22 +#: paper-stream.cc:25 scores.cc:38 simple-file-storage.cc:44 text-stream.cc:22 #, c-format msgid "can't open file: `%s'" msgstr "non posso aprire il file: `%s'" @@ -100,57 +100,58 @@ msgstr "non riesco a trovare il carattere `%s'" msgid "Error parsing AFM file" msgstr "" -#: all-font-metrics.cc:149 lookup.cc:80 +#: all-font-metrics.cc:151 lookup.cc:80 #, fuzzy, c-format msgid "can't find font: `%s'" msgstr "non trovo il file: `%s'" -#: all-font-metrics.cc:150 +#: all-font-metrics.cc:152 msgid "Loading default font" msgstr "" -#: all-font-metrics.cc:167 +#: all-font-metrics.cc:169 #, fuzzy, c-format msgid "can't find default font: `%s'" msgstr "non trovo il file: `%s'" -#: all-font-metrics.cc:168 includable-lexer.cc:50 lookup.cc:81 scores.cc:108 +#: all-font-metrics.cc:170 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 #, fuzzy, c-format msgid "(search path: `%s')" msgstr "(Il path di caricamento è `%s'" -#: all-font-metrics.cc:169 +#: all-font-metrics.cc:171 msgid "Giving up" msgstr "" #: auto-change-iterator.cc:43 change-iterator.cc:60 +#: part-combine-music-iterator.cc:85 msgid "Can't switch translators, I'm there already" msgstr "" -#: beam-engraver.cc:75 beam-engraver.cc:91 +#: beam-engraver.cc:76 beam-engraver.cc:109 #, fuzzy msgid "can't find start of beam" msgstr "non trovo le estremità di %s" -#: beam-engraver.cc:120 +#: beam-engraver.cc:138 msgid "already have a beam" msgstr "" -#: beam-engraver.cc:177 +#: beam-engraver.cc:202 #, fuzzy msgid "unterminated beam" msgstr "beam non terminato" -#: beam-engraver.cc:210 chord-tremolo-engraver.cc:172 +#: beam-engraver.cc:240 chord-tremolo-engraver.cc:176 #, fuzzy msgid "stem must have Rhythmic structure" msgstr "I gambi devono avere una struttura ritmica." -#: beam-engraver.cc:221 +#: beam-engraver.cc:251 msgid "stem doesn't fit in beam" msgstr "il gambo non rientra nel beam" -#: beam-engraver.cc:222 +#: beam-engraver.cc:252 msgid "beam was started here" msgstr "" @@ -159,7 +160,7 @@ msgstr "" msgid "beam has less than two stems" msgstr "beam con meno di due gambi" -#: beam.cc:510 +#: beam.cc:511 msgid "weird beam vertical offset" msgstr "" @@ -196,17 +197,17 @@ msgstr "beam non terminato" msgid "no one to print a tremolos" msgstr "" -#: chord.cc:152 +#: chord.cc:162 #, c-format msgid "invalid subtraction: not part of chord: %s" msgstr "" -#: chord.cc:376 +#: chord.cc:386 #, c-format msgid "invalid inversion pitch: not part of chord: %s" msgstr "" -#: clef-engraver.cc:167 +#: clef-engraver.cc:165 #, fuzzy msgid "unknown clef type" msgstr "tipo di chiave sconosciuto" @@ -243,22 +244,22 @@ msgstr "non posso settare mem-checking" msgid "NaN" msgstr "" -#: dynamic-engraver.cc:184 span-dynamic-performer.cc:87 +#: dynamic-engraver.cc:192 span-dynamic-performer.cc:87 #, fuzzy msgid "can't find start of (de)crescendo" msgstr "non trovo un (de)crescendo fino alla fine" -#: dynamic-engraver.cc:203 +#: dynamic-engraver.cc:213 #, fuzzy msgid "already have a crescendo" msgstr "crescendo non terminato" -#: dynamic-engraver.cc:204 +#: dynamic-engraver.cc:214 #, fuzzy msgid "already have a decrescendo" msgstr "crescendo non terminato" -#: dynamic-engraver.cc:289 +#: dynamic-engraver.cc:303 #, fuzzy msgid "unterminated (de)crescendo" msgstr "crescendo non terminato" @@ -303,12 +304,12 @@ msgid "wrong identifier type, expected: `%s'" msgstr "Tipo di identificatore sbagliato: " #: includable-lexer.cc:48 lily-guile.cc:117 midi-score-parser.cc:24 -#: scores.cc:107 scores.cc:113 +#: scores.cc:108 scores.cc:114 #, c-format msgid "can't find file: `%s'" msgstr "non trovo il file: `%s'" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-engraver.cc:101 key-performer.cc:54 msgid "FIXME: key change merge" msgstr "" @@ -340,11 +341,15 @@ msgstr "" msgid "Non-matching braces in text `%s', adding braces" msgstr "" -#: lyric-phrasing-engraver.cc:147 -msgid "lyrics found without matching notehead ... aligning on self" +#: lyric-phrasing-engraver.cc:245 +msgid "lyrics found without any matching notehead" +msgstr "" + +#: lyric-phrasing-engraver.cc:250 +msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:75 main.cc:92 +#: main.cc:75 main.cc:93 #, fuzzy msgid "enable debugging output" msgstr " -D, --debug abilita l'output di debugging\n" @@ -357,7 +362,7 @@ msgstr "" msgid "use output format EXT (scm, ps, tex or as)" msgstr "" -#: main.cc:77 main.cc:93 +#: main.cc:77 main.cc:94 msgid "this help" msgstr "" @@ -370,7 +375,7 @@ msgstr "" msgid "add DIR to search path" msgstr " -I, --include=DIR aggiunge DIR ai path di ricerca\n" -#: main.cc:79 main.cc:96 +#: main.cc:79 main.cc:97 msgid "FILE" msgstr "" @@ -413,7 +418,7 @@ msgstr "" " -s, --safe inibisce la rinomina dei file di output e " "l'esportazione di macro di TeX\n" -#: main.cc:85 main.cc:100 +#: main.cc:85 main.cc:102 #, fuzzy msgid "don't timestamp the output" msgstr "" @@ -424,7 +429,7 @@ msgstr "" msgid "switch on experimental features" msgstr " -t, --test usa le caratteristiche sperimentali\n" -#: main.cc:87 main.cc:101 +#: main.cc:87 main.cc:103 msgid "print version number" msgstr "" @@ -432,43 +437,46 @@ msgstr "" msgid "verbose" msgstr "" -#: main.cc:89 main.cc:103 +#: main.cc:89 main.cc:105 #, fuzzy msgid "show warranty and copyright" msgstr " -w, --warranty mostra la garanzia e il copyright\n" -#: main.cc:105 +#. +#. No version number or newline here. It confuses help2man +#. +#: main.cc:107 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Uso: %s [OPZIONE]... [FILE]..." -#: main.cc:107 +#: main.cc:109 #, fuzzy msgid "Typeset music and or play MIDI from FILE" msgstr "Stampa partitura oppure suona una song MIDI da FILE o " -#: main.cc:111 +#: main.cc:113 msgid "" "LilyPond is a music typesetter. It produces beautiful sheet music\n" "using a high level description file as input. LilyPond is part of \n" "the GNU Project.\n" msgstr "" -#: main.cc:116 main.cc:117 +#: main.cc:118 main.cc:119 msgid "Options:" msgstr "Opzioni: " -#: main.cc:121 +#: main.cc:123 #, fuzzy msgid "This binary was compiled with the following options:" msgstr "GNU LilyPond è stata compilata con le seguenti impostazioni:" -#: main.cc:120 main.cc:140 +#: main.cc:122 main.cc:142 #, c-format msgid "Report bugs to %s" msgstr "" -#: main.cc:53 main.cc:148 +#: main.cc:54 main.cc:150 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -476,17 +484,17 @@ msgid "" "certain conditions. Invoke as `%s --warranty' for more information.\n" msgstr "" -#: main.cc:60 main.cc:155 main.cc:167 +#: main.cc:61 main.cc:157 main.cc:169 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s di" #. GNU GNU? -#: main.cc:165 +#: main.cc:167 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "GNU LilyPond -- Il tipografo musicale del progetto GNU" -#: main.cc:69 main.cc:173 +#: main.cc:70 main.cc:175 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License version 2\n" @@ -541,11 +549,7 @@ msgstr "indicazione altezza priva di senso" msgid "Error syncing file (disk full?)" msgstr "errore nel sincronizzare il file (disco pieno?)" -#: music-output-def.cc:51 -msgid "Interpretation context with empty type" -msgstr "" - -#: music-output-def.cc:78 +#: music-output-def.cc:71 #, fuzzy, c-format msgid "can't find `%s' context" msgstr "non trovo `%s'" @@ -555,21 +559,21 @@ msgstr "non trovo `%s'" msgid "Transposition by %s makes accidental larger than two" msgstr "la trasposizine di %s rende le alterazioni più che doppie" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:124 #, fuzzy, c-format msgid "Identifier name is a keyword: `%s'" msgstr "Il nome dell'identificatore è una parola chiave (`%s')" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:143 #, c-format msgid "error at EOF: %s" msgstr "errore alla fine del file: %s" -#: midi-score-parser.cc:94 my-lily-parser.cc:55 +#: midi-score-parser.cc:94 my-lily-parser.cc:47 msgid "Parsing..." msgstr "Analisi..." -#: my-lily-parser.cc:63 +#: my-lily-parser.cc:55 #, fuzzy msgid "Braces don't match" msgstr "le bretelle no si accoppiano" @@ -592,6 +596,22 @@ msgstr "Pre-elaborazione..." msgid "Outputting Score, defined at: " msgstr "emetto lo Score, definito a: " +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: part-combine-music-iterator.cc:104 +#, c-format +msgid "I'm one myself: `%s'" +msgstr "" + +#: part-combine-music-iterator.cc:107 +#, c-format +msgid "none of these in my family: `%s'" +msgstr "" + #: performance.cc:50 #, fuzzy msgid "Track ... " @@ -622,30 +642,21 @@ msgstr "L'output MIDI msgid "can't find start of piano pedal: %s" msgstr "non risco a trovare una ruling note a %s" -#: property-engraver.cc:128 +#: property-engraver.cc:131 #, fuzzy msgid "Wrong type for property" msgstr "Tipo sbagliato per il valore di una proprietà" -#: repeat-engraver.cc:253 -msgid "No bar engraver found. Ignoring repeats." -msgstr "" - -#: request-chord-iterator.cc:72 +#: request-chord-iterator.cc:93 #, fuzzy, c-format msgid "Junking request: `%s'" msgstr "Cosa? Non è una richiesta: `%s'" -#: request-chord-iterator.cc:75 +#: request-chord-iterator.cc:96 #, fuzzy, c-format msgid "Huh? Not a Request: `%s'" msgstr "Cosa? Non è una richiesta: `%s'" -#: request-iterator.cc:20 -#, c-format -msgid "Junking music: `%s'" -msgstr "" - #: rest-collision.cc:159 #, fuzzy msgid "too many colliding rests" @@ -655,7 +666,7 @@ msgstr "Troppi crescendi" msgid "too many notes for rest collision" msgstr "" -#: score-engraver.cc:151 +#: score-engraver.cc:149 #, fuzzy, c-format msgid "unbound spanner `%s'" msgstr "Spanner non legato `%s'" @@ -675,59 +686,60 @@ msgstr "ho bisogno di musica nello spartito" msgid "Errors found/*, not processing score*/" msgstr "ho trovato un errore, /*non sto elaborando lo spartito*/" -#: score.cc:100 +#: score.cc:101 #, fuzzy, c-format msgid "elapsed time: %.2f seconds" msgstr "durata: %.2f secondi" #: scores.cc:34 #, fuzzy, c-format -msgid "Writing dependency file: `%s'...\n" +msgid "Writing dependency file: `%s'..." msgstr "scrivo il file delle dipendenze: `%s'..." -#: scores.cc:78 +#: scores.cc:79 #, fuzzy msgid "Score contains errors; will not process it" msgstr "lo spartito contiene errori; non lo elaborerò" -#: scores.cc:123 -#, c-format -msgid "Now processing: `%s'\n" -msgstr "" +#: scores.cc:124 +#, fuzzy, c-format +msgid "Now processing: `%s'" +msgstr "stringa di escape sconosciuta: `\\%s'" -#: script-engraver.cc:65 +#: script-engraver.cc:66 #, c-format msgid "Don't know how to interpret articulation `%s'" msgstr "" #. this shouldn't happen, but let's continue anyway. -#: separation-item.cc:48 +#: separation-item.cc:47 msgid "Separation_item: I've been drinking too much" msgstr "" -#: sequential-music-iterator.cc:83 +#: sequential-music-iterator.cc:35 msgid "Must stop before this music ends" msgstr "" -#: slur-engraver.cc:82 +#: simple-music-iterator.cc:36 +#, c-format +msgid "Junking music: `%s'" +msgstr "" + +#: slur-engraver.cc:89 msgid "unterminated slur" msgstr "slur non terminato" -#: slur-engraver.cc:98 -#, c-format -msgid "can't find both ends of %s" +#: slur-engraver.cc:104 +#, fuzzy +msgid "can't find start of slur" msgstr "non trovo le estremità di %s" -#: slur-engraver.cc:98 -msgid "slur" -msgstr "" - #: slur.cc:48 #, fuzzy msgid "Putting slur over rest. Ignoring." msgstr "Metto uno slur sulla pausa." -#: slur.cc:122 +#: slur.cc:324 #, fuzzy msgid "Slur over rest?" msgstr "Metto uno slur sulla pausa." @@ -769,17 +781,6 @@ msgstr "" msgid "no one to print a tuplet start bracket" msgstr "" -#: time-signature-engraver.cc:49 -#, fuzzy -msgid "lost in time:" -msgstr "mi sono persa nel tempo" - -#: time-signature-engraver.cc:50 translator-group.cc:419 -#: translator-group.cc:428 -#, fuzzy, c-format -msgid "can't find: `%s'" -msgstr "non trovo `%s'" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "richieste di timing in conflitto" @@ -788,31 +789,41 @@ msgstr "richieste di timing in conflitto" msgid "This is the other timing request" msgstr "" -#: timing-translator.cc:79 +#: timing-translator.cc:65 #, fuzzy, c-format msgid "barcheck failed at: %s" msgstr "controllo del battute fallito: %s" -#: translator-ctors.cc:41 +#: translator-ctors.cc:40 #, fuzzy, c-format msgid "unknown translator: `%s'" msgstr "traduttore sconosciuto `%s'" -#: translator-group.cc:82 translator-group.cc:95 +#: translator-def.cc:96 msgid "Program has no such type" msgstr "" -#: translator-group.cc:86 translator-group.cc:101 +#: translator-def.cc:102 #, c-format msgid "Already contains: `%s'" msgstr "" -#: translator-group.cc:213 +#: translator-def.cc:103 +#, fuzzy, c-format +msgid "Not adding translator: `%s'" +msgstr "traduttore sconosciuto `%s'" + +#: translator-def.cc:215 +#, fuzzy, c-format +msgid "can't find: `%s'" +msgstr "non trovo `%s'" + +#: translator-group.cc:142 #, c-format msgid "can't find or create `%s' called `%s'" msgstr "non trovo e non posso creare '%s' chiamato '%s'" -#: translator-group.cc:325 +#: translator-group.cc:246 #, fuzzy, c-format msgid "can't find or create: `%s'" msgstr "non trovo e non posso creare `%s'" @@ -821,187 +832,212 @@ msgstr "non trovo e non posso creare `%s'" msgid "no one to print a volta bracket" msgstr "" -#: parser.yy:59 +#: parser.yy:61 #, c-format msgid "Oldest supported input version: %s" msgstr "" -#: parser.yy:426 -msgid "Need a translator group for a context" -msgstr "Ho bisogno di un gruppo di traduzione per un contesto" - -#: parser.yy:441 +#: parser.yy:447 msgid "Wrong type for property value" msgstr "Tipo sbagliato per il valore di una proprietà" -#: parser.yy:626 +#: parser.yy:633 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:666 +#: parser.yy:673 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:671 +#: parser.yy:678 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:971 +#: parser.yy:1015 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:981 +#: parser.yy:1025 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1073 +#: parser.yy:1117 #, c-format msgid "Expecting %d arguments" msgstr "" -#: parser.yy:1089 +#: parser.yy:1133 msgid "Must have 2 arguments for duration" msgstr "" -#: parser.yy:1096 parser.yy:1104 parser.yy:1339 +#: parser.yy:1140 parser.yy:1148 parser.yy:1383 #, fuzzy msgid "Have to be in Lyric mode for lyrics" msgstr "bisogna essere in Lyric mode per i testi" -#: parser.yy:1245 parser.yy:1265 +#: parser.yy:1289 parser.yy:1309 #, c-format msgid "not a duration: %d" msgstr "non è una durata: %d" -#: parser.yy:1274 +#: parser.yy:1318 #, fuzzy msgid "Have to be in Note mode for notes" msgstr "bisogna essere in Note mode per le note" -#: parser.yy:1352 +#: parser.yy:1396 #, fuzzy msgid "Have to be in Chord mode for chords" msgstr "bisogna essere in Chord mode per gli accordi" -#: parser.yy:1513 parser.yy:1531 +#: parser.yy:1558 parser.yy:1576 msgid "need integer number arg" msgstr "" -#: parser.yy:1517 +#: parser.yy:1562 msgid "Must be positive integer" msgstr "" -#: lexer.ll:158 +#: lexer.ll:159 msgid "EOF found inside a comment" msgstr "ho trovato un EOF in un commento" -#: lexer.ll:172 +#: lexer.ll:173 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:196 +#: lexer.ll:197 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "indentificatore non definito: `%s'" #. backup rule -#: lexer.ll:201 +#: lexer.ll:202 #, fuzzy msgid "Missing end quote" msgstr "apice finale mancante" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:224 lexer.ll:228 msgid "white expected" msgstr "aspettavo uno spazio bianco" -#: lexer.ll:235 +#: lexer.ll:236 msgid "Can't evaluate Scheme in safe mode" msgstr "" -#: lexer.ll:431 +#: lexer.ll:432 #, fuzzy, c-format msgid "invalid character: `%c'" msgstr "carattere illegale: `%c'" -#: lexer.ll:508 +#: lexer.ll:512 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "stringa di escape sconosciuta: `\\%s'" -#: lexer.ll:594 +#: lexer.ll:598 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "versione di mudela errata: %s (%s, %s)" -#: lexer.ll:595 +#: lexer.ll:599 msgid "Consider converting the input with the convert-mudela script" msgstr "" -#: main.cc:91 +#: main.cc:92 #, fuzzy msgid "write exact durations, e.g.: a4*385/384" msgstr " -b, --no-quantify scrive durate esatte, p.es.: a4*385/384\n" -#: main.cc:94 +#: main.cc:95 msgid "ACC[:MINOR]" msgstr "" -#: main.cc:94 +#: main.cc:95 #, fuzzy msgid "set key: ACC +sharps/-flats; :1 minor" msgstr "" " -k, --key=ACC[:MINOR] imposta l'armatura: ACC +diesis/-bemolli; :1 minore\n" -#: main.cc:95 +#: main.cc:96 #, fuzzy -msgid "don't output tuplets or double dots, smallest is 32" +msgid "don't output tuplets, double dots or rests, smallest is 32" msgstr "" " -n, --no-silly assume che non ci siano gruppetti o doppi punti, la " "figura più piccola è 32\n" -#: main.cc:96 +#: main.cc:97 #, fuzzy msgid "set FILE as default output" msgstr " -o, --output=FILE set FILE come output di default\n" -#: main.cc:97 +#: main.cc:98 msgid "don't output tuplets" msgstr "" -#: main.cc:98 +#: main.cc:99 msgid "be quiet" msgstr "" -#: main.cc:99 +#: main.cc:100 +msgid "don't output rests or skips" +msgstr "" + +#: main.cc:101 msgid "DUR" msgstr "" -#: main.cc:99 +#: main.cc:101 #, fuzzy msgid "set smallest duration" msgstr "indicazione durata priva di senso" -#: main.cc:102 +#: main.cc:104 msgid "be verbose" msgstr "" -#: main.cc:104 +#: main.cc:106 #, fuzzy msgid "assume no double dotted notes" msgstr "" " -x, --no-double-dots assume che non ci siano note con doppio punto\n" -#: main.cc:111 +#: main.cc:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]" msgstr "Uso: %s [OPZIONE... [FILE]" -#: main.cc:113 +#: main.cc:115 #, fuzzy msgid "Translate MIDI-file to mudela" msgstr "Traduce un file midi in mudela" +#: main.cc:129 +#, c-format +msgid "no_double_dots: %d\n" +msgstr "" + +#: main.cc:131 +#, c-format +msgid "no_rests: %d\n" +msgstr "" + +#: main.cc:133 +#, c-format +msgid "no_quantify_b_s: %d\n" +msgstr "" + +#: main.cc:135 +#, c-format +msgid "no_smaller_than: %d (1/%d)\n" +msgstr "" + +#: main.cc:138 +#, c-format +msgid "no_tuplets: %d\n" +msgstr "" + #: midi-parser.cc:64 msgid "zero length string encountered" msgstr "ho incostrato una striga di lunghezza nulla" @@ -1098,11 +1134,11 @@ msgstr "Quantifico le colonne..." msgid "Settling columns..." msgstr "Sistemo le colonne..." -#: mudela-staff.cc:178 +#: mudela-staff.cc:209 msgid "% MIDI copyright:" msgstr "" -#: mudela-staff.cc:179 +#: mudela-staff.cc:210 #, fuzzy msgid "% MIDI instrument:" msgstr "% strumento:" @@ -1126,6 +1162,16 @@ msgstr "% Generato automaticamente" msgid "% from input file: " msgstr "% dal file di input: " +#~ msgid "can't find both ends of %s" +#~ msgstr "non trovo le estremità di %s" + +#, fuzzy +#~ msgid "lost in time:" +#~ msgstr "mi sono persa nel tempo" + +#~ msgid "Need a translator group for a context" +#~ msgstr "Ho bisogno di un gruppo di traduzione per un contesto" + #, fuzzy #~ msgid "No key name, assuming `C'" #~ msgstr "Nessuna armatura di chiave: assumo Do'" diff --git a/po/ja.po b/po/ja.po index 948b349c7f..3222c14fe4 100644 --- a/po/ja.po +++ b/po/ja.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: lilypond 1.2.17\n" -"POT-Creation-Date: 2000-07-24 21:55+0200\n" +"POT-Creation-Date: 2000-09-17 12:01+0200\n" "PO-Revision-Date: 2000-03-29 20:50+0900\n" "Last-Translator: Daisuke Yamashita \n" "Language-Team: Japanese \n" @@ -64,7 +64,7 @@ msgid "can't map file" msgstr "¥Õ¥¡¥¤¥ë¤ò¥Þ¥Ã¥×¤Ç¤­¤Þ¤»¤ó" #: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:111 -#: paper-stream.cc:25 scores.cc:37 simple-file-storage.cc:44 text-stream.cc:22 +#: paper-stream.cc:25 scores.cc:38 simple-file-storage.cc:44 text-stream.cc:22 #, fuzzy, c-format msgid "can't open file: `%s'" msgstr "¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó: `%s'" @@ -100,58 +100,59 @@ msgstr " msgid "Error parsing AFM file" msgstr "" -#: all-font-metrics.cc:149 lookup.cc:80 +#: all-font-metrics.cc:151 lookup.cc:80 #, fuzzy, c-format msgid "can't find font: `%s'" msgstr "¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'" -#: all-font-metrics.cc:150 +#: all-font-metrics.cc:152 msgid "Loading default font" msgstr "¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¤ò¥í¡¼¥É¤·¤Þ¤¹" -#: all-font-metrics.cc:167 +#: all-font-metrics.cc:169 #, fuzzy, c-format msgid "can't find default font: `%s'" msgstr "¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'" -#: all-font-metrics.cc:168 includable-lexer.cc:50 lookup.cc:81 scores.cc:108 +#: all-font-metrics.cc:170 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 #, c-format msgid "(search path: `%s')" msgstr "(¸¡º÷¥Ñ¥¹: `%s')" -#: all-font-metrics.cc:169 +#: all-font-metrics.cc:171 msgid "Giving up" msgstr "Äü¤á¤Þ¤·¤¿" #: auto-change-iterator.cc:43 change-iterator.cc:60 +#: part-combine-music-iterator.cc:85 msgid "Can't switch translators, I'm there already" msgstr "¥È¥é¥ó¥¹¥ì¡¼¥¿¤òÀÚ¤êÂؤ¨¤é¤ì¤Þ¤»¤ó¡£´û¤Ë¤½¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤¹" -#: beam-engraver.cc:75 beam-engraver.cc:91 +#: beam-engraver.cc:76 beam-engraver.cc:109 msgid "can't find start of beam" msgstr "" -#: beam-engraver.cc:120 +#: beam-engraver.cc:138 #, fuzzy msgid "already have a beam" msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹" -#: beam-engraver.cc:177 +#: beam-engraver.cc:202 #, fuzzy msgid "unterminated beam" msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó" -#: beam-engraver.cc:210 chord-tremolo-engraver.cc:172 +#: beam-engraver.cc:240 chord-tremolo-engraver.cc:176 #, fuzzy msgid "stem must have Rhythmic structure" msgstr "ÉäÈø¤Ï¥ê¥º¥à¹½Â¤¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: beam-engraver.cc:221 +#: beam-engraver.cc:251 #, fuzzy msgid "stem doesn't fit in beam" msgstr "ÉäÈø¤¬³Ã¤ÎÃæ¤Ë¤ª¤µ¤Þ¤ê¤Þ¤»¤ó" -#: beam-engraver.cc:222 +#: beam-engraver.cc:252 #, fuzzy msgid "beam was started here" msgstr "³Ã¤Ï¤³¤³¤«¤é³«»Ï¤µ¤ì¤Þ¤·¤¿" @@ -161,7 +162,7 @@ msgstr " msgid "beam has less than two stems" msgstr "³Ã¤¬Æó¤Ä̤Ëþ¤ÎÉäÈø¤È¤È¤â¤Ë»È¤ï¤ì¤Þ¤·¤¿" -#: beam.cc:510 +#: beam.cc:511 msgid "weird beam vertical offset" msgstr "¿âľÊý¸þ¤Î°ÌÃ֤Ȥ·¤Æ¤ª¤«¤·¤Ê³Ã" @@ -199,17 +200,17 @@ msgstr " msgid "no one to print a tremolos" msgstr "È¿Éüµ­¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó" -#: chord.cc:152 +#: chord.cc:162 #, c-format msgid "invalid subtraction: not part of chord: %s" msgstr "̵¸ú¤Ê°ú¤­»»: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: chord.cc:376 +#: chord.cc:386 #, c-format msgid "invalid inversion pitch: not part of chord: %s" msgstr "̵¸ú¤Êž²ó¥Ô¥Ã¥Á: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: clef-engraver.cc:167 +#: clef-engraver.cc:165 msgid "unknown clef type" msgstr "ÉÔÌÀ¤Ê²»Éôµ­¹æ(Clef)" @@ -245,22 +246,22 @@ msgstr " msgid "NaN" msgstr "NaN" -#: dynamic-engraver.cc:184 span-dynamic-performer.cc:87 +#: dynamic-engraver.cc:192 span-dynamic-performer.cc:87 #, fuzzy msgid "can't find start of (de)crescendo" msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: dynamic-engraver.cc:203 +#: dynamic-engraver.cc:213 #, fuzzy msgid "already have a crescendo" msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹" -#: dynamic-engraver.cc:204 +#: dynamic-engraver.cc:214 #, fuzzy msgid "already have a decrescendo" msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹" -#: dynamic-engraver.cc:289 +#: dynamic-engraver.cc:303 #, fuzzy msgid "unterminated (de)crescendo" msgstr "½ªÎ»¤·¤Æ¤¤¤Ê¤¤¥¯¥ì¥Ã¥·¥§¥ó¥É" @@ -303,12 +304,12 @@ msgid "wrong identifier type, expected: `%s'" msgstr "´Ö°ã¤Ã¤¿¼±Ê̻ҷ¿¡¢¤³¤³¤ËÍè¤ë¤Ù¤­¤â¤Î¤Ï: `%s'" #: includable-lexer.cc:48 lily-guile.cc:117 midi-score-parser.cc:24 -#: scores.cc:107 scores.cc:113 +#: scores.cc:108 scores.cc:114 #, fuzzy, c-format msgid "can't find file: `%s'" msgstr "¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-engraver.cc:101 key-performer.cc:54 msgid "FIXME: key change merge" msgstr "FIXME: ¥­¡¼Êѹ¹¤Î¥Þ¡¼¥¸" @@ -340,11 +341,15 @@ msgstr " msgid "Non-matching braces in text `%s', adding braces" msgstr "¥Æ¥­¥¹¥È `%s' Ãæ¤Ë°ìÃפ¹¤ë¥Ö¥ì¡¼¥¹¤¬¤¢¤ê¤Þ¤»¤ó¡£¥Ö¥ì¡¼¥¹¤òÄɲä·¤Þ¤¹" -#: lyric-phrasing-engraver.cc:147 -msgid "lyrics found without matching notehead ... aligning on self" +#: lyric-phrasing-engraver.cc:245 +msgid "lyrics found without any matching notehead" +msgstr "" + +#: lyric-phrasing-engraver.cc:250 +msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:75 main.cc:92 +#: main.cc:75 main.cc:93 msgid "enable debugging output" msgstr "¥Ç¥Ð¥Ã¥°½ÐÎϤòÍ­¸ú" @@ -357,7 +362,7 @@ msgstr "EXT" msgid "use output format EXT (scm, ps, tex or as)" msgstr "½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È EXT ¤ò»È¤¦" -#: main.cc:77 main.cc:93 +#: main.cc:77 main.cc:94 msgid "this help" msgstr "¤³¤Î¥Ø¥ë¥×" @@ -369,7 +374,7 @@ msgstr "DIR" msgid "add DIR to search path" msgstr "DIR ¤ò¸¡º÷¥Ñ¥¹¤ËÄɲÃ" -#: main.cc:79 main.cc:96 +#: main.cc:79 main.cc:97 msgid "FILE" msgstr "FILE" @@ -401,7 +406,7 @@ msgstr " msgid "inhibit file output naming and exporting" msgstr "̾Á°ÉÕ¤±¤È¥¨¥¯¥¹¥Ý¡¼¥È¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë¤òÍÞÀ©¤¹¤ë" -#: main.cc:85 main.cc:100 +#: main.cc:85 main.cc:102 msgid "don't timestamp the output" msgstr "½ÐÎϤ˥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¤Ä¤±¤Ê¤¤" @@ -409,7 +414,7 @@ msgstr " msgid "switch on experimental features" msgstr "¼Â¸³Åª¤Êµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë" -#: main.cc:87 main.cc:101 +#: main.cc:87 main.cc:103 msgid "print version number" msgstr "¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨" @@ -418,20 +423,23 @@ msgstr " msgid "verbose" msgstr "¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤·¤Þ¤¹" -#: main.cc:89 main.cc:103 +#: main.cc:89 main.cc:105 msgid "show warranty and copyright" msgstr "ÊݾڤÈÃøºî¸¢¤Ë¤Ä¤¤¤Æɽ¼¨¤¹¤ë" -#: main.cc:105 +#. +#. No version number or newline here. It confuses help2man +#. +#: main.cc:107 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [¥Õ¥¡¥¤¥ë]..." -#: main.cc:107 +#: main.cc:109 msgid "Typeset music and or play MIDI from FILE" msgstr "¥Õ¥¡¥¤¥ë¤Î³Ú¶Ê¤òÁÈÈǤ·¤¿¤ê¡¢MIDI ±éÁÕ¤·¤¿¤ê¤¹¤ë" -#: main.cc:111 +#: main.cc:113 msgid "" "LilyPond is a music typesetter. It produces beautiful sheet music\n" "using a high level description file as input. LilyPond is part of \n" @@ -441,20 +449,20 @@ msgstr "" "Èþ¤·¤¤ÉèÌ̤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£LilyPond ¤Ï GNU " "¥×¥í¥¸¥§¥¯¥È¤Î°ìÉô¤Ç¤¹¡£\n" -#: main.cc:116 main.cc:117 +#: main.cc:118 main.cc:119 msgid "Options:" msgstr "¥ª¥×¥·¥ç¥ó:" -#: main.cc:121 +#: main.cc:123 msgid "This binary was compiled with the following options:" msgstr "¤³¤Î¥Ð¥¤¥Ê¥ê¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤·¤¿" -#: main.cc:120 main.cc:140 +#: main.cc:122 main.cc:142 #, c-format msgid "Report bugs to %s" msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Ø" -#: main.cc:53 main.cc:148 +#: main.cc:54 main.cc:150 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -470,17 +478,17 @@ msgstr "" "¤³¤ì¤ò²þÊѤ·¤¿¤ê¡¢Ê£À½¤òÇÛÉÛ¤·¤¿¤ê¤¹¤ë»ö¤Ï´¿·Þ¤µ¤ì¤Þ¤¹¡£\n" "`--warranty' ¥ª¥×¥·¥ç¥óÉÕ¤­¤Çµ¯Æ°¤¹¤ë¤È¡¢¤è¤ê¾ÜºÙ¤Ê¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£\n" -#: main.cc:60 main.cc:155 main.cc:167 +#: main.cc:61 main.cc:157 main.cc:169 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s by" #. GNU GNU? -#: main.cc:165 +#: main.cc:167 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "GNU LilyPond -- The GNU Project music typesetter" -#: main.cc:69 main.cc:173 +#: main.cc:70 main.cc:175 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License version 2\n" @@ -549,11 +557,7 @@ msgstr " msgid "Error syncing file (disk full?)" msgstr "¥Õ¥¡¥¤¥ë¤ÎƱĴ¥¨¥é¡¼ (¥Ç¥£¥¹¥¯¤¬°ìÇÕ?)" -#: music-output-def.cc:51 -msgid "Interpretation context with empty type" -msgstr "¶õ¥¿¥¤¥×¤Î²ò¼á¥³¥ó¥Æ¥­¥¹¥È" - -#: music-output-def.cc:78 +#: music-output-def.cc:71 #, fuzzy, c-format msgid "can't find `%s' context" msgstr "`%s' ¥³¥ó¥Æ¥­¥¹¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" @@ -563,21 +567,21 @@ msgstr "`%s' msgid "Transposition by %s makes accidental larger than two" msgstr "%s ¤ÎÊÑÄ´¤Ë¤è¤Ã¤Æ¡¢Æó¤Ä¤òĶ¤¨¤ëÇÉÀ¸²»¤¬ºî¤é¤ì¤Þ¤·¤¿" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:124 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "¼±ÊÌ»Ò̾¤Ï¥­¡¼¥ï¡¼¥É¤Ç¤¹: `%s'" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:143 #, c-format msgid "error at EOF: %s" msgstr "EOF ¤Î¤È¤³¤í¤Ç¥¨¥é¡¼: %s" -#: midi-score-parser.cc:94 my-lily-parser.cc:55 +#: midi-score-parser.cc:94 my-lily-parser.cc:47 msgid "Parsing..." msgstr "¹½Ê¸²òÀÏÃæ..." -#: my-lily-parser.cc:63 +#: my-lily-parser.cc:55 msgid "Braces don't match" msgstr "¥Ö¥ì¡¼¥¹¤¬°ìÃפ·¤Þ¤»¤ó" @@ -598,6 +602,22 @@ msgstr " msgid "Outputting Score, defined at: " msgstr "ÉèÌ̤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤³¤ÇÄêµÁ: " +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: part-combine-music-iterator.cc:104 +#, fuzzy, c-format +msgid "I'm one myself: `%s'" +msgstr "¥È¥é¥ó¥¹¥ì¡¼¥¿¤½¤Î¤â¤Î¤Ç¤¹" + +#: part-combine-music-iterator.cc:107 +#, fuzzy, c-format +msgid "none of these in my family: `%s'" +msgstr "¥Õ¥¡¥ß¥ê¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó" + #: performance.cc:50 msgid "Track ... " msgstr "¥È¥é¥Ã¥¯ ..." @@ -627,30 +647,21 @@ msgstr "%s msgid "can't find start of piano pedal: %s" msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿Ê¸»ú¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'" -#: property-engraver.cc:128 +#: property-engraver.cc:131 #, fuzzy msgid "Wrong type for property" msgstr "°À­ÃͤؤΥ¿¥¤¥×¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: repeat-engraver.cc:253 -msgid "No bar engraver found. Ignoring repeats." -msgstr "¾®À᤬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£È¿Éü¤ò̵»ë¤·¤Þ¤¹¡£" - -#: request-chord-iterator.cc:72 +#: request-chord-iterator.cc:93 #, c-format msgid "Junking request: `%s'" msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'" -#: request-chord-iterator.cc:75 +#: request-chord-iterator.cc:96 #, c-format msgid "Huh? Not a Request: `%s'" msgstr "¤Ï? Í×µá¤Ç¤Ï¤Ê¤¤: `%s'" -#: request-iterator.cc:20 -#, fuzzy, c-format -msgid "Junking music: `%s'" -msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'" - #: rest-collision.cc:159 msgid "too many colliding rests" msgstr "µÙÉä¤Î¾×Æͤ¬Â¿¤¹¤®¤Þ¤¹" @@ -659,7 +670,7 @@ msgstr " msgid "too many notes for rest collision" msgstr "µÙÉä¤Î¾×ÆͤËÂФ·¤Æ²»É䤬¿¤¹¤®¤Þ¤¹" -#: score-engraver.cc:151 +#: score-engraver.cc:149 #, c-format msgid "unbound spanner `%s'" msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥¹¥Ñ¥Ê `%s'" @@ -677,58 +688,59 @@ msgstr " msgid "Errors found/*, not processing score*/" msgstr "¥¨¥é¡¼¤òȯ¸«/*, ³ÚÉè¤ò½èÍý¤·¤Þ¤»¤ó*/" -#: score.cc:100 +#: score.cc:101 #, c-format msgid "elapsed time: %.2f seconds" msgstr "·Ð²á»þ´Ö: %.2f ÉÃ" #: scores.cc:34 #, fuzzy, c-format -msgid "Writing dependency file: `%s'...\n" +msgid "Writing dependency file: `%s'..." msgstr "°Í¸´Ø·¸¥Õ¥¡¥¤¥ë¤Î½ñ¤­¹þ¤ß: `%s'..." -#: scores.cc:78 +#: scores.cc:79 msgid "Score contains errors; will not process it" msgstr "³ÚÉè¤Ë¥¨¥é¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹ -- ½èÍý¤·¤Þ¤»¤ó" -#: scores.cc:123 -#, c-format -msgid "Now processing: `%s'\n" -msgstr "" +#: scores.cc:124 +#, fuzzy, c-format +msgid "Now processing: `%s'" +msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×ʸ»úÎó: `\\%s'" -#: script-engraver.cc:65 +#: script-engraver.cc:66 #, c-format msgid "Don't know how to interpret articulation `%s'" msgstr "²»Àá `%s' ¤Î²ò¼áÊýË¡¤¬È½¤ê¤Þ¤»¤ó" #. this shouldn't happen, but let's continue anyway. -#: separation-item.cc:48 +#: separation-item.cc:47 #, fuzzy msgid "Separation_item: I've been drinking too much" msgstr "Single_malt_grouping_item: °û¤ß¤¹¤®¤Á¤ã¤Ã¤¿" -#: sequential-music-iterator.cc:83 +#: sequential-music-iterator.cc:35 msgid "Must stop before this music ends" msgstr "¤³¤Î³Ú¶Ê¤Î½ª¤ï¤ê¤Þ¤Ç¤Ë»ß¤á¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: slur-engraver.cc:82 +#: simple-music-iterator.cc:36 +#, fuzzy, c-format +msgid "Junking music: `%s'" +msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'" + +#: slur-engraver.cc:89 msgid "unterminated slur" msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥¹¥é¡¼" -#: slur-engraver.cc:98 -#, fuzzy, c-format -msgid "can't find both ends of %s" -msgstr "%s ¤Îξü¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" - -#: slur-engraver.cc:98 -msgid "slur" -msgstr "¥¹¥é¡¼" +#: slur-engraver.cc:104 +#, fuzzy +msgid "can't find start of slur" +msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" #: slur.cc:48 msgid "Putting slur over rest. Ignoring." msgstr "µÙÉä¤ò¤Þ¤¿¤¤¤À¥¹¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£Ìµ»ë¤·¤Þ¤¹¡£" -#: slur.cc:122 +#: slur.cc:324 msgid "Slur over rest?" msgstr "¥¹¥é¡¼¤¬µÙÉä¤ò¤Þ¤¿¤¤¤Ç¤¤¤ë?" @@ -768,16 +780,6 @@ msgstr " msgid "no one to print a tuplet start bracket" msgstr "¥¿¥×¥ì¥Ã¥È³«»Ï¥Ö¥é¥±¥Ã¥È¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó" -#: time-signature-engraver.cc:49 -msgid "lost in time:" -msgstr "Çï»Ò¤Ë̤¤¤Þ¤·¤¿:" - -#: time-signature-engraver.cc:50 translator-group.cc:419 -#: translator-group.cc:428 -#, fuzzy, c-format -msgid "can't find: `%s'" -msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "Çï»Ò¤ÎÍ׵᤬¶¥¹ç¤·¤Þ¤¹" @@ -786,31 +788,41 @@ msgstr " msgid "This is the other timing request" msgstr "" -#: timing-translator.cc:79 +#: timing-translator.cc:65 #, c-format msgid "barcheck failed at: %s" msgstr "¾®Àá¥Á¥§¥Ã¥¯¤¬¼ºÇÔ: %s" -#: translator-ctors.cc:41 +#: translator-ctors.cc:40 #, c-format msgid "unknown translator: `%s'" msgstr "Ƚ¤é¤Ê¤¤¥È¥é¥ó¥¹¥ì¡¼¥¿: `%s'" -#: translator-group.cc:82 translator-group.cc:95 +#: translator-def.cc:96 msgid "Program has no such type" msgstr "¥×¥í¥°¥é¥à¤Ë¤Ï¤½¤ÎÍͤʥ¿¥¤¥×¤¬¤¢¤ê¤Þ¤»¤ó" -#: translator-group.cc:86 translator-group.cc:101 +#: translator-def.cc:102 #, c-format msgid "Already contains: `%s'" msgstr "´û¤Ë´Þ¤ó¤Ç¤¤¤Þ¤¹: `%s'" -#: translator-group.cc:213 +#: translator-def.cc:103 +#, fuzzy, c-format +msgid "Not adding translator: `%s'" +msgstr "Ƚ¤é¤Ê¤¤¥È¥é¥ó¥¹¥ì¡¼¥¿: `%s'" + +#: translator-def.cc:215 +#, fuzzy, c-format +msgid "can't find: `%s'" +msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'" + +#: translator-group.cc:142 #, fuzzy, c-format msgid "can't find or create `%s' called `%s'" msgstr "`%2$s' ¤Ë¸Æ¤Ð¤ì¤¿ `%1$s' ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó" -#: translator-group.cc:325 +#: translator-group.cc:246 #, fuzzy, c-format msgid "can't find or create: `%s'" msgstr "¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó: `%s'" @@ -819,173 +831,198 @@ msgstr " msgid "no one to print a volta bracket" msgstr "volta ¥Ö¥é¥±¥Ã¥È¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó" -#: parser.yy:59 +#: parser.yy:61 #, c-format msgid "Oldest supported input version: %s" msgstr "°ìÈָŤ¤ÆþÎϲÄǽ¥Ð¡¼¥¸¥ç¥ó: %s" -#: parser.yy:426 -msgid "Need a translator group for a context" -msgstr "¥³¥ó¥Æ¥­¥¹¥È¤Ë¤Ï¥È¥é¥ó¥¹¥ì¡¼¥¿¥°¥ë¡¼¥×¤¬É¬ÍפǤ¹" - -#: parser.yy:441 +#: parser.yy:447 msgid "Wrong type for property value" msgstr "°À­ÃͤؤΥ¿¥¤¥×¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: parser.yy:626 +#: parser.yy:633 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "·«¤êÊÖ¤·¤è¤ê¤âÁªÂò»è¤¬Â¿¤¤¡£Ä¶²áʬ¤ò¼Î¤Æ¤Þ¤¹¡£" -#: parser.yy:666 +#: parser.yy:673 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:671 +#: parser.yy:678 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:971 +#: parser.yy:1015 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:981 +#: parser.yy:1025 msgid "Can't specify direction for this request" msgstr "¤³¤ÎÍ×µá¤ËÂФ¹¤ëÊý¸þ¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó" -#: parser.yy:1073 +#: parser.yy:1117 #, c-format msgid "Expecting %d arguments" msgstr "" -#: parser.yy:1089 +#: parser.yy:1133 msgid "Must have 2 arguments for duration" msgstr "" -#: parser.yy:1096 parser.yy:1104 parser.yy:1339 +#: parser.yy:1140 parser.yy:1148 parser.yy:1383 msgid "Have to be in Lyric mode for lyrics" msgstr "²Î»ì¤Ï Lyric ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤" -#: parser.yy:1245 parser.yy:1265 +#: parser.yy:1289 parser.yy:1309 #, c-format msgid "not a duration: %d" msgstr "²»Ä¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %d" -#: parser.yy:1274 +#: parser.yy:1318 msgid "Have to be in Note mode for notes" msgstr "²»Éä¤Ï Note ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤" -#: parser.yy:1352 +#: parser.yy:1396 msgid "Have to be in Chord mode for chords" msgstr "¥³¡¼¥É¤Ï Chord ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤" -#: parser.yy:1513 parser.yy:1531 +#: parser.yy:1558 parser.yy:1576 msgid "need integer number arg" msgstr "" -#: parser.yy:1517 +#: parser.yy:1562 msgid "Must be positive integer" msgstr "" -#: lexer.ll:158 +#: lexer.ll:159 msgid "EOF found inside a comment" msgstr "¥³¥á¥ó¥ÈÆâ¤Ë EOF ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿" -#: lexer.ll:172 +#: lexer.ll:173 msgid "\\maininput disallowed outside init files" msgstr "½é´ü²½¥Õ¥¡¥¤¥ë¤Î³°¤Ç¤Ï \\maininput ¤òµ­½Ò¤Ç¤­¤Þ¤»¤ó" -#: lexer.ll:196 +#: lexer.ll:197 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "̤ÄêµÁ¤Î¼±ÊÌ»Ò: `%s'" #. backup rule -#: lexer.ll:201 +#: lexer.ll:202 msgid "Missing end quote" msgstr "½ªÎ»¥¯¥ª¡¼¥È¤¬¤¢¤ê¤Þ¤»¤ó" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:224 lexer.ll:228 msgid "white expected" msgstr "¶õÇò¤¬É¬ÍפǤ¹" -#: lexer.ll:235 +#: lexer.ll:236 msgid "Can't evaluate Scheme in safe mode" msgstr "°ÂÁ´¥â¡¼¥É¤Ç¤Ï Scheme ¤Îɾ²Á¤ò¤Ç¤­¤Þ¤»¤ó" -#: lexer.ll:431 +#: lexer.ll:432 #, c-format msgid "invalid character: `%c'" msgstr "̵¸ú¤Êʸ»ú: `%c'" -#: lexer.ll:508 +#: lexer.ll:512 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×ʸ»úÎó: `\\%s'" -#: lexer.ll:594 +#: lexer.ll:598 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "´Ö°ã¤Ã¤¿ mudela ¥Ð¡¼¥¸¥ç¥ó: %s (%s, %s)" -#: lexer.ll:595 +#: lexer.ll:599 msgid "Consider converting the input with the convert-mudela script" msgstr "" -#: main.cc:91 +#: main.cc:92 msgid "write exact durations, e.g.: a4*385/384" msgstr "Àµ³Î¤Ê²»Ä¹¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£Îã: a4*385/384" -#: main.cc:94 +#: main.cc:95 msgid "ACC[:MINOR]" msgstr "ACC[:MINOR]" -#: main.cc:94 +#: main.cc:95 msgid "set key: ACC +sharps/-flats; :1 minor" msgstr "Ä´¤òÀßÄê: ACC +¥·¥ã¡¼¥×/-¥Õ¥é¥Ã¥È :1 ûĴ" -#: main.cc:95 +#: main.cc:96 #, fuzzy -msgid "don't output tuplets or double dots, smallest is 32" +msgid "don't output tuplets, double dots or rests, smallest is 32" msgstr "ÉäÅÀ¤äÊ£ÉäÅÀ¤ò¤Ê¤¯¤¹¤è¤¦»î¤ß¤Þ¤¹¡¢ºÇ¾®¤Ï 32" -#: main.cc:96 +#: main.cc:97 msgid "set FILE as default output" msgstr "¥Ç¥Õ¥©¥ë¥È½ÐÎϤȤ·¤Æ FILE ¤òÀßÄꤹ¤ë" -#: main.cc:97 +#: main.cc:98 msgid "don't output tuplets" msgstr "" -#: main.cc:98 +#: main.cc:99 msgid "be quiet" msgstr "ÀŤ«¤Ë¤·¤Þ¤¹" -#: main.cc:99 +#: main.cc:100 +msgid "don't output rests or skips" +msgstr "" + +#: main.cc:101 msgid "DUR" msgstr "DUR" -#: main.cc:99 +#: main.cc:101 msgid "set smallest duration" msgstr "²»Ä¹¤òºÇ¾®¤ËÀßÄꤷ¤Þ¤¹" -#: main.cc:102 +#: main.cc:104 msgid "be verbose" msgstr "¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤·¤Þ¤¹" -#: main.cc:104 +#: main.cc:106 msgid "assume no double dotted notes" msgstr "Ê£ÉäÅÀ²»Éä¤ò̵¤¯¤¹¤è¤¦»î¤ß¤Þ¤¹" -#: main.cc:111 +#: main.cc:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]" msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [¥Õ¥¡¥¤¥ë]" -#: main.cc:113 +#: main.cc:115 msgid "Translate MIDI-file to mudela" msgstr "MIDI ¥Õ¥¡¥¤¥ë¤ò mudela ¤ËÊÑ´¹¤·¤Þ¤¹" +#: main.cc:129 +#, c-format +msgid "no_double_dots: %d\n" +msgstr "" + +#: main.cc:131 +#, c-format +msgid "no_rests: %d\n" +msgstr "" + +#: main.cc:133 +#, c-format +msgid "no_quantify_b_s: %d\n" +msgstr "" + +#: main.cc:135 +#, c-format +msgid "no_smaller_than: %d (1/%d)\n" +msgstr "" + +#: main.cc:138 +#, c-format +msgid "no_tuplets: %d\n" +msgstr "" + #: midi-parser.cc:64 msgid "zero length string encountered" msgstr "Ťµ¥¼¥í¤Îʸ»úÎ󤬸½¤ï¤ì¤Þ¤·¤¿" @@ -1079,11 +1116,11 @@ msgstr " msgid "Settling columns..." msgstr "¥«¥é¥à¤ò·èÄꤷ¤Þ¤¹..." -#: mudela-staff.cc:178 +#: mudela-staff.cc:209 msgid "% MIDI copyright:" msgstr "% MIDI copyright:" -#: mudela-staff.cc:179 +#: mudela-staff.cc:210 msgid "% MIDI instrument:" msgstr "% MIDI instrument:" @@ -1106,6 +1143,25 @@ msgstr "% Automatically generated" msgid "% from input file: " msgstr "% from input file: " +#~ msgid "Interpretation context with empty type" +#~ msgstr "¶õ¥¿¥¤¥×¤Î²ò¼á¥³¥ó¥Æ¥­¥¹¥È" + +#~ msgid "No bar engraver found. Ignoring repeats." +#~ msgstr "¾®À᤬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£È¿Éü¤ò̵»ë¤·¤Þ¤¹¡£" + +#, fuzzy +#~ msgid "can't find both ends of %s" +#~ msgstr "%s ¤Îξü¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" + +#~ msgid "slur" +#~ msgstr "¥¹¥é¡¼" + +#~ msgid "lost in time:" +#~ msgstr "Çï»Ò¤Ë̤¤¤Þ¤·¤¿:" + +#~ msgid "Need a translator group for a context" +#~ msgstr "¥³¥ó¥Æ¥­¥¹¥È¤Ë¤Ï¥È¥é¥ó¥¹¥ì¡¼¥¿¥°¥ë¡¼¥×¤¬É¬ÍפǤ¹" + #~ msgid "Debug output disabled. Compiled with NPRINT." #~ msgstr "" #~ "¥Ç¥Ð¥Ã¥°½ÐÎϤ¬Ìµ¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£NPRINT ¤Ä¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤·¤¿¡£" diff --git a/po/lilypond.pot b/po/lilypond.pot index 156ac55f37..4a1243f802 100644 --- a/po/lilypond.pot +++ b/po/lilypond.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2000-07-24 22:01+0200\n" +"POT-Creation-Date: 2000-09-17 12:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -99,54 +99,55 @@ msgstr "" msgid "Error parsing AFM file" msgstr "" -#: all-font-metrics.cc:149 lookup.cc:80 +#: all-font-metrics.cc:151 lookup.cc:80 #, c-format msgid "can't find font: `%s'" msgstr "" -#: all-font-metrics.cc:150 +#: all-font-metrics.cc:152 msgid "Loading default font" msgstr "" -#: all-font-metrics.cc:167 +#: all-font-metrics.cc:169 #, c-format msgid "can't find default font: `%s'" msgstr "" -#: all-font-metrics.cc:168 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 +#: all-font-metrics.cc:170 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 #, c-format msgid "(search path: `%s')" msgstr "" -#: all-font-metrics.cc:169 +#: all-font-metrics.cc:171 msgid "Giving up" msgstr "" #: auto-change-iterator.cc:43 change-iterator.cc:60 +#: part-combine-music-iterator.cc:85 msgid "Can't switch translators, I'm there already" msgstr "" -#: beam-engraver.cc:75 beam-engraver.cc:91 +#: beam-engraver.cc:76 beam-engraver.cc:109 msgid "can't find start of beam" msgstr "" -#: beam-engraver.cc:120 +#: beam-engraver.cc:138 msgid "already have a beam" msgstr "" -#: beam-engraver.cc:177 +#: beam-engraver.cc:202 msgid "unterminated beam" msgstr "" -#: beam-engraver.cc:210 chord-tremolo-engraver.cc:172 +#: beam-engraver.cc:240 chord-tremolo-engraver.cc:176 msgid "stem must have Rhythmic structure" msgstr "" -#: beam-engraver.cc:221 +#: beam-engraver.cc:251 msgid "stem doesn't fit in beam" msgstr "" -#: beam-engraver.cc:222 +#: beam-engraver.cc:252 msgid "beam was started here" msgstr "" @@ -154,7 +155,7 @@ msgstr "" msgid "beam has less than two stems" msgstr "" -#: beam.cc:510 +#: beam.cc:511 msgid "weird beam vertical offset" msgstr "" @@ -190,17 +191,17 @@ msgstr "" msgid "no one to print a tremolos" msgstr "" -#: chord.cc:152 +#: chord.cc:162 #, c-format msgid "invalid subtraction: not part of chord: %s" msgstr "" -#: chord.cc:376 +#: chord.cc:386 #, c-format msgid "invalid inversion pitch: not part of chord: %s" msgstr "" -#: clef-engraver.cc:167 +#: clef-engraver.cc:165 msgid "unknown clef type" msgstr "" @@ -233,19 +234,19 @@ msgstr "" msgid "NaN" msgstr "" -#: dynamic-engraver.cc:184 span-dynamic-performer.cc:87 +#: dynamic-engraver.cc:192 span-dynamic-performer.cc:87 msgid "can't find start of (de)crescendo" msgstr "" -#: dynamic-engraver.cc:203 +#: dynamic-engraver.cc:213 msgid "already have a crescendo" msgstr "" -#: dynamic-engraver.cc:204 +#: dynamic-engraver.cc:214 msgid "already have a decrescendo" msgstr "" -#: dynamic-engraver.cc:289 +#: dynamic-engraver.cc:303 msgid "unterminated (de)crescendo" msgstr "" @@ -292,7 +293,7 @@ msgstr "" msgid "can't find file: `%s'" msgstr "" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-engraver.cc:101 key-performer.cc:54 msgid "FIXME: key change merge" msgstr "" @@ -324,11 +325,15 @@ msgstr "" msgid "Non-matching braces in text `%s', adding braces" msgstr "" -#: lyric-phrasing-engraver.cc:147 -msgid "lyrics found without matching notehead ... aligning on self" +#: lyric-phrasing-engraver.cc:245 +msgid "lyrics found without any matching notehead" +msgstr "" + +#: lyric-phrasing-engraver.cc:250 +msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:75 main.cc:92 +#: main.cc:75 main.cc:93 msgid "enable debugging output" msgstr "" @@ -340,7 +345,7 @@ msgstr "" msgid "use output format EXT (scm, ps, tex or as)" msgstr "" -#: main.cc:77 main.cc:93 +#: main.cc:77 main.cc:94 msgid "this help" msgstr "" @@ -352,7 +357,7 @@ msgstr "" msgid "add DIR to search path" msgstr "" -#: main.cc:79 main.cc:96 +#: main.cc:79 main.cc:97 msgid "FILE" msgstr "" @@ -384,7 +389,7 @@ msgstr "" msgid "inhibit file output naming and exporting" msgstr "" -#: main.cc:85 main.cc:100 +#: main.cc:85 main.cc:102 msgid "don't timestamp the output" msgstr "" @@ -392,7 +397,7 @@ msgstr "" msgid "switch on experimental features" msgstr "" -#: main.cc:87 main.cc:101 +#: main.cc:87 main.cc:103 msgid "print version number" msgstr "" @@ -400,40 +405,43 @@ msgstr "" msgid "verbose" msgstr "" -#: main.cc:89 main.cc:103 +#: main.cc:89 main.cc:105 msgid "show warranty and copyright" msgstr "" -#: main.cc:105 +#. +#. No version number or newline here. It confuses help2man +#. +#: main.cc:107 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "" -#: main.cc:107 +#: main.cc:109 msgid "Typeset music and or play MIDI from FILE" msgstr "" -#: main.cc:111 +#: main.cc:113 msgid "" "LilyPond is a music typesetter. It produces beautiful sheet music\n" "using a high level description file as input. LilyPond is part of \n" "the GNU Project.\n" msgstr "" -#: main.cc:116 main.cc:117 +#: main.cc:118 main.cc:119 msgid "Options:" msgstr "" -#: main.cc:121 +#: main.cc:123 msgid "This binary was compiled with the following options:" msgstr "" -#: main.cc:120 main.cc:140 +#: main.cc:122 main.cc:142 #, c-format msgid "Report bugs to %s" msgstr "" -#: main.cc:53 main.cc:148 +#: main.cc:54 main.cc:150 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -441,17 +449,17 @@ msgid "" "certain conditions. Invoke as `%s --warranty' for more information.\n" msgstr "" -#: main.cc:60 main.cc:155 main.cc:167 +#: main.cc:61 main.cc:157 main.cc:169 #, c-format msgid "Copyright (c) %s by" msgstr "" #. GNU GNU? -#: main.cc:165 +#: main.cc:167 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "" -#: main.cc:69 main.cc:173 +#: main.cc:70 main.cc:175 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License version 2\n" @@ -490,11 +498,7 @@ msgstr "" msgid "Error syncing file (disk full?)" msgstr "" -#: music-output-def.cc:51 -msgid "Interpretation context with empty type" -msgstr "" - -#: music-output-def.cc:78 +#: music-output-def.cc:71 #, c-format msgid "can't find `%s' context" msgstr "" @@ -504,21 +508,21 @@ msgstr "" msgid "Transposition by %s makes accidental larger than two" msgstr "" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:124 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:143 #, c-format msgid "error at EOF: %s" msgstr "" -#: midi-score-parser.cc:94 my-lily-parser.cc:55 +#: midi-score-parser.cc:94 my-lily-parser.cc:47 msgid "Parsing..." msgstr "" -#: my-lily-parser.cc:63 +#: my-lily-parser.cc:55 msgid "Braces don't match" msgstr "" @@ -539,6 +543,22 @@ msgstr "" msgid "Outputting Score, defined at: " msgstr "" +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: part-combine-music-iterator.cc:104 +#, c-format +msgid "I'm one myself: `%s'" +msgstr "" + +#: part-combine-music-iterator.cc:107 +#, c-format +msgid "none of these in my family: `%s'" +msgstr "" + #: performance.cc:50 msgid "Track ... " msgstr "" @@ -568,29 +588,20 @@ msgstr "" msgid "can't find start of piano pedal: %s" msgstr "" -#: property-engraver.cc:128 +#: property-engraver.cc:131 msgid "Wrong type for property" msgstr "" -#: repeat-engraver.cc:253 -msgid "No bar engraver found. Ignoring repeats." -msgstr "" - -#: request-chord-iterator.cc:72 +#: request-chord-iterator.cc:93 #, c-format msgid "Junking request: `%s'" msgstr "" -#: request-chord-iterator.cc:75 +#: request-chord-iterator.cc:96 #, c-format msgid "Huh? Not a Request: `%s'" msgstr "" -#: request-iterator.cc:20 -#, c-format -msgid "Junking music: `%s'" -msgstr "" - #: rest-collision.cc:159 msgid "too many colliding rests" msgstr "" @@ -599,7 +610,7 @@ msgstr "" msgid "too many notes for rest collision" msgstr "" -#: score-engraver.cc:151 +#: score-engraver.cc:149 #, c-format msgid "unbound spanner `%s'" msgstr "" @@ -617,7 +628,7 @@ msgstr "" msgid "Errors found/*, not processing score*/" msgstr "" -#: score.cc:100 +#: score.cc:101 #, c-format msgid "elapsed time: %.2f seconds" msgstr "" @@ -636,38 +647,38 @@ msgstr "" msgid "Now processing: `%s'" msgstr "" -#: script-engraver.cc:65 +#: script-engraver.cc:66 #, c-format msgid "Don't know how to interpret articulation `%s'" msgstr "" #. this shouldn't happen, but let's continue anyway. -#: separation-item.cc:48 +#: separation-item.cc:47 msgid "Separation_item: I've been drinking too much" msgstr "" -#: sequential-music-iterator.cc:83 +#: sequential-music-iterator.cc:35 msgid "Must stop before this music ends" msgstr "" -#: slur-engraver.cc:82 -msgid "unterminated slur" +#: simple-music-iterator.cc:36 +#, c-format +msgid "Junking music: `%s'" msgstr "" -#: slur-engraver.cc:98 -#, c-format -msgid "can't find both ends of %s" +#: slur-engraver.cc:89 +msgid "unterminated slur" msgstr "" -#: slur-engraver.cc:98 -msgid "slur" +#: slur-engraver.cc:104 +msgid "can't find start of slur" msgstr "" #: slur.cc:48 msgid "Putting slur over rest. Ignoring." msgstr "" -#: slur.cc:122 +#: slur.cc:324 msgid "Slur over rest?" msgstr "" @@ -707,16 +718,6 @@ msgstr "" msgid "no one to print a tuplet start bracket" msgstr "" -#: time-signature-engraver.cc:49 -msgid "lost in time:" -msgstr "" - -#: time-signature-engraver.cc:50 translator-group.cc:419 -#: translator-group.cc:428 -#, c-format -msgid "can't find: `%s'" -msgstr "" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "" @@ -725,31 +726,41 @@ msgstr "" msgid "This is the other timing request" msgstr "" -#: timing-translator.cc:79 +#: timing-translator.cc:65 #, c-format msgid "barcheck failed at: %s" msgstr "" -#: translator-ctors.cc:41 +#: translator-ctors.cc:40 #, c-format msgid "unknown translator: `%s'" msgstr "" -#: translator-group.cc:82 translator-group.cc:95 +#: translator-def.cc:96 msgid "Program has no such type" msgstr "" -#: translator-group.cc:86 translator-group.cc:101 +#: translator-def.cc:102 #, c-format msgid "Already contains: `%s'" msgstr "" -#: translator-group.cc:213 +#: translator-def.cc:103 +#, c-format +msgid "Not adding translator: `%s'" +msgstr "" + +#: translator-def.cc:215 +#, c-format +msgid "can't find: `%s'" +msgstr "" + +#: translator-group.cc:142 #, c-format msgid "can't find or create `%s' called `%s'" msgstr "" -#: translator-group.cc:325 +#: translator-group.cc:246 #, c-format msgid "can't find or create: `%s'" msgstr "" @@ -758,172 +769,197 @@ msgstr "" msgid "no one to print a volta bracket" msgstr "" -#: parser.yy:59 +#: parser.yy:61 #, c-format msgid "Oldest supported input version: %s" msgstr "" -#: parser.yy:426 -msgid "Need a translator group for a context" -msgstr "" - -#: parser.yy:441 +#: parser.yy:447 msgid "Wrong type for property value" msgstr "" -#: parser.yy:626 +#: parser.yy:633 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:666 +#: parser.yy:673 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:671 +#: parser.yy:678 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:971 +#: parser.yy:1015 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:981 +#: parser.yy:1025 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1073 +#: parser.yy:1117 #, c-format msgid "Expecting %d arguments" msgstr "" -#: parser.yy:1089 +#: parser.yy:1133 msgid "Must have 2 arguments for duration" msgstr "" -#: parser.yy:1096 parser.yy:1104 parser.yy:1339 +#: parser.yy:1140 parser.yy:1148 parser.yy:1383 msgid "Have to be in Lyric mode for lyrics" msgstr "" -#: parser.yy:1245 parser.yy:1265 +#: parser.yy:1289 parser.yy:1309 #, c-format msgid "not a duration: %d" msgstr "" -#: parser.yy:1274 +#: parser.yy:1318 msgid "Have to be in Note mode for notes" msgstr "" -#: parser.yy:1352 +#: parser.yy:1396 msgid "Have to be in Chord mode for chords" msgstr "" -#: parser.yy:1513 parser.yy:1531 +#: parser.yy:1558 parser.yy:1576 msgid "need integer number arg" msgstr "" -#: parser.yy:1517 +#: parser.yy:1562 msgid "Must be positive integer" msgstr "" -#: lexer.ll:158 +#: lexer.ll:159 msgid "EOF found inside a comment" msgstr "" -#: lexer.ll:172 +#: lexer.ll:173 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:196 +#: lexer.ll:197 #, c-format msgid "wrong or undefined identifier: `%s'" msgstr "" #. backup rule -#: lexer.ll:201 +#: lexer.ll:202 msgid "Missing end quote" msgstr "" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:224 lexer.ll:228 msgid "white expected" msgstr "" -#: lexer.ll:235 +#: lexer.ll:236 msgid "Can't evaluate Scheme in safe mode" msgstr "" -#: lexer.ll:431 +#: lexer.ll:432 #, c-format msgid "invalid character: `%c'" msgstr "" -#: lexer.ll:508 +#: lexer.ll:512 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "" -#: lexer.ll:594 +#: lexer.ll:598 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "" -#: lexer.ll:595 +#: lexer.ll:599 msgid "Consider converting the input with the convert-mudela script" msgstr "" -#: main.cc:91 +#: main.cc:92 msgid "write exact durations, e.g.: a4*385/384" msgstr "" -#: main.cc:94 +#: main.cc:95 msgid "ACC[:MINOR]" msgstr "" -#: main.cc:94 +#: main.cc:95 msgid "set key: ACC +sharps/-flats; :1 minor" msgstr "" -#: main.cc:95 -msgid "don't output tuplets or double dots, smallest is 32" +#: main.cc:96 +msgid "don't output tuplets, double dots or rests, smallest is 32" msgstr "" -#: main.cc:96 +#: main.cc:97 msgid "set FILE as default output" msgstr "" -#: main.cc:97 +#: main.cc:98 msgid "don't output tuplets" msgstr "" -#: main.cc:98 +#: main.cc:99 msgid "be quiet" msgstr "" -#: main.cc:99 +#: main.cc:100 +msgid "don't output rests or skips" +msgstr "" + +#: main.cc:101 msgid "DUR" msgstr "" -#: main.cc:99 +#: main.cc:101 msgid "set smallest duration" msgstr "" -#: main.cc:102 +#: main.cc:104 msgid "be verbose" msgstr "" -#: main.cc:104 +#: main.cc:106 msgid "assume no double dotted notes" msgstr "" -#: main.cc:111 +#: main.cc:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]" msgstr "" -#: main.cc:113 +#: main.cc:115 msgid "Translate MIDI-file to mudela" msgstr "" +#: main.cc:129 +#, c-format +msgid "no_double_dots: %d\n" +msgstr "" + +#: main.cc:131 +#, c-format +msgid "no_rests: %d\n" +msgstr "" + +#: main.cc:133 +#, c-format +msgid "no_quantify_b_s: %d\n" +msgstr "" + +#: main.cc:135 +#, c-format +msgid "no_smaller_than: %d (1/%d)\n" +msgstr "" + +#: main.cc:138 +#, c-format +msgid "no_tuplets: %d\n" +msgstr "" + #: midi-parser.cc:64 msgid "zero length string encountered" msgstr "" @@ -1016,11 +1052,11 @@ msgstr "" msgid "Settling columns..." msgstr "" -#: mudela-staff.cc:178 +#: mudela-staff.cc:209 msgid "% MIDI copyright:" msgstr "" -#: mudela-staff.cc:179 +#: mudela-staff.cc:210 msgid "% MIDI instrument:" msgstr "" @@ -1039,5 +1075,6 @@ msgid "% Automatically generated" msgstr "" #: mudela-stream.cc:97 +#, c-format msgid "% from input file: " msgstr "" diff --git a/po/nl.po b/po/nl.po index d906ebf66d..e0f7d4173c 100644 --- a/po/nl.po +++ b/po/nl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: lilypond 1.3.59\n" -"POT-Creation-Date: 2000-07-24 22:01+0200\n" +"POT-Creation-Date: 2000-09-17 12:01+0200\n" "PO-Revision-Date: 2000-06-09 02:23+0200\n" "Last-Translator: Jan Nieuwenhuizen \n" "Language-Team: Dutch \n" @@ -108,54 +108,55 @@ msgstr "kan teken niet vinden genaamd: `%s'" msgid "Error parsing AFM file" msgstr "Fout bij ontleden AFM bestand" -#: all-font-metrics.cc:149 lookup.cc:80 +#: all-font-metrics.cc:151 lookup.cc:80 #, c-format msgid "can't find font: `%s'" msgstr "kan font niet vinden: `%s'" -#: all-font-metrics.cc:150 +#: all-font-metrics.cc:152 msgid "Loading default font" msgstr "Laad verstek font" -#: all-font-metrics.cc:167 +#: all-font-metrics.cc:169 #, c-format msgid "can't find default font: `%s'" msgstr "kan verstekfont niet vinden: `%s'" -#: all-font-metrics.cc:168 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 +#: all-font-metrics.cc:170 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 #, c-format msgid "(search path: `%s')" msgstr "(zoekpad: `%s')" -#: all-font-metrics.cc:169 +#: all-font-metrics.cc:171 msgid "Giving up" msgstr "Geef op" #: auto-change-iterator.cc:43 change-iterator.cc:60 +#: part-combine-music-iterator.cc:85 msgid "Can't switch translators, I'm there already" msgstr "Kan niet wisselen van vertaler, ben al hier" -#: beam-engraver.cc:75 beam-engraver.cc:91 +#: beam-engraver.cc:76 beam-engraver.cc:109 msgid "can't find start of beam" msgstr "kan start van waardestreep niet vinden" -#: beam-engraver.cc:120 +#: beam-engraver.cc:138 msgid "already have a beam" msgstr "heb al een waardestreep" -#: beam-engraver.cc:177 +#: beam-engraver.cc:202 msgid "unterminated beam" msgstr "onbeëindigde waardestreep" -#: beam-engraver.cc:210 chord-tremolo-engraver.cc:172 +#: beam-engraver.cc:240 chord-tremolo-engraver.cc:176 msgid "stem must have Rhythmic structure" msgstr "stok moet Ritmische structuur hebben" -#: beam-engraver.cc:221 +#: beam-engraver.cc:251 msgid "stem doesn't fit in beam" msgstr "stok past niet in waardestreep" -#: beam-engraver.cc:222 +#: beam-engraver.cc:252 msgid "beam was started here" msgstr "waardestreep werd hier gestart" @@ -163,7 +164,7 @@ msgstr "waardestreep werd hier gestart" msgid "beam has less than two stems" msgstr "waardestreep heeft minder dan twee stokken" -#: beam.cc:510 +#: beam.cc:511 msgid "weird beam vertical offset" msgstr "rare verticale waardestreep verplaatsing" @@ -199,17 +200,17 @@ msgstr "onbe msgid "no one to print a tremolos" msgstr "niemand om tremolos af te drukken" -#: chord.cc:152 +#: chord.cc:162 #, c-format msgid "invalid subtraction: not part of chord: %s" msgstr "ongeldige aftrek: maakt geen deel uit van accoord: %s" -#: chord.cc:376 +#: chord.cc:386 #, c-format msgid "invalid inversion pitch: not part of chord: %s" msgstr "ongeldige inversie toon: geen onderdeel van accoord: %s" -#: clef-engraver.cc:167 +#: clef-engraver.cc:165 msgid "unknown clef type" msgstr "onbekend type sleutel" @@ -244,19 +245,19 @@ msgstr "kan geheugen controle niet zetten!" msgid "NaN" msgstr "NaN" -#: dynamic-engraver.cc:184 span-dynamic-performer.cc:87 +#: dynamic-engraver.cc:192 span-dynamic-performer.cc:87 msgid "can't find start of (de)crescendo" msgstr "kan start van (de)crescendo niet vinden" -#: dynamic-engraver.cc:203 +#: dynamic-engraver.cc:213 msgid "already have a crescendo" msgstr "heb al een crescendo" -#: dynamic-engraver.cc:204 +#: dynamic-engraver.cc:214 msgid "already have a decrescendo" msgstr "heb al een decrescendo" -#: dynamic-engraver.cc:289 +#: dynamic-engraver.cc:303 msgid "unterminated (de)crescendo" msgstr "onbeëindigd (de)crescendo" @@ -305,7 +306,7 @@ msgstr "verkeerd type identifier, verwachtte: `%s'" msgid "can't find file: `%s'" msgstr "kan bestand niet vinden: `%s'" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-engraver.cc:101 key-performer.cc:54 msgid "FIXME: key change merge" msgstr "MAAKME: toonsoort sleutel samenvoeging" @@ -337,11 +338,15 @@ msgstr "Breek af" msgid "Non-matching braces in text `%s', adding braces" msgstr "Ongepaarde haakjes in tekst `%s', voeg haakjes toe" -#: lyric-phrasing-engraver.cc:147 -msgid "lyrics found without matching notehead ... aligning on self" -msgstr "liedteksten gevonden zonder nootbolletje ... uitlijnen op zelf" +#: lyric-phrasing-engraver.cc:245 +msgid "lyrics found without any matching notehead" +msgstr "liedteksten gevonden zonder bijbehorend nootbolletje" + +#: lyric-phrasing-engraver.cc:250 +msgid "Huh? Melismatic note found to have associated lyrics." +msgstr "Huh? Melismatische noot blijkt bijbehorende liedtekst te hebben." -#: main.cc:75 main.cc:92 +#: main.cc:75 main.cc:93 msgid "enable debugging output" msgstr "maak ontluis uitvoer mogelijk" @@ -353,7 +358,7 @@ msgstr "EXT" msgid "use output format EXT (scm, ps, tex or as)" msgstr "gebruik uitvoer formaat EXT (scm, ps, tex of as)" -#: main.cc:77 main.cc:93 +#: main.cc:77 main.cc:94 msgid "this help" msgstr "deze hulp" @@ -365,7 +370,7 @@ msgstr "DIR" msgid "add DIR to search path" msgstr "voeg DIR toe aan zoekpad" -#: main.cc:79 main.cc:96 +#: main.cc:79 main.cc:97 msgid "FILE" msgstr "BESTAND" @@ -397,7 +402,7 @@ msgstr "toon veranderingen voor relatieve mode" msgid "inhibit file output naming and exporting" msgstr "verbied naamgeving van uitvoer bestand en exportering" -#: main.cc:85 main.cc:100 +#: main.cc:85 main.cc:102 msgid "don't timestamp the output" msgstr "geen tijdsstempel in de uitvoer" @@ -405,7 +410,7 @@ msgstr "geen tijdsstempel in de uitvoer" msgid "switch on experimental features" msgstr "zet experimentele kunstjes aan" -#: main.cc:87 main.cc:101 +#: main.cc:87 main.cc:103 msgid "print version number" msgstr "druk versienummer af" @@ -413,20 +418,23 @@ msgstr "druk versienummer af" msgid "verbose" msgstr "breedsprakig" -#: main.cc:89 main.cc:103 +#: main.cc:89 main.cc:105 msgid "show warranty and copyright" msgstr "toon garantie en auteursrechten" -#: main.cc:105 +#. +#. No version number or newline here. It confuses help2man +#. +#: main.cc:107 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Gebruik: %s [OPTIE]... [BESTAND]..." -#: main.cc:107 +#: main.cc:109 msgid "Typeset music and or play MIDI from FILE" msgstr "Zet muziek en of speel MIDI van BESTAND" -#: main.cc:111 +#: main.cc:113 msgid "" "LilyPond is a music typesetter. It produces beautiful sheet music\n" "using a high level description file as input. LilyPond is part of \n" @@ -436,22 +444,22 @@ msgstr "" "uitgaande van een hoog niveau beschrijving bestand. LilyPond \n" "maakt deel uit van het GNU Project.\n" -#: main.cc:116 main.cc:117 +#: main.cc:118 main.cc:119 msgid "Options:" msgstr "Opties:" -#: main.cc:121 +#: main.cc:123 msgid "This binary was compiled with the following options:" msgstr "Dit programma is gecompileerd met de volgende instellingen:" -#: main.cc:120 main.cc:140 +#: main.cc:122 main.cc:142 #, c-format msgid "Report bugs to %s" msgstr "" "Meld luizen in het programma aan %s;\n" "meld onjuistheden in de vertaling aan of " -#: main.cc:53 main.cc:148 +#: main.cc:54 main.cc:150 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -463,17 +471,17 @@ msgstr "" "onder bepaalde voorwaarden. Roep aan als `%s --warranty' voor meer\n" "informatie.\n" -#: main.cc:60 main.cc:155 main.cc:167 +#: main.cc:61 main.cc:157 main.cc:169 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s " #. GNU GNU? -#: main.cc:165 +#: main.cc:167 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "GNU LilyPond -- De Muziekzetter van het GNU Project" -#: main.cc:69 main.cc:173 +#: main.cc:70 main.cc:175 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License version 2\n" @@ -525,11 +533,7 @@ msgstr "rare toonhoogte" msgid "Error syncing file (disk full?)" msgstr "Fout by synchroniseren van bestand (disk vol?)" -#: music-output-def.cc:51 -msgid "Interpretation context with empty type" -msgstr "Vertolk context met leeg type" - -#: music-output-def.cc:78 +#: music-output-def.cc:71 #, c-format msgid "can't find `%s' context" msgstr "kan `%s' context niet vinden" @@ -539,21 +543,21 @@ msgstr "kan `%s' context niet vinden" msgid "Transposition by %s makes accidental larger than two" msgstr "Transponering van %s geeft tripel kruizen/mollen" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:124 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "Identifier naam is een sleutelwoord: `%s'" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:143 #, c-format msgid "error at EOF: %s" msgstr "fout bij EOF: %s" -#: midi-score-parser.cc:94 my-lily-parser.cc:55 +#: midi-score-parser.cc:94 my-lily-parser.cc:47 msgid "Parsing..." msgstr "Ontleden..." -#: my-lily-parser.cc:63 +#: my-lily-parser.cc:55 msgid "Braces don't match" msgstr "Haakjes paren niet" @@ -574,6 +578,20 @@ msgstr "Voorbewerken van elementen..." msgid "Outputting Score, defined at: " msgstr "Uitvoer van Score, gedefinieerd op: " +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: part-combine-music-iterator.cc:104 +msgid "I'm one myself: `%s'" +msgstr "Ben er zelf een: `%s'" + +#: part-combine-music-iterator.cc:107 +msgid "none of these in my family: `%s'" +msgstr "geen van deze in mijn gezin: `%s'" + #: performance.cc:50 msgid "Track ... " msgstr "Spoor ... " @@ -603,29 +621,20 @@ msgstr "MIDI uitvoer naar %s..." msgid "can't find start of piano pedal: %s" msgstr "kan start van piano pedaal niet vinden: %s" -#: property-engraver.cc:128 +#: property-engraver.cc:131 msgid "Wrong type for property" msgstr "Verkeerd type voor property" -#: repeat-engraver.cc:253 -msgid "No bar engraver found. Ignoring repeats." -msgstr "Geen bar engraver gevonden. Negeer herhalingen." - -#: request-chord-iterator.cc:72 +#: request-chord-iterator.cc:93 #, c-format msgid "Junking request: `%s'" msgstr "Schroot verzoek: `%s'" -#: request-chord-iterator.cc:75 +#: request-chord-iterator.cc:96 #, c-format msgid "Huh? Not a Request: `%s'" msgstr "Huh? Geen Request: `%s'" -#: request-iterator.cc:20 -#, c-format -msgid "Junking music: `%s'" -msgstr "Schroot muziek: `%s'" - #: rest-collision.cc:159 msgid "too many colliding rests" msgstr "te veel botsende rusten" @@ -634,7 +643,7 @@ msgstr "te veel botsende rusten" msgid "too many notes for rest collision" msgstr "te veel noten voor bosting met rusten" -#: score-engraver.cc:151 +#: score-engraver.cc:149 #, c-format msgid "unbound spanner `%s'" msgstr "ongebonden spanner `%s'" @@ -652,12 +661,13 @@ msgstr "Heb muziek nodig in een partituur" msgid "Errors found/*, not processing score*/" msgstr "Fouten gevonden, /*verwerk partituur niet */" -#: score.cc:100 +#: score.cc:101 #, c-format msgid "elapsed time: %.2f seconds" msgstr "duur: %.2f seconden" #: scores.cc:34 +#, c-format msgid "Writing dependency file: `%s'..." msgstr "Schijven van afhankelijkheden bestand: `%s'..." @@ -666,41 +676,42 @@ msgid "Score contains errors; will not process it" msgstr "Partituur bevat fouten; zal hem niet verwerken" #: scores.cc:124 +#, c-format msgid "Now processing: `%s'" msgstr "Nu wordt verwerkt: `%s'" -#: script-engraver.cc:65 +#: script-engraver.cc:66 #, c-format msgid "Don't know how to interpret articulation `%s'" msgstr "Weet niet hoe articulatie te vertolken `%s'" #. this shouldn't happen, but let's continue anyway. -#: separation-item.cc:48 +#: separation-item.cc:47 msgid "Separation_item: I've been drinking too much" msgstr "Separation_item: Ik heb te veel gedronken" -#: sequential-music-iterator.cc:83 +#: sequential-music-iterator.cc:35 msgid "Must stop before this music ends" msgstr "Moet stoppen voordat deze muziek ophoudt" -#: slur-engraver.cc:82 +#: simple-music-iterator.cc:36 +#, c-format +msgid "Junking music: `%s'" +msgstr "Schroot muziek: `%s'" + +#: slur-engraver.cc:89 msgid "unterminated slur" msgstr "onbeëindigde bindingsboog" -#: slur-engraver.cc:98 -#, c-format -msgid "can't find both ends of %s" -msgstr "kan niet beide uiteinden vinden van %s" - -#: slur-engraver.cc:98 -msgid "slur" -msgstr "bindingsboog" +#: slur-engraver.cc:104 +msgid "can't find start of slur" +msgstr "kan start van bindingsboog niet vinden" #: slur.cc:48 msgid "Putting slur over rest. Ignoring." msgstr "Zet bindingsboog over rust. Negeer." -#: slur.cc:122 +#: slur.cc:324 msgid "Slur over rest?" msgstr "Boogje over rust?" @@ -741,16 +752,6 @@ msgstr "eenzame overbinding" msgid "no one to print a tuplet start bracket" msgstr "niemand om een x-ool start haak af te drukken" -#: time-signature-engraver.cc:49 -msgid "lost in time:" -msgstr "verdwaald in de tijd:" - -#: time-signature-engraver.cc:50 translator-group.cc:419 -#: translator-group.cc:428 -#, c-format -msgid "can't find: `%s'" -msgstr "kan niet vinden: `%s'" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "strijdig timing verzoek" @@ -759,31 +760,41 @@ msgstr "strijdig timing verzoek" msgid "This is the other timing request" msgstr "Dit is het andere timing verzoek" -#: timing-translator.cc:79 +#: timing-translator.cc:65 #, c-format msgid "barcheck failed at: %s" msgstr "maatstreep controle gefaald op: %s" -#: translator-ctors.cc:41 +#: translator-ctors.cc:40 #, c-format msgid "unknown translator: `%s'" msgstr "onbekende papier varanderlijke: `%s'" -#: translator-group.cc:82 translator-group.cc:95 +#: translator-def.cc:96 msgid "Program has no such type" msgstr "Programma heeft geen dergelijk type" -#: translator-group.cc:86 translator-group.cc:101 +#: translator-def.cc:102 #, c-format msgid "Already contains: `%s'" msgstr "Bevat reeds: `%s'" -#: translator-group.cc:213 +#: translator-def.cc:103 +#, c-format +msgid "Not adding translator: `%s'" +msgstr "Voeg translator niet toe: `%s'" + +#: translator-def.cc:215 +#, c-format +msgid "can't find: `%s'" +msgstr "kan niet vinden: `%s'" + +#: translator-group.cc:142 #, c-format msgid "can't find or create `%s' called `%s'" msgstr "kan niet vinden of scheppen `%s' genaamd `%s'" -#: translator-group.cc:325 +#: translator-group.cc:246 #, c-format msgid "can't find or create: `%s'" msgstr "kan niet vinden of scheppen: `%s'" @@ -792,173 +803,198 @@ msgstr "kan niet vinden of scheppen: `%s'" msgid "no one to print a volta bracket" msgstr "niemand om een volta haak af te drukken" -#: parser.yy:59 +#: parser.yy:61 #, c-format msgid "Oldest supported input version: %s" msgstr "Oudst ondersteunde invoerversie: %s" -#: parser.yy:426 -msgid "Need a translator group for a context" -msgstr "Heb een translator groep nodig voor een context" - -#: parser.yy:441 +#: parser.yy:447 msgid "Wrong type for property value" msgstr "Verkeerd type voor property waarde" -#: parser.yy:626 +#: parser.yy:633 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" "Meer alternatieven dan herhalingen. Schroot overvloedige alternatieven." -#: parser.yy:666 +#: parser.yy:673 msgid "Second argument must be a symbol" msgstr "Tweede argument moet een symbool zijn" -#: parser.yy:671 +#: parser.yy:678 msgid "First argument must be a procedure taking 1 argument" msgstr "Eerste argument moet een procedure zijn met 1 argument" -#: parser.yy:971 +#: parser.yy:1015 msgid "Expecting string as script definition" msgstr "Verwacht string voor script definitie" -#: parser.yy:981 +#: parser.yy:1025 msgid "Can't specify direction for this request" msgstr "Kan richting voor dit verzoek niet specificeren" -#: parser.yy:1073 +#: parser.yy:1117 #, c-format msgid "Expecting %d arguments" msgstr "Verwacht %d argumenten" -#: parser.yy:1089 +#: parser.yy:1133 msgid "Must have 2 arguments for duration" msgstr "Moet 2 argumenten hebben voor duur" -#: parser.yy:1096 parser.yy:1104 parser.yy:1339 +#: parser.yy:1140 parser.yy:1148 parser.yy:1383 msgid "Have to be in Lyric mode for lyrics" msgstr "Moet in Lyric modus zijn voor liedteksten" -#: parser.yy:1245 parser.yy:1265 +#: parser.yy:1289 parser.yy:1309 #, c-format msgid "not a duration: %d" msgstr "geen duur: %d" -#: parser.yy:1274 +#: parser.yy:1318 msgid "Have to be in Note mode for notes" msgstr "Moet in Note modus zijn voor noten" -#: parser.yy:1352 +#: parser.yy:1396 msgid "Have to be in Chord mode for chords" msgstr "Moet in Chord modus zijn voor accoorden" -#: parser.yy:1513 parser.yy:1531 +#: parser.yy:1558 parser.yy:1576 msgid "need integer number arg" msgstr "heb integer getal arg nogig" -#: parser.yy:1517 +#: parser.yy:1562 msgid "Must be positive integer" msgstr "Moet positieve integer zijn" -#: lexer.ll:158 +#: lexer.ll:159 msgid "EOF found inside a comment" msgstr "EOF gevonden in een kommentaar" -#: lexer.ll:172 +#: lexer.ll:173 msgid "\\maininput disallowed outside init files" msgstr "\\maininput niet toegestaan buiten init bestanden" -#: lexer.ll:196 +#: lexer.ll:197 #, c-format msgid "wrong or undefined identifier: `%s'" msgstr "verkeerde of ongedefiniëerde identifier: `%s'" #. backup rule -#: lexer.ll:201 +#: lexer.ll:202 msgid "Missing end quote" msgstr "Aanhalingsteken sluiten mist" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:224 lexer.ll:228 msgid "white expected" msgstr "wit verwacht" -#: lexer.ll:235 +#: lexer.ll:236 msgid "Can't evaluate Scheme in safe mode" msgstr "Kan Scheme niet evalueren in veilige modus" -#: lexer.ll:431 +#: lexer.ll:432 #, c-format msgid "invalid character: `%c'" msgstr "ongeldig teken: `%c'" -#: lexer.ll:508 +#: lexer.ll:512 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "onbekende ontsnapte string: `\\%s'" -#: lexer.ll:594 +#: lexer.ll:598 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "verkeerde mudela versie: %s (%s, %s)" -#: lexer.ll:595 +#: lexer.ll:599 msgid "Consider converting the input with the convert-mudela script" msgstr "Overweeg de invoer te converteren met het convert-mudela script" -#: main.cc:91 +#: main.cc:92 msgid "write exact durations, e.g.: a4*385/384" msgstr "schrijf exacte duren, bijv.: a4*385/384" -#: main.cc:94 +#: main.cc:95 msgid "ACC[:MINOR]" msgstr "ACC[:MINEUR]" -#: main.cc:94 +#: main.cc:95 msgid "set key: ACC +sharps/-flats; :1 minor" msgstr "zet toonsoort: ACC +kruizen/-mollen; :1 mineur" -#: main.cc:95 -msgid "don't output tuplets or double dots, smallest is 32" +#: main.cc:96 +msgid "don't output tuplets, double dots or rests, smallest is 32" msgstr "maak geen n-olen of dubbel gepunkteerd, kortste is 32" -#: main.cc:96 +#: main.cc:97 msgid "set FILE as default output" msgstr "zet BESTAND als verstek uitvoer" -#: main.cc:97 +#: main.cc:98 msgid "don't output tuplets" msgstr "maak geen n-olen" -#: main.cc:98 +#: main.cc:99 msgid "be quiet" msgstr "wees stil" -#: main.cc:99 +#: main.cc:100 +msgid "don't output rests or skips" +msgstr "maak geen rusten of skips" + +#: main.cc:101 msgid "DUR" msgstr "DUUR" -#: main.cc:99 +#: main.cc:101 msgid "set smallest duration" msgstr "zet kortste duur" -#: main.cc:102 +#: main.cc:104 msgid "be verbose" msgstr "wees breedsprakig" -#: main.cc:104 +#: main.cc:106 msgid "assume no double dotted notes" msgstr "ga niet uit van dubbel gepunteerde noten" -#: main.cc:111 +#: main.cc:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]" msgstr "Gebruik: %s [OPTIE]... [BESTAND]" -#: main.cc:113 +#: main.cc:115 msgid "Translate MIDI-file to mudela" msgstr "Vertaal MIDI-bestand naar mudela" +#: main.cc:129 +#, c-format +msgid "no_double_dots: %d\n" +msgstr "" + +#: main.cc:131 +#, c-format +msgid "no_rests: %d\n" +msgstr "" + +#: main.cc:133 +#, c-format +msgid "no_quantify_b_s: %d\n" +msgstr "" + +#: main.cc:135 +#, c-format +msgid "no_smaller_than: %d (1/%d)\n" +msgstr "" + +#: main.cc:138 +#, c-format +msgid "no_tuplets: %d\n" +msgstr "" + #: midi-parser.cc:64 msgid "zero length string encountered" msgstr "string van lengte nul tegengekomen" @@ -1051,11 +1087,11 @@ msgstr "Kwantificeren van kolommen..." msgid "Settling columns..." msgstr "Zetten van kolommen..." -#: mudela-staff.cc:178 +#: mudela-staff.cc:209 msgid "% MIDI copyright:" msgstr "% MIDI copyright:" -#: mudela-staff.cc:179 +#: mudela-staff.cc:210 msgid "% MIDI instrument:" msgstr "% MIDI instrument:" @@ -1074,5 +1110,6 @@ msgid "% Automatically generated" msgstr "% Automatisch gegenereerd" #: mudela-stream.cc:97 +#, c-format msgid "% from input file: " msgstr "% van invoerbestand: " diff --git a/po/ru.po b/po/ru.po index 49b8baccbe..c3f3dcae8f 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2000-07-24 21:55+0200\n" +"POT-Creation-Date: 2000-09-17 12:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: August S.Sigov \n" "Language-Team: Russian \n" @@ -63,7 +63,7 @@ msgid "can't map file" msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÆÁÊÌ × ÐÁÍÑÔØ" #: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:111 -#: paper-stream.cc:25 scores.cc:37 simple-file-storage.cc:44 text-stream.cc:22 +#: paper-stream.cc:25 scores.cc:38 simple-file-storage.cc:44 text-stream.cc:22 #, c-format msgid "can't open file: `%s'" msgstr "ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ ÆÁÊÌ: `%s'" @@ -99,54 +99,55 @@ msgstr " msgid "Error parsing AFM file" msgstr "ïÛÉÂËÁ ÐÒÉ ÁÎÁÌÉÚÅ ÆÁÊÌÁ AFM" -#: all-font-metrics.cc:149 lookup.cc:80 +#: all-font-metrics.cc:151 lookup.cc:80 #, c-format msgid "can't find font: `%s'" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÛÒÉÆÔ: `%s'" -#: all-font-metrics.cc:150 +#: all-font-metrics.cc:152 msgid "Loading default font" msgstr "úÁÇÒÕÖÁÀ ÛÒÉÆÔ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: all-font-metrics.cc:167 +#: all-font-metrics.cc:169 #, c-format msgid "can't find default font: `%s'" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÛÒÉÆÔ ÐÏ ÕÍÏÌÞÁÎÉÀ: `%s'" -#: all-font-metrics.cc:168 includable-lexer.cc:50 lookup.cc:81 scores.cc:108 +#: all-font-metrics.cc:170 includable-lexer.cc:50 lookup.cc:81 scores.cc:109 #, c-format msgid "(search path: `%s')" msgstr "(ÐÕÔØ ÐÏÉÓËÁ: `%s')" -#: all-font-metrics.cc:169 +#: all-font-metrics.cc:171 msgid "Giving up" msgstr "óÄÁÀÓØ" #: auto-change-iterator.cc:43 change-iterator.cc:60 +#: part-combine-music-iterator.cc:85 msgid "Can't switch translators, I'm there already" msgstr "îÅ ÍÏÇÕ ÐÅÒÅËÌÀÞÉÔØ ÐÅÒÅ×ÏÄÞÉËÏ×, Ñ ÕÖÅ ÔÁÍ" -#: beam-engraver.cc:75 beam-engraver.cc:91 +#: beam-engraver.cc:76 beam-engraver.cc:109 msgid "can't find start of beam" msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ" -#: beam-engraver.cc:120 +#: beam-engraver.cc:138 msgid "already have a beam" msgstr "ÕÖÅ ÉÍÅÅÍ ÇÒÕÐÐÕ ÛÔÉÌÅÊ" -#: beam-engraver.cc:177 +#: beam-engraver.cc:202 msgid "unterminated beam" msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÇÒÕÐÐÉÒÏ×ËÁ ÛÔÉÌÅÊ" -#: beam-engraver.cc:210 chord-tremolo-engraver.cc:172 +#: beam-engraver.cc:240 chord-tremolo-engraver.cc:176 msgid "stem must have Rhythmic structure" msgstr "ÛÔÉÌØ ÄÏÌÖÅÎ ÉÍÅÔØ ÒÉÔÍÏ×ÕÀ ÓÔÒÕËÔÕÒÕ" -#: beam-engraver.cc:221 +#: beam-engraver.cc:251 msgid "stem doesn't fit in beam" msgstr "ÛÔÉÌØ ÎÅ ×ÌÅÚÁÅÔ × ÇÒÕÐÐÉÒÏ×ËÕ" -#: beam-engraver.cc:222 +#: beam-engraver.cc:252 msgid "beam was started here" msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÎÁÞÉÎÁÌÁÓØ ÚÄÅÓØ" @@ -154,7 +155,7 @@ msgstr " msgid "beam has less than two stems" msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÍÅÎÅÅ Ä×ÕÈ ÛÔÉÌÅÊ" -#: beam.cc:510 +#: beam.cc:511 msgid "weird beam vertical offset" msgstr "ÄÉËÏÅ ×ÅÒÔÉËÁÌØÎÏÅ ÓÍÅÝÅÎÉÅ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ" @@ -191,17 +192,17 @@ msgstr " msgid "no one to print a tremolos" msgstr "ÎÅËÏÍÕ ÒÉÓÏ×ÁÔØ ÓËÏÂÕ ÐÏ×ÔÏÒÁ" -#: chord.cc:152 +#: chord.cc:162 #, c-format msgid "invalid subtraction: not part of chord: %s" msgstr "ÎÅ×ÅÒÎÏÅ ×ÙÞÉÔÁÎÉÅ: ÎÅ ÞÁÓÔØ ÁËËÏÒÄÁ: %s" -#: chord.cc:376 +#: chord.cc:386 #, c-format msgid "invalid inversion pitch: not part of chord: %s" msgstr "" -#: clef-engraver.cc:167 +#: clef-engraver.cc:165 msgid "unknown clef type" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ ËÌÀÞÁ" @@ -235,19 +236,19 @@ msgstr " msgid "NaN" msgstr "NaN" -#: dynamic-engraver.cc:184 span-dynamic-performer.cc:87 +#: dynamic-engraver.cc:192 span-dynamic-performer.cc:87 msgid "can't find start of (de)crescendo" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÎÁÞÁÌÏ (ÄÅ)ËÒÅÝÅÎÄÏ" -#: dynamic-engraver.cc:203 +#: dynamic-engraver.cc:213 msgid "already have a crescendo" msgstr "ËÒÅÝÅÎÄÏ ÕÖÅ ÅÓÔØ" -#: dynamic-engraver.cc:204 +#: dynamic-engraver.cc:214 msgid "already have a decrescendo" msgstr "ÄÅËÒÅÝÅÎÄÏ ÕÖÅ ÅÓÔØ" -#: dynamic-engraver.cc:289 +#: dynamic-engraver.cc:303 msgid "unterminated (de)crescendo" msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ (ÄÅ)ËÒÅÝÅÎÄÏ" @@ -289,12 +290,12 @@ msgid "wrong identifier type, expected: `%s'" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÐÅÒÅÍÅÎÎÏÊ, ÏÖÉÄÁÌÓÑ: `%s'" #: includable-lexer.cc:48 lily-guile.cc:117 midi-score-parser.cc:24 -#: scores.cc:107 scores.cc:113 +#: scores.cc:108 scores.cc:114 #, c-format msgid "can't find file: `%s'" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÆÁÊÌ: `%s'" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-engraver.cc:101 key-performer.cc:54 msgid "FIXME: key change merge" msgstr "éóðòá÷øíåîñ: ÓÌÉÑÎÉÅ ÓÍÅÎÙ ËÌÀÞÁ" @@ -326,11 +327,15 @@ msgstr " msgid "Non-matching braces in text `%s', adding braces" msgstr "æÉÇÕÒÎÙÅ ÓËÏÂËÉ × ÔÅËÓÔÅ `%s' ÎÅ ÓÏ×ÐÁÄÁÀÔ, ÄÏÂÁ×ÌÑÀ ÓËÏÂËÉ" -#: lyric-phrasing-engraver.cc:147 -msgid "lyrics found without matching notehead ... aligning on self" +#: lyric-phrasing-engraver.cc:245 +msgid "lyrics found without any matching notehead" +msgstr "" + +#: lyric-phrasing-engraver.cc:250 +msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:75 main.cc:92 +#: main.cc:75 main.cc:93 msgid "enable debugging output" msgstr "×ËÌÀÞÉÔØ ×Ù×ÏÄ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ" @@ -343,7 +348,7 @@ msgstr " msgid "use output format EXT (scm, ps, tex or as)" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔ òáóû" -#: main.cc:77 main.cc:93 +#: main.cc:77 main.cc:94 msgid "this help" msgstr "ÜÔÁ ÓÐÒÁ×ËÁ" @@ -355,7 +360,7 @@ msgstr " msgid "add DIR to search path" msgstr "ÄÏÂÁ×ÉÔØ ëáô Ë ÐÕÔÉ ÐÏÉÓËÁ" -#: main.cc:79 main.cc:96 +#: main.cc:79 main.cc:97 msgid "FILE" msgstr "æáêì" @@ -387,7 +392,7 @@ msgstr " msgid "inhibit file output naming and exporting" msgstr "ÓËÒÙÔØ ÉÍÅÎÏ×ÁÎÉÅ É ÜËÓÐÏÒÔ ×Ù×ÏÄÁ × ÆÁÊÌ" -#: main.cc:85 main.cc:100 +#: main.cc:85 main.cc:102 msgid "don't timestamp the output" msgstr "ÎÅ ÏÔÍÅÞÁÔØ ÄÁÔÕ É ×ÒÅÍÑ ×Ù×ÏÄÁ" @@ -395,7 +400,7 @@ msgstr " msgid "switch on experimental features" msgstr "×ËÌÀÞÉÔØ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ" -#: main.cc:87 main.cc:101 +#: main.cc:87 main.cc:103 msgid "print version number" msgstr "×Ù×ÏÄÉÔØ ÎÏÍÅÒ ×ÅÒÓÉÉ" @@ -404,20 +409,23 @@ msgstr " msgid "verbose" msgstr "ÂÙÔØ ÂÏÌÔÌÉ×ÙÍ" -#: main.cc:89 main.cc:103 +#: main.cc:89 main.cc:105 msgid "show warranty and copyright" msgstr "ÐÏËÁÚÁÔØ ÇÁÒÁÎÔÉÀ É copyright" -#: main.cc:105 +#. +#. No version number or newline here. It confuses help2man +#. +#: main.cc:107 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ïðãéñ]... [æáêì]..." -#: main.cc:107 +#: main.cc:109 msgid "Typeset music and or play MIDI from FILE" msgstr "îÁÂÉÒÁÔØ ÍÕÚÙËÕ É/ÉÌÉ ÐÒÏÉÇÒÙ×ÁÔØ MIDI ÉÚ æáêìÁ" -#: main.cc:111 +#: main.cc:113 msgid "" "LilyPond is a music typesetter. It produces beautiful sheet music\n" "using a high level description file as input. LilyPond is part of \n" @@ -427,20 +435,20 @@ msgstr "" "ÎÁ ÂÕÍÁÇÅ, ÉÓÐÏÌØÚÕÑ ×ÙÓÏËÏÕÒÏ×ÎÅ×ÙÊ ÆÁÊÌ ÏÐÉÓÁÎÉÑ ÎÁ ××ÏÄÅ. Lilypond\n" "Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ðÒÏÅËÔÁ GNU.\n" -#: main.cc:116 main.cc:117 +#: main.cc:118 main.cc:119 msgid "Options:" msgstr "ïÐÃÉÉ:" -#: main.cc:121 +#: main.cc:123 msgid "This binary was compiled with the following options:" msgstr "üÔÏÔ ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ ÂÙÌ ÓÏÂÒÁÎ ÓÏ ÓÌÅÄÕÀÝÉÍÉ ÏÐÃÉÑÍÉ:" -#: main.cc:120 main.cc:140 +#: main.cc:122 main.cc:142 #, c-format msgid "Report bugs to %s" msgstr "óÏÏÂÝÁÊÔÅ Ï ÏÛÉÂËÁÈ ÐÏ %s" -#: main.cc:53 main.cc:148 +#: main.cc:54 main.cc:150 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -452,17 +460,17 @@ msgstr "" "ÐÒÉ ÓÏÂÌÀÄÅÎÉÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÊ. ÷ÙÚÙ×ÁÊÔÅ ËÁË `%s --warranty' ÄÌÑ\n" "ÐÏÌÕÞÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n" -#: main.cc:60 main.cc:155 main.cc:167 +#: main.cc:61 main.cc:157 main.cc:169 #, c-format msgid "Copyright (c) %s by" msgstr "÷ÓÅ ÐÒÁ×Á ÚÁÝÉÝÅÎÙ (c) %s by" #. GNU GNU? -#: main.cc:165 +#: main.cc:167 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "GNU LilyPond -- îÁÂÏÒÝÉË ÍÕÚÙËÉ ðÒÏÅËÔÁ GNU" -#: main.cc:69 main.cc:173 +#: main.cc:70 main.cc:175 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License version 2\n" @@ -501,11 +509,7 @@ msgstr " msgid "Error syncing file (disk full?)" msgstr "ïÛÉÂËÁ ÓÉÎÈÒÏÎÉÚÁÃÉÉ ÆÁÊÌÁ (ÄÉÓË ÐÅÒÅÐÏÌÎÅÎ?)" -#: music-output-def.cc:51 -msgid "Interpretation context with empty type" -msgstr "" - -#: music-output-def.cc:78 +#: music-output-def.cc:71 #, c-format msgid "can't find `%s' context" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ËÏÎÔÅËÓÔ `%s'" @@ -515,21 +519,21 @@ msgstr " msgid "Transposition by %s makes accidental larger than two" msgstr "" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:124 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "éÍÑ ËÏÍÁÎÄÙ Ñ×ÌÑÅÔÓÑ ËÌÀÞÅ×ÙÍ ÓÌÏ×ÏÍ: `%s'" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:143 #, c-format msgid "error at EOF: %s" msgstr "ÏÛÍÂËÁ × ËÏÎÃÅ ÆÁÊÌÁ: %s" -#: midi-score-parser.cc:94 my-lily-parser.cc:55 +#: midi-score-parser.cc:94 my-lily-parser.cc:47 msgid "Parsing..." msgstr "òÁÚÂÉÒÁÀ..." -#: my-lily-parser.cc:63 +#: my-lily-parser.cc:55 msgid "Braces don't match" msgstr "æÉÇÕÒÎÙÅ ÓËÏÂËÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ" @@ -550,6 +554,22 @@ msgstr " msgid "Outputting Score, defined at: " msgstr "" +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: part-combine-music-iterator.cc:104 +#, fuzzy, c-format +msgid "I'm one myself: `%s'" +msgstr "ñ ÅÄÉÎÓÔ×ÅÎÎÙÊ" + +#: part-combine-music-iterator.cc:107 +#, fuzzy, c-format +msgid "none of these in my family: `%s'" +msgstr "ÏÎÉ ÍÎÅ ÎÅ ÒÏÄÓÔ×ÅÎÎÉËÉ" + #: performance.cc:50 msgid "Track ... " msgstr "äÏÒÏÖËÁ ..." @@ -579,29 +599,20 @@ msgstr " msgid "can't find start of piano pedal: %s" msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ" -#: property-engraver.cc:128 +#: property-engraver.cc:131 msgid "Wrong type for property" msgstr "îÅ×ÅÒÎÙÊ ÔÉÐ ÄÌÑ Ó×ÏÊÓÔ×Á" -#: repeat-engraver.cc:253 -msgid "No bar engraver found. Ignoring repeats." -msgstr "" - -#: request-chord-iterator.cc:72 +#: request-chord-iterator.cc:93 #, c-format msgid "Junking request: `%s'" msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÚÁÐÒÏÓ: `%s'" -#: request-chord-iterator.cc:75 +#: request-chord-iterator.cc:96 #, c-format msgid "Huh? Not a Request: `%s'" msgstr "á? îå úÁÐÒÏÓ: `%s'" -#: request-iterator.cc:20 -#, c-format -msgid "Junking music: `%s'" -msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'" - #: rest-collision.cc:159 msgid "too many colliding rests" msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÎÁÌÅÚÁÀÝÉÈ ÐÁÕÚ" @@ -610,7 +621,7 @@ msgstr " msgid "too many notes for rest collision" msgstr "" -#: score-engraver.cc:151 +#: score-engraver.cc:149 #, c-format msgid "unbound spanner `%s'" msgstr "" @@ -628,58 +639,59 @@ msgstr "" msgid "Errors found/*, not processing score*/" msgstr "îÁÊÄÅÎÙ ÏÛÉÂËÉ/*, ÎÅ ÏÂÒÁÂÁÔÙ×ÁÀ ÎÏÔÙ*/" -#: score.cc:100 +#: score.cc:101 #, c-format msgid "elapsed time: %.2f seconds" msgstr "ÚÁÔÒÁÞÅÎÎÏÅ ×ÒÅÍÑ: %.2f ÓÅËÕÎÄ" #: scores.cc:34 #, fuzzy, c-format -msgid "Writing dependency file: `%s'...\n" +msgid "Writing dependency file: `%s'..." msgstr "úÁÐÉÓÙ×ÁÀ ÆÁÊÌ ÚÁ×ÉÓÉÍÏÓÔÅÊ: `%s'..." -#: scores.cc:78 +#: scores.cc:79 msgid "Score contains errors; will not process it" msgstr "" -#: scores.cc:123 -#, c-format -msgid "Now processing: `%s'\n" -msgstr "" +#: scores.cc:124 +#, fuzzy, c-format +msgid "Now processing: `%s'" +msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `\\%s'" -#: script-engraver.cc:65 +#: script-engraver.cc:66 #, c-format msgid "Don't know how to interpret articulation `%s'" msgstr "" #. this shouldn't happen, but let's continue anyway. -#: separation-item.cc:48 +#: separation-item.cc:47 #, fuzzy msgid "Separation_item: I've been drinking too much" msgstr "Single_malt_grouping_item: Ñ ÌÉÛËÏÍ ÍÎÏÇÏ ×ÙÐÉÌ" -#: sequential-music-iterator.cc:83 +#: sequential-music-iterator.cc:35 msgid "Must stop before this music ends" msgstr "" -#: slur-engraver.cc:82 +#: simple-music-iterator.cc:36 +#, c-format +msgid "Junking music: `%s'" +msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'" + +#: slur-engraver.cc:89 msgid "unterminated slur" msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÌÉÇÁ" -#: slur-engraver.cc:98 -#, c-format -msgid "can't find both ends of %s" -msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÏÂÁ ËÏÎÃÁ Õ %s" - -#: slur-engraver.cc:98 -msgid "slur" -msgstr "ÌÉÇÁ" +#: slur-engraver.cc:104 +#, fuzzy +msgid "can't find start of slur" +msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ" #: slur.cc:48 msgid "Putting slur over rest. Ignoring." msgstr "ìÉÇÁ ÎÁÄ ÐÁÕÚÏÊ. éÇÎÏÒÉÒÕÀ." -#: slur.cc:122 +#: slur.cc:324 msgid "Slur over rest?" msgstr "ìÉÇÁ ÎÁÄ ÐÁÕÚÏÊ?" @@ -719,16 +731,6 @@ msgstr "" msgid "no one to print a tuplet start bracket" msgstr "" -#: time-signature-engraver.cc:49 -msgid "lost in time:" -msgstr "" - -#: time-signature-engraver.cc:50 translator-group.cc:419 -#: translator-group.cc:428 -#, c-format -msgid "can't find: `%s'" -msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ: `%s'" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "" @@ -737,31 +739,41 @@ msgstr "" msgid "This is the other timing request" msgstr "" -#: timing-translator.cc:79 +#: timing-translator.cc:65 #, c-format msgid "barcheck failed at: %s" msgstr "" -#: translator-ctors.cc:41 +#: translator-ctors.cc:40 #, c-format msgid "unknown translator: `%s'" msgstr "" -#: translator-group.cc:82 translator-group.cc:95 +#: translator-def.cc:96 msgid "Program has no such type" msgstr "" -#: translator-group.cc:86 translator-group.cc:101 +#: translator-def.cc:102 #, c-format msgid "Already contains: `%s'" msgstr "õÖÅ ÓÏÄÅÒÖÉÔ: `%s'" -#: translator-group.cc:213 +#: translator-def.cc:103 +#, c-format +msgid "Not adding translator: `%s'" +msgstr "" + +#: translator-def.cc:215 +#, c-format +msgid "can't find: `%s'" +msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ: `%s'" + +#: translator-group.cc:142 #, c-format msgid "can't find or create `%s' called `%s'" msgstr "" -#: translator-group.cc:325 +#: translator-group.cc:246 #, c-format msgid "can't find or create: `%s'" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÉÌÉ ÓÏÚÄÁÔØ: `%s'" @@ -770,172 +782,198 @@ msgstr " msgid "no one to print a volta bracket" msgstr "" -#: parser.yy:59 +#: parser.yy:61 #, c-format msgid "Oldest supported input version: %s" msgstr "" -#: parser.yy:426 -msgid "Need a translator group for a context" -msgstr "" - -#: parser.yy:441 +#: parser.yy:447 msgid "Wrong type for property value" msgstr "" -#: parser.yy:626 +#: parser.yy:633 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:666 +#: parser.yy:673 msgid "Second argument must be a symbol" msgstr "÷ÔÏÒÏÊ ÁÒÇÕÍÅÎÔ ÄÏÌÖÅÎ ÂÙÔØ ÓÉÍ×ÏÌÏÍ" -#: parser.yy:671 +#: parser.yy:678 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:971 +#: parser.yy:1015 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:981 +#: parser.yy:1025 msgid "Can't specify direction for this request" msgstr "îÅ ÍÏÇÕ ÕËÁÚÁÔØ ÎÁÐÒÁ×ÌÅÎÉÅ ÄÌÑ ÜÔÏÇÏ ÚÁÐÒÏÓÁ" -#: parser.yy:1073 +#: parser.yy:1117 #, c-format msgid "Expecting %d arguments" msgstr "" -#: parser.yy:1089 +#: parser.yy:1133 msgid "Must have 2 arguments for duration" msgstr "" -#: parser.yy:1096 parser.yy:1104 parser.yy:1339 +#: parser.yy:1140 parser.yy:1148 parser.yy:1383 msgid "Have to be in Lyric mode for lyrics" msgstr "äÏÌÖÅÎ ÂÙÔØ × ìÉÒÉÞÅÓËÏÍ ÒÅÖÉÍÅ ÄÌÑ ÌÉÒÉËÉ" -#: parser.yy:1245 parser.yy:1265 +#: parser.yy:1289 parser.yy:1309 #, c-format msgid "not a duration: %d" msgstr "ÎÅ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ: %d" -#: parser.yy:1274 +#: parser.yy:1318 msgid "Have to be in Note mode for notes" msgstr "äÏÌÖÅÎ ÂÙÔØ × îÏÔÎÏÍ ÒÅÖÉÍÅ ÄÌÑ ÎÏÔ" -#: parser.yy:1352 +#: parser.yy:1396 msgid "Have to be in Chord mode for chords" msgstr "äÏÌÖÅÎ ÂÙÔØ × áËËÏÒÄÎÏÍ ÒÅÖÉÍÅ ÄÌÑ ÁËËÏÒÄÏ×" -#: parser.yy:1513 parser.yy:1531 +#: parser.yy:1558 parser.yy:1576 msgid "need integer number arg" msgstr "" -#: parser.yy:1517 +#: parser.yy:1562 msgid "Must be positive integer" msgstr "" -#: lexer.ll:158 +#: lexer.ll:159 msgid "EOF found inside a comment" msgstr "ëÏÎÅà ÆÁÊÌÁ ×ÎÕÔÒÉ ËÏÍÍÅÎÔÁÒÉÑ" -#: lexer.ll:172 +#: lexer.ll:173 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:196 +#: lexer.ll:197 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÍÅÔËÁ/ËÏÍÁÎÄÁ: `%s'" #. backup rule -#: lexer.ll:201 +#: lexer.ll:202 msgid "Missing end quote" msgstr "ïÔÓÕÔÓ×ÕÅÔ ÚÁËÌÀÞÉÔÅÌØÎÁÑ ËÁ×ÙÞËÁ" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:224 lexer.ll:228 msgid "white expected" msgstr "× ÔÏ ×ÒÅÍÑ ËÁË ÏÖÉÄÁÌÏÓØ" -#: lexer.ll:235 +#: lexer.ll:236 msgid "Can't evaluate Scheme in safe mode" msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÑÔØ ËÏÄ ÓÈÅÍÙ × ÂÅÚÏÐÁÓÎÏÍ ÒÅÖÉÍÅ" -#: lexer.ll:431 +#: lexer.ll:432 #, c-format msgid "invalid character: `%c'" msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ: `%c'" -#: lexer.ll:508 +#: lexer.ll:512 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `\\%s'" -#: lexer.ll:594 +#: lexer.ll:598 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "ÎÅ×ÅÒÎÁÑ ×ÅÒÓÉÑ mudela: %s (%s, %s)" -#: lexer.ll:595 +#: lexer.ll:599 msgid "Consider converting the input with the convert-mudela script" msgstr "" -#: main.cc:91 +#: main.cc:92 msgid "write exact durations, e.g.: a4*385/384" msgstr "" -#: main.cc:94 +#: main.cc:95 msgid "ACC[:MINOR]" msgstr "" -#: main.cc:94 +#: main.cc:95 msgid "set key: ACC +sharps/-flats; :1 minor" msgstr "" -#: main.cc:95 -msgid "don't output tuplets or double dots, smallest is 32" +#: main.cc:96 +msgid "don't output tuplets, double dots or rests, smallest is 32" msgstr "" -#: main.cc:96 +#: main.cc:97 msgid "set FILE as default output" msgstr "ÕÓÔÁÎÏ×ÉÔØ æáêì ÄÌÑ ×Ù×ÏÄÁ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: main.cc:97 +#: main.cc:98 msgid "don't output tuplets" msgstr "ÎÅ ×Ù×ÏÄÉÔØ ÓËÏÂÙ ÔÒÉÏÌÅÊ" -#: main.cc:98 +#: main.cc:99 msgid "be quiet" msgstr "ÂÙÔØ ÍÏÌÞÁÌÉ×ÙÍ" -#: main.cc:99 +#: main.cc:100 +#, fuzzy +msgid "don't output rests or skips" +msgstr "ÎÅ ×Ù×ÏÄÉÔØ ÓËÏÂÙ ÔÒÉÏÌÅÊ" + +#: main.cc:101 msgid "DUR" msgstr "íáöïò" -#: main.cc:99 +#: main.cc:101 msgid "set smallest duration" msgstr "ÕÓÔÁÎÏ×ÉÔØ ÎÁÉÍÅÎØÛÕÀ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ" -#: main.cc:102 +#: main.cc:104 msgid "be verbose" msgstr "ÂÙÔØ ÂÏÌÔÌÉ×ÙÍ" -#: main.cc:104 +#: main.cc:106 msgid "assume no double dotted notes" msgstr "" -#: main.cc:111 +#: main.cc:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ïðãéñ]... [æáêì]" -#: main.cc:113 +#: main.cc:115 msgid "Translate MIDI-file to mudela" msgstr "ôÒÁÎÓÌÉÒÏ×ÁÔØ MIDI-ÆÁÊÌ × mudela" +#: main.cc:129 +#, c-format +msgid "no_double_dots: %d\n" +msgstr "" + +#: main.cc:131 +#, c-format +msgid "no_rests: %d\n" +msgstr "" + +#: main.cc:133 +#, c-format +msgid "no_quantify_b_s: %d\n" +msgstr "" + +#: main.cc:135 +#, c-format +msgid "no_smaller_than: %d (1/%d)\n" +msgstr "" + +#: main.cc:138 +#, c-format +msgid "no_tuplets: %d\n" +msgstr "" + #: midi-parser.cc:64 msgid "zero length string encountered" msgstr "×ÓÔÒÅÔÉÌÁÓØ ÓÔÒÏËÁ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ" @@ -1028,11 +1066,11 @@ msgstr "" msgid "Settling columns..." msgstr "" -#: mudela-staff.cc:178 +#: mudela-staff.cc:209 msgid "% MIDI copyright:" msgstr "% MIDI copyright:" -#: mudela-staff.cc:179 +#: mudela-staff.cc:210 msgid "% MIDI instrument:" msgstr "% MIDI ÉÎÓÔÒÕÍÅÎÔ:" @@ -1055,6 +1093,12 @@ msgstr "% msgid "% from input file: " msgstr "% ÉÚ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ: " +#~ msgid "can't find both ends of %s" +#~ msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÏÂÁ ËÏÎÃÁ Õ %s" + +#~ msgid "slur" +#~ msgstr "ÌÉÇÁ" + #~ msgid "No key name, assuming `C'" #~ msgstr "îÅÔ ÎÁÚ×ÁÎÉÑ ËÌÀÞÁ, ÐÏÄÒÁÚÕÍÅ×ÁÀ `C'" diff --git a/scripts/etf2ly.py b/scripts/etf2ly.py index 366e497e7d..83b8577383 100644 --- a/scripts/etf2ly.py +++ b/scripts/etf2ly.py @@ -22,8 +22,10 @@ # * beams (better use autobeam?) # * more robust: try entertainer.etf (freenote) # * dynamics +# * automatic `deletion' of invalid items # + program_name = 'etf2ly' version = '@TOPLEVEL_VERSION@' if version == '@' + 'TOPLEVEL_VERSION' + '@': @@ -343,14 +345,17 @@ class Measure: self.finale = [] self.global_measure = None self.staff = None + self.valid = 1 def add_finale_entry (self, entry): self.finale.append (entry) + def valid (self): + return self.valid def calculate (self): if len (self.finale) < 2: sys.stderr.write ("Measure %d in staff %d has incomplete information.\n" % (self.number, self.staff.number)) - + self.valid = 0 return f0 = self.finale[0] @@ -445,7 +450,7 @@ class Staff: last_clef = None gap = (0,1) for m in self.measures[1:]: - if not m : + if not m or not m.valid: continue # ugh. g = m.global_measure @@ -482,7 +487,7 @@ class Staff: first_frame = None gap = (0,1) for m in self.measures[1:]: - if not m: + if not m or not m.valid: continue @@ -657,7 +662,7 @@ class Etf_file: self.frames = [None] self.tuplets = [None] self.staffs = [None] - self.slurs = [None] + self.slur_dict = {} self.articulations = [None] self.syllables = [None] self.verses = [None] @@ -760,12 +765,16 @@ class Etf_file: if m: slurno = string.atoi (m.group (1)) - if len (self.slurs) == slurno: - self.slurs.append (Slur (slurno)) + sl = None + try: + sl = self.slur_dict[slurno] + except KeyError: + sl = Slur (slurno) + self.slur_dict[slurno] = sl params = list (m.groups ()[1:]) params = map (string.atoi, params) - self.slurs[-1].append_entry (params) + sl.append_entry (params) return m def try_GF(self, l): @@ -859,9 +868,13 @@ class Etf_file: if not m: continue - m.global_measure = self.measures[mno] m.calculate() - + try: + m.global_measure = self.measures[mno] + except IndexError: + sys.stderr.write ("non-existent global measure %d" % mno) + continue + frame_obj_list = [None] for frno in m.frames: fr = self.frames[frno] @@ -888,7 +901,7 @@ class Etf_file: for t in self.tuplets[1:]: t.calculate (self.chords) - for s in self.slurs [1:]: + for s in self.slur_dict.values(): s.calculate (self.chords) for s in self.articulations[1:]: s.calculate (self.chords) @@ -896,7 +909,15 @@ class Etf_file: def get_thread (self, startno, endno): thread = [] - c = self.chords[startno] + + c = None + try: + c = self.chords[startno] + except IndexError: + sys.stderr.write ("Huh? Frame has invalid bounds (%d,%d)\n" % (startno, endno)) + return [] + + while c and c.number () <> endno: thread.append (c) c = c.next @@ -996,7 +1017,6 @@ for opt in options: identify() -# header['tagline'] = 'Lily was here %s -- automatically converted from ABC' % version for f in files: if f == '-': f = ''