--- /dev/null
+\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{
+
+ }
+}
+
+
-% bug or feature?
-\score { \notes { c8 c8
- % needed to force auto-beam:
- % c4
-}}
+\score {\notes c4 }
--- /dev/null
+\score{
+ \context Staff <
+ \context Voice=one\skip 1;
+ \context Voice=two\skip 1;
+ \context Voice=one \partcombine Voice
+ \context Thread=one \notes\relative c'' {
+ c4( c b )a
+ a( b c )d
+ }
+ \context Thread=two \notes\relative c'' {
+ a4( c b )a
+ a( b c )a
+
+ }
+ >
+ \paper{
+ linewidth=140.\mm;
+ }
+}
+
+
--- /dev/null
+
+% 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
+ }
+}
+
\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
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
}
>
>
- \paper{
+ \paper {
+
+ textheight = 295.0\mm;
+ linewidth = 180.0\mm;
+
+ \translator{ \HaraKiriStaffContext }
%
% The Voice combine hierarchy
%
\translator{
\VoiceContext
\name "VoiceCombineVoice";
+ soloText = #"I."
+ soloIIText = #"II."
\remove "Rest_engraver";
\accepts "VoiceCombineThread";
}
\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;
\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;
}
}
--- /dev/null
+\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 c2
+ c2 c2
+ }
+ \context Thread=two \notes\relative c'' {
+ b2 a4 () a
+ a2 a4 () a
+
+ }
+ >
+ \paper{
+ linewidth=140.\mm;
+ }
+}
+
+
-\score {
- \context Voice \notes\relative c {
- % Test of prima/secunda volta brackets in conjunction with
- % line breaks and special bars.
-
- c' d e f |
- \repeat "volta" 2 { g a b c }
- \alternative { { c b a g a g a g} { f e d c } }
- \repeat "volta" 2 { g a b c }
- \alternative { { c b a g \break a g a g} { f e d c } }
- c' d e f |
- \repeat "volta" 2 { g a b c }
- \alternative { { c b a g \break a g a g \break a b a b } { f e d c } }
- c' d e f |
- \repeat "volta" 2 { g a b c }
- \alternative { { c b a g } { f e d c \break a g a g} }
- c' d e f |
- \repeat "volta" 2 { g a b c }
- \alternative { { c b a g a g a g} { f e d c \bar "|.";} }
-
- }
- \paper { }
- \midi { }
-}
\ No newline at end of file
+
+voice4 = \notes {
+\clef bass;
+ \property Staff.instrument = "Bass"
+ \property Staff.instr = "B"
+ \time 4/4; f,2 ( ) f,8 r8 f8 e8
+\repeat volta 2
+{
+ d8. d16 e8. f16 f8 c8 c16 c8.
+}
+\alternative
+{
+ { f,2 ( ) f,8 r8 f8 e8 ( \break }
+ { ) f,2. r8 c16 c16 |
+ }
+}
+}
+voicedefault = \notes {
+ \property Staff.timeSignatureStyle="C"
+ \time 4/4; \key f;
+ \tempo 4 = 200;
+}
+\score{
+ \notes <
+
+
+ \context Staff="4"
+ {
+ \$voicedefault
+ \$voice4
+ }
+
+ >
+ \paper {
+ font_normal = 12.;
+ \translator {
+ \StaffContext
+ \consists Instrument_name_engraver;
+ }
+ }
+}
+
; // error (_ ("none of these in my family"));
}
+
Pitch_interrogate_req* spanish_inquisition; // nobody expects it
+
void
-Auto_change_iterator::do_process_and_next (Moment m)
+Auto_change_iterator::process (Moment m)
{
- Music_wrapper_iterator::do_process_and_next (m);
+ Music_wrapper_iterator::process (m);
if (!spanish_inquisition)
spanish_inquisition = new Pitch_interrogate_req;
/*
GUHG!
*/
- String warn2= "Change_iterator::do_process_and_next (): "
+ String warn2= "Change_iterator::process (): "
+ report_to_l ()->type_str_ + " = `"
+ report_to_l ()->id_str_ + "': ";
warning (warn2);
move to construct_children ?
*/
void
-Change_iterator::do_process_and_next (Moment m)
+Change_iterator::process (Moment m)
{
Translator_group * current = report_to_l ();
Translator_group * last = 0;
}
else
error (_ ("none of these in my family"));
- Music_iterator::do_process_and_next (m);
+ Simple_music_iterator::process (m);
}
}
void
-Chord_tremolo_iterator::do_process_and_next (Moment m)
+Chord_tremolo_iterator::process (Moment m)
{
if (!m)
{
music_l_->origin ()->warning ( _("no one to print a tremolos"));
}
- child_iter_p_->process_and_next (factor_ * m);
+ child_iter_p_->process (factor_ * 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
}
-void
-Chord_tremolo_iterator::do_print () const
-{
- child_iter_p_->print ();
-}
}
/*
- 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;
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_;
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
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;
/*
TODO:
handle multiple requests
- handle span requests (crescendo/decrescendo)
*/
/**
}
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
}
void
-Folded_repeat_iterator::do_process_and_next (Moment m)
+Folded_repeat_iterator::process (Moment m)
{
if (!m)
{
if (main_iter_p_)
{
- main_iter_p_->process_and_next (m);
+ main_iter_p_->process (m);
if (!main_iter_p_->ok ())
leave_body ();
}
if (alternative_iter_p_)
{
- alternative_iter_p_->process_and_next (m - main_length_mom_);
+ alternative_iter_p_->process (m - main_length_mom_);
if (!alternative_iter_p_->ok ())
{
delete alternative_iter_p_;
(c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "global-translator.hh"
-#include "music-iterator.hh"
#include "debug.hh"
+#include "music.hh"
+#include "request.hh"
+#include "music-list.hh"
+#include "music-iterator.hh"
+#include "global-translator.hh"
-Global_translator::Global_translator()
+Global_translator::Global_translator ()
{
}
extra_mom_pq_.insert (m);
}
-void
-Global_translator::modify_next (Moment &w)
+Moment
+Global_translator::sneaky_insert_extra_moment (Moment w)
{
- while (extra_mom_pq_.size() &&
- extra_mom_pq_.front() <= w)
-
- w =extra_mom_pq_.get();
+ while (extra_mom_pq_.size() && extra_mom_pq_.front() <= w)
+ w = extra_mom_pq_.get();
+ return w;
}
int
void
Global_translator::run_iterator_on_me (Music_iterator * iter)
{
- while (iter->ok() || moments_left_i ())
+
+ while (iter->ok () || moments_left_i ())
{
Moment w;
w.set_infinite (1);
- if (iter->ok())
+ if (iter->ok ())
{
- w = iter->next_moment();
+ w = iter->pending_moment();
+
DEBUG_OUT << "proccing: " << w << '\n';
- if (flower_dstream && !flower_dstream->silent_b ("walking"))
- iter->print();
}
-
- modify_next (w);
+
+ w = sneaky_insert_extra_moment (w);
prepare (w);
+ iter->process (w);
- if (flower_dstream && !flower_dstream->silent_b ("walking"))
- print();
-
- iter->process_and_next (w);
- process();
+ process ();
}
}
}
void
-Grace_iterator::do_process_and_next (Moment m)
+Grace_iterator::process (Moment m)
{
Global_translator * t = dynamic_cast<Global_translator*>(report_to_l ());
if (t)
{
warning (_("no Grace context available"));
}
- Music_iterator::do_process_and_next (m);
}
Moment
-Grace_iterator::next_moment () const
+Grace_iterator::pending_moment () const
{
return 0;
}
#include "music-wrapper-iterator.hh"
#include "direction.hh"
-class Auto_change_iterator : public Music_wrapper_iterator
+class Auto_change_iterator : public Music_wrapper_iterator
{
- Direction where_dir_;
-
- void change_to (Music_iterator* , String, String);
-protected:
- virtual void do_process_and_next (Moment);
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
Auto_change_iterator ();
+
+protected:
+ virtual void process (Moment);
+
+private:
+ Direction where_dir_;
+ void change_to (Music_iterator* , String, String);
};
#endif /* AUTO_CHANGE_ITERATOR_HH */
#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
{
- void error (String);
-
-protected:
- virtual void do_process_and_next (Moment);
-
public:
- /*
- CTOR is public
- */
+ VIRTUAL_COPY_CONS (Music_iterator);
+ /* constructor is public */
+ virtual void process (Moment);
+
+private:
+ void error (String);
};
#endif
class Chord_tremolo_iterator : public Music_iterator
{
- Moment factor_;
- Music_iterator * child_iter_p_;
-
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
Chord_tremolo_iterator ();
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_and_next (Moment) ;
+ virtual void process (Moment) ;
virtual Music_iterator *try_music_in_children (Music *) const;
+
+private:
+ Moment factor_;
+ Music_iterator * child_iter_p_;
};
Tempo_req();
protected:
- virtual void do_print () const;
+ virtual void do_print () const;
VIRTUAL_COPY_CONS(Music);
bool do_equal_b (Request const *) const;
};
*/
class Folded_repeat_iterator : public Music_iterator
{
- Music_iterator * main_iter_p_;
- Music_iterator * alternative_iter_p_;
- int count_;
- Moment main_length_mom_;
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
Folded_repeat_iterator ();
~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_and_next (Moment);
+ virtual void process (Moment);
virtual Music_iterator *try_music_in_children (Music *) const;
+
+private:
+ Music_iterator * main_iter_p_;
+ Music_iterator * alternative_iter_p_;
+ int count_;
+ Moment main_length_mom_;
};
#endif /* FOLDED_REPEAT_ITERATOR_HH */
Global_translator();
int moments_left_i() const;
- void modify_next (Moment&);
+ Moment sneaky_insert_extra_moment (Moment);
void add_moment_to_process (Moment);
void run_iterator_on_me (Music_iterator*);
class Grace_iterator : public Music_wrapper_iterator
{
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
~Grace_iterator ();
virtual void construct_children () ;
- virtual void do_process_and_next (Moment);
+ virtual void process (Moment);
- Moment next_moment () const;
+ Moment pending_moment () const;
};
class Interpretation_context_handle
{
- Translator_group * report_to_l_;
- void down ();
- void up (Translator_group*);
public:
~Interpretation_context_handle ();
Interpretation_context_handle ();
+ Interpretation_context_handle* clone () const;
void set_translator (Translator_group*);
bool try_music (Music *);
void operator =(Interpretation_context_handle const&);
Interpretation_context_handle (Interpretation_context_handle const&);
Translator_group * report_to_l () const;
+
+private:
+ Translator_group * report_to_l_;
+ void down ();
+ void up (Translator_group*);
};
#endif /* INTERPRETATION_CONTEXT_HANDLE_HH */
class Lyric_combine_music_iterator : public Music_iterator
{
- Music_iterator * music_iter_p_;
- Music_iterator * lyric_iter_p_;
-
+public:
+ VIRTUAL_COPY_CONS (Music_iterator);
+ Lyric_combine_music_iterator ();
+
protected:
virtual void construct_children ();
- virtual Moment next_moment () const;
- virtual void do_process_and_next (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 ();
-public:
- Lyric_combine_music_iterator ();
+
+private:
+ Music_iterator * music_iter_p_;
+ Music_iterator * lyric_iter_p_;
};
#endif /* LYRIC_COMBINE_MUSIC_ITERATOR_HH */
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 */
#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.
- */
-class Music_iterator {
- Interpretation_context_handle handle_;
+/**
+ 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.
-protected:
- Music * music_l_;
-
- /// ugh. JUNKME
- bool first_b_;
+
+ ok () -- events left ?
- /**
- 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;
+ 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:
- /**
- Find a bottom notation context to deliver requests to.
- */
- virtual Translator_group* get_req_translator_l();
+ * This removes all events at M from the pending queue.
- /**
- Get an iterator for MUS, inheriting the translation unit from THIS.
- */
- Music_iterator* get_iterator_p (Music *mus) const;
+ * Typically this reports the music to an interpretation context,
+ thus changing the state of the interpretation context.
- /** Do the actual move. This should be overriden in derived
- classes. It is called by #process_and_next#, the public interface
- */
- virtual void do_process_and_next (Moment until);
+ 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.
- virtual Music_iterator* try_music_in_children (Music *) const;
-
+ 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:
+ VIRTUAL_COPY_CONS (Music_iterator);
+
+ Music_iterator ();
+ Music_iterator (Music_iterator const&);
+ virtual ~Music_iterator ();
/**
Do the reporting. Will try MUSIC_L_ in its own translator first,
/**
The translation unit that we this iterator is reporting to now.
*/
- Translator_group*report_to_l() const;
+ Translator_group* report_to_l () const;
void set_translator (Translator_group*);
static Music_iterator* static_get_iterator_p (Music * mus);
void init_translator (Music *, Translator_group *);
- Music_iterator();
-
- /// Find the next interesting point in time.
- virtual Moment next_moment() const;
-
-
- ///Are we finished with this piece of music?
- virtual bool ok() const;
-
- virtual ~Music_iterator();
-
-
- ///Report all musical information that occurs between now and UNTIL
- void process_and_next (Moment until);
+ virtual Moment pending_moment () const;
+ virtual bool ok () const;
+ 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;
+ virtual void construct_children ();
+
+protected:
+ Music * music_l_;
+
+ /**
+ Get an iterator for MUS, inheriting the translation unit from THIS.
+ */
+ Music_iterator* get_iterator_p (Music *) const;
+
+ virtual Music_iterator* try_music_in_children (Music *) const;
+
+private:
+ Interpretation_context_handle handle_;
};
#endif // MUSIC_ITERATOR_HH
class Music_wrapper_iterator : public Music_iterator
{
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
Music_wrapper_iterator ();
+ Music_wrapper_iterator (Music_wrapper_iterator const&);
~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 (Moment)const;
protected:
- virtual void do_print () const;
- virtual void do_process_and_next (Moment) ;
+ virtual void process (Moment);
virtual Music_iterator *try_music_in_children (Music *) const;
Music_iterator *child_iter_p_;
class Part_combine_music_iterator : public Music_iterator
{
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
Part_combine_music_iterator ();
protected:
+ virtual ~Part_combine_music_iterator ();
+
virtual void construct_children ();
- virtual Moment next_moment () const;
- virtual void do_process_and_next (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 void do_print () const;
- virtual ~Part_combine_music_iterator ();
private:
void change_to (Music_iterator*, String, String);
Music_iterator * first_iter_p_;
Music_iterator * second_iter_p_;
- Moment now_;
Moment first_until_;
Moment second_until_;
-
- bool combined_b_;
};
#endif /* PART_COMBINE_MUSIC_ITERATOR_HH */
#ifndef PROPERTY_ITERATOR_HH
#define PROPERTY_ITERATOR_HH
-#include "music-iterator.hh"
+#include "simple-music-iterator.hh"
/**
Iterate a property.
*/
-class Property_iterator : public Music_iterator
+class Property_iterator : public Simple_music_iterator
{
public:
- // construction
+ VIRTUAL_COPY_CONS (Music_iterator);
+ /* construction */
protected:
- virtual void do_process_and_next (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:
- virtual void do_process_and_next (Moment);
+ /* construction */
+ 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:
- virtual void do_process_and_next (Moment);
+ /* construction */
+ virtual void process (Moment);
};
#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 SCM get_music (Moment) const;
protected:
- virtual void do_process_and_next (Moment);
- virtual Moment next_moment() const;
+ virtual void process (Moment);
virtual void construct_children();
- virtual bool ok() const;
- virtual void do_print() const;
};
class Sequential_music_iterator : public Music_iterator
{
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
Sequential_music_iterator ();
+ Sequential_music_iterator (Sequential_music_iterator const&);
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 (Moment)const;
protected:
- virtual void do_print() const;
- virtual void do_process_and_next (Moment);
+ virtual void process (Moment);
virtual Music_iterator *try_music_in_children (Music *) const;
-
private:
Moment here_mom_;
--- /dev/null
+/*
+ simple-music-iterator.hh -- declare Simple_music_iterator
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ */
+
+#ifndef SIMPLE_MUSIC_ITERATOR_HH
+#define SIMPLE_MUSIC_ITERATOR_HH
+
+#include "music-iterator.hh"
+
+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 process (Moment);
+ virtual bool ok()const;
+ virtual Moment pending_moment ()const;
+ virtual void construct_children ();
+};
+
+#endif /* SIMPLE_MUSIC_ITERATOR_HH */
+
#ifndef SIMULTANEOUS_MUSIC_ITERATOR_HH
#define SIMULTANEOUS_MUSIC_ITERATOR_HH
+
#include "music-iterator.hh"
#include "cons.hh"
class Simultaneous_music_iterator : public Music_iterator
{
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
+ Simultaneous_music_iterator ();
+ Simultaneous_music_iterator (Simultaneous_music_iterator const&);
+ virtual ~Simultaneous_music_iterator ();
/// make a new context for every child.
bool separate_contexts_b_;
-
- Simultaneous_music_iterator ();
- virtual ~Simultaneous_music_iterator ();
+ int cursor_i_;
virtual void construct_children ();
- virtual Moment next_moment () const;
+ virtual Moment pending_moment () const;
virtual bool ok () const;
+ virtual SCM get_music (Moment)const;
protected:
- virtual void do_print () const;
- virtual void do_process_and_next (Moment);
+ virtual void process (Moment);
virtual Music_iterator *try_music_in_children (Music *) const;
-
private:
Cons_list<Music_iterator> children_p_list_;
};
class Time_scaled_music_iterator : public Music_wrapper_iterator
{
public:
- // construction
+ VIRTUAL_COPY_CONS (Music_iterator);
+ /* construction */
protected:
- virtual void do_process_and_next (Moment);
+ virtual void process (Moment);
};
class Unfolded_repeat_iterator : public Music_iterator
{
public:
+ VIRTUAL_COPY_CONS (Music_iterator);
/**
How often have we done the body (assuming bodies are interspersed.)?
*/
protected:
virtual void construct_children ();
- virtual Moment next_moment () const;
- virtual void do_process_and_next (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 */
#include "interpretation-context-handle.hh"
#include "translator-group.hh"
+Interpretation_context_handle::Interpretation_context_handle()
+{
+ report_to_l_ =0;
+}
+
+Interpretation_context_handle::Interpretation_context_handle (Interpretation_context_handle const&s)
+{
+ report_to_l_ =0;
+ if (s.report_to_l_)
+ up (s.report_to_l_ );
+}
+
+Interpretation_context_handle*
+Interpretation_context_handle::clone () const
+{
+ Interpretation_context_handle* handle = new Interpretation_context_handle;
+ handle->report_to_l_ = this->report_to_l_;
+ return handle;
+}
+
+Interpretation_context_handle::~Interpretation_context_handle ()
+{
+ if (report_to_l_)
+ down ();
+}
+
void
Interpretation_context_handle::up (Translator_group*t)
{
return report_to_l_->try_music (m);
}
-Interpretation_context_handle::Interpretation_context_handle (Interpretation_context_handle const&s)
-{
- report_to_l_ =0;
- if (s.report_to_l_)
- up (s.report_to_l_ );
-}
-
void
Interpretation_context_handle::operator = (Interpretation_context_handle const &s)
{
return report_to_l_;
}
-Interpretation_context_handle::Interpretation_context_handle()
-{
- report_to_l_ =0;
-}
-
-Interpretation_context_handle::~Interpretation_context_handle ()
-{
- if (report_to_l_)
- down ();
-}
}
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;
}
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 ()
}
void
-Lyric_combine_music_iterator::do_process_and_next (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;
- music_iter_p_->process_and_next (m);
+ music_iter_p_->process (m);
bool busy = try_music (busy_req);
if (busy)
lyric_iter_p_->try_music (melisma_stop_req);
#endif
- Moment m= lyric_iter_p_->next_moment ();
- lyric_iter_p_->process_and_next (m);
+ Moment m= lyric_iter_p_->pending_moment ();
+ lyric_iter_p_->process (m);
}
}
}
- Music_iterator::do_process_and_next (m);
}
Lyric_combine_music_iterator::~Lyric_combine_music_iterator ()
#include "part-combine-music.hh"
#include "part-combine-music-iterator.hh"
#include "request.hh"
-#include "request-iterator.hh"
+#include "simple-music-iterator.hh"
#include "output-property.hh"
#include "chord-tremolo-iterator.hh"
-void
-Music_iterator::do_print() const
+Music_iterator::Music_iterator ()
{
+ // clone_i_ = 0;
}
-void
-Music_iterator::print() const
+Music_iterator::Music_iterator (Music_iterator const& src)
{
-#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
+ // clone_i_ = src.clone_i_ + 1;
+ handle_ = *src.handle_.clone ();
+ music_l_ = src.music_l_;
}
-Translator_group*
-Music_iterator::get_req_translator_l()
+Music_iterator::~Music_iterator ()
{
- 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*
-Music_iterator::report_to_l() const
+Music_iterator::report_to_l () const
{
return handle_.report_to_l ();
}
void
-Music_iterator::set_translator (Translator_group*trans)
+Music_iterator::set_translator (Translator_group *trans)
{
handle_.set_translator (trans);
}
void
-Music_iterator::construct_children()
-{
-}
-
-Music_iterator::~Music_iterator()
+Music_iterator::construct_children ()
{
}
Moment
-Music_iterator::next_moment() const
+Music_iterator::pending_moment () const
{
return 0;
}
void
-Music_iterator::process_and_next (Moment m)
+Music_iterator::process (Moment)
{
- do_process_and_next (m);
}
-void
-Music_iterator::do_process_and_next (Moment)
+bool
+Music_iterator::ok () const
{
- first_b_ = false;
+ return false;
}
-bool
-Music_iterator::ok() const
+SCM
+Music_iterator::get_music (Moment)const
{
- return first_b_;
+ return SCM_EOL;
}
Music_iterator*
-Music_iterator::static_get_iterator_p (Music *m)
+Music_iterator::static_get_iterator_p (Music *m)
{
Music_iterator * p =0;
p = new Property_iterator;
else if (dynamic_cast<Change_translator *> (m))
p = new Change_iterator;
- else if (dynamic_cast<Push_translation_property*>(m))
+ else if (dynamic_cast<Push_translation_property*> (m))
p = new Push_property_iterator;
- else if (dynamic_cast<Pop_translation_property*>(m))
+ else if (dynamic_cast<Pop_translation_property*> (m))
p = new Pop_property_iterator;
else if (dynamic_cast<Time_scaled_music *> (m))
p = new Time_scaled_music_iterator;
}
void
-Music_iterator::init_translator (Music *m, Translator_group *report_l)
+Music_iterator::init_translator (Music *m, Translator_group *report_l)
{
music_l_ = m;
- if (Context_specced_music * csm =dynamic_cast<Context_specced_music *>(m))
+ if (Context_specced_music * csm =dynamic_cast<Context_specced_music *> (m))
{
Translator_group* a =report_l->
find_create_translator_l (csm->translator_type_str_, csm->translator_id_str_);
}
- if (! report_to_l())
+ if (! report_to_l ())
set_translator (report_l);
}
Music_iterator::get_iterator_p (Music *m) const
{
Music_iterator*p = static_get_iterator_p (m);
- p->init_translator (m, report_to_l());
+ p->init_translator (m, report_to_l ());
- p->construct_children();
+ p->construct_children ();
return p;
}
-Music_iterator::Music_iterator()
-{
- first_b_ = true;
-}
-
Music_iterator*
-Music_iterator::try_music (Music *m) const
+Music_iterator::try_music (Music *m) const
{
- bool b = report_to_l ()->try_music ((Music*)m); // ugh
+ bool b = report_to_l ()->try_music ( (Music*)m); // ugh
Music_iterator * it = b ? (Music_iterator*) this : 0; // ugh
if (!it)
it = try_music_in_children (m);
}
Music_iterator*
-Music_iterator::try_music_in_children (Music * ) const
+Music_iterator::try_music_in_children (Music *) const
{
return 0;
}
source file of the GNU LilyPond music typesetter
(c) 1998--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
*/
child_iter_p_ =0;
}
+Music_wrapper_iterator::Music_wrapper_iterator (Music_wrapper_iterator const &src)
+ : Music_iterator (src)
+{
+ child_iter_p_ = src.child_iter_p_->clone ();
+}
-
-void
-Music_wrapper_iterator::do_print () const
+Music_wrapper_iterator::~Music_wrapper_iterator ()
{
- child_iter_p_->print ();
+ delete child_iter_p_;
}
+
void
Music_wrapper_iterator::construct_children ()
{
get_iterator_p (dynamic_cast<Music_wrapper const*> (music_l_)->element ());
}
-Music_wrapper_iterator::~Music_wrapper_iterator ()
-{
- delete child_iter_p_;
-}
-
-
bool
Music_wrapper_iterator::ok () const
{
}
void
-Music_wrapper_iterator::do_process_and_next (Moment m)
+Music_wrapper_iterator::process (Moment m)
{
- child_iter_p_->process_and_next (m);
- Music_iterator::do_process_and_next (m);
+ child_iter_p_->process (m);
}
+SCM
+Music_wrapper_iterator::get_music (Moment m)const
+{
+ 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
{
#include "part-combine-music-iterator.hh"
#include "translator-group.hh"
#include "musical-request.hh"
+#include "music-sequence.hh"
#include "warn.hh"
Part_combine_music_iterator::Part_combine_music_iterator ()
{
- combined_b_ = true;
-
- now_ = 0;
first_iter_p_ = 0;
second_iter_p_ = 0;
first_until_ = 0;
}
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 <? first_iter_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 <? second_next;
+ p = p <? second_iter_p_->pending_moment ();
+ return p;
}
bool
return first_iter_p_->ok () || second_iter_p_->ok ();
}
-void
-Part_combine_music_iterator::do_print () const
-{
- first_iter_p_->print ();
- second_iter_p_->print ();
-}
-
void
Part_combine_music_iterator::construct_children ()
{
error (_f ("none of these in my family: `%s'", to_id.ch_C ()));
}
-Pitch_interrogate_req* first_spanish_inquisition; // nobody expects it
-Pitch_interrogate_req* second_spanish_inquisition; // won't strike twice
-
-Rhythm_interrogate_req* first_rhythmic_inquisition;
-Rhythm_interrogate_req* second_rhythmic_inquisition;
-
void
-Part_combine_music_iterator::do_process_and_next (Moment m)
+Part_combine_music_iterator::process (Moment m)
{
- Part_combine_music const * p = dynamic_cast<Part_combine_music const* > (music_l_);
-
- now_ = next_moment ();
-
- /*
- Hmm, shouldn't we check per iterator if next_moment < m?
- */
- if (first_iter_p_->ok ())
- first_iter_p_->process_and_next (m);
-
- if (second_iter_p_->ok ())
- second_iter_p_->process_and_next (m);
-
- Music_iterator::do_process_and_next (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<Part_combine_music const* > (music_l_);
- * Maybe we need a Skip_engraver?
-
- (check): can this all be handled now?
-
- Maybe different modes exist?
-
- * Wind instruments (Flute I/II)
- * Hymnals:
-
-
- Rules for Hymnals/SATB (John Henckel <henckel@iname.com>):
-
- 1. if S and A differ by less than a third, the stems should be up/down.
- 2. else if S and A have different values, the stems should be up/down.
- 3. else if A sings "la" or higher, both S and A stems should be down.
- 4. else both stems should be up
-
- * This may get really tricky: combining voices/staffs: string instruments
+ Moment now = pending_moment ();
- */
+ Array<Musical_pitch> first_pitches;
+ Array<Duration> first_durations;
+ if (first_iter_p_->ok ())
+ {
+ /* 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))
+ {
+ Music *m = unsmob_music (gh_car (i));
+ if (Melodic_req *r = dynamic_cast<Melodic_req *> (m))
+ first_pitches.push (r->pitch_);
+ if (Rhythmic_req *r = dynamic_cast<Rhythmic_req *> (m))
+ first_durations.push (r->duration_);
+ }
+ delete mi;
+ }
- if (!first_spanish_inquisition)
- first_spanish_inquisition = new Pitch_interrogate_req;
- first_iter_p_->try_music (first_spanish_inquisition);
+ Array<Musical_pitch> second_pitches;
+ Array<Duration> second_durations;
+ if (second_iter_p_->ok ())
+ {
+ Music_iterator *mi = second_iter_p_->clone ();
+ for (SCM i = mi->get_music (now); gh_pair_p (i); i = gh_cdr (i))
+ {
+ Music *m = unsmob_music (gh_car (i));
+ if (Melodic_req *r = dynamic_cast<Melodic_req *> (m))
+ second_pitches.push (r->pitch_);
+ if (Rhythmic_req *r = dynamic_cast<Rhythmic_req *> (m))
+ second_durations.push (r->duration_);
+ }
+ delete mi;
+ }
- if (!second_spanish_inquisition)
- second_spanish_inquisition = new Pitch_interrogate_req;
- second_iter_p_->try_music (second_spanish_inquisition);
-
- Array<Musical_pitch>* first_pitches = &first_spanish_inquisition->pitch_arr_;
- Array<Musical_pitch>* second_pitches = &second_spanish_inquisition->pitch_arr_;
-
- if (!first_rhythmic_inquisition)
- first_rhythmic_inquisition = new Rhythm_interrogate_req;
- first_iter_p_->try_music (first_rhythmic_inquisition);
-
- if (!second_rhythmic_inquisition)
- second_rhythmic_inquisition = new Rhythm_interrogate_req;
- second_iter_p_->try_music (second_rhythmic_inquisition);
-
- Array<Duration>* first_durations = &first_rhythmic_inquisition->duration_arr_;
- Array<Duration>* second_durations = &second_rhythmic_inquisition->duration_arr_;
-
SCM interval = SCM_BOOL_F;
- if (first_pitches->size () && second_pitches->size ())
+ if (first_pitches.size () && second_pitches.size ())
{
- first_pitches->sort (Musical_pitch::compare);
- second_pitches->sort (Musical_pitch::compare);
- interval = gh_int2scm (first_pitches->top ().steps ()
- - (*second_pitches)[0].steps ());
+ first_pitches.sort (Musical_pitch::compare);
+ second_pitches.sort (Musical_pitch::compare);
+ interval = gh_int2scm (first_pitches.top ().steps ()
+ - second_pitches[0].steps ());
}
- if (first_durations->size ())
+ if (first_durations.size ())
{
- first_durations->sort (Duration::compare);
- Moment new_until = now_ + first_durations->top ().length_mom ();
+ first_durations.sort (Duration::compare);
+ Moment new_until = now + first_durations.top ().length_mom ();
if (new_until > first_until_)
first_until_ = new_until;
}
- if (second_durations->size ())
+ if (second_durations.size ())
{
- second_durations->sort (Duration::compare);
- Moment new_until = now_ + second_durations->top ().length_mom ();
+ second_durations.sort (Duration::compare);
+ Moment new_until = now + second_durations.top ().length_mom ();
if (new_until > second_until_)
second_until_ = new_until;
}
+#if 0 /* DEBUG */
+ printf ("now: %s\n", now.str ().ch_C ());
+ printf ("first: ");
+ for (int i = 0; i < first_pitches.size (); i++)
+ {
+ printf ("%s, ", first_pitches[i].str ().ch_C ());
+ }
+ printf ("\nsecond: ");
+ for (int i = 0; i < second_pitches.size (); i++)
+ {
+ printf ("%s, ", second_pitches[i].str ().ch_C ());
+ }
+ printf ("\n");
+#endif
+
Translator_group * fir = first_iter_p_->report_to_l ();
Translator_group * sir = second_iter_p_->report_to_l ();
- bool solo_b = (first_pitches->empty () != second_pitches->empty ())
- && !(first_until_ > now_ && second_until_ > now_);
+ bool solo_b = (first_pitches.empty () != second_pitches.empty ())
+ && !(first_until_ > now && second_until_ > now);
- bool unirhythm_b = !solo_b && !compare (first_durations, second_durations);
- bool unison_b = unirhythm_b && !first_pitches->empty ()
- &&!compare (first_pitches, second_pitches);
- bool unisilence_b = unirhythm_b && first_pitches->empty ();
+ bool unirhythm_b = !solo_b && !compare (&first_durations, &second_durations);
+ bool unison_b = unirhythm_b && !first_pitches.empty ()
+ &&!compare (&first_pitches, &second_pitches);
+ bool unisilence_b = unirhythm_b && first_pitches.empty ();
Translator_group * fd = fir->find_create_translator_l (p->what_str_, "one");
Translator_group * sd = sir->find_create_translator_l (p->what_str_, "two");
split_interval_b = true;
}
- /*
- Hmm, maybe we should set/check combined_b_ against
-
- first_iter_p_->report_to_l () == second_iter_p_->report_to_l ()
-
- ?
- */
+ bool combined_b = first_iter_p_->report_to_l ()->daddy_trans_l_
+ == second_iter_p_->report_to_l ()->daddy_trans_l_;
- String to_id = combined_b_ ? "one" : "two";
- if ((!unirhythm_b && combined_b_)
- || (split_interval_b && combined_b_)
- || (solo_b && combined_b_)
- /*|| (unisilence_b && combined_b_) */
+ String to_id = combined_b ? "one" : "two";
+ if ((!unirhythm_b && combined_b)
+ || (split_interval_b && combined_b)
+ || (solo_b && combined_b)
+ /*|| (unisilence_b && combined_b) */
|| ((unirhythm_b || unison_b || unisilence_b)
- && !combined_b_ && !split_interval_b && !solo_b))
+ && !combined_b && !split_interval_b && !solo_b))
{
- combined_b_ = !combined_b_;
- to_id = combined_b_ ? "one" : "two";
+ combined_b = !combined_b;
+ to_id = combined_b ? "one" : "two";
change_to (second_iter_p_, p->what_str_, to_id);
}
- if (!combined_b_)
+ if (!combined_b)
sir = second_iter_p_->report_to_l ();
SCM b = unirhythm_b ? SCM_BOOL_T : SCM_BOOL_F;
sd->set_property ("unison", b);
b = solo_b ? SCM_BOOL_T : SCM_BOOL_F;
- if (first_pitches->size ())
+ if (first_pitches.size ())
{
fd->set_property ("solo", b);
sd->set_property ("solo", SCM_BOOL_F);
}
- if (second_pitches->size ())
+ if (second_pitches.size ())
{
fd->set_property ("solo", SCM_BOOL_F);
sd->set_property ("solo", b);
}
- first_pitches->clear ();
- second_pitches->clear ();
- first_durations->clear ();
- second_durations->clear ();
+ if (first_iter_p_->ok ())
+ first_iter_p_->process (m);
+
+ if (second_iter_p_->ok ())
+ second_iter_p_->process (m);
}
Music_iterator*
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;
+}
translation unit, and set the property.
*/
void
-Property_iterator::do_process_and_next (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_and_next (m);
+ Simple_music_iterator::process (m);
}
-
void
-Push_property_iterator::do_process_and_next (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");
Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, val);
- Music_iterator::do_process_and_next (m);
+ Simple_music_iterator::process (m);
}
void
-Pop_property_iterator::do_process_and_next (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_and_next (m);
+ Simple_music_iterator::process (m);
}
#include "music-list.hh"
#include "request.hh"
-
-
-void
-Request_chord_iterator::construct_children()
+Request_chord_iterator::Request_chord_iterator ()
{
- elt_length_mom_ =elt_l ()->length_mom ();
- get_req_translator_l();
}
-Request_chord*
-Request_chord_iterator::elt_l () const
+Request_chord_iterator::Request_chord_iterator (Request_chord_iterator const &src)
+ : Simple_music_iterator (src)
{
- return (Request_chord*) music_l_;
}
-Request_chord_iterator::Request_chord_iterator ()
+Translator_group*
+Request_chord_iterator::get_req_translator_l ()
{
- last_b_ = false;
-}
+ 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 ();
+}
-bool
-Request_chord_iterator::ok() const
+void
+Request_chord_iterator::construct_children()
{
- return (elt_length_mom_ && !last_b_) || first_b_;
+ Simple_music_iterator::construct_children ();
+ get_req_translator_l();
}
-Moment
-Request_chord_iterator::next_moment() const
+Request_chord*
+Request_chord_iterator::elt_l () const
{
- Moment m (0);
- if (!first_b_)
- m = elt_length_mom_;
- return m;
+ return (Request_chord*) music_l_;
}
-void
-Request_chord_iterator::do_print() const
+SCM
+Request_chord_iterator::get_music (Moment)const
{
-#ifndef NPRINT
- DEBUG_OUT << "duration: " << elt_length_mom_;
-#endif
+ SCM s = SCM_EOL;
+ if (music_l_)
+ {
+ Music_sequence * ms = dynamic_cast<Music_sequence*> (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_and_next (Moment mom)
+Request_chord_iterator::process (Moment m)
{
- if (first_b_)
+ last_processed_mom_ = m;
+ if (music_l_)
{
- for (SCM s = dynamic_cast<Music_sequence *> (music_l_)->music_list (); gh_pair_p (s); s = gh_cdr (s))
+ for (SCM s = dynamic_cast<Music_sequence *> (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<Request*> (mus))
{
bool gotcha = try_music (req_l);
}
else
mus->origin ()->warning (_f ("Huh? Not a Request: `%s'",
- classname (mus)));
- }
- first_b_ = false;
- }
+ classname (mus)));
+ }
- if (mom >= elt_length_mom_)
- last_b_ = true;
+ music_l_ =0;
+ }
}
#include "music-list.hh"
#include "request-chord-iterator.hh"
-
-void
-Sequential_music_iterator::do_print() const
-{
- if (iter_p_)
- iter_p_->print();
-}
-
Sequential_music_iterator::Sequential_music_iterator ()
{
cursor_ = 0;
iter_p_ =0;
}
+Sequential_music_iterator::Sequential_music_iterator (Sequential_music_iterator const &src)
+ : Music_iterator (src)
+{
+ cursor_ = src.cursor_;
+ here_mom_ = src.here_mom_;
+ iter_p_ = src.iter_p_->clone ();
+}
+
+Sequential_music_iterator::~Sequential_music_iterator()
+{
+ if (iter_p_)
+ {
+ /* if (iter_p_->ok () )
+ music_l_->origin ()->warning (_ ("Must stop before this music ends"));
+ */
+ delete iter_p_;
+ iter_p_ = 0;
+ }
+}
+
+
void
Sequential_music_iterator::construct_children()
{
set_translator (child_report);
}
-Sequential_music_iterator::~Sequential_music_iterator()
+
+SCM
+Sequential_music_iterator::get_music (Moment until)const
{
- if (iter_p_)
- {
- if (iter_p_->ok ())
- music_l_->origin ()->warning (_ ("Must stop before this music ends"));
- delete iter_p_;
- iter_p_ = 0;
- }
+#if 0
+ /*
+ 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 s;
+#endif
+ return SCM_EOL;
}
void
-Sequential_music_iterator::do_process_and_next (Moment until)
+Sequential_music_iterator::process (Moment until)
{
- if (!iter_p_)
- return;
-
- while (1)
+ if (ok ())
{
- Moment local_until = until - here_mom_;
- while (iter_p_->ok())
- {
- Moment here = iter_p_->next_moment();
- if (here != local_until)
- goto loopexit;
-
- iter_p_->process_and_next (local_until);
- }
-
- if (!iter_p_->ok())
+ while (1)
{
- set_sequential_music_translator();
- leave_element();
+ Moment local_until = until - here_mom_;
+ while (iter_p_->ok ())
+ {
+ Moment here = iter_p_->pending_moment ();
+ if (here != local_until)
+ return ;
+
+ iter_p_->process (local_until);
+ }
- if (gh_pair_p (cursor_))
- start_next_element();
- else
- goto loopexit;
+ if (!iter_p_->ok ())
+ {
+ set_sequential_music_translator ();
+ leave_element ();
+
+ if (gh_pair_p (cursor_))
+ start_next_element ();
+ else
+ return ;
+ }
}
}
-
-loopexit:
-
- Music_iterator::do_process_and_next (until);
}
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_;
}
--- /dev/null
+/*
+ simple-music-iterator.cc -- implement Simple_music_iterator
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#include "simple-music-iterator.hh"
+#include "music.hh"
+#include "input.hh"
+
+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::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
+ /*
+ try_music () causes trouble for base classes
+ */
+ if (music_l_)
+ {
+ bool b = try_music (music_l_);
+ if (!b)
+ music_l_->origin ()->warning (_f ("Junking music: `%s'",
+ classname (music_l_)));
+ }
+#endif
+ music_l_ = 0;
+ last_processed_mom_ = m;
+}
Simultaneous_music_iterator::Simultaneous_music_iterator ()
{
separate_contexts_b_ = false;
+ cursor_i_ = 0;
+}
+
+Simultaneous_music_iterator::Simultaneous_music_iterator (Simultaneous_music_iterator const& src)
+ : Music_iterator (src)
+{
+ cursor_i_ = src.cursor_i_;
+ separate_contexts_b_ = src.separate_contexts_b_;
+ for (Cons<Music_iterator> *p = children_p_list_.head_; p; p = p->next_)
+ {
+ Music_iterator *i = p->car_;
+ children_p_list_.append (new Killing_cons<Music_iterator> (i->clone (), 0));
+ }
}
Simultaneous_music_iterator::~Simultaneous_music_iterator ()
children_p_list_.junk ();
}
+/*
+ Should roll next () into this as well
+
+
+ huh? --hwn
+ */
+SCM
+Simultaneous_music_iterator::get_music (Moment m)const
+{
+ SCM s = SCM_EOL;
+ for (Cons<Music_iterator> *p = children_p_list_.head_; p; p = p->next_)
+ {
+ s = gh_append2 (p->car_->get_music (m), s);
+ }
+ return s;
+}
+
void
Simultaneous_music_iterator::construct_children()
{
}
}
-void
-Simultaneous_music_iterator::do_print() const
-{
-#ifndef NPRINT
- for (Cons<Music_iterator> *p = children_p_list_.head_; p; p = p->next_)
- p->car_->print();
-#endif
-}
void
-Simultaneous_music_iterator::do_process_and_next (Moment until)
+Simultaneous_music_iterator::process (Moment until)
{
- for (Cons<Music_iterator> **pp = &children_p_list_.head_; *pp; )
+ for (Cons<Music_iterator> **pp = &children_p_list_.head_; *pp;)
{
Music_iterator * i = (*pp)->car_;
- if (i->next_moment() == until)
+ if (i->pending_moment() == until)
{
- i->process_and_next (until);
+ i->process (until);
}
if (!i->ok())
delete children_p_list_.remove_cons (pp);
else
pp = &(*pp)->next_;
}
- Music_iterator::do_process_and_next (until);
}
-
-
-
Moment
-Simultaneous_music_iterator::next_moment() const
+Simultaneous_music_iterator::pending_moment() const
{
Moment next;
next.set_infinite (1);
for (Cons<Music_iterator> *p = children_p_list_.head_; p; p = p->next_)
- next = next <? p->car_->next_moment() ;
+ next = next <? p->car_->pending_moment() ;
return next;
}
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 ();
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
{
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
#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);
{
if (Text_script_req *r = dynamic_cast<Text_script_req*> (m))
{
+ if (r->style_str_ == "dynamic")
+ return false;
+
reqs_.push (r);
return true;
}
#include "command-request.hh"
void
-Time_scaled_music_iterator::do_process_and_next (Moment m)
+Time_scaled_music_iterator::process (Moment m)
{
if (!m)
{
music_l_->origin ()->warning ( _("no one to print a tuplet start bracket"));
}
- Music_wrapper_iterator::do_process_and_next (m);
+ Music_wrapper_iterator::process (m);
}
Translator_group::~Translator_group ()
{
- assert (removable_b());
+
+ //assert (removable_b());
}
}
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
}
void
-Unfolded_repeat_iterator::do_process_and_next (Moment m)
+Unfolded_repeat_iterator::process (Moment m)
{
if (!m)
{
return;
}
- if (m - done_mom_ >= current_iter_p_->next_moment ())
- current_iter_p_->process_and_next (m - done_mom_);
+ 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
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 <Span_req *> (m))
+ {
+ if (s->span_type_str_ == *p)
+ {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+}
+
static char const *junk_interfaces[] = {
- // "beam-interface",
+#if 0
+ "beam-interface",
+#endif
"slur-interface",
"tie-interface",
"text-item-interface",
ThreadContext = \translator{
\type Engraver_group_engraver;
- %%\consists "A2_devnull_engraver";
\consists "Thread_devnull_engraver";
\consists "Note_heads_engraver";
\consists "Output_property_engraver";
\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{
\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
\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 |
% )<b1\sf\> { 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
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 |
%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, |
\paper{
- \paper_sixteen
+
textheight = 295.0\mm;
linewidth = 180.0\mm;
\ThreadContext
\name "VoiceCombineThread";
\consists "Rest_engraver";
- \remove "Thread_devnull_engraver";
- \consists "A2_devnull_engraver";
}
\translator{
\VoiceContext
soloIIText = #"II."
\remove "Rest_engraver";
\accepts "VoiceCombineThread";
- \consists "A2_devnull_engraver";
- \remove "Voice_devnull_engraver";
}
\translator{
\HaraKiriStaffContext
\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
\translator {
%\ScoreContext
- %\consists "Mark_engraver";
\OrchestralScoreContext
\accepts "VoiceCombineStaff";
\accepts "StaffCombineStaff";
+ skipBars = ##t
barScriptPadding = #2.0 % dimension \pt
markScriptPadding = #4.0
%% 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
}
-\paper {
+\paper{
textheight = 295.0\mm;
linewidth = 180.0\mm;
\ThreadContext
\name "VoiceCombineThread";
\consists "Rest_engraver";
- \remove "Thread_devnull_engraver";
- \consists "A2_devnull_engraver";
}
\translator{
\VoiceContext
soloIIText = #"II."
\remove "Rest_engraver";
\accepts "VoiceCombineThread";
- \consists "A2_devnull_engraver";
- \remove "Voice_devnull_engraver";
}
\translator{
\HaraKiriStaffContext
\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
\translator {
\ScoreContext
+ %\OrchestralScoreContext
\accepts "VoiceCombineStaff";
\accepts "StaffCombineStaff";
skipBars = ##t
maximumRestCount = #1
}
}
-
\translator {
\ScoreContext
+ %\OrchestralScoreContext
skipBars = ##t
barScriptPadding = #2.0 % dimension \pt
\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
>
%\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
\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{
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|
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 <bamse@gmx.de>\n"
"Language-Team: LANGUAGE <de@li.org>\n"
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"
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"
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 ""
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"
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"
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 ""
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"
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"
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"
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"
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"
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"
"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"
"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"
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"
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"
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 ... "
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"
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'"
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?"
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"
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"
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"
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:"
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"
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 <laurent@linuxfan.com>\n"
"Language-Team: \n"
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'"
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"
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 ""
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"
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é"
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 ""
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 ""
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"
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"
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 ""
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"
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"
"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"
"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"
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'"
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 ""
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 ... "
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 ""
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'"
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 ""
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 ""
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'"
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"
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'"
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é"
#, 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: <jantien@xs4all.nl>\n"
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'"
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 ""
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 ""
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"
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"
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 ""
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"
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 ""
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 ""
" -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 ""
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 ""
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 <stdin>"
-#: 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"
"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"
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'"
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"
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 ... "
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"
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'"
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."
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"
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'"
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"
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:"
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'"
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 <yamad@mb.infoweb.ne.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
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'"
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 "³Ã¤Ï¤³¤³¤«¤é³«»Ï¤µ¤ì¤Þ¤·¤¿"
msgid "beam has less than two stems"
msgstr "³Ã¤¬Æó¤Ä̤Ëþ¤ÎÉäÈø¤È¤È¤â¤Ë»È¤ï¤ì¤Þ¤·¤¿"
-#: beam.cc:510
+#: beam.cc:511
msgid "weird beam vertical offset"
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)"
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 "½ªÎ»¤·¤Æ¤¤¤Ê¤¤¥¯¥ì¥Ã¥·¥§¥ó¥É"
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: ¥¡¼Êѹ¹¤Î¥Þ¡¼¥¸"
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 "¥Ç¥Ð¥Ã¥°½ÐÎϤò͸ú"
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 "¤³¤Î¥Ø¥ë¥×"
msgid "add DIR to search path"
msgstr "DIR ¤ò¸¡º÷¥Ñ¥¹¤ËÄɲÃ"
-#: main.cc:79 main.cc:96
+#: main.cc:79 main.cc:97
msgid "FILE"
msgstr "FILE"
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 "½ÐÎϤ˥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¤Ä¤±¤Ê¤¤"
msgid "switch on experimental features"
msgstr "¼Â¸³Åª¤Êµ¡Ç½¤ò͸ú¤Ë¤¹¤ë"
-#: main.cc:87 main.cc:101
+#: main.cc:87 main.cc:103
msgid "print version number"
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"
"Èþ¤·¤¤ÉèÌ̤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£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"
"¤³¤ì¤ò²þÊѤ·¤¿¤ê¡¢Ê£À½¤òÇÛÉÛ¤·¤¿¤ê¤¹¤ë»ö¤Ï´¿·Þ¤µ¤ì¤Þ¤¹¡£\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"
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' ¥³¥ó¥Æ¥¥¹¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
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 "¥Ö¥ì¡¼¥¹¤¬°ìÃפ·¤Þ¤»¤ó"
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 "¥È¥é¥Ã¥¯ ..."
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 "µÙÉä¤Î¾×Æͤ¬Â¿¤¹¤®¤Þ¤¹"
msgid "too many notes for rest collision"
msgstr "µÙÉä¤Î¾×ÆͤËÂФ·¤Æ²»É䤬¿¤¹¤®¤Þ¤¹"
-#: score-engraver.cc:151
+#: score-engraver.cc:149
#, c-format
msgid "unbound spanner `%s'"
msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥¹¥Ñ¥Ê `%s'"
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 "¥¹¥é¡¼¤¬µÙÉä¤ò¤Þ¤¿¤¤¤Ç¤¤¤ë?"
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 "Çï»Ò¤ÎÍ׵᤬¶¥¹ç¤·¤Þ¤¹"
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'"
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 "Ťµ¥¼¥í¤Îʸ»úÎ󤬸½¤ï¤ì¤Þ¤·¤¿"
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:"
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 ¤Ä¤¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤·¤¿¡£"
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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
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 ""
msgid "beam has less than two stems"
msgstr ""
-#: beam.cc:510
+#: beam.cc:511
msgid "weird beam vertical offset"
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 ""
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 ""
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 ""
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 ""
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 ""
msgid "add DIR to search path"
msgstr ""
-#: main.cc:79 main.cc:96
+#: main.cc:79 main.cc:97
msgid "FILE"
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 ""
msgid "switch on experimental features"
msgstr ""
-#: main.cc:87 main.cc:101
+#: main.cc:87 main.cc:103
msgid "print version number"
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"
"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"
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 ""
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 ""
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 ""
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 ""
msgid "too many notes for rest collision"
msgstr ""
-#: score-engraver.cc:151
+#: score-engraver.cc:149
#, c-format
msgid "unbound spanner `%s'"
msgstr ""
msgid "Errors found/*, not processing score*/"
msgstr ""
-#: score.cc:100
+#: score.cc:101
#, c-format
msgid "elapsed time: %.2f seconds"
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 ""
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 ""
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 ""
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 ""
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 ""
msgstr ""
#: mudela-stream.cc:97
+#, c-format
msgid "% from input file: "
msgstr ""
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 <janneke@gnu.org>\n"
"Language-Team: Dutch <nl@li.org>\n"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
"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 <janneke@gnu.org> of <hanwen@cs.uu.nl>"
-#: 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"
"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"
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"
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"
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 ... "
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"
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'"
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'..."
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?"
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"
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'"
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"
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:"
msgstr "% Automatisch gegenereerd"
#: mudela-stream.cc:97
+#, c-format
msgid "% from input file: "
msgstr "% van invoerbestand: "
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 <august@infran.ru>\n"
"Language-Team: Russian <ru@li.org>\n"
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'"
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 "ÇÒÕÐÐÉÒÏ×ËÁ ÎÁÞÉÎÁÌÁÓØ ÚÄÅÓØ"
msgid "beam has less than two stems"
msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÍÅÎÅÅ Ä×ÕÈ ÛÔÉÌÅÊ"
-#: beam.cc:510
+#: beam.cc:511
msgid "weird beam vertical offset"
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 "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ ËÌÀÞÁ"
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 "ÎÅÚÁËÏÎÞÅÎÎÏÅ (ÄÅ)ËÒÅÝÅÎÄÏ"
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 "éóðòá÷øíåîñ: ÓÌÉÑÎÉÅ ÓÍÅÎÙ ËÌÀÞÁ"
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 "×ËÌÀÞÉÔØ ×Ù×ÏÄ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ"
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 "ÜÔÁ ÓÐÒÁ×ËÁ"
msgid "add DIR to search path"
msgstr "ÄÏÂÁ×ÉÔØ ëáô Ë ÐÕÔÉ ÐÏÉÓËÁ"
-#: main.cc:79 main.cc:96
+#: main.cc:79 main.cc:97
msgid "FILE"
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 "ÎÅ ÏÔÍÅÞÁÔØ ÄÁÔÕ É ×ÒÅÍÑ ×Ù×ÏÄÁ"
msgid "switch on experimental features"
msgstr "×ËÌÀÞÉÔØ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ"
-#: main.cc:87 main.cc:101
+#: main.cc:87 main.cc:103
msgid "print version number"
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"
"ÎÁ ÂÕÍÁÇÅ, ÉÓÐÏÌØÚÕÑ ×ÙÓÏËÏÕÒÏ×ÎÅ×ÙÊ ÆÁÊÌ ÏÐÉÓÁÎÉÑ ÎÁ ××ÏÄÅ. 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"
"ÐÒÉ ÓÏÂÌÀÄÅÎÉÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÊ. ÷ÙÚÙ×ÁÊÔÅ ËÁË `%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"
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'"
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 "æÉÇÕÒÎÙÅ ÓËÏÂËÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ"
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 "äÏÒÏÖËÁ ..."
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 "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÎÁÌÅÚÁÀÝÉÈ ÐÁÕÚ"
msgid "too many notes for rest collision"
msgstr ""
-#: score-engraver.cc:151
+#: score-engraver.cc:149
#, c-format
msgid "unbound spanner `%s'"
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 "ìÉÇÁ ÎÁÄ ÐÁÕÚÏÊ?"
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 ""
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'"
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 "×ÓÔÒÅÔÉÌÁÓØ ÓÔÒÏËÁ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ"
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 ÉÎÓÔÒÕÍÅÎÔ:"
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'"