From 962e2bb48cf92be3c9176bdb83433fd05738c6f6 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 27 Mar 2002 00:58:35 +0000 Subject: [PATCH] lilypond-1.3.141 --- Documentation/topdocs/FAQ.texi | 8 + Documentation/user/invoking.itexi | 4 +- Documentation/user/latex-example.latex | 49 ++ .../user/latex-lilypond-example.latex | 16 +- NEWS | 23 +- buildscripts/mutopia-index.py | 4 +- flower/input.cc | 4 +- input/bugs/denneboom.ly | 115 +++++ input/bugs/minimal.ly | 12 + input/bugs/multiply.ly | 24 + input/les-nereides.ly | 2 +- input/test/ac-extra-voice.ly | 2 +- input/test/auto-beam-override.ly | 2 +- ly/dynamic-scripts.ly | 2 + ly/params-as.ly | 13 +- make/ly.make | 22 +- make/ports-rules.make | 22 + midi2ly/include/duration-convert.hh | 2 +- midi2ly/include/lilypond-column.hh | 29 ++ midi2ly/include/lilypond-item.hh | 130 +++++ midi2ly/include/lilypond-score.hh | 51 ++ midi2ly/include/lilypond-staff.hh | 43 ++ midi2ly/include/lilypond-stream.hh | 42 ++ midi2ly/include/lilypond-voice.hh | 29 ++ midi2ly/include/midi-parser.hh | 2 +- midi2ly/include/midi-score-parser.hh | 4 +- midi2ly/include/midi-track-parser.hh | 12 +- midi2ly/include/midi2ly-proto.hh | 22 +- midi2ly/lilypond-column.cc | 24 + midi2ly/lilypond-item.cc | 364 ++++++++++++++ midi2ly/lilypond-score.cc | 256 ++++++++++ midi2ly/lilypond-staff.cc | 339 +++++++++++++ midi2ly/lilypond-stream.cc | 192 ++++++++ midi2ly/lilypond-voice.cc | 105 +++++ midi2ly/main.cc | 18 +- midi2ly/midi-score-parser.cc | 16 +- midi2ly/midi-track-parser.cc | 84 ++-- mutopia/J.S.Bach/GNUmakefile | 2 +- po/de.po | 445 ++++++++++-------- po/fr.po | 436 +++++++++-------- po/it.po | 440 +++++++++-------- po/ja.po | 437 +++++++++-------- po/lilypond.pot | 354 +++++++------- po/nl.po | 364 +++++++------- po/ru.po | 435 +++++++++-------- scm/basic-properties.scm | 1 + scm/c++.scm | 8 +- scm/lily.scm | 3 + scripts/as2text.scm | 6 +- scripts/ly2dvi.py | 75 ++- tex/test-pedal.tex | 39 ++ 51 files changed, 3633 insertions(+), 1500 deletions(-) create mode 100644 Documentation/user/latex-example.latex create mode 100644 input/bugs/denneboom.ly create mode 100644 input/bugs/minimal.ly create mode 100644 input/bugs/multiply.ly create mode 100644 make/ports-rules.make create mode 100644 midi2ly/include/lilypond-column.hh create mode 100644 midi2ly/include/lilypond-item.hh create mode 100644 midi2ly/include/lilypond-score.hh create mode 100644 midi2ly/include/lilypond-staff.hh create mode 100644 midi2ly/include/lilypond-stream.hh create mode 100644 midi2ly/include/lilypond-voice.hh create mode 100644 midi2ly/lilypond-column.cc create mode 100644 midi2ly/lilypond-item.cc create mode 100644 midi2ly/lilypond-score.cc create mode 100644 midi2ly/lilypond-staff.cc create mode 100644 midi2ly/lilypond-stream.cc create mode 100644 midi2ly/lilypond-voice.cc create mode 100644 tex/test-pedal.tex diff --git a/Documentation/topdocs/FAQ.texi b/Documentation/topdocs/FAQ.texi index 1f7d909a99..97d93cb614 100644 --- a/Documentation/topdocs/FAQ.texi +++ b/Documentation/topdocs/FAQ.texi @@ -83,4 +83,12 @@ The website is usually made from the latest snapshots. Binary releases, in particular the windows32 binaries, are only made every once in a while. They may lag several versions behind the latest version. +@subsection Beams, slurs and crescendi are not displayed at all! + +XDvi uses GhostScript for displaying PostScript, check that you have +GhostScript installed. If you use a different DVI viewer (eg, on +Windows), check if it will display embedded PostScript. Don't worry, +the symbols should appear on the printout. + + @bye diff --git a/Documentation/user/invoking.itexi b/Documentation/user/invoking.itexi index a082f4df5d..9d23b38f20 100644 --- a/Documentation/user/invoking.itexi +++ b/Documentation/user/invoking.itexi @@ -8,10 +8,10 @@ @example - lilypond [OPTION]... [MUDELA-FILE]... + lilypond [OPTION]... [FILE]... @end example -@unnumberedsec Command Options +@unnumberedsec Options @table @code diff --git a/Documentation/user/latex-example.latex b/Documentation/user/latex-example.latex new file mode 100644 index 0000000000..022a4c8368 --- /dev/null +++ b/Documentation/user/latex-example.latex @@ -0,0 +1,49 @@ +\documentclass[a4paper]{article} + + + +%\def\preLilypondExample{}} +%\def\postLilypondExample{} + + +\begin{document} + +\begin{lilypond} +\score { + \notes\relative c' { c d e f g a b c } +} +\end{lilypond} + + +\begin[fragment]{lilypond} +c d e +\end{lilypond} + + +% generate standard lilypond titles +\input titledefs.tex +\def\preLilypondExample{\def\mustmakelilypondtitle{}} + +\begin{lilypond} +\header { + title = "Title"; + subtitle = "Subtitle"; + subsubtitle = "Subsubtitle"; + opus = "Opus 1"; + piece = "Piece"; + composer = "Composer"; + enteredby = "JCN"; + instrument = "instrument"; +} +\paper { linewidth = -1.; } +\score { + \notes \relative c'' { a b c d } +} +\end{lilypond} + +\begin{enumerate} +\item Vers one. aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +\item Vers two. bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb +\end{enumerate} + +\end{document} diff --git a/Documentation/user/latex-lilypond-example.latex b/Documentation/user/latex-lilypond-example.latex index d155917b56..155795a526 100644 --- a/Documentation/user/latex-lilypond-example.latex +++ b/Documentation/user/latex-lilypond-example.latex @@ -1,15 +1,23 @@ -% kommentar +% +% This is way too long and hairy +% +% + + + \documentclass[a4paper, 12pt]{article} -%\def\preMudelaExample{} -%\def\postMudelaExample{} + +%\def\preLilypondExample{} +%\def\postLilypondExample{} %\usepackage{graphics} %\usepackage{landscape} + \begin{document} %uncomment this to try twocolumn mode %\twocolumn -\section{Mudelabook + LaTeX} +\section{Lilypond-book + LaTeX} This is an examplefile for mixing Lilypond and Latex. It is also used to test lilypond-book. View the source to see how it is done. diff --git a/NEWS b/NEWS index ca0c0f2de9..a402dff008 100644 --- a/NEWS +++ b/NEWS @@ -1,8 +1,16 @@ +New features in 1.4 + * Finale (.etf), PMX (.pmx) and musedata import tools. * Point and click functionality using emacs and Xdvi. +* Comprehensive documentation, including tutorial. + +* Self-documenting: generated internal documentation. + +* Includes an extensive glossary of musical terms. + * Improved design and implementation: Complete rewrite of the internals: LilyPond is smaller, cleaner, more flexible, etc. @@ -29,21 +37,24 @@ internals: LilyPond is smaller, cleaner, more flexible, etc. and stanza numbering. * Part combining for orchestral scores and hymns: two voices are - combined into a staff automatically, including Solo/`a2 + combined into a staff automatically, including Solo/a2 indications as appropriate. * Chordnames are now configurable in every respect -* Includes an extensive glossary of musical terms. - -* Many bugfixes. +* Easy-play notation * Finished ouverture Coriolan as full orchestral score example. -* Self-documenting: generated internal documentation. +* Mutopia ports collection: easy accessible music archive. * AsciiScript: ASCII-art output * Translations into Japanese, French and Russian -* EZ play notation +* Many bugfixes. + + +Removed features + +* margin shape diff --git a/buildscripts/mutopia-index.py b/buildscripts/mutopia-index.py index a79e99cc6e..4cb45eae1e 100644 --- a/buildscripts/mutopia-index.py +++ b/buildscripts/mutopia-index.py @@ -65,7 +65,7 @@ These images are generated at approximately 180dpi. If you want a better impress # # FIXME breaks on multiple strings. # -def read_mudela_header (fn): +def read_lilypond_header (fn): s = open(fn).read () s = re.sub('%.*$', '', s) s = re.sub('\n', ' ', s) @@ -126,7 +126,7 @@ def gen_list(inputs, filename): ext = ext2 + ext print '%s, ' % ex - header = read_mudela_header(ex) + header = read_lilypond_header(ex) def read_dict(s, default, h =header): try: diff --git a/flower/input.cc b/flower/input.cc index 8ec33cf882..d45f81b9d3 100644 --- a/flower/input.cc +++ b/flower/input.cc @@ -37,8 +37,8 @@ Input::set_spot (Input const &i) } /* - Produce GNU-compliant error message. Correcting mudela is such a - breeze if you ('re edidor) know (s) the error column too + Produce GNU-compliant error message. Correcting lilypond source is + such a breeze if you ('re edidor) know (s) the error column too Format: diff --git a/input/bugs/denneboom.ly b/input/bugs/denneboom.ly new file mode 100644 index 0000000000..5f368a7d56 --- /dev/null +++ b/input/bugs/denneboom.ly @@ -0,0 +1,115 @@ +\header{ +filename = "denneboom.ly"; +enteredby = "jcn"; +copyright = "public domain"; +} +%{ file tests silly line shapes %} + +\include "paper20.ly" + + + +oden = \lyrics{ + O | + den- ne- boom, o | + den- ne- boom Wat | + zijn uw tak- ken | + won- der- schoon +} + +ikheb = \lyrics{ + Ik | + heb u laatst in_'t | + bos zien staan toen | + zat- en er geen | + kaars- jes aan +} + +ugloeit = \lyrics{ + U | + gloeit in bar- re | + win- ter- tijd, als | + sneeuw op aar- de | + licht ge- spreid +} + +oboom = \notes\transpose c''{ + g,8 | + c8. c16 c4. d8 | + e8. e16 e4. e8 | + d e f4 b, | + d8. c16 c4 r8 +} + +bos = \notes\transpose c''{ + g8 | + g e a4. g8 | + g8. f16 f4 r8 f8 | + f d g4. f8 | + f8. e16 e4 r8 +} + + +melody = \notes{ + \oboom + \oboom + \bos + \oboom +} + + +verseOne = \notes{ + \oden + \oden + \ikheb + \oden +} + +verseOneStaff = \context Lyrics = one + \$verse_one + + +verseTwo = \notes{ + \oden + \oden + \ugloeit + \oden +} + +verseTwoStaff = \context Lyrics = two + \$verse_two + + +denneboomShape = \paper{ + \paperTwenty + indent = 20. \mm; + + % UGH -- THIS IS HAIRY + #'margin-shape = #(map + (lambda (x) (cons-map mm-to-pt x)) + '((70.0 . 20.) + (65.0 . 30.0) + (57.5 . 45.0) + (50.0 . 60.0) + (42.5 . 75.) + (35.0 . 90.) + (27.5 . 105.) + (20.0 . 120.0) + (10.0 . 140.0) + (65.0 . 30.0)) + ) + + gourlay_maxmeasures = 30.; + arithmetic_basicspace = 3.8; + arithmetic_multiplier = 8.\pt; +} + +\score{ + \addlyrics + \context Staff { \time 3/4; \melody } + \context Lyrics \$verse_one + \paper{ + \$denneboom_shape + } + \midi{ \tempo 4 = 90; } +} diff --git a/input/bugs/minimal.ly b/input/bugs/minimal.ly new file mode 100644 index 0000000000..489cbd14e8 --- /dev/null +++ b/input/bugs/minimal.ly @@ -0,0 +1,12 @@ +% minimal what? +% dumps core + + +\score { + \sequential {\clef bass ; } + \paper { +% \translator { \context Score_engraver ; \name "Score"; } + \translator { \type "Score_engraver"; \name "Score"; } + linewidth = 30 * \staffspace; + } +} diff --git a/input/bugs/multiply.ly b/input/bugs/multiply.ly new file mode 100644 index 0000000000..85c02dc5c8 --- /dev/null +++ b/input/bugs/multiply.ly @@ -0,0 +1,24 @@ +% ugh: strange order of things, this: +% a16 * 1/2 ( +% must be +% a16 ( * 1/2 + + +\score { + \context Voice \notes\relative c { + % to see the magic: uncomment size stuff in init/paper20.ly + + c'4 c4 + + \property Voice.fontSize= -2 + % ugh ugh + b16 * 1 / 2 ( + \property Voice.fontSize= 0 ) + g4 *31/32 + + a a g2 + + } + \paper { } + \midi { } +} diff --git a/input/les-nereides.ly b/input/les-nereides.ly index dc4e04f823..d4efc7d037 100644 --- a/input/les-nereides.ly +++ b/input/les-nereides.ly @@ -36,7 +36,7 @@ global = \notes{ \skip 2; \skip 1*2; -#ifndef FAKE_GRACE +#ifndef FAKE_GRACE /* First run this through cpp. See head les-nereides.ly */ \skip 1; #else % FAKE_GRACE \skip 2.; \partial 32*24; diff --git a/input/test/ac-extra-voice.ly b/input/test/ac-extra-voice.ly index 316dee02c6..ca1dc4e8b0 100644 --- a/input/test/ac-extra-voice.ly +++ b/input/test/ac-extra-voice.ly @@ -65,7 +65,7 @@ accompany = \notes \relative c{ slurVerticalDirection = #1 verticalDirection = -1 - autoBeamSettings \override (end * * * *) = #(make-moment 1 2) + autoBeamSettings \override #'(end * * * *) = #(make-moment 1 2) } } \midi { diff --git a/input/test/auto-beam-override.ly b/input/test/auto-beam-override.ly index e03f7867ef..c99c614770 100644 --- a/input/test/auto-beam-override.ly +++ b/input/test/auto-beam-override.ly @@ -28,7 +28,7 @@ c8 c c4 r8 c c c % no autobeaming - \property Voice.beamAuto = ##f + \property Voice.noAutoBeaming = ##t c8 c c c } \paper{ diff --git a/ly/dynamic-scripts.ly b/ly/dynamic-scripts.ly index 7ccd8d8e64..bf6c3e74f9 100644 --- a/ly/dynamic-scripts.ly +++ b/ly/dynamic-scripts.ly @@ -3,6 +3,7 @@ % declare the standard dynamic identifiers. % +pppp = \dynamicscript #"pppp" ppp = \dynamicscript #"ppp" pp = \dynamicscript #"pp" p = \dynamicscript #"p" @@ -11,6 +12,7 @@ mf = \dynamicscript #"mf" f = \dynamicscript #"e" % see feta-din layout ff = \dynamicscript #"ff" fff = \dynamicscript #"fff" +ffff = \dynamicscript #"ffff" fp = \dynamicscript #"fp" sf = \dynamicscript #"sf" diff --git a/ly/params-as.ly b/ly/params-as.ly index 5ed66e729d..78deb13655 100644 --- a/ly/params-as.ly +++ b/ly/params-as.ly @@ -26,18 +26,17 @@ outputscale = \staffheight / 4.0; \translator { \NoteNamesContext } \translator { \ScoreContext } -\translator { \ChoirStaffContext} -\translator { \GraceContext} +\translator { \ChoirStaffContext } +\translator { \GraceContext } \translator { \RhythmicStaffContext} \translator { \StaffContext } -\translator { \VoiceContext} +\translator { \VoiceContext } \translator { \StaffGroupContext } \translator { \ChordNamesContext } -\translator { \ChordNamesVoiceContext} -\translator { \GrandStaffContext} +\translator { \GrandStaffContext } \translator { \LyricsContext } -\translator { \ThreadContext} -\translator { \PianoStaffContext} +\translator { \ThreadContext } +\translator { \PianoStaffContext } \translator { \LyricsVoiceContext } \translator { \StaffContainerContext } diff --git a/make/ly.make b/make/ly.make index a29c020885..8355a3dc65 100644 --- a/make/ly.make +++ b/make/ly.make @@ -9,20 +9,24 @@ # # Magic: find and include LilyPond's StepMake rules # -# 0: follow LILYPONDPREFIX -# 1: try source tree -# 2: try installed tree in $HOME -# 3: try system installed tree -# -make-root=$(wildcard $(LILYPONDPREFIX)/make) +# 0: try local tree +# 1: follow LILYPONDPREFIX +# 2: try source tree in home +# 3: try installed tree in $HOME +# 4: try system installed tree +# 5: try system installed tree +# +make-root=$(wildcard $(depth)/make) +make-root?=$(wildcard $(LILYPONDPREFIX)/make) make-root?=$(wildcard $(HOME)/usr/src/lilypond/make) +make-root?=$(wildcard $(HOME)/usr/share/lilypond/make) make-root?=$(wildcard /usr/share/lilypond/make) -make-root?=$(wildcard /usr/share/lilypond/make) +make-root?=$(wildcard /usr/local/share/lilypond/make) #make-root=/make ifneq ($(make-root),) ### some versions apparently choke on $(message) ### $(message running from $(make-root)) -depth=$(make-root)/.. +depth:=$(make-root)/.. LOCALSTEPMAKE_TEMPLATES=ly mutopia include $(make-root)/stepmake.make else @@ -65,7 +69,7 @@ $(outdir)/%-book.ps: $(outdir)/%.ps # or make `foo-book' to make out/foo-book.ps # %: $(outdir)/%.ps - @echo Making $@ from $< + @echo Generated $< for target $@. # # Also clean hand-compiled stuff in cwd diff --git a/make/ports-rules.make b/make/ports-rules.make new file mode 100644 index 0000000000..5e509eeb33 --- /dev/null +++ b/make/ports-rules.make @@ -0,0 +1,22 @@ +ifeq ($(zipped),) +%.ly: + wget $(MUTOPIA_MIRROR)/$(mutopia-dir)/$@ + $(MAKE) local-convert-ly +else +%.zip: + wget $(MUTOPIA_MIRROR)/$(mutopia-dir)/$@ + +%.ly: %-lys.zip + unzip -n $< + $(MAKE) local-convert-ly +endif + +%/GNUmakefile: + mkdir -p $(@D) + $(if $(shell grep '[.]ly' $(@D)/index.html), \ + echo 'mutopia-name = $(@D)' > $@, \ + $(if $(shell grep '[.]zip' $(@D)/index.html), \ + echo -e 'zipped = true\nmutopia-name = $(@D)' > $@)) + echo -e $(GNUmakefile) >> $@ + + diff --git a/midi2ly/include/duration-convert.hh b/midi2ly/include/duration-convert.hh index 683c6eb19b..db6818e2f2 100644 --- a/midi2ly/include/duration-convert.hh +++ b/midi2ly/include/duration-convert.hh @@ -48,7 +48,7 @@ struct Duration_convert { /// Return Rational representation (fraction of whole note). static Rational dur2_mom (Duration dur ); - /// Return Mudela string representation. + /// Return Lilypond string representation. static String dur2_str (Duration dur ); /// Return duration from Rational (fraction of whole) representation. diff --git a/midi2ly/include/lilypond-column.hh b/midi2ly/include/lilypond-column.hh new file mode 100644 index 0000000000..15a9097e9d --- /dev/null +++ b/midi2ly/include/lilypond-column.hh @@ -0,0 +1,29 @@ +// +// lilypond-column.hh -- declare Lilypond_column +// +// copyright 1997 Jan Nieuwenhuizen + +#ifndef LILYPOND_COLUMN_HH +#define LILYPOND_COLUMN_HH + +#include "flower-proto.hh" +#include "midi2ly-proto.hh" +#include "rational.hh" +#include "cons.hh" + +/// (lilypond_column) +class Lilypond_column +{ +public: + Lilypond_column (Lilypond_score* lilypond_score_l, Rational mom); + + void add_item (Lilypond_item* lilypond_item_l); + Rational at_mom (); + + Cons_list lilypond_item_l_list_; + Rational at_mom_; + Lilypond_score* lilypond_score_l_; +}; + +#endif // LILYPOND_COLUMN_HH + diff --git a/midi2ly/include/lilypond-item.hh b/midi2ly/include/lilypond-item.hh new file mode 100644 index 0000000000..039280c91e --- /dev/null +++ b/midi2ly/include/lilypond-item.hh @@ -0,0 +1,130 @@ +// +// lilypond-item.hh -- declare lilypond_item +// +// copyright 1997 Jan Nieuwenhuizen + +#ifndef LILYPOND_ITEM_HH +#define LILYPOND_ITEM_HH + +#include "midi2ly-proto.hh" +#include "string.hh" +#include "rational.hh" +#include "duration.hh" + +// should these: +// * be Lilypond_items +// * be Voice_elements/requests +// * get a name-change +// ? + +/// (lilypond_item) +class Lilypond_item +{ +public: + Lilypond_item (Lilypond_column* lilypond_column_l); + virtual ~Lilypond_item (); + + virtual Rational at_mom (); + virtual Rational duration_mom (); + void output (Lilypond_stream& lilypond_stream_r); + virtual String str () = 0; + + Lilypond_column* lilypond_column_l_; +}; + +class Lilypond_key : public Lilypond_item +{ +public: + Lilypond_key (int accidentals_i, int minor_i); + + String notename_str (int pitch_i); + virtual String str (); + + //private: + int accidentals_i_; + int minor_i_; +}; + +class Lilypond_time_signature : public Lilypond_item +{ +public: + Lilypond_time_signature (int num_i, int den_i, int division_4_i, int count_32_i); + + Duration i2_dur (int time_i, int division_1_i); + int clocks_1_i (); + int den_i (); + int num_i (); + virtual String str (); + Rational bar_mom (); + +private: + Real sync_f_; + Duration sync_dur_; + int clocks_1_i_; + int num_i_; + int den_i_; +}; + +class Lilypond_note : public Lilypond_item +{ +public: + Lilypond_note (Lilypond_column* lilypond_column_l, int channel_i, int pitch_i, int dyn_i); + + Duration duration (); + virtual Rational duration_mom (); + virtual String str (); + + // int const c0_pitch_i_c_ = 60; // huh? + static int const c0_pitch_i_c_ = 48; + + static bool const simple_plet_b_s = false; + int channel_i_; + int pitch_i_; + Lilypond_column* end_column_l_; +}; + +class Lilypond_skip : public Lilypond_item +{ +public: + Lilypond_skip (Lilypond_column* lilypond_column_l, Rational skip_mom); + + Duration duration (); + virtual Rational duration_mom (); + virtual String str (); + +private: + Rational mom_; +}; + + +class Lilypond_tempo : public Lilypond_item +{ +public: + Lilypond_tempo (int useconds_per_4_i); + + int get_tempo_i (Rational rational); + virtual String str (); + int useconds_per_4_i (); + +private: + int useconds_per_4_i_; + Rational seconds_per_1_mom_; +}; + +class Lilypond_text : public Lilypond_item +{ +public: + enum Type { + TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, + MARKER, CUE_POINT + }; + Lilypond_text (Lilypond_text::Type type, String str); + virtual String str (); + + //private: + Type type_; + String text_str_; +}; + +#endif // LILYPOND_ITEM_HH + diff --git a/midi2ly/include/lilypond-score.hh b/midi2ly/include/lilypond-score.hh new file mode 100644 index 0000000000..9076384ac5 --- /dev/null +++ b/midi2ly/include/lilypond-score.hh @@ -0,0 +1,51 @@ +// +// lilypond-score.hh -- declare Lilypond_score +// +// copyright 1997 Jan Nieuwenhuizen + +#ifndef LILYPOND_SCORE_HH +#define LILYPOND_SCORE_HH + +#include "midi2ly-proto.hh" +#include "flower-proto.hh" +#include "cons.hh" +#include "parray.hh" + +/// (lilypond_score) +class Lilypond_score { +public: + Lilypond_score (int format_i, int tracks_i, int tempo_i); + ~Lilypond_score (); + + void add_item (Lilypond_item* lilypond_item_p); + void add_staff (Lilypond_staff* lilypond_staff_p); + + Lilypond_column* find_column_l (Rational mom); + Lilypond_column* get_column_l (Rational mom); + + void output (String filename_str); + void process (); + + // ugh + Lilypond_key* lilypond_key_l_; + Lilypond_time_signature* lilypond_time_signature_l_; + Lilypond_tempo* lilypond_tempo_l_; + Lilypond_staff * last_staff_l_; +private: + void filter_tempo (); + void quantify_columns (); + void quantify_durations (); + void settle_columns (); + + Cons_list lilypond_staff_p_list_; + Link_array column_l_array_; + + // ugh, ugh, ugh +public: + int format_i_; + int tracks_i_; + int tempo_i_; +}; + +#endif // LILYPOND_SCORE_HH + diff --git a/midi2ly/include/lilypond-staff.hh b/midi2ly/include/lilypond-staff.hh new file mode 100644 index 0000000000..ceba267b4b --- /dev/null +++ b/midi2ly/include/lilypond-staff.hh @@ -0,0 +1,43 @@ +// +// lilypond-staff.hh -- declare lilypond_staff +// +// copyright 1997 Jan Nieuwenhuizen + +#ifndef LILYPOND_STAFF_HH +#define LILYPOND_STAFF_HH + +#include "midi2ly-proto.hh" +#include "flower-proto.hh" +#include "cons.hh" +#include "string.hh" + +/// (lilypond_staff) +class Lilypond_staff +{ +public: + Lilypond_staff (int number_i, String copyright_str, String track_name_str, String instrument_str); + + void add_item (Lilypond_item* lilypond_item_p); + void eat_voice (Cons_list& items); + String id_str (); + String name_str (); + void output (Lilypond_stream& lilypond_stream_r); + void process (); + + String copyright_str_; + String instrument_str_; + String name_str_; + Lilypond_key* lilypond_key_l_; + Lilypond_time_signature* lilypond_time_signature_l_; + Lilypond_tempo* lilypond_tempo_l_; + int number_i_; + +private: + void output_lilypond_begin_bar (Lilypond_stream& lilypond_stream_r, Rational now_mom, int bar_i); + + Cons_list lilypond_voice_p_list_; + Cons_list lilypond_item_p_list_; +}; + +#endif // LILYPOND_STAFF_HH + diff --git a/midi2ly/include/lilypond-stream.hh b/midi2ly/include/lilypond-stream.hh new file mode 100644 index 0000000000..29c1c8cf3a --- /dev/null +++ b/midi2ly/include/lilypond-stream.hh @@ -0,0 +1,42 @@ +// +// lilypond-stream.hh -- part of LilyPond +// +// copyright 1997 Jan Nieuwenhuizen + +// should i be named Lilypond_stream? + +#ifndef LILYPOND_STREAM_HH +#define LILYPOND_STREAM_HH + +#include "midi2ly-proto.hh" +#include "string.hh" +//#include "scalar.hh" + +/// Lily output +class Lilypond_stream { +public: + Lilypond_stream (String filename_str); + ~Lilypond_stream(); + + Lilypond_stream& operator << (char c); + Lilypond_stream& operator << (String s); + Lilypond_stream& operator << (Lilypond_item& lilypond_item_r); + +private: + void handle_pending_indent(); + void header(); + void open(); + void output (String str); + void output_wrapped (String str); + + ostream* os_p_; + String filename_str_; + int indent_i_; + int column_i_; + int pending_indent_i_; + int wrap_column_i_; + bool comment_mode_b_; +}; + +#endif // LILYPOND_STREAM_HH + diff --git a/midi2ly/include/lilypond-voice.hh b/midi2ly/include/lilypond-voice.hh new file mode 100644 index 0000000000..b64882f6fb --- /dev/null +++ b/midi2ly/include/lilypond-voice.hh @@ -0,0 +1,29 @@ +// +// lilypond-voice.hh -- declare Lilypond_voice +// +// copyright 1997 Jan Nieuwenhuizen + +#ifndef LILYPOND_VOICE_HH +#define LILYPOND_VOICE_HH + +#include "midi2ly-proto.hh" +#include "cons.hh" + +/// (lilypond_voice) +class Lilypond_voice +{ +public: + Lilypond_voice (Lilypond_staff* lilypond_staff_l); + void add_item (Lilypond_item* lilypond_item_l); + void output (Lilypond_stream& lilypond_stream_r); + String get_clef () const; + Lilypond_item * last_item_l_; + Lilypond_note * last_note_l_; +private: + Lilypond_staff* lilypond_staff_l_; + Cons_list lilypond_item_l_list_; + +}; + +#endif // LILYPOND_VOICE_HH + diff --git a/midi2ly/include/midi-parser.hh b/midi2ly/include/midi-parser.hh index d4b498dc0f..670ff5ea7e 100644 --- a/midi2ly/include/midi-parser.hh +++ b/midi2ly/include/midi-parser.hh @@ -49,7 +49,7 @@ struct Midi_parser_info Byte const* byte_L_; Byte const* end_byte_L_; Source_file* source_l_; - Mudela_score* score_l_; + Lilypond_score* score_l_; Rational bar_mom_; }; diff --git a/midi2ly/include/midi-score-parser.hh b/midi2ly/include/midi-score-parser.hh index de2e1db51e..2fca257ec3 100644 --- a/midi2ly/include/midi-score-parser.hh +++ b/midi2ly/include/midi-score-parser.hh @@ -18,14 +18,14 @@ class Midi_score_parser : public Midi_parser { public: - Mudela_score* parse (String filename_str, Sources*); + Lilypond_score* parse (String filename_str, Sources*); private: void open (String filename_str, Sources*); void parse_header (); int find_earliest_i (Link_array& tracks); - Mudela_score* parse_score (); + Lilypond_score* parse_score (); }; #endif // MIDI_SCORE_PARSER_HH diff --git a/midi2ly/include/midi-track-parser.hh b/midi2ly/include/midi-track-parser.hh index 21d6988a3b..89e6363d3d 100644 --- a/midi2ly/include/midi-track-parser.hh +++ b/midi2ly/include/midi-track-parser.hh @@ -24,20 +24,20 @@ public: ~Midi_track_parser (); Rational at_mom (); - Mudela_staff* parse (Mudela_column* col_l); + Lilypond_staff* parse (Lilypond_column* col_l); private: bool eot (); - void note_end (Mudela_column* col_l, int channel_i, int pitch_i, int aftertouch_i ); - void note_end_all (Mudela_column* col_l) ; + void note_end (Lilypond_column* col_l, int channel_i, int pitch_i, int aftertouch_i ); + void note_end_all (Lilypond_column* col_l) ; void parse_delta_time (); - Mudela_item* parse_event (Mudela_column* col_l); + Lilypond_item* parse_event (Lilypond_column* col_l); void parse_header (); Rational at_mom_; Byte running_byte_; - Cons_list open_note_l_list_; - Mudela_staff* mudela_staff_p_; + Cons_list open_note_l_list_; + Lilypond_staff* lilypond_staff_p_; Midi_parser_info* track_info_p_; }; diff --git a/midi2ly/include/midi2ly-proto.hh b/midi2ly/include/midi2ly-proto.hh index 5ac345ae94..dac1d8d1a1 100644 --- a/midi2ly/include/midi2ly-proto.hh +++ b/midi2ly/include/midi2ly-proto.hh @@ -14,16 +14,16 @@ class Midi_parser; struct Midi_parser_info; class Midi_score_parser; class Midi_track_parser; -class Mudela_stream; -class Mudela_item; -class Mudela_key; -class Mudela_time_signature; -class Mudela_note; -class Mudela_tempo; -class Mudela_text; -class Mudela_score; -class Mudela_staff; -class Mudela_voice; -class Mudela_column; +class Lilypond_stream; +class Lilypond_item; +class Lilypond_key; +class Lilypond_time_signature; +class Lilypond_note; +class Lilypond_tempo; +class Lilypond_text; +class Lilypond_score; +class Lilypond_staff; +class Lilypond_voice; +class Lilypond_column; #endif // MIDI2LY_PROTO_HH diff --git a/midi2ly/lilypond-column.cc b/midi2ly/lilypond-column.cc new file mode 100644 index 0000000000..136f10a06d --- /dev/null +++ b/midi2ly/lilypond-column.cc @@ -0,0 +1,24 @@ +// +// lilypond-column.cc -- implement Lilypond_column +// +// copyright 1997 Jan Nieuwenhuizen + +#include "lilypond-column.hh" + +Lilypond_column::Lilypond_column (Lilypond_score* lilypond_score_l, Rational mom) +{ + lilypond_score_l_ = lilypond_score_l; + at_mom_ = mom; +} + +void +Lilypond_column::add_item (Lilypond_item* lilypond_item_l) +{ + lilypond_item_l_list_.append (new Cons (lilypond_item_l, 0)); +} + +Rational +Lilypond_column::at_mom() +{ + return at_mom_; +} diff --git a/midi2ly/lilypond-item.cc b/midi2ly/lilypond-item.cc new file mode 100644 index 0000000000..2f70f5d4be --- /dev/null +++ b/midi2ly/lilypond-item.cc @@ -0,0 +1,364 @@ +// +// lilypond-item.cc -- implement Lilypond_item +// +// copyright 1997 Jan Nieuwenhuizen + +#include +#include +#include "midi2ly-global.hh" +#include "string-convert.hh" +#include "duration-convert.hh" +#include "lilypond-column.hh" +#include "lilypond-item.hh" +#include "lilypond-stream.hh" +#include "lilypond-score.hh" + +Lilypond_item::Lilypond_item (Lilypond_column* lilypond_column_l) +{ + lilypond_column_l_ = lilypond_column_l; +} + +Lilypond_item::~Lilypond_item () +{ +} + +Rational +Lilypond_item::at_mom () +{ + return lilypond_column_l_->at_mom (); +} + +Rational +Lilypond_item::duration_mom () +{ + return Rational (0); +} + +void +Lilypond_item::output (Lilypond_stream& lilypond_stream_r) +{ + lilypond_stream_r << str () << " "; +} + +Lilypond_key::Lilypond_key (int accidentals_i, int minor_i) + : Lilypond_item (0) +{ + accidentals_i_ = accidentals_i; + minor_i_ = minor_i; +} + +char const *accname[] = {"eses", "es", "", "is" , "isis"}; + +String +Lilypond_key::str () +{ + int key_i = accidentals_i_ >= 0 + ? ((accidentals_i_ % 7) ["cgdaebf"] - 'a' - 2 -2 * minor_i_ + 7) % 7 + : ((-accidentals_i_ % 7) ["cfbeadg"] - 'a' - 2 -2 * minor_i_ + 7) % 7; + + String notename_str = !minor_i_ + ? to_str ((char) ((key_i + 2) % 7 + 'a')) + : to_str ((char) ((key_i + 2) % 7 + 'a')); + + // fis cis gis dis ais eis bis + static int sharps_i_a [7] = { 2, 4, 6, 1, 3, 5, 7 }; + // bes es as des ges ces fes + static int flats_i_a [7] = { 6, 4, 2, 7, 5, 3, 1 }; + int accidentals_i = accidentals_i_ >= 0 + ? sharps_i_a [key_i] <= accidentals_i_ ? 1 : 0 + : flats_i_a [key_i] <= -accidentals_i_ ? -1 : 0; + + if (accidentals_i) + notename_str += String (accname [accidentals_i + 2]); + + return "\\key " + notename_str + (minor_i_ ? "\\minor" : "\\major") + ";\n"; +} + +String +Lilypond_key::notename_str (int pitch_i) +{ + // this may seem very smart, + // but it-s only an excuse not to read a notename table + + // major scale: do-do + // minor scale: la-la (= + 5) + static int notename_i_a [12] = { 0, 0, 1, 1, 2, 3, 3, 4, 4, 5, 5, 6 }; + int notename_i = notename_i_a [pitch_i % 12]; + + static int accidentals_i_a [12] = { 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0 }; + int accidental_i = accidentals_i_a [(minor_i_ * 5 + pitch_i) % 12]; + if (accidental_i && (accidentals_i_ < 0)) + { + accidental_i *= -1; + notename_i = (notename_i + 1) % 7; + } + + String notename_str = to_str ((char)(((notename_i + 2) % 7) + 'a')); + if (accidental_i) + notename_str += String (accname [accidental_i + 2]); + + /* + By tradition, all scales now consist of a sequence of 7 notes each + with a distinct name, from amongst a b c d e f g. But, minor scales + have a wide second interval at the top - the 'leading note' is + sharped. (Why? it just works that way! Anything else doesn't sound as + good and isn't as flexible at saying things. In medieval times, + scales only had 6 notes to avoid this problem - the hexachords.) + + So, the d minor scale is d e f g a b-flat c-sharp d - using d-flat + for the leading note would skip the name c and duplicate the name d. + Why isn't c-sharp put in the key signature? Tradition. (It's also + supposedly based on the Pythagorean theory of the cycle of fifths, + but that really only applies to major scales...) + + Anyway, g minor is g a b-flat c d e-flat f-sharp g, and all the other + flat minor keys end up with a natural leading note. And there you + have it. + + John Sankey + + Let's also do a-minor: a b c d e f gis a + + --jcn + + */ + + /* ok, bit ugly, but here we go -- jcn */ + + + if (minor_i_) + { + if ((accidentals_i_ == 0) && (notename_str == "as")) + notename_str = "gis"; + else if ((accidentals_i_ == -1) && (notename_str == "des")) + notename_str = "cis"; + else if ((accidentals_i_ == -2) && (notename_str == "ges")) + notename_str = "fis"; + else if ((accidentals_i_ == 5) && (notename_str == "g")) + notename_str = "fisis"; + else if ((accidentals_i_ == 6) && (notename_str == "d")) + notename_str = "cisis"; + else if ((accidentals_i_ == 7) && (notename_str == "a")) + notename_str = "gisis"; + + if ((accidentals_i_ <= -6) && (notename_str == "b")) + notename_str = "ces"; + if ((accidentals_i_ <= -7) && (notename_str == "e")) + notename_str = "fes"; + } + + String de_octavate_str = to_str (',', (Lilypond_note::c0_pitch_i_c_ + 11 - pitch_i) / 12); + String octavate_str = to_str ('\'', (pitch_i - Lilypond_note::c0_pitch_i_c_) / 12); + return notename_str +de_octavate_str + octavate_str; +} + +Lilypond_time_signature::Lilypond_time_signature (int num_i, int den_i, int clocks_4_i, int count_32_i) + : Lilypond_item (0) +{ + sync_dur_.durlog_i_ = 3; + sync_f_ = 1.0; + if (count_32_i != 8) + warning (_f ("#32 in quarter: %d", count_32_i)); + num_i_ = num_i; + den_i_ = den_i; + clocks_1_i_ = clocks_4_i * 4; +} + +Rational +Lilypond_time_signature::bar_mom () +{ + Duration d; + d.durlog_i_ = den_i_; + return Rational (num_i_) * Duration_convert::dur2_mom (d); +} + +int +Lilypond_time_signature::clocks_1_i () +{ + return clocks_1_i_; +} + +int +Lilypond_time_signature::den_i () +{ + return den_i_; +} + +int +Lilypond_time_signature::num_i () +{ + return num_i_; +} + +String +Lilypond_time_signature::str () +{ + String str = "\\time " + + to_str (num_i_) + "/" + to_str (1 << den_i_) + + ";\n"; + return str; +} + + +// statics Lilypond_note +/* + this switch can be used to write simple plets like + c4*2/3 + as + \plet 2/3; c4 \plet 1/1; + */ +/* + UGH: .hh says false, .cc says true. + FIXME. + */ +bool const Lilypond_note::simple_plet_b_s; + +Lilypond_note::Lilypond_note (Lilypond_column* lilypond_column_l, + int channel_i, int pitch_i, int dyn_i) + : Lilypond_item (lilypond_column_l) +{ + // junk dynamics + (void)dyn_i; + channel_i_ = channel_i; + pitch_i_ = pitch_i; + end_column_l_ = 0; +} + +Duration +Lilypond_note::duration () +{ + assert (end_column_l_); + Rational mom = end_column_l_->at_mom () - at_mom (); + return Duration_convert::mom2_dur (mom); +} + +Rational +Lilypond_note::duration_mom () +{ + assert (end_column_l_); + return end_column_l_->at_mom () - at_mom (); +} + +String +Lilypond_note::str () +{ + Duration dur = duration (); + if (dur.durlog_i_ < -10) + return ""; + + String name_str + = lilypond_column_l_->lilypond_score_l_->lilypond_key_l_->notename_str (pitch_i_); + + if (simple_plet_b_s) + return name_str + Duration_convert::dur2_str (dur) + " "; + + String str; + + //ugh + if (dur.plet_b ()) + str += String ("\\times ") + + String_convert::i2dec_str (dur.plet_.iso_i_, 0, 0) + + "/" + + String_convert::i2dec_str (dur.plet_.type_i_, 0, 0) + + " { "; + + + str += name_str; + + Duration tmp = dur; + tmp.set_plet (1,1); + str += Duration_convert::dur2_str (tmp); + + if (dur.plet_b ()) + str += String (" }"); + + /* + note of zero duration is nonsense, + but let's output anyway for convenient debugging + */ + if (!duration_mom ()) + return String ("\n% ") + str + "\n"; + + return str + " "; +} + +Lilypond_skip::Lilypond_skip (Lilypond_column* lilypond_column_l, Rational skip_mom) + : Lilypond_item (lilypond_column_l) +{ + mom_ = skip_mom; +} + +Duration +Lilypond_skip::duration () +{ + return Duration_convert::mom2_dur (mom_); +} + +Rational +Lilypond_skip::duration_mom () +{ + return Duration_convert::dur2_mom (duration ()); +} + +String +Lilypond_skip::str () +{ + if (!mom_) + return String (""); + + Duration dur = duration (); + if (dur.durlog_i_<-10) + return ""; + + String str = "\\skip "; + str += Duration_convert::dur2_str (dur) + "; "; + + return str; +} + +Lilypond_tempo::Lilypond_tempo (int useconds_per_4_i) + : Lilypond_item (0) +{ + useconds_per_4_i_ = useconds_per_4_i; + seconds_per_1_mom_ = Rational(useconds_per_4_i_ *4, 1e6); +} + +String +Lilypond_tempo::str () +{ + String str = "\\tempo 4="; + str += to_str (get_tempo_i (Rational (1, 4))); + str += ";\n"; + return str; +} + +int +Lilypond_tempo::useconds_per_4_i () +{ + return useconds_per_4_i_; +} + +int +Lilypond_tempo::get_tempo_i (Rational rational) +{ + Rational m1 = Rational (60) / rational; + Rational m2 = seconds_per_1_mom_; + return m1 / m2; +} + +Lilypond_text::Lilypond_text (Lilypond_text::Type type, String text_str) + : Lilypond_item (0) +{ + type_ = type; + text_str_ = text_str; +} + +String +Lilypond_text::str () +{ + if (!text_str_.length_i () + || (text_str_.length_i () != (int)strlen (text_str_.ch_C ()))) + return ""; + + return "% " + text_str_ + "\n"; +} diff --git a/midi2ly/lilypond-score.cc b/midi2ly/lilypond-score.cc new file mode 100644 index 0000000000..066f09d704 --- /dev/null +++ b/midi2ly/lilypond-score.cc @@ -0,0 +1,256 @@ +// +// lilypond-score.cc -- implement Lilypond_score +// +// copyright 1997 Jan Nieuwenhuizen + +#include +#include "rational.hh" +#include "duration.hh" +#include "duration-convert.hh" +#include "midi2ly-global.hh" +#include "lilypond-column.hh" +#include "lilypond-item.hh" +#include "lilypond-score.hh" +#include "lilypond-staff.hh" +#include "lilypond-stream.hh" + +#include "killing-cons.tcc" + +//static Lilypond_key key_c (0, 0); +static Lilypond_time_signature time_sig_4 (4, 2, 24, 8); +// useconds per 4: 250000 === 60 4 per minute +static Lilypond_tempo tempo_60 (1000000); + +Lilypond_score::Lilypond_score (int format_i, int tracks_i, int tempo_i) +{ + last_staff_l_ =0; + format_i_ = format_i; + tracks_i_ = tracks_i; + tempo_i_ = tempo_i; + column_l_array_.push (new Lilypond_column (this, Rational (0))); + // lilypond_key_l_ = &key_c; + lilypond_key_l_ = 0; + lilypond_time_signature_l_ = &time_sig_4; + lilypond_tempo_l_ = &tempo_60; +} + +Lilypond_score::~Lilypond_score () +{ +} + +void +Lilypond_score::add_item (Lilypond_item* lilypond_item_p) +{ + last_staff_l_->add_item (lilypond_item_p); +} + +void +Lilypond_score::add_staff (Lilypond_staff* lilypond_staff_p) +{ + lilypond_staff_p_list_.append (new Killing_cons (lilypond_staff_p, 0)); + last_staff_l_ = lilypond_staff_p; +} + +Lilypond_column* +Lilypond_score::find_column_l (Rational mom) +{ + int upper_i = max (0, column_l_array_.size () - 1); + int lower_i = 0; + int i = 0; //upper_i; + while (1) + { + Rational i_mom = column_l_array_ [i]->at_mom (); + if (i_mom == mom) + return column_l_array_ [i]; + if (mom < i_mom) + upper_i = i; + else + lower_i = i; + if ( (upper_i == lower_i) || (i == column_l_array_.size () - 1)) + { + // we don't do inserts + assert (0); + Lilypond_column* col_p = new Lilypond_column (this, mom); + column_l_array_.push (col_p); + return col_p; + } + i = (upper_i + lower_i + 1 ) / 2; + } + assert (0); + return 0; +} + +Lilypond_column* +Lilypond_score::get_column_l (Rational mom) +{ + int i; + Lilypond_column *c=0; + for (i=column_l_array_.size () - 1; !c && i >=0; i--) + { + if (column_l_array_ [i]->at_mom () == mom ) + c = column_l_array_[i]; + else if (column_l_array_[i]->at_mom () < mom) + break; + } + if (!c) + { + c = new Lilypond_column (this, mom); + column_l_array_.insert (c, i+1); + } + + assert (c->at_mom () == mom); + return c; +} + +void +Lilypond_score::output (String filename_str) +{ + LOGOUT (NORMAL_ver) << _f ("Lily output to %s...", filename_str) << endl; + + // ugh, ugly midi type 1 fix + if ( (lilypond_staff_p_list_.size_i () == 1) + && !lilypond_staff_p_list_.head_->car_->number_i_) + lilypond_staff_p_list_.head_->car_->number_i_ = 1; + + int track_i = 0; + Lilypond_stream lilypond_stream (filename_str); + for (Cons* i = lilypond_staff_p_list_.head_; i; i = i->next_) + { + LOGOUT (NORMAL_ver) << _f ("track %d:", track_i++) << flush; + i->car_->output (lilypond_stream); + lilypond_stream << '\n'; + LOGOUT (NORMAL_ver) << endl; + } + + lilypond_stream << "\\score{\n"; + if (lilypond_staff_p_list_.size_i () > 1) + lilypond_stream << "< \n"; + for (Cons* i = lilypond_staff_p_list_.head_; i; i = i->next_) + { + if ( (lilypond_staff_p_list_.size_i () != 1) + && (i->car_ == lilypond_staff_p_list_.head_->car_)) + continue; + lilypond_stream << "\\context Staff = \"" << i->car_->id_str () << "\" "; + lilypond_stream << String ("\\" + i->car_->id_str ()) << '\n'; + } + if (lilypond_staff_p_list_.size_i () > 1) + lilypond_stream << ">\n"; + + lilypond_stream << "\\paper{}\n"; + +#if 1 + lilypond_stream << "\\midi{\n"; + + // let's not use silly 0 track + last_cons (lilypond_staff_p_list_.head_)->car_->lilypond_tempo_l_->output (lilypond_stream); + lilypond_stream << "}\n"; +#endif + + lilypond_stream << "}\n"; +} + +void +Lilypond_score::process () +{ + LOGOUT (NORMAL_ver) << '\n' << _ ("Processing...") << endl; + + LOGOUT (DEBUG_ver) << "columns\n"; + + settle_columns (); + filter_tempo (); + quantify_columns (); + quantify_durations (); + + LOGOUT (NORMAL_ver) << '\n' << _ ("Creating voices...") << endl; + int track_i = 0; + for (Cons* i = lilypond_staff_p_list_.head_; i; i = i->next_) + { + LOGOUT (NORMAL_ver) << _ ("track ") << track_i++ << ": " << flush; + i->car_->process (); + LOGOUT (NORMAL_ver) << endl; + } +} + +void +Lilypond_score::filter_tempo () +{ + LOGOUT (NORMAL_ver) << '\n' << _ ("NOT Filtering tempo...") << endl; +} + +void +Lilypond_score::quantify_columns () +{ + // ugh + if (Duration_convert::no_quantify_b_s) + { + LOGOUT (NORMAL_ver) << '\n' << _ ("NOT Quantifying columns...") << endl; + return; + } + + LOGOUT (NORMAL_ver) << '\n' << _ ("Quantifying columns...") << endl; + + int current_bar_i = 0; + Rational bar_mom = lilypond_time_signature_l_->bar_mom (); + + int n = 5 >? Duration_convert::no_smaller_than_i_s; + n = Duration_convert::type2_i (n); + Rational s = Rational (1, n); + for (int i = 0; i < column_l_array_.size (); i++) + { + column_l_array_ [i]->at_mom_ = + s * Rational ( (int) ( (column_l_array_ [i]->at_mom ()) / s)); + + int bar_i = (int) (column_l_array_ [i]->at_mom () / bar_mom) + 1; + if (bar_i > current_bar_i) + + { + LOGOUT (NORMAL_ver) << "[" << bar_i << "]" << flush; + current_bar_i = bar_i; + } + } + LOGOUT (NORMAL_ver) << endl; +} + +void +Lilypond_score::quantify_durations () +{ + +} + +void +Lilypond_score::settle_columns () +{ + LOGOUT (NORMAL_ver) << '\n' << _ ("Settling columns...") << endl; + + int n = column_l_array_.size (); + + int start_i = 0; + int end_i = 0; + Rational start_mom = 0; + + Duration smallest_dur; + smallest_dur.durlog_i_ = 6; + Rational const noise_mom = Duration_convert::dur2_mom (smallest_dur) + / Rational (2); + for (int i = 0; i < n; i++) + { + if (!start_i) + { + start_i = end_i = i; + start_mom = column_l_array_ [i]->at_mom (); + continue; + } + + // find all columns within noise's distance + while ( (i < n) + && (column_l_array_ [i]->at_mom () - start_mom < noise_mom)) + end_i = ++i; + + // bluntly set all to time of first in group + for (int j = start_i; j < end_i; j++) + column_l_array_ [j]->at_mom_ = start_mom; + + start_i = end_i = 0; + } +} + diff --git a/midi2ly/lilypond-staff.cc b/midi2ly/lilypond-staff.cc new file mode 100644 index 0000000000..0e79b7f4e2 --- /dev/null +++ b/midi2ly/lilypond-staff.cc @@ -0,0 +1,339 @@ +// +// lilypond-staff.cc -- implement Lilypond_staff +// +// copyright 1997 Jan Nieuwenhuizen + +#include +#include +#include "rational.hh" +#include "duration-convert.hh" +#include "string-convert.hh" +#include "midi2ly-proto.hh" +#include "midi2ly-global.hh" +#include "lilypond-column.hh" +#include "lilypond-item.hh" +#include "lilypond-staff.hh" +#include "lilypond-stream.hh" +#include "lilypond-voice.hh" +#include "lilypond-score.hh" + +#include "killing-cons.tcc" + +extern Lilypond_score* lilypond_score_l_g; + +Lilypond_staff::Lilypond_staff (int number_i, String copyright_str, String track_name_str, String instrument_str) +{ + number_i_ = number_i; + copyright_str_ = copyright_str; + instrument_str_ = instrument_str; + name_str_ = track_name_str; + lilypond_key_l_ = 0; + lilypond_time_signature_l_ = 0; + lilypond_tempo_l_ = 0; +} + +void +Lilypond_staff::add_item (Lilypond_item* lilypond_item_p) +{ + lilypond_item_p_list_.append (new Killing_cons (lilypond_item_p, 0)); + if (lilypond_item_p->lilypond_column_l_) + lilypond_item_p->lilypond_column_l_->add_item (lilypond_item_p); +} +/** + Walk ITEMS and find voices. Remove categorised items. + + TODO: + + * collect all channels into separate voices. Use chords for sim + notes on same channel. + * assume voices/assume chords modes. + + */ +void +Lilypond_staff::eat_voice (Cons_list& items) +{ + Lilypond_voice* voice_p = new Lilypond_voice (this); + lilypond_voice_p_list_.append (new Killing_cons (voice_p, 0)); + + // Rational mom = items.top ()->at_mom (); + Rational mom = 0; + + for (Cons** pp = &items.head_; *pp;) + { + Cons* i = *pp; + if (i->car_->at_mom () > mom) + { + if (no_rests_b_g && voice_p->last_note_l_) + { + voice_p->last_note_l_->end_column_l_ = i->car_->lilypond_column_l_; + } + else + { + /* uh, what about quantisation? This should probably + use mom2standardised_dur () + arg, urg: skip should get duration from start/end columns! + */ + + Rational r = i->car_->at_mom () - mom; + // ugh, need score + Lilypond_column* start = lilypond_score_l_g->find_column_l (mom); + voice_p->add_item (new Lilypond_skip (start, r)); + } + + mom = i->car_->at_mom (); + continue; // unnecessary + } + + Link_array now_items; + for (Cons *cp = i; cp && cp->car_->at_mom () == mom; cp = cp->next_) + now_items.push (i->car_); + +#if 0 + /* + Why don't we use , if voice has: + + + + we'd get last_item == key_change -> last_note == 0; + */ + Lilypond_note * last_note = dynamic_cast (voice_p->last_item_l_); +#else + /* + Not sure, is this better? + */ + Lilypond_note * last_note = voice_p->last_note_l_; +#endif + + Link_array candidates; + + for (int i=0; last_note && i < now_items.size (); i++) + { + Lilypond_note * now_note = dynamic_cast (now_items[i]); + if (now_note && last_note->channel_i_ != now_note->channel_i_) + candidates.push (now_note); + } + + if (candidates.size()) + { + now_items = candidates; + } + + Lilypond_item * which = 0; + if (now_items.size () > 1) + { + int mindiff = 100000; // ugh + for (int i=0; last_note && i < now_items.size (); i++) + { + Lilypond_note *nt = dynamic_cast (now_items[i]); + if (!nt) + continue; + int diff = abs (last_note->pitch_i_ - nt->pitch_i_ ); + if(diff < mindiff) + { + mindiff = diff; + which = now_items [i]; + } + } + + if (which && mindiff > 18) // more than 1.5 octaves apart. Don't put in same voice. + { + which =0; + } + } + else if (now_items.size () == 1) + which = now_items[0]; + + if (which) + { + while ((*pp)->car_ != which) + pp = &(*pp)->next_; + + mom += (*pp)->car_->duration_mom (); + Cons* c = items.remove_cons (pp); + voice_p->add_item (c->car_); + delete c; + } + else + { + pp = &(*pp)->next_; + continue; + } + } +} + +String +Lilypond_staff::id_str () +{ + String id (name_str ()); + char *cp = id.ch_l (); + char *end = cp + id.length_i (); + for (;cp < end; cp++) + { + if (!isalpha (*cp)) + { + *cp = 'X'; + } + } + return id; +} + +String +Lilypond_staff::name_str () +{ + if (name_str_.length_i ()) + return name_str_; + return String ("track") + to_str (char ('A' - 1 + number_i_)); +} + + + +void +Lilypond_staff::output (Lilypond_stream& lilypond_stream_r) +{ + int c =0; + + String trackbody = ""; + for (Cons* i = lilypond_voice_p_list_.head_; i; i = i->next_) + { + String voicename = id_str () + "voice" + to_str (char (c + 'A')); + + lilypond_stream_r << voicename << " = \\notes "; + + trackbody += "\\" + voicename + "\n"; + + lilypond_stream_r << '\n'; + i->car_->output (lilypond_stream_r); + c++; + } + + lilypond_stream_r << _ ("% MIDI copyright:") << copyright_str_ << '\n'; + lilypond_stream_r << _ ("% MIDI instrument:") << instrument_str_ << '\n'; + lilypond_stream_r << id_str () << " = "; + lilypond_stream_r << "<\n " << trackbody << " >\n"; + + lilypond_stream_r << " % " << name_str () << '\n'; +} + +void +Lilypond_staff::output_lilypond_begin_bar (Lilypond_stream& lilypond_stream_r, Rational now_mom, int bar_i) +{ + Rational bar_mom = lilypond_time_signature_l_->bar_mom (); + Rational into_bar_mom = now_mom - Rational (bar_i - 1) * bar_mom; + if (bar_i > 1) + { + if (!into_bar_mom) + lilypond_stream_r << "|\n"; + } + lilypond_stream_r << "% " << String_convert::i2dec_str (bar_i, 0, ' '); + if (into_bar_mom) + lilypond_stream_r << ":" << Duration_convert::dur2_str (Duration_convert::mom2_dur (into_bar_mom)); + lilypond_stream_r << '\n'; +} + + +#if 0 // not used for now +void +Lilypond_staff::output_lilypond_rest (Lilypond_stream& lilypond_stream_r, Rational begin_mom, Rational end_mom) +{ + Rational bar_mom = lilypond_time_signature_l_->bar_mom (); + Rational now_mom = begin_mom; + + int begin_bar_i = (int) (now_mom / bar_mom) + 1; + int end_bar_i = (int) (end_mom / bar_mom) + 1; + + if (end_bar_i == begin_bar_i) + { + output_lilypond_rest_remain (lilypond_stream_r, end_mom - begin_mom); + return; + } + + // multiple bars involved + int bar_i = (int) (now_mom / bar_mom) + 1; + + //fill current bar + Rational begin_bar_mom = Rational (begin_bar_i - 1) * bar_mom; + if (now_mom > begin_bar_mom) + { + int next_bar_i = (int) (now_mom / bar_mom) + 2; + Rational next_bar_mom = Rational (next_bar_i - 1) * bar_mom; + assert (next_bar_mom <= end_mom); + + Rational remain_mom = next_bar_mom - now_mom; + if (remain_mom > Rational (0)) + { + output_lilypond_rest_remain (lilypond_stream_r, remain_mom); + now_mom += remain_mom; + } + + bar_i = check_end_bar_i (now_mom, bar_i); + } + + // fill whole bars + int count_i = end_bar_i - bar_i; + for (int i = 0; i < count_i; i++) + { + int begin_bar_i = check_begin_bar_i (now_mom, bar_i); + if (begin_bar_i) + output_lilypond_begin_bar (lilypond_stream_r, now_mom, begin_bar_i); + lilypond_stream_r << "r1 "; + // *lilypond_stream_r.os_p_ << flush; + if (begin_bar_i) + LOGOUT (NORMAL_ver) << begin_bar_i << flush; + bar_i = check_end_bar_i (now_mom, bar_i); + now_mom += bar_mom; + } + + // use "int i" here, and gcc 2.7.2 hits internal compiler error + int ii = check_begin_bar_i (now_mom, bar_i); + if (ii) + output_lilypond_begin_bar (lilypond_stream_r, now_mom, ii); + + // bar_i = check_end_bar_i (now_mom, bar_i); + + Rational remain_mom = end_mom - Rational (end_bar_i - 1) * bar_mom; + if (remain_mom > Rational (0)) + { + output_lilypond_rest_remain (lilypond_stream_r, remain_mom); + now_mom += remain_mom; + } + assert (now_mom == end_mom); +} + +void +Lilypond_staff::output_lilypond_rest_remain (Lilypond_stream& lilypond_stream_r, Rational mom) +{ + if (Duration_convert::no_quantify_b_s) + { + Duration dur = Duration_convert::mom2_dur (mom); + lilypond_stream_r << "r" << dur.str () << " "; + // assert (mom == dur.mom ()); + assert (mom == dur.length ()); + return; + } + + Duration dur = Duration_convert::mom2standardised_dur (mom); + if (dur.type_i_>-10) + lilypond_stream_r << "r" << dur.str () << " "; +} +#endif + + +void +Lilypond_staff::process () +{ + /* + group items into voices + */ + + assert (lilypond_score_l_g); + lilypond_key_l_ = lilypond_score_l_g->lilypond_key_l_; + lilypond_time_signature_l_ = lilypond_score_l_g->lilypond_time_signature_l_; + lilypond_tempo_l_ = lilypond_score_l_g->lilypond_tempo_l_; + + Cons_list items; + for (Cons* i = lilypond_item_p_list_.head_; i; i = i->next_) + items.append (new Cons (i->car_, 0)); + + while (items.size_i ()) + eat_voice (items); +} diff --git a/midi2ly/lilypond-stream.cc b/midi2ly/lilypond-stream.cc new file mode 100644 index 0000000000..f7ee15839b --- /dev/null +++ b/midi2ly/lilypond-stream.cc @@ -0,0 +1,192 @@ +// +// lilypond-stream.cc +// +// source file of the LilyPond music typesetter +// +// (c) 1997--1998, 1998 Jan Nieuwenhuizen + +#include +#include +#include +#include "midi2ly-global.hh" +#include "lilypond-item.hh" +#include "lilypond-stream.hh" +#include "string-convert.hh" + +extern String filename_str_g; + +static int const INDENT_i = 8; + +Lilypond_stream::Lilypond_stream (String filename_str) +{ + filename_str_ = filename_str; + pending_indent_i_ = 0; + os_p_ = 0; + indent_i_ = 0; + comment_mode_b_ = false; + column_i_ = 0; + wrap_column_i_ = 68; + open(); + header(); +} + +Lilypond_stream::~Lilypond_stream () +{ + delete os_p_; + if (indent_i_) + warning (_f ("lily indent level: %d", indent_i_)); +} + +Lilypond_stream& +Lilypond_stream::operator << (char c) +{ + *this << to_str (c); + return *this; +} + +Lilypond_stream& +Lilypond_stream::operator << (String s) +{ + static String word_sep_str = "{} \t\n"; + while (s.length_i()) + { + int i = s.index_any_i (word_sep_str) + 1; + if (!i) + i = s.length_i(); + String word = s.left_str (i); + s = s.cut_str (i, s.length_i()); + output_wrapped (word); + } + return *this; +} + +Lilypond_stream& +Lilypond_stream::operator << (Lilypond_item& lilypond_item_r) +{ + lilypond_item_r.output (*this); + *os_p_ << flush; + return *this; +} + +void +Lilypond_stream::handle_pending_indent() +{ + *os_p_ << String_convert::char_str ('\t', pending_indent_i_); + column_i_ += pending_indent_i_ * INDENT_i; + pending_indent_i_ = 0; +} + +void +Lilypond_stream::header() +{ + /* Maybe better not to translate these? */ + *os_p_ << _ ("% Creator: "); + if (no_timestamps_b_g) + *os_p_ << "GNU LilyPond\n"; + else + *os_p_ << midi2ly_version_str() << '\n'; + *os_p_ << _ ("% Automatically generated"); + if (no_timestamps_b_g) + *os_p_ << ".\n"; + else + { + *os_p_ << _ (", at "); + time_t t (time (0)); + *os_p_ << ctime (&t) << "%\n"; + } + *os_p_ << _ ("% from input file: "); + // *os_p_ << midi_parser_l_g->filename_str_; + // ugh + *os_p_ << filename_str_g; + *os_p_ << "\n\n"; + // ugh + *os_p_ << "\\version \"1.3.76\";\n"; +} + +void +Lilypond_stream::open() +{ + os_p_ = new ofstream (filename_str_.ch_C ()); + if (!*os_p_) + error (_f ("can't open file: `%s'", filename_str_)); +} + +void +Lilypond_stream::output (String str) +{ + for (int i = 0; i < str.length_i(); i++) + { + char c = str[ i ]; + switch (c) + { + case '{' : + case '<' : + handle_pending_indent(); + if (column_i_ == indent_i_ * INDENT_i) + output ("\t"); + indent_i_++; + *os_p_ << c; + column_i_++; + break; + case '}' : + case '>' : + assert (indent_i_); + indent_i_--; + if (pending_indent_i_) + pending_indent_i_--; + handle_pending_indent(); + *os_p_ << c; + column_i_++; + break; + case '%' : + handle_pending_indent(); + comment_mode_b_ = true; + *os_p_ << c; + column_i_++; + break; + case '\t' : + handle_pending_indent(); + *os_p_ << c; + column_i_ += INDENT_i; + break; + case '\n' : + *os_p_ << endl; + pending_indent_i_ = indent_i_; + column_i_ = 0; + comment_mode_b_ = false; + break; + default : + handle_pending_indent(); + *os_p_ << c; + column_i_++; + break; + } + } +} + +void +Lilypond_stream::output_wrapped (String str) +{ + // enough room left -> doit + if (column_i_ + str.length_i() <= wrap_column_i_) + { + output (str); + return; + } + + // we're at BOL already; this will never fit -> doit + if (column_i_ == indent_i_ * INDENT_i) + { + output (str); + return; + } + + // ok, let's wrap + // preserve comment mode + if (comment_mode_b_) + output (String ("\n%")); + else + output (String ("\n")); + + output (str); +} diff --git a/midi2ly/lilypond-voice.cc b/midi2ly/lilypond-voice.cc new file mode 100644 index 0000000000..9595b93569 --- /dev/null +++ b/midi2ly/lilypond-voice.cc @@ -0,0 +1,105 @@ +// +// lilypond-voice.cc -- implement Lilypond_voice +// +// copyright 1997 Jan Nieuwenhuizen + +#include "string-convert.hh" +#include "midi2ly-global.hh" +#include "lilypond-column.hh" +#include "lilypond-item.hh" +#include "lilypond-staff.hh" +#include "lilypond-stream.hh" +#include "lilypond-voice.hh" +#include "lilypond-score.hh" + +extern Lilypond_score* lilypond_score_l_g; + +Lilypond_voice::Lilypond_voice (Lilypond_staff* lilypond_staff_l) +{ + lilypond_staff_l_ = lilypond_staff_l; + last_item_l_ =0; + last_note_l_ =0; +} + +void +Lilypond_voice::add_item (Lilypond_item* lilypond_item_l) +{ + last_item_l_ = lilypond_item_l; + if (Lilypond_note* n = dynamic_cast (lilypond_item_l)) + { + last_note_l_ = n; + } + lilypond_item_l_list_.append (new Cons (lilypond_item_l, 0)); +} + +/** + analyse pitches to determine clef. + */ +String +Lilypond_voice::get_clef () const +{ + Lilypond_note * n =0; + + for (Cons *cp = lilypond_item_l_list_.head_; !n && cp; cp = cp->next_) + { + n = dynamic_cast (cp->car_); + } + + if (!n) + return ""; + + int p = n->pitch_i_; + + if (p < 56) + return "\\clef \"bass\";\n"; + else if (p > 67) + return "\\clef \"treble\";\n"; + else + return ""; +} + +static int const FAIRLY_LONG_VOICE_i = 6; + +void +Lilypond_voice::output (Lilypond_stream& lilypond_stream_r) +{ + lilypond_stream_r << "{ "; + if (lilypond_item_l_list_.size_i () > FAIRLY_LONG_VOICE_i) + lilypond_stream_r << '\n'; + + + lilypond_stream_r << get_clef () << '\n'; + + int current_bar_i = 0; + Rational bar_mom = lilypond_staff_l_->lilypond_time_signature_l_->bar_mom (); + + for (Cons* i = lilypond_item_l_list_.head_; i; i = i->next_) + { + Rational at_mom = i->car_->lilypond_column_l_->at_mom (); + int bar_i = (int) (at_mom / bar_mom) + 1; + if (bar_i > current_bar_i) + { + if (current_bar_i) + { + if (at_mom == Rational (bar_i - 1) * bar_mom) + lilypond_stream_r << "|"; + lilypond_stream_r << "\n% "; + lilypond_stream_r << String_convert::i2dec_str (bar_i, 0, ' '); + lilypond_stream_r << '\n'; + } + LOGOUT (NORMAL_ver) << "[" << bar_i << "]" << flush; + current_bar_i = bar_i; + } + + lilypond_stream_r << *i->car_; + if (Lilypond_key* k = dynamic_cast (i->car_)) + lilypond_staff_l_->lilypond_key_l_ = lilypond_score_l_g->lilypond_key_l_ = k; + } + + if (lilypond_item_l_list_.size_i () > FAIRLY_LONG_VOICE_i) + lilypond_stream_r << '\n'; + + lilypond_stream_r << "} "; +} + + diff --git a/midi2ly/main.cc b/midi2ly/main.cc index 38ce2703a6..d48b8739f0 100644 --- a/midi2ly/main.cc +++ b/midi2ly/main.cc @@ -16,8 +16,8 @@ #include "midi2ly-global.hh" #include "midi-score-parser.hh" -#include "mudela-item.hh" -#include "mudela-score.hh" +#include "lilypond-item.hh" +#include "lilypond-score.hh" #if HAVE_GETTEXT #include @@ -28,7 +28,7 @@ String filename_str_g; // ugh -Mudela_score* mudela_score_l_g = 0; +Lilypond_score* lilypond_score_l_g = 0; bool no_timestamps_b_g = false; bool no_rests_b_g = false; @@ -113,7 +113,7 @@ usage() { cout << _f ("Usage: %s [OPTION]... [FILE]", "midi2ly"); cout << '\n'; - cout << _ ("Translate MIDI-file to mudela"); + cout << _ ("Translate MIDI-file to lilypond"); cout << '\n'; cout << '\n'; cout << _ ("Options:"); @@ -154,7 +154,7 @@ main (int argc_i, char* argv_sz_a[]) #endif bool key_override_b = false; - Mudela_key key (0, 0); + Lilypond_key key (0, 0); Getopt_long getopt_long (argc_i, argv_sz_a, long_option_init_a); @@ -254,15 +254,15 @@ main (int argc_i, char* argv_sz_a[]) show_settings (); filename_str_g = arg_sz; Midi_score_parser midi_parser; - Mudela_score* score_p = midi_parser.parse (arg_sz, &source); + Lilypond_score* score_p = midi_parser.parse (arg_sz, &source); if (!score_p) return 1; // if given on command line: override - if (key_override_b || !score_p->mudela_key_l_) - score_p->mudela_key_l_ = &key; - mudela_score_l_g = score_p; + if (key_override_b || !score_p->lilypond_key_l_) + score_p->lilypond_key_l_ = &key; + lilypond_score_l_g = score_p; score_p->process(); if (!output_str.length_i ()) diff --git a/midi2ly/midi-score-parser.cc b/midi2ly/midi-score-parser.cc index e80e85740b..a09f28fce4 100644 --- a/midi2ly/midi-score-parser.cc +++ b/midi2ly/midi-score-parser.cc @@ -12,8 +12,8 @@ #include "midi2ly-global.hh" #include "midi-score-parser.hh" #include "midi-track-parser.hh" -#include "mudela-item.hh" -#include "mudela-score.hh" +#include "lilypond-item.hh" +#include "lilypond-score.hh" void @@ -26,7 +26,7 @@ Midi_score_parser::open (String filename_str, Sources* sources_l) info_l_->end_byte_L_ = info_l_->byte_L_ + info_l_->source_l_->length_i () + 1; } -Mudela_score* +Lilypond_score* Midi_score_parser::parse (String filename_str, Sources* sources_l) { Midi_parser_info info; @@ -77,14 +77,14 @@ Midi_score_parser::find_earliest_i (Link_array& tracks) return earliest_i; } -Mudela_score* +Lilypond_score* Midi_score_parser::parse_score () { int current_bar_i = 0; - Mudela_time_signature m4 (4, 2, 24, 8); + Lilypond_time_signature m4 (4, 2, 24, 8); Rational bar4_mom = m4.bar_mom (); - Mudela_score* score_p = new Mudela_score( 1, 1, 1 ); + Lilypond_score* score_p = new Lilypond_score( 1, 1, 1 ); info_l_->score_l_ = score_p; Link_array tracks; @@ -97,8 +97,8 @@ Midi_score_parser::parse_score () { int i = find_earliest_i (tracks); Rational at_mom = tracks [i]->at_mom (); - Mudela_column* column_l = score_p->get_column_l (at_mom); - Mudela_staff* staff_p = tracks [i]->parse (column_l); + Lilypond_column* column_l = score_p->get_column_l (at_mom); + Lilypond_staff* staff_p = tracks [i]->parse (column_l); if ( staff_p ) { score_p->add_staff (staff_p); diff --git a/midi2ly/midi-track-parser.cc b/midi2ly/midi-track-parser.cc index 69c7ed080e..3b62ffc106 100644 --- a/midi2ly/midi-track-parser.cc +++ b/midi2ly/midi-track-parser.cc @@ -10,24 +10,24 @@ #include "string-convert.hh" #include "midi2ly-global.hh" #include "midi-track-parser.hh" -#include "mudela-column.hh" -#include "mudela-item.hh" -#include "mudela-score.hh" -#include "mudela-staff.hh" +#include "lilypond-column.hh" +#include "lilypond-item.hh" +#include "lilypond-score.hh" +#include "lilypond-staff.hh" Midi_track_parser::Midi_track_parser (Midi_parser_info* info_l, int i) { info_l_ = info_l; at_mom_ = 0; track_info_p_ = 0; - mudela_staff_p_ = new Mudela_staff (i, "", "", ""); + lilypond_staff_p_ = new Lilypond_staff (i, "", "", ""); parse_header (); parse_delta_time (); } Midi_track_parser::~Midi_track_parser () { - delete mudela_staff_p_; + delete lilypond_staff_p_; delete track_info_p_; } @@ -46,16 +46,16 @@ Midi_track_parser::eot () } void -Midi_track_parser::note_end (Mudela_column* col_l, int channel_i, int pitch_i, int aftertouch_i ) +Midi_track_parser::note_end (Lilypond_column* col_l, int channel_i, int pitch_i, int aftertouch_i ) { // junk dynamics (void)aftertouch_i; assert (col_l); - for (Cons** pp = &open_note_l_list_.head_; *pp;) + for (Cons** pp = &open_note_l_list_.head_; *pp;) { - Cons* i = *pp; + Cons* i = *pp; if ((i->car_->pitch_i_ == pitch_i) && (i->car_->channel_i_ == channel_i)) { i->car_->end_column_l_ = col_l; @@ -70,11 +70,11 @@ Midi_track_parser::note_end (Mudela_column* col_l, int channel_i, int pitch_i, i } void -Midi_track_parser::note_end_all (Mudela_column* col_l) +Midi_track_parser::note_end_all (Lilypond_column* col_l) { // find assert (col_l); - for (Cons* i = open_note_l_list_.head_; i; i = i->next_) + for (Cons* i = open_note_l_list_.head_; i; i = i->next_) { i->car_->end_column_l_ = col_l; } @@ -82,15 +82,15 @@ Midi_track_parser::note_end_all (Mudela_column* col_l) open_note_l_list_.init (); } -Mudela_staff* -Midi_track_parser::parse (Mudela_column* col_l) +Lilypond_staff* +Midi_track_parser::parse (Lilypond_column* col_l) { Rational mom = at_mom (); while (!eot () && (mom == at_mom ())) { - Mudela_item* p = parse_event (col_l); + Lilypond_item* p = parse_event (col_l); if (p) - mudela_staff_p_->add_item (p); + lilypond_staff_p_->add_item (p); } if (!eot()) @@ -99,8 +99,8 @@ Midi_track_parser::parse (Mudela_column* col_l) // catch-all note_end_all (col_l); - Mudela_staff* p = mudela_staff_p_; - mudela_staff_p_ = 0; + Lilypond_staff* p = lilypond_staff_p_; + lilypond_staff_p_ = 0; return p; } @@ -113,8 +113,8 @@ Midi_track_parser::parse_delta_time () at_mom_ += Rational (delta_i, info_l_->division_1_i_); } -Mudela_item* -Midi_track_parser::parse_event (Mudela_column* col_l) +Lilypond_item* +Midi_track_parser::parse_event (Lilypond_column* col_l) { Byte byte = peek_byte (); // RUNNING_STATUS [\x00-\x5f] @@ -131,7 +131,7 @@ Midi_track_parser::parse_event (Mudela_column* col_l) else byte = next_byte (); - Mudela_item* item_p = 0; + Lilypond_item* item_p = 0; // DATA_ENTRY [\x60-\x79] if ((byte >= 0x60) && (byte <= 0x79)) { @@ -166,9 +166,9 @@ Midi_track_parser::parse_event (Mudela_column* col_l) */ if (dyn_i) { - Mudela_note* p = new Mudela_note (col_l, channel_i, pitch_i, dyn_i); + Lilypond_note* p = new Lilypond_note (col_l, channel_i, pitch_i, dyn_i); item_p = p; - open_note_l_list_.append (new Cons (p, 0)); + open_note_l_list_.append (new Cons (p, 0)); } else { @@ -245,15 +245,15 @@ Midi_track_parser::parse_event (Mudela_column* col_l) int length_i = get_var_i (); String str = get_str (length_i); // LOGOUT (DEBUG_ver) << str << endl; - Mudela_text::Type t = (Mudela_text::Type)byte; - Mudela_text* p = new Mudela_text (t, str); + Lilypond_text::Type t = (Lilypond_text::Type)byte; + Lilypond_text* p = new Lilypond_text (t, str); item_p = p; - if (t == Mudela_text::COPYRIGHT) - mudela_staff_p_->copyright_str_ = p->text_str_; - else if (t == Mudela_text::TRACK_NAME) - mudela_staff_p_->name_str_ = p->text_str_; - else if (t == Mudela_text::INSTRUMENT_NAME) - mudela_staff_p_->instrument_str_ = p->text_str_; + if (t == Lilypond_text::COPYRIGHT) + lilypond_staff_p_->copyright_str_ = p->text_str_; + else if (t == Lilypond_text::TRACK_NAME) + lilypond_staff_p_->name_str_ = p->text_str_; + else if (t == Lilypond_text::INSTRUMENT_NAME) + lilypond_staff_p_->instrument_str_ = p->text_str_; } // END_OF_TRACK [\x2f][\x00] else @@ -269,12 +269,12 @@ Midi_track_parser::parse_event (Mudela_column* col_l) { next_byte (); unsigned useconds_per_4_u = get_u (3); - // $$ = new Mudela_tempo ( ($2 << 16) + ($3 << 8) + $4); + // $$ = new Lilypond_tempo ( ($2 << 16) + ($3 << 8) + $4); // LOGOUT (DEBUG_ver) << $$->str() << endl; - Mudela_tempo* p = new Mudela_tempo ( useconds_per_4_u ); + Lilypond_tempo* p = new Lilypond_tempo ( useconds_per_4_u ); item_p = p; - info_l_->score_l_->mudela_tempo_l_ = p; - mudela_staff_p_->mudela_tempo_l_ = p; + info_l_->score_l_->lilypond_tempo_l_ = p; + lilypond_staff_p_->lilypond_tempo_l_ = p; } // SMPTE_OFFSET [\x54][\x05] else if ((byte == 0x54) && (next == 0x05)) @@ -294,11 +294,11 @@ Midi_track_parser::parse_event (Mudela_column* col_l) int den_i = (int)next_byte (); int clocks_4_i = (int)next_byte (); int count_32_i = (int)next_byte (); - Mudela_time_signature* p = new Mudela_time_signature ( num_i, den_i, clocks_4_i, count_32_i ); + Lilypond_time_signature* p = new Lilypond_time_signature ( num_i, den_i, clocks_4_i, count_32_i ); item_p = p; - info_l_->score_l_->mudela_time_signature_l_ = p; + info_l_->score_l_->lilypond_time_signature_l_ = p; info_l_->bar_mom_ = p->bar_mom (); - mudela_staff_p_->mudela_time_signature_l_ = p; + lilypond_staff_p_->lilypond_time_signature_l_ = p; } // KEY [\x59][\x02] else if ((byte == 0x59) && (next == 0x02)) @@ -306,11 +306,11 @@ Midi_track_parser::parse_event (Mudela_column* col_l) next_byte (); int accidentals_i = (int)(signed char)next_byte (); int minor_i = (int)(bool)next_byte (); - Mudela_key* p = new Mudela_key (accidentals_i, minor_i); + Lilypond_key* p = new Lilypond_key (accidentals_i, minor_i); item_p = p; #if 0 - info_l_->score_l_->mudela_key_l_ = p; - mudela_staff_p_->mudela_key_l_ = p; + info_l_->score_l_->lilypond_key_l_ = p; + lilypond_staff_p_->lilypond_key_l_ = p; #endif } // SSME [\0x7f][\x03] @@ -319,7 +319,7 @@ Midi_track_parser::parse_event (Mudela_column* col_l) next_byte (); int length_i = get_var_i (); String str = get_str (length_i); - item_p = new Mudela_text ((Mudela_text::Type)byte, str); + item_p = new Lilypond_text ((Lilypond_text::Type)byte, str); } else { @@ -333,7 +333,7 @@ Midi_track_parser::parse_event (Mudela_column* col_l) exit (_ ("invalid MIDI event")); if (item_p) - item_p->mudela_column_l_ = col_l; + item_p->lilypond_column_l_ = col_l; parse_delta_time (); diff --git a/mutopia/J.S.Bach/GNUmakefile b/mutopia/J.S.Bach/GNUmakefile index bb33ed42dd..ebf1c3432c 100644 --- a/mutopia/J.S.Bach/GNUmakefile +++ b/mutopia/J.S.Bach/GNUmakefile @@ -2,7 +2,7 @@ depth = ../.. -SUBDIRS = Petites-Preludes Solo-Cello-Suites Cembalo-Partitas Duette +SUBDIRS = Petites-Preludes Cembalo-Partitas Duette EXTRA_DIST_FILES= diff --git a/po/de.po b/po/de.po index 1b3186d567..6c5bc7513e 100644 --- a/po/de.po +++ b/po/de.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Lilypond 1.2.8\n" -"POT-Creation-Date: 2001-03-06 12:36+0100\n" +"POT-Creation-Date: 2001-03-21 16:06+0100\n" "PO-Revision-Date: 1999-09-18 01:30+0200\n" "Last-Translator: Erwin Dieterich \n" "Language-Team: LANGUAGE \n" @@ -13,117 +13,137 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: ENCODING\n" -#: ly2dvi.py:67 main.cc:95 main.cc:109 +#: ly2dvi.py:86 main.cc:95 main.cc:105 msgid "this help" msgstr "Diese Hilfe" -#: ly2dvi.py:68 +#: ly2dvi.py:87 msgid "change global setting KEY to VAL" msgstr "" -#: ly2dvi.py:69 +#: ly2dvi.py:88 #, fuzzy msgid "generate PostScript output" msgstr "Degenerierte Zwangsbedingungen" -#: ly2dvi.py:70 +#: ly2dvi.py:89 msgid "keep all output, and name the directory ly2dvi.dir" msgstr "" -#: ly2dvi.py:71 +#: ly2dvi.py:90 msgid "don't run LilyPond" msgstr "" -#: ly2dvi.py:72 main.cc:104 main.cc:119 +#: ly2dvi.py:91 main.cc:115 +#, fuzzy +msgid "verbose" +msgstr "Sei geschwätzig" + +#: ly2dvi.py:92 main.cc:104 main.cc:114 msgid "print version number" msgstr "Zeige die Versionsnummer" -#: ly2dvi.py:73 main.cc:106 main.cc:121 +#: ly2dvi.py:93 main.cc:106 main.cc:116 msgid "show warranty and copyright" msgstr "Zeige Garantie und Urheberrechte" -#: ly2dvi.py:74 +#: ly2dvi.py:94 msgid "dump all final output into DIR" msgstr "" -#: ly2dvi.py:75 main.cc:113 +#: ly2dvi.py:95 main.cc:109 msgid "write Makefile dependencies for every input file" msgstr "Schreibe Makefile-Abhängigkeiten für jede Eingabedatei" -#: ly2dvi.py:101 +#: data-file.cc:118 input.cc:85 ly2dvi.py:123 midi-parser.cc:100 warn.cc:23 +msgid "warning: " +msgstr "Warnung: " + +#: input.cc:90 ly2dvi.py:128 ly2dvi.py:263 warn.cc:9 warn.cc:17 +msgid "error: " +msgstr "Fehler: " + +#: ly2dvi.py:130 #, fuzzy msgid "Exiting ... " msgstr "Linie ... " -#: ly2dvi.py:120 +#: ly2dvi.py:149 #, fuzzy, c-format -msgid "Reading `%s'" +msgid "Reading %s..." msgstr "Uralt-Bitte: `%s'" -#: ly2dvi.py:124 mapped-file-storage.cc:87 mudela-stream.cc:111 +#: lilypond-stream.cc:111 ly2dvi.py:153 mapped-file-storage.cc:87 #: paper-stream.cc:40 scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23 #, c-format msgid "can't open file: `%s'" msgstr "Kann die Datei %s nicht öffnen" -#: ly2dvi.py:187 +#: ly2dvi.py:216 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE" msgstr "Verwendung: %s [OPTIONEN] ... [DATEI]" -#: ly2dvi.py:189 +#: ly2dvi.py:218 msgid "Generate .dvi with LaTeX for LilyPond" msgstr "" -#: ly2dvi.py:191 main.cc:119 main.cc:151 +#: ly2dvi.py:220 main.cc:119 main.cc:146 msgid "Options:" msgstr "Optionen:" -#: data-file.cc:118 input.cc:85 ly2dvi.py:195 midi-parser.cc:100 warn.cc:23 -msgid "warning: " -msgstr "Warnung: " - -#: ly2dvi.py:196 +#: ly2dvi.py:224 msgid "all output is written in the CURRENT directory" msgstr "" -#: ly2dvi.py:198 main.cc:123 main.cc:174 +#: ly2dvi.py:226 main.cc:123 main.cc:169 #, fuzzy, c-format msgid "Report bugs to %s" msgstr "Melde Fehler an" -#: ly2dvi.py:230 +#: ly2dvi.py:260 #, fuzzy, c-format msgid "Invoking `%s'" msgstr "Uralt-Bitte: `%s'" -#: input.cc:90 ly2dvi.py:234 warn.cc:9 warn.cc:17 -msgid "error: " -msgstr "Fehler: " - -#: ly2dvi.py:234 +#: ly2dvi.py:263 #, c-format msgid "command exited with value %d" msgstr "" -#: ly2dvi.py:236 +#: ly2dvi.py:265 msgid "(ignored)" msgstr "" -#: ly2dvi.py:277 +#: ly2dvi.py:301 +#, fuzzy, c-format +msgid "no such setting: %s" +msgstr "Kein solches instrument: `%s'" + +#: ly2dvi.py:309 #, c-format msgid "Analyzing `%s'" msgstr "" -#: ly2dvi.py:539 scores.cc:44 +#: ly2dvi.py:353 +#, c-format +msgid "no lilypond output found for %s" +msgstr "" + +#: ly2dvi.py:395 +#, fuzzy, c-format +msgid "invalid value: %s" +msgstr "Ungültiger Buchstabe `%c'" + +#: ly2dvi.py:602 scores.cc:44 #, fuzzy, c-format msgid "dependencies output to %s..." msgstr "Ausgabe auf Papier auf %s..." -#: ly2dvi.py:540 -#, c-format -msgid "%s file left in `%s'" -msgstr "" +#: ly2dvi.py:603 +#, fuzzy, c-format +msgid "%s output to %s..." +msgstr "MIDI-Ausgabe nach %s..." #: data-file.cc:54 msgid "EOF in a string" @@ -232,12 +252,12 @@ msgstr "Kann die Schrift %s nicht finden, lade die Standardschrift." msgid "can't find default font: `%s'" msgstr "Kann Schrift `%s' nicht finden" -#: all-font-metrics.cc:172 includable-lexer.cc:50 scores.cc:137 +#: all-font-metrics.cc:172 includable-lexer.cc:51 scores.cc:137 #, c-format msgid "(search path: `%s')" msgstr "(Suchpfad: `%s')" -#: all-font-metrics.cc:173 parser.yy:1663 +#: all-font-metrics.cc:173 parser.yy:1681 msgid "Giving up" msgstr "" @@ -317,7 +337,7 @@ msgstr "Unerlaubte Subtraktion: nicht Teil eines Akkords: %s" msgid "invalid inversion pitch: not part of chord: %s" msgstr "Unerlaubter Baßton: gehört nicht zum Akkord: %s" -#: chord-tremolo-engraver.cc:141 +#: chord-tremolo-engraver.cc:141 percent-repeat-engraver.cc:162 #, fuzzy msgid "unterminated chord tremolo" msgstr "Unbeendeter Bindestrich" @@ -327,7 +347,7 @@ msgstr "Unbeendeter Bindestrich" msgid "no one to print a tremolos" msgstr "Keiner darf eine Wiederholungsklammer drucken" -#: collision.cc:116 +#: collision.cc:118 msgid "Too many clashing notecolumns. Ignoring them." msgstr "Zu viele aneinanderstoßende Notenspalten. Ich ignoriere sie." @@ -360,7 +380,7 @@ msgstr "Habe schon einen Balken" msgid "already have a decrescendo" msgstr "Habe schon einen Balken" -#: dynamic-engraver.cc:307 +#: dynamic-engraver.cc:318 #, fuzzy msgid "unterminated (de)crescendo" msgstr "Nichtbeendetes Crescendo" @@ -378,7 +398,7 @@ msgstr "" msgid "no one to print a repeat brace" msgstr "Keiner darf eine Wiederholungsklammer drucken" -#: font-interface.cc:220 +#: font-interface.cc:237 msgid "couldn't find any font satisfying " msgstr "" @@ -414,7 +434,7 @@ msgstr "Unbeendeter Bindestrich" msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "" -#: includable-lexer.cc:48 lily-guile.cc:139 midi-score-parser.cc:24 +#: includable-lexer.cc:49 lily-guile.cc:139 midi-score-parser.cc:24 #: scores.cc:136 scores.cc:142 #, c-format msgid "can't find file: `%s'" @@ -451,90 +471,85 @@ msgstr "" msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "EXT" msgstr "EXT" -#: main.cc:108 +#: main.cc:104 #, fuzzy msgid "use output format EXT (scm, ps, tex or as)" msgstr "Benutze das Ausgabeformat EXT" -#: main.cc:110 +#: main.cc:106 #, fuzzy msgid "FIELD" msgstr "DATEI" -#: main.cc:110 +#: main.cc:106 msgid "write header field to BASENAME.FIELD" msgstr "" -#: main.cc:111 main.cc:114 +#: main.cc:107 main.cc:110 msgid "DIR" msgstr "DIR" -#: main.cc:111 +#: main.cc:107 msgid "add DIR to search path" msgstr "Hänge DIR an den Suchpfad an" -#: main.cc:98 main.cc:112 +#: main.cc:98 main.cc:108 msgid "FILE" msgstr "DATEI" -#: main.cc:112 +#: main.cc:108 msgid "use FILE as init file" msgstr "Verwende FILE als Initialisierungsdatei" -#: main.cc:114 +#: main.cc:110 msgid "prepend DIR to dependencies" msgstr "" -#: main.cc:115 +#: main.cc:111 #, fuzzy msgid "produce MIDI output only" msgstr "Nur Midiausgabe" -#: main.cc:116 +#: main.cc:112 #, fuzzy msgid "NAME" msgstr "BASENAME" -#: main.cc:116 +#: main.cc:112 #, fuzzy msgid "write output to NAME" msgstr "Schreibe die Ausgabe in BASENAME[-x].Erweiterung" -#: main.cc:117 +#: main.cc:113 msgid "inhibit file output naming and exporting" msgstr "Unterdrücke die automatische Benennung von Ausgabedateien und Export" -#: main.cc:103 main.cc:118 -msgid "don't timestamp the output" -msgstr "Keine Datumsangabe auf der Ausgabe" - -#: main.cc:120 -#, fuzzy -msgid "verbose" -msgstr "Sei geschwätzig" +#: main.cc:117 +msgid "EXPR" +msgstr "" -#: main.cc:122 -msgid "write midi ouput in formatted ascii" +#: main.cc:117 +msgid "evalute EXPR as Scheme after .scm init is read" msgstr "" #. #. No version number or newline here. It confuses help2man #. -#: main.cc:139 +#: main.cc:134 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Benutzung: %s [OPTIONEN] ... [DATEI] ..." -#: main.cc:141 +#: main.cc:136 #, fuzzy msgid "Typeset music and or play MIDI from FILE" msgstr "Setze Musik oder spiele MIDI von DATEI" -#: main.cc:145 +#: main.cc:140 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" @@ -544,11 +559,11 @@ msgstr "" "Notenblätter erzeugen. Dazu verwendet es eine eigene Beschreibungssprache.\n" "lilyPond ist Teil des GNU-Projekts\n" -#: main.cc:155 +#: main.cc:150 msgid "This binary was compiled with the following options:" msgstr "Diese Programm wurde mit den folgenden Optionen übersetzt:" -#: main.cc:55 main.cc:182 +#: main.cc:55 main.cc:177 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -561,17 +576,17 @@ msgstr "" "einhalten. Wenn Sie das Programm mit `%s --warranty starten, bekommen\n" "Sie mehr Informationen.\n" -#: main.cc:62 main.cc:189 main.cc:201 +#: main.cc:62 main.cc:184 main.cc:196 #, c-format msgid "Copyright (c) %s by" msgstr "Urheberrechte (Copyright) (c) %s bei" -#: main.cc:199 +#: main.cc:194 #, fuzzy msgid "GNU LilyPond -- The music typesetter" msgstr "GNU LilyPond -- Der Notensatz des GNU-Projekts" -#: main.cc:71 main.cc:207 +#: main.cc:71 main.cc:202 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" @@ -619,29 +634,37 @@ msgstr "unsinnige Tonh msgid "Transposition by %s makes accidental larger than two" msgstr "Transponieren um %s macht Vorzecihen größer als zwei" -#: music.cc:222 +#: music.cc:224 msgid "ly_get_mus_property (): Not a Music" msgstr "" -#: music.cc:236 +#: music.cc:238 msgid "ly_set_mus_property (): Not a symbol" msgstr "" -#: music.cc:248 +#: music.cc:250 msgid "ly_set_mus_property (): not of type Music" msgstr "" +#: music.cc:264 +msgid "ly_make_music (): Not a string" +msgstr "" + +#: music.cc:284 +msgid "ly_music_name (): Not a music expression" +msgstr "" + #: music-output-def.cc:115 #, fuzzy, c-format msgid "can't find `%s' context" msgstr "Kann Partiturkontext nicht finden" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:138 #, fuzzy, c-format msgid "Identifier name is a keyword: `%s'" msgstr "name ist ein Schlüsselbegriff (keyword) (`%s')" -#: my-lily-lexer.cc:157 +#: my-lily-lexer.cc:158 #, c-format msgid "error at EOF: %s" msgstr "Fehler am Dateiende(EOF): %s" @@ -650,7 +673,7 @@ msgstr "Fehler am Dateiende(EOF): %s" msgid "Parsing..." msgstr "Verarbeite..." -#: my-lily-parser.cc:55 +#: my-lily-parser.cc:57 #, fuzzy msgid "Braces don't match" msgstr "Klammern passen nicht zusammen" @@ -665,11 +688,11 @@ msgstr "Uralt-Bitte: `%s'" msgid "paper output to %s..." msgstr "Ausgabe auf Papier auf %s..." -#: mudela-stream.cc:93 paper-outputter.cc:94 performance.cc:102 +#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:95 msgid ", at " msgstr ", bei " -#: paper-outputter.cc:245 +#: paper-outputter.cc:232 #, fuzzy, c-format msgid "writing header field %s to %s..." msgstr "Schreibe Datei mit Abhängigkeiten: `%s'..." @@ -678,7 +701,7 @@ msgstr "Schreibe Datei mit Abh msgid "Preprocessing elements..." msgstr "Verarbeite Element vor..." -#: paper-score.cc:113 +#: paper-score.cc:114 #, fuzzy msgid "Outputting Score, defined at: " msgstr "Gebe Partitur aus, definiert bei: " @@ -709,6 +732,16 @@ msgstr "" msgid "none of these in my family: `%s'" msgstr "" +#: percent-repeat-engraver.cc:108 +#, fuzzy +msgid "Don't know yet how to handle this percent repeat." +msgstr "Weiß nicht, wie ich eine fehlende Tonart behandeln soll" + +#: percent-repeat-iterator.cc:53 +#, fuzzy +msgid "no one to print a percent" +msgstr "Keiner darf eine Wiederholungsklammer drucken" + #: performance.cc:51 msgid "Track ... " msgstr "Stück ... " @@ -717,12 +750,12 @@ msgstr "St msgid "Creator: " msgstr "Erstellt von: " -#: performance.cc:116 +#: performance.cc:109 #, c-format msgid "from musical definition: %s" msgstr "von der musiaklischen Definition: %s" -#: performance.cc:171 +#: performance.cc:164 #, c-format msgid "MIDI output to %s..." msgstr "MIDI-Ausgabe nach %s..." @@ -789,7 +822,7 @@ msgstr "Habe Fehler gefunden, /* die Partitur wird nicht verarbeitet */" msgid "elapsed time: %.2f seconds" msgstr "verstrichene Zeit %.2f Sekunden" -#: score-engraver.cc:177 +#: score-engraver.cc:183 #, fuzzy, c-format msgid "unbound spanner `%s'" msgstr "Unbeschränkter Abstand `%s'" @@ -828,7 +861,9 @@ msgstr "Bindebogen msgid "unterminated slur" msgstr "Unbeendeter Bindebogen" -#: slur-engraver.cc:142 +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start request? +#: slur-engraver.cc:144 #, fuzzy msgid "can't find start of slur" msgstr "Kann nicht beide Enden von %s finden" @@ -868,21 +903,23 @@ msgstr "Unbeendete Linienfortf msgid "can't find ascii character: %d" msgstr "Kann ASCII-Zeichen `%d' nicht finden" -#: tfm-reader.cc:105 -#, c-format -msgid "TFM header of `%s' has only %u word(s)" +#: tfm-reader.cc:106 +#, fuzzy, c-format +msgid "TFM header of `%s' has only %u word (s)" msgstr "TFM header von `%s' hat nur %u Wort(e)" -#: tfm-reader.cc:139 +#: tfm-reader.cc:140 #, fuzzy, c-format msgid "%s: TFM file has %u parameters, which is more than the %u I can handle" msgstr "%s: TFM-Datei hat %u Parameter. Das ist mehr als die" -#: tie-engraver.cc:211 tie-performer.cc:173 +#. How to shut up this warning, when no notes appeared because +#. they were suicided by Thread_devnull_engraver? +#: tie-engraver.cc:215 tie-performer.cc:173 msgid "No ties were created!" msgstr "Es wurden keine Haltebögen erzeugt!" -#: tie-engraver.cc:230 +#: tie-engraver.cc:234 msgid "lonely tie" msgstr "Einsamer Haltebogen" @@ -901,21 +938,21 @@ msgstr " msgid "unknown translator: `%s'" msgstr "unbekannter Übersetzer `%s'" -#: translator-def.cc:96 +#: translator-def.cc:99 msgid "Program has no such type" msgstr "" -#: translator-def.cc:102 +#: translator-def.cc:105 #, fuzzy, c-format msgid "Already contains: `%s'" msgstr "Enthält schon ein `%s'" -#: translator-def.cc:103 +#: translator-def.cc:106 #, fuzzy, c-format msgid "Not adding translator: `%s'" msgstr "unbekannter Übersetzer `%s'" -#: translator-def.cc:215 +#: translator-def.cc:224 #, fuzzy, c-format msgid "can't find: `%s'" msgstr "Kann `%s' nicht finden" @@ -930,19 +967,19 @@ msgstr "Kann ein `%s', genannt `%s' weder finden noch erzeugen" msgid "can't find or create: `%s'" msgstr "Kann ein `%s' weder finden noch erzeugen" -#: translator-group.cc:403 +#: translator-group.cc:414 #, c-format msgid "" "Can't find property type-check for `%s'. Perhaps you made a typing error?" msgstr "" -#: translator-group.cc:417 +#: translator-group.cc:428 #, c-format msgid "Type check for `%s' failed; value `%s' must be of type `%s'" msgstr "" #. programming_error? -#: translator-group.cc:436 +#: translator-group.cc:447 msgid "ly-get-trans-property: expecting a Translator_group argument" msgstr "" @@ -963,119 +1000,191 @@ msgstr "" msgid "Oldest supported input version: %s" msgstr "Älteste noch unterstütze Version der Eingabe: %s" -#: parser.yy:471 +#: parser.yy:473 msgid "Wrong type for property value" msgstr "Falsche Type für Besitz-Wert" -#: parser.yy:666 +#: parser.yy:672 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:730 +#: parser.yy:736 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:735 +#: parser.yy:741 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:1211 +#: parser.yy:1236 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:1221 +#: parser.yy:1246 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1353 +#: parser.yy:1371 msgid "Expecting musical-pitch value" msgstr "" -#: parser.yy:1364 +#: parser.yy:1382 #, fuzzy msgid "Must have duration object" msgstr "Setze kürzeste Dauer (?)" -#: parser.yy:1373 parser.yy:1381 parser.yy:1661 +#: parser.yy:1391 parser.yy:1399 parser.yy:1679 #, fuzzy msgid "Have to be in Lyric mode for lyrics" msgstr "Um Text zu verarbeiten, muß ich im Text-(Lyrics)-Modus sein" -#: parser.yy:1546 parser.yy:1575 +#: parser.yy:1564 parser.yy:1593 #, c-format msgid "not a duration: %d" msgstr "Keine Dauer: %d" -#: parser.yy:1584 +#: parser.yy:1602 #, fuzzy msgid "Have to be in Note mode for notes" msgstr "Für Noten muß ich im Noten-(Note)-Modus sein" -#: parser.yy:1680 +#: parser.yy:1698 #, fuzzy msgid "Have to be in Chord mode for chords" msgstr "Für Akkorde muß ich im Akkord-(Chord)-Modus sein" -#: parser.yy:1842 parser.yy:1860 +#: parser.yy:1860 parser.yy:1878 msgid "need integer number arg" msgstr "" -#: parser.yy:1846 +#: parser.yy:1864 msgid "Must be positive integer" msgstr "" -#: lexer.ll:165 +#: lexer.ll:166 msgid "EOF found inside a comment" msgstr "Während eines Kommentar war die Datei zu Ende (EOF gefunden)" -#: lexer.ll:179 +#: lexer.ll:180 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:203 +#: lexer.ll:204 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "Unbekannter Identifier: `%s'" #. backup rule -#: lexer.ll:208 +#: lexer.ll:209 #, fuzzy msgid "Missing end quote" msgstr "Endnote fehlt" #. backup rule -#: lexer.ll:230 lexer.ll:234 +#: lexer.ll:231 lexer.ll:235 msgid "white expected" msgstr "Erwarte Weiß" -#: lexer.ll:243 +#: lexer.ll:244 #, fuzzy msgid "Can't evaluate Scheme in safe mode" msgstr "Kann Scheme nicht interpretieren, wenn ich im sicheren Modus bin" -#: lexer.ll:335 +#: lexer.ll:336 msgid "Brace found at end of lyric. Did you forget a space?" msgstr "" -#: lexer.ll:439 +#: lexer.ll:440 #, c-format msgid "invalid character: `%c'" msgstr "Ungültiger Buchstabe `%c'" -#: lexer.ll:520 +#: lexer.ll:521 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "Unbekannte Sonder-Zeichenkette" -#: lexer.ll:602 +#: lexer.ll:603 #, fuzzy, c-format msgid "incorrect lilypond version: %s (%s, %s)" -msgstr "Falsche Version von Mudela: (s /%s, %s)" +msgstr "Falsche Version von Lilypond: %s (%s, %s)" -#: lexer.ll:603 +#: lexer.ll:604 msgid "Consider converting the input with the convert-ly script" msgstr "" +#: lilypond-item.cc:161 +#, c-format +msgid "#32 in quarter: %d" +msgstr "#32 in Vierteln: %d" + +#: lilypond-score.cc:108 +#, c-format +msgid "Lily output to %s..." +msgstr "Lily-Ausgabe nach %s..." + +#: lilypond-score.cc:119 +#, fuzzy, c-format +msgid "track %d:" +msgstr "Spur " + +#: lilypond-score.cc:155 +msgid "Processing..." +msgstr "Verarbeite..." + +#: lilypond-score.cc:164 +msgid "Creating voices..." +msgstr "Erzeuge Stimmen..." + +#: lilypond-score.cc:168 +msgid "track " +msgstr "Spur " + +#: lilypond-score.cc:177 +msgid "NOT Filtering tempo..." +msgstr "Ich filtere das Tempo NICHT..." + +#: lilypond-score.cc:186 +msgid "NOT Quantifying columns..." +msgstr "ich quantifiziere die Spalten NICHT..." + +#: lilypond-score.cc:190 +msgid "Quantifying columns..." +msgstr "Quantifiziere Spalten..." + +#: lilypond-score.cc:223 +msgid "Settling columns..." +msgstr "Erledige Spalten..." + +#: lilypond-staff.cc:209 +#, fuzzy +msgid "% MIDI copyright:" +msgstr "% Midi Urheberrecht:" + +#: lilypond-staff.cc:210 +#, fuzzy +msgid "% MIDI instrument:" +msgstr "% Instrument:" + +#: lilypond-stream.cc:37 +#, c-format +msgid "lily indent level: %d" +msgstr "lily Einrücklevel: %d" + +#. Maybe better not to translate these? +#: lilypond-stream.cc:83 +msgid "% Creator: " +msgstr "% erstellt von: " + +#: lilypond-stream.cc:88 +msgid "% Automatically generated" +msgstr "% Automatisch generiert" + +#: lilypond-stream.cc:97 +#, c-format +msgid "% from input file: " +msgstr "% aus Eingabedatei: " + #: main.cc:93 msgid "write exact durations, e.g.: a4*385/384" msgstr "Schreibe genaue Dauer, z.B.: a4*385/384" @@ -1124,6 +1233,10 @@ msgstr "DUR" msgid "set smallest duration" msgstr "Setze kürzeste Dauer (?)" +#: main.cc:103 +msgid "don't timestamp the output" +msgstr "Keine Datumsangabe auf der Ausgabe" + #: main.cc:105 msgid "be verbose" msgstr "Sei geschwätzig" @@ -1139,8 +1252,8 @@ msgstr "Verwendung: %s [OPTIONEN] ... [DATEI]" #: main.cc:116 #, fuzzy -msgid "Translate MIDI-file to mudela" -msgstr "Übersetze MIDI in mudela" +msgid "Translate MIDI-file to lilypond" +msgstr "Übersetze MIDI in Lilypond" #: main.cc:130 #, c-format @@ -1220,78 +1333,6 @@ msgstr "Erwarte MIDI-St msgid "invalid track length" msgstr "Unzulässige Länge für ein Stück" -#: mudela-item.cc:161 -#, c-format -msgid "#32 in quarter: %d" -msgstr "#32 in Vierteln: %d" - -#: mudela-score.cc:108 -#, c-format -msgid "Lily output to %s..." -msgstr "Lily-Ausgabe nach %s..." - -#: mudela-score.cc:119 -#, fuzzy, c-format -msgid "track %d:" -msgstr "Spur " - -#: mudela-score.cc:155 -msgid "Processing..." -msgstr "Verarbeite..." - -#: mudela-score.cc:164 -msgid "Creating voices..." -msgstr "Erzeuge Stimmen..." - -#: mudela-score.cc:168 -msgid "track " -msgstr "Spur " - -#: mudela-score.cc:177 -msgid "NOT Filtering tempo..." -msgstr "Ich filtere das Tempo NICHT..." - -#: mudela-score.cc:186 -msgid "NOT Quantifying columns..." -msgstr "ich quantifiziere die Spalten NICHT..." - -#: mudela-score.cc:190 -msgid "Quantifying columns..." -msgstr "Quantifiziere Spalten..." - -#: mudela-score.cc:223 -msgid "Settling columns..." -msgstr "Erledige Spalten..." - -#: mudela-staff.cc:209 -#, fuzzy -msgid "% MIDI copyright:" -msgstr "% Midi Urheberrecht:" - -#: mudela-staff.cc:210 -#, fuzzy -msgid "% MIDI instrument:" -msgstr "% Instrument:" - -#: mudela-stream.cc:37 -#, c-format -msgid "lily indent level: %d" -msgstr "lily Einrücklevel: %d" - -#. Maybe better not to translate these? -#: mudela-stream.cc:83 -msgid "% Creator: " -msgstr "% erstellt von: " - -#: mudela-stream.cc:88 -msgid "% Automatically generated" -msgstr "% Automatisch generiert" - -#: mudela-stream.cc:97 -#, c-format -msgid "% from input file: " -msgstr "% aus Eingabedatei: " - #, fuzzy #~ msgid "Dependency file left in `%s'" #~ msgstr "Schreibe Datei mit Abhängigkeiten: `%s'..." @@ -1374,10 +1415,6 @@ msgstr "% aus Eingabedatei: " #~ msgid "No key name, assuming `C'" #~ msgstr "Keine Tonart: ich nehme `C' an" -#, fuzzy -#~ msgid "Don't know how handle empty keys" -#~ msgstr "Weiß nicht, wie ich eine fehlende Tonart behandeln soll" - #, fuzzy #~ msgid "out of tune:" #~ msgstr "Verstimmt" diff --git a/po/fr.po b/po/fr.po index 421acc6ad0..71bc705d07 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,122 +6,141 @@ msgid "" msgstr "" "Project-Id-Version: lilypond 1.3.18\n" -"POT-Creation-Date: 2001-03-06 12:36+0100\n" +"POT-Creation-Date: 2001-03-21 16:06+0100\n" "PO-Revision-Date: 1999-12-28 00:32 +1\n" "Last-Translator: Laurent Martelli \n" "Language-Team: \n" "MIME-Version: 1.0\n" -#: ly2dvi.py:67 main.cc:95 main.cc:109 +#: ly2dvi.py:86 main.cc:95 main.cc:105 msgid "this help" msgstr "cette aide" -#: ly2dvi.py:68 +#: ly2dvi.py:87 msgid "change global setting KEY to VAL" msgstr "" -#: ly2dvi.py:69 +#: ly2dvi.py:88 msgid "generate PostScript output" msgstr "" -#: ly2dvi.py:70 +#: ly2dvi.py:89 msgid "keep all output, and name the directory ly2dvi.dir" msgstr "" -#: ly2dvi.py:71 +#: ly2dvi.py:90 msgid "don't run LilyPond" msgstr "" -#: ly2dvi.py:72 main.cc:104 main.cc:119 +#: ly2dvi.py:91 main.cc:115 +msgid "verbose" +msgstr "" + +#: ly2dvi.py:92 main.cc:104 main.cc:114 msgid "print version number" msgstr "afficher le numéro de version" -#: ly2dvi.py:73 main.cc:106 main.cc:121 +#: ly2dvi.py:93 main.cc:106 main.cc:116 msgid "show warranty and copyright" msgstr "" -#: ly2dvi.py:74 +#: ly2dvi.py:94 msgid "dump all final output into DIR" msgstr "" -#: ly2dvi.py:75 main.cc:113 +#: ly2dvi.py:95 main.cc:109 msgid "write Makefile dependencies for every input file" msgstr "" -#: ly2dvi.py:101 +#: data-file.cc:118 input.cc:85 ly2dvi.py:123 midi-parser.cc:100 warn.cc:23 +msgid "warning: " +msgstr "avertissement: " + +#: input.cc:90 ly2dvi.py:128 ly2dvi.py:263 warn.cc:9 warn.cc:17 +msgid "error: " +msgstr "erreur: " + +#: ly2dvi.py:130 #, fuzzy msgid "Exiting ... " msgstr "Ligne ..." -#: ly2dvi.py:120 -#, c-format -msgid "Reading `%s'" -msgstr "" +#: ly2dvi.py:149 +#, fuzzy, c-format +msgid "Reading %s..." +msgstr "Création des voix..." -#: ly2dvi.py:124 mapped-file-storage.cc:87 mudela-stream.cc:111 +#: lilypond-stream.cc:111 ly2dvi.py:153 mapped-file-storage.cc:87 #: paper-stream.cc:40 scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23 #, c-format msgid "can't open file: `%s'" msgstr "impossible d'ouvrir le fichier: `%s'" -#: ly2dvi.py:187 +#: ly2dvi.py:216 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE" msgstr "Usage: %s [OPTION... [FICHIER]" -#: ly2dvi.py:189 +#: ly2dvi.py:218 msgid "Generate .dvi with LaTeX for LilyPond" msgstr "" -#: ly2dvi.py:191 main.cc:119 main.cc:151 +#: ly2dvi.py:220 main.cc:119 main.cc:146 msgid "Options:" msgstr "Options: " -#: data-file.cc:118 input.cc:85 ly2dvi.py:195 midi-parser.cc:100 warn.cc:23 -msgid "warning: " -msgstr "avertissement: " - -#: ly2dvi.py:196 +#: ly2dvi.py:224 msgid "all output is written in the CURRENT directory" msgstr "" -#: ly2dvi.py:198 main.cc:123 main.cc:174 +#: ly2dvi.py:226 main.cc:123 main.cc:169 #, fuzzy, c-format msgid "Report bugs to %s" msgstr "Rapporter les bugs à" -#: ly2dvi.py:230 +#: ly2dvi.py:260 #, c-format msgid "Invoking `%s'" msgstr "" -#: input.cc:90 ly2dvi.py:234 warn.cc:9 warn.cc:17 -msgid "error: " -msgstr "erreur: " - -#: ly2dvi.py:234 +#: ly2dvi.py:263 #, c-format msgid "command exited with value %d" msgstr "" -#: ly2dvi.py:236 +#: ly2dvi.py:265 msgid "(ignored)" msgstr "" -#: ly2dvi.py:277 +#: ly2dvi.py:301 +#, fuzzy, c-format +msgid "no such setting: %s" +msgstr "Pas d'instrument tel: `%s'" + +#: ly2dvi.py:309 #, c-format msgid "Analyzing `%s'" msgstr "" -#: ly2dvi.py:539 scores.cc:44 +#: ly2dvi.py:353 +#, c-format +msgid "no lilypond output found for %s" +msgstr "" + +#: ly2dvi.py:395 +#, fuzzy, c-format +msgid "invalid value: %s" +msgstr "caractères illégal: `%c'" + +#: ly2dvi.py:602 scores.cc:44 #, fuzzy, c-format msgid "dependencies output to %s..." msgstr "Sortie papier vers %s..." -#: ly2dvi.py:540 -#, c-format -msgid "%s file left in `%s'" -msgstr "" +#: ly2dvi.py:603 +#, fuzzy, c-format +msgid "%s output to %s..." +msgstr "Sortie de Lily vers %s..." #: data-file.cc:54 #, fuzzy @@ -231,12 +250,12 @@ msgstr "Impossible de trouver la police `%s', chargement la police par d msgid "can't find default font: `%s'" msgstr "Impossible de trouver la fonte par défaut `%s', abandon." -#: all-font-metrics.cc:172 includable-lexer.cc:50 scores.cc:137 +#: all-font-metrics.cc:172 includable-lexer.cc:51 scores.cc:137 #, fuzzy, c-format msgid "(search path: `%s')" msgstr "chemin de recherche= %s" -#: all-font-metrics.cc:173 parser.yy:1663 +#: all-font-metrics.cc:173 parser.yy:1681 msgid "Giving up" msgstr "" @@ -316,7 +335,7 @@ msgstr "soustraction invalide: ne fait pas partie de l'accord: %s" msgid "invalid inversion pitch: not part of chord: %s" msgstr "renversement invalide: ne fait pas partie de l'accord: %s" -#: chord-tremolo-engraver.cc:141 +#: chord-tremolo-engraver.cc:141 percent-repeat-engraver.cc:162 msgid "unterminated chord tremolo" msgstr "" @@ -324,7 +343,7 @@ msgstr "" msgid "no one to print a tremolos" msgstr "" -#: collision.cc:116 +#: collision.cc:118 #, fuzzy msgid "Too many clashing notecolumns. Ignoring them." msgstr "Trop de colonnes de notes superposées. Je les ignore." @@ -358,7 +377,7 @@ msgstr "Il y a d msgid "already have a decrescendo" msgstr "Il y a déjà une barre" -#: dynamic-engraver.cc:307 +#: dynamic-engraver.cc:318 #, fuzzy msgid "unterminated (de)crescendo" msgstr "crescendo non terminé" @@ -375,7 +394,7 @@ msgstr "" msgid "no one to print a repeat brace" msgstr "" -#: font-interface.cc:220 +#: font-interface.cc:237 msgid "couldn't find any font satisfying " msgstr "" @@ -409,7 +428,7 @@ msgstr "" msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "" -#: includable-lexer.cc:48 lily-guile.cc:139 midi-score-parser.cc:24 +#: includable-lexer.cc:49 lily-guile.cc:139 midi-score-parser.cc:24 #: scores.cc:136 scores.cc:142 #, c-format msgid "can't find file: `%s'" @@ -446,87 +465,83 @@ msgstr "" msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "EXT" msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "use output format EXT (scm, ps, tex or as)" msgstr "" -#: main.cc:110 +#: main.cc:106 #, fuzzy msgid "FIELD" msgstr "FICHIER" -#: main.cc:110 +#: main.cc:106 msgid "write header field to BASENAME.FIELD" msgstr "" -#: main.cc:111 main.cc:114 +#: main.cc:107 main.cc:110 msgid "DIR" msgstr "REP" -#: main.cc:111 +#: main.cc:107 #, fuzzy msgid "add DIR to search path" msgstr "ajoute REP au chemin de recherche" -#: main.cc:98 main.cc:112 +#: main.cc:98 main.cc:108 msgid "FILE" msgstr "FICHIER" -#: main.cc:112 +#: main.cc:108 #, fuzzy msgid "use FILE as init file" msgstr "utilise FICHIER comme fichier d'initialisation" -#: main.cc:114 +#: main.cc:110 msgid "prepend DIR to dependencies" msgstr "" -#: main.cc:115 +#: main.cc:111 #, fuzzy msgid "produce MIDI output only" msgstr "produit seulement la sortie MIDI" -#: main.cc:116 +#: main.cc:112 msgid "NAME" msgstr "" -#: main.cc:116 +#: main.cc:112 msgid "write output to NAME" msgstr "" -#: main.cc:117 +#: main.cc:113 msgid "inhibit file output naming and exporting" msgstr "" -#: main.cc:103 main.cc:118 -msgid "don't timestamp the output" -msgstr "" - -#: main.cc:120 -msgid "verbose" +#: main.cc:117 +msgid "EXPR" msgstr "" -#: main.cc:122 -msgid "write midi ouput in formatted ascii" +#: main.cc:117 +msgid "evalute EXPR as Scheme after .scm init is read" msgstr "" #. #. No version number or newline here. It confuses help2man #. -#: main.cc:139 +#: main.cc:134 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Usage: %s [OPTION]... [FICHIER]..." -#: main.cc:141 +#: main.cc:136 msgid "Typeset music and or play MIDI from FILE" msgstr "" -#: main.cc:145 +#: main.cc:140 #, fuzzy msgid "" "LilyPond is a music typesetter. It produces beautiful sheet music\n" @@ -537,12 +552,12 @@ msgstr "" "paritions à partir de description de gaut niveau en entrée. Lilypond\n" "fait partie du projet GNU.\n" -#: main.cc:155 +#: main.cc:150 #, fuzzy msgid "This binary was compiled with the following options:" msgstr "Cet exécutable a été compilé avec les options suivantes:" -#: main.cc:55 main.cc:182 +#: main.cc:55 main.cc:177 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -550,17 +565,17 @@ msgid "" "certain conditions. Invoke as `%s --warranty' for more information.\n" msgstr "" -#: main.cc:62 main.cc:189 main.cc:201 +#: main.cc:62 main.cc:184 main.cc:196 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s par" -#: main.cc:199 +#: main.cc:194 #, fuzzy msgid "GNU LilyPond -- The music typesetter" msgstr "GNU LilyPond -- Il tipografo musicale del progetto GNU" -#: main.cc:71 main.cc:207 +#: main.cc:71 main.cc:202 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" @@ -595,29 +610,37 @@ msgstr "" msgid "Transposition by %s makes accidental larger than two" msgstr "" -#: music.cc:222 +#: music.cc:224 msgid "ly_get_mus_property (): Not a Music" msgstr "" -#: music.cc:236 +#: music.cc:238 msgid "ly_set_mus_property (): Not a symbol" msgstr "" -#: music.cc:248 +#: music.cc:250 msgid "ly_set_mus_property (): not of type Music" msgstr "" +#: music.cc:264 +msgid "ly_make_music (): Not a string" +msgstr "" + +#: music.cc:284 +msgid "ly_music_name (): Not a music expression" +msgstr "" + #: music-output-def.cc:115 #, fuzzy, c-format msgid "can't find `%s' context" msgstr "ne peut pas trouver `%s'" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:138 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "" -#: my-lily-lexer.cc:157 +#: my-lily-lexer.cc:158 #, c-format msgid "error at EOF: %s" msgstr "" @@ -626,7 +649,7 @@ msgstr "" msgid "Parsing..." msgstr "Analyse..." -#: my-lily-parser.cc:55 +#: my-lily-parser.cc:57 msgid "Braces don't match" msgstr "" @@ -640,11 +663,11 @@ msgstr "" msgid "paper output to %s..." msgstr "Sortie papier vers %s..." -#: mudela-stream.cc:93 paper-outputter.cc:94 performance.cc:102 +#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:95 msgid ", at " msgstr ", à " -#: paper-outputter.cc:245 +#: paper-outputter.cc:232 #, fuzzy, c-format msgid "writing header field %s to %s..." msgstr "impossible d'ouvrir le fichier: `%s'" @@ -653,7 +676,7 @@ msgstr "impossible d'ouvrir le fichier: `%s'" msgid "Preprocessing elements..." msgstr "" -#: paper-score.cc:113 +#: paper-score.cc:114 msgid "Outputting Score, defined at: " msgstr "" @@ -683,6 +706,15 @@ msgstr "" msgid "none of these in my family: `%s'" msgstr "" +#: percent-repeat-engraver.cc:108 +#, fuzzy +msgid "Don't know yet how to handle this percent repeat." +msgstr "ne sait pas traiter les clés vides" + +#: percent-repeat-iterator.cc:53 +msgid "no one to print a percent" +msgstr "" + #: performance.cc:51 #, fuzzy msgid "Track ... " @@ -692,12 +724,12 @@ msgstr "Piste ... " msgid "Creator: " msgstr "Auteur: " -#: performance.cc:116 +#: performance.cc:109 #, c-format msgid "from musical definition: %s" msgstr "" -#: performance.cc:171 +#: performance.cc:164 #, c-format msgid "MIDI output to %s..." msgstr "" @@ -760,7 +792,7 @@ msgstr "" msgid "elapsed time: %.2f seconds" msgstr "temps ecoulé: %.2f secondes" -#: score-engraver.cc:177 +#: score-engraver.cc:183 #, fuzzy, c-format msgid "unbound spanner `%s'" msgstr "traducteur inconnu `%s'" @@ -796,7 +828,9 @@ msgstr "" msgid "unterminated slur" msgstr "" -#: slur-engraver.cc:142 +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start request? +#: slur-engraver.cc:144 #, fuzzy msgid "can't find start of slur" msgstr "impossible de trouver le caractères numéro %d" @@ -835,21 +869,23 @@ msgstr "Barre non termin msgid "can't find ascii character: %d" msgstr "ne peut pas trouver le caractère ascii `%d'" -#: tfm-reader.cc:105 +#: tfm-reader.cc:106 #, c-format -msgid "TFM header of `%s' has only %u word(s)" +msgid "TFM header of `%s' has only %u word (s)" msgstr "" -#: tfm-reader.cc:139 +#: tfm-reader.cc:140 #, c-format msgid "%s: TFM file has %u parameters, which is more than the %u I can handle" msgstr "" -#: tie-engraver.cc:211 tie-performer.cc:173 +#. How to shut up this warning, when no notes appeared because +#. they were suicided by Thread_devnull_engraver? +#: tie-engraver.cc:215 tie-performer.cc:173 msgid "No ties were created!" msgstr "Aucune liaison n'a été crée" -#: tie-engraver.cc:230 +#: tie-engraver.cc:234 msgid "lonely tie" msgstr "liaison solitaire" @@ -867,21 +903,21 @@ msgstr "" msgid "unknown translator: `%s'" msgstr "traducteur inconnu `%s'" -#: translator-def.cc:96 +#: translator-def.cc:99 msgid "Program has no such type" msgstr "" -#: translator-def.cc:102 +#: translator-def.cc:105 #, fuzzy, c-format msgid "Already contains: `%s'" msgstr "Contient déjà un `%s'" -#: translator-def.cc:103 +#: translator-def.cc:106 #, fuzzy, c-format msgid "Not adding translator: `%s'" msgstr "traducteur inconnu `%s'" -#: translator-def.cc:215 +#: translator-def.cc:224 #, fuzzy, c-format msgid "can't find: `%s'" msgstr "ne peut pas trouver `%s'" @@ -896,19 +932,19 @@ msgstr "ne peut pas trouver ou cr msgid "can't find or create: `%s'" msgstr "ne peut pas trouver ou créer `%s'" -#: translator-group.cc:403 +#: translator-group.cc:414 #, c-format msgid "" "Can't find property type-check for `%s'. Perhaps you made a typing error?" msgstr "" -#: translator-group.cc:417 +#: translator-group.cc:428 #, c-format msgid "Type check for `%s' failed; value `%s' must be of type `%s'" msgstr "" #. programming_error? -#: translator-group.cc:436 +#: translator-group.cc:447 msgid "ly-get-trans-property: expecting a Translator_group argument" msgstr "" @@ -929,117 +965,188 @@ msgstr "" msgid "Oldest supported input version: %s" msgstr "Plus ancienne version supportée: %s" -#: parser.yy:471 +#: parser.yy:473 msgid "Wrong type for property value" msgstr "Mauvais type pour la valeur de la propriété" -#: parser.yy:666 +#: parser.yy:672 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:730 +#: parser.yy:736 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:735 +#: parser.yy:741 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:1211 +#: parser.yy:1236 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:1221 +#: parser.yy:1246 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1353 +#: parser.yy:1371 msgid "Expecting musical-pitch value" msgstr "" -#: parser.yy:1364 +#: parser.yy:1382 #, fuzzy msgid "Must have duration object" msgstr "Positionne la plus petite durée (?)" -#: parser.yy:1373 parser.yy:1381 parser.yy:1661 +#: parser.yy:1391 parser.yy:1399 parser.yy:1679 #, fuzzy msgid "Have to be in Lyric mode for lyrics" msgstr "il fayt être en mode Parole pour les paroles" -#: parser.yy:1546 parser.yy:1575 +#: parser.yy:1564 parser.yy:1593 #, c-format msgid "not a duration: %d" msgstr "pas une durée: %d" -#: parser.yy:1584 +#: parser.yy:1602 #, fuzzy msgid "Have to be in Note mode for notes" msgstr "il faut être en mode Note pour les notes" -#: parser.yy:1680 +#: parser.yy:1698 #, fuzzy msgid "Have to be in Chord mode for chords" msgstr "il faut être en mode Accord pour les accords" -#: parser.yy:1842 parser.yy:1860 +#: parser.yy:1860 parser.yy:1878 msgid "need integer number arg" msgstr "" -#: parser.yy:1846 +#: parser.yy:1864 msgid "Must be positive integer" msgstr "" -#: lexer.ll:165 +#: lexer.ll:166 msgid "EOF found inside a comment" msgstr "EOF trouvé dans un commentaire" -#: lexer.ll:179 +#: lexer.ll:180 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:203 +#: lexer.ll:204 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "indentifiant non défini: `%s'" #. backup rule -#: lexer.ll:208 +#: lexer.ll:209 msgid "Missing end quote" msgstr "" #. backup rule -#: lexer.ll:230 lexer.ll:234 +#: lexer.ll:231 lexer.ll:235 msgid "white expected" msgstr "blanche attendue" -#: lexer.ll:243 +#: lexer.ll:244 msgid "Can't evaluate Scheme in safe mode" msgstr "" -#: lexer.ll:335 +#: lexer.ll:336 msgid "Brace found at end of lyric. Did you forget a space?" msgstr "" -#: lexer.ll:439 +#: lexer.ll:440 #, fuzzy, c-format msgid "invalid character: `%c'" msgstr "caractères illégal: `%c'" -#: lexer.ll:520 +#: lexer.ll:521 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "chaîne d'échappement inconnue: `\\%s'" -#: lexer.ll:602 +#: lexer.ll:603 #, fuzzy, c-format msgid "incorrect lilypond version: %s (%s, %s)" msgstr "version de mudela incorrecte: %s (%s, %s)" -#: lexer.ll:603 +#: lexer.ll:604 msgid "Consider converting the input with the convert-ly script" msgstr "" +#: lilypond-item.cc:161 +#, c-format +msgid "#32 in quarter: %d" +msgstr "" + +#: lilypond-score.cc:108 +#, c-format +msgid "Lily output to %s..." +msgstr "Sortie de Lily vers %s..." + +#: lilypond-score.cc:119 +#, fuzzy, c-format +msgid "track %d:" +msgstr "piste " + +#: lilypond-score.cc:155 +msgid "Processing..." +msgstr "Traitement..." + +#: lilypond-score.cc:164 +msgid "Creating voices..." +msgstr "Création des voix..." + +#: lilypond-score.cc:168 +msgid "track " +msgstr "piste " + +#: lilypond-score.cc:177 +msgid "NOT Filtering tempo..." +msgstr "PAS de filtrage du tempo..." + +#: lilypond-score.cc:186 +msgid "NOT Quantifying columns..." +msgstr "PAS de quantification des colonnes..." + +#: lilypond-score.cc:190 +msgid "Quantifying columns..." +msgstr "Quantification des colonnes..." + +#: lilypond-score.cc:223 +msgid "Settling columns..." +msgstr "" + +#: lilypond-staff.cc:209 +msgid "% MIDI copyright:" +msgstr "" + +#: lilypond-staff.cc:210 +#, fuzzy +msgid "% MIDI instrument:" +msgstr "Pas d'instrument tel: `%s'" + +#: lilypond-stream.cc:37 +#, c-format +msgid "lily indent level: %d" +msgstr "Niveau d'indentation de lily: %d" + +#. Maybe better not to translate these? +#: lilypond-stream.cc:83 +msgid "% Creator: " +msgstr "% Auteur: " + +#: lilypond-stream.cc:88 +msgid "% Automatically generated" +msgstr "% Généré automatiquement" + +#: lilypond-stream.cc:97 +#, c-format +msgid "% from input file: " +msgstr "% dal file di input: " + #: main.cc:93 msgid "write exact durations, e.g.: a4*385/384" msgstr "" @@ -1086,6 +1193,10 @@ msgstr "" msgid "set smallest duration" msgstr "Positionne la plus petite durée (?)" +#: main.cc:103 +msgid "don't timestamp the output" +msgstr "" + #: main.cc:105 msgid "be verbose" msgstr "" @@ -1101,7 +1212,7 @@ msgstr "Usage: %s [OPTION... [FICHIER]" #: main.cc:116 #, fuzzy -msgid "Translate MIDI-file to mudela" +msgid "Translate MIDI-file to lilypond" msgstr "Traduction du fichier MIDI en mudela" #: main.cc:130 @@ -1182,77 +1293,6 @@ msgstr "piste MIDI attendue" msgid "invalid track length" msgstr "taille de piste invalide" -#: mudela-item.cc:161 -#, c-format -msgid "#32 in quarter: %d" -msgstr "" - -#: mudela-score.cc:108 -#, c-format -msgid "Lily output to %s..." -msgstr "Sortie de Lily vers %s..." - -#: mudela-score.cc:119 -#, fuzzy, c-format -msgid "track %d:" -msgstr "piste " - -#: mudela-score.cc:155 -msgid "Processing..." -msgstr "Traitement..." - -#: mudela-score.cc:164 -msgid "Creating voices..." -msgstr "Création des voix..." - -#: mudela-score.cc:168 -msgid "track " -msgstr "piste " - -#: mudela-score.cc:177 -msgid "NOT Filtering tempo..." -msgstr "PAS de filtrage du tempo..." - -#: mudela-score.cc:186 -msgid "NOT Quantifying columns..." -msgstr "PAS de quantification des colonnes..." - -#: mudela-score.cc:190 -msgid "Quantifying columns..." -msgstr "Quantification des colonnes..." - -#: mudela-score.cc:223 -msgid "Settling columns..." -msgstr "" - -#: mudela-staff.cc:209 -msgid "% MIDI copyright:" -msgstr "" - -#: mudela-staff.cc:210 -#, fuzzy -msgid "% MIDI instrument:" -msgstr "Pas d'instrument tel: `%s'" - -#: mudela-stream.cc:37 -#, c-format -msgid "lily indent level: %d" -msgstr "Niveau d'indentation de lily: %d" - -#. Maybe better not to translate these? -#: mudela-stream.cc:83 -msgid "% Creator: " -msgstr "% Auteur: " - -#: mudela-stream.cc:88 -msgid "% Automatically generated" -msgstr "% Généré automatiquement" - -#: mudela-stream.cc:97 -#, c-format -msgid "% from input file: " -msgstr "% dal file di input: " - #, fuzzy #~ msgid "Dependency file left in `%s'" #~ msgstr "impossible d'ouvrir le fichier: `%s'" @@ -1291,10 +1331,6 @@ msgstr "% dal file di input: " #~ msgid "No key name, assuming `C'" #~ msgstr "Pas de nom de clé: Do assumé" -#, fuzzy -#~ msgid "Don't know how handle empty keys" -#~ msgstr "ne sait pas traiter les clés vides" - #, fuzzy #~ msgid "out of tune:" #~ msgstr "hors de la tonalité" diff --git a/po/it.po b/po/it.po index d13607c909..3177c6e791 100644 --- a/po/it.po +++ b/po/it.po @@ -5,7 +5,7 @@ #, fuzzy msgid "" msgstr "" -"POT-Creation-Date: 2001-03-06 12:36+0100\n" +"POT-Creation-Date: 2001-03-21 16:06+0100\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Date: 1998-05-30 00:17:12+0200\n" "From: \n" @@ -13,120 +13,139 @@ msgstr "" "--output-dir=../po/out --add-comments --keyword=_ --keyword=_f\n" "Files: bow.cc int.cc\n" -#: ly2dvi.py:67 main.cc:95 main.cc:109 +#: ly2dvi.py:86 main.cc:95 main.cc:105 msgid "this help" msgstr "" -#: ly2dvi.py:68 +#: ly2dvi.py:87 msgid "change global setting KEY to VAL" msgstr "" -#: ly2dvi.py:69 +#: ly2dvi.py:88 #, fuzzy msgid "generate PostScript output" msgstr "vincoli degenerati" -#: ly2dvi.py:70 +#: ly2dvi.py:89 msgid "keep all output, and name the directory ly2dvi.dir" msgstr "" -#: ly2dvi.py:71 +#: ly2dvi.py:90 msgid "don't run LilyPond" msgstr "" -#: ly2dvi.py:72 main.cc:104 main.cc:119 +#: ly2dvi.py:91 main.cc:115 +msgid "verbose" +msgstr "" + +#: ly2dvi.py:92 main.cc:104 main.cc:114 msgid "print version number" msgstr "" -#: ly2dvi.py:73 main.cc:106 main.cc:121 +#: ly2dvi.py:93 main.cc:106 main.cc:116 #, fuzzy msgid "show warranty and copyright" msgstr " -w, --warranty mostra la garanzia e il copyright\n" -#: ly2dvi.py:74 +#: ly2dvi.py:94 msgid "dump all final output into DIR" msgstr "" -#: ly2dvi.py:75 main.cc:113 +#: ly2dvi.py:95 main.cc:109 #, fuzzy msgid "write Makefile dependencies for every input file" msgstr "" " -d, --dependencies scrive le dependenze del Makefile per ogni file di " "input\n" -#: ly2dvi.py:101 +#: data-file.cc:118 input.cc:85 ly2dvi.py:123 midi-parser.cc:100 warn.cc:23 +msgid "warning: " +msgstr "attenzione: " + +#: input.cc:90 ly2dvi.py:128 ly2dvi.py:263 warn.cc:9 warn.cc:17 +msgid "error: " +msgstr "errore: " + +#: ly2dvi.py:130 msgid "Exiting ... " msgstr "" -#: ly2dvi.py:120 -#, c-format -msgid "Reading `%s'" -msgstr "" +#: ly2dvi.py:149 +#, fuzzy, c-format +msgid "Reading %s..." +msgstr "Genero le voci..." -#: ly2dvi.py:124 mapped-file-storage.cc:87 mudela-stream.cc:111 +#: lilypond-stream.cc:111 ly2dvi.py:153 mapped-file-storage.cc:87 #: paper-stream.cc:40 scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23 #, c-format msgid "can't open file: `%s'" msgstr "non posso aprire il file: `%s'" -#: ly2dvi.py:187 +#: ly2dvi.py:216 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE" msgstr "Uso: %s [OPZIONE... [FILE]" -#: ly2dvi.py:189 +#: ly2dvi.py:218 msgid "Generate .dvi with LaTeX for LilyPond" msgstr "" -#: ly2dvi.py:191 main.cc:119 main.cc:151 +#: ly2dvi.py:220 main.cc:119 main.cc:146 msgid "Options:" msgstr "Opzioni: " -#: data-file.cc:118 input.cc:85 ly2dvi.py:195 midi-parser.cc:100 warn.cc:23 -msgid "warning: " -msgstr "attenzione: " - -#: ly2dvi.py:196 +#: ly2dvi.py:224 msgid "all output is written in the CURRENT directory" msgstr "" -#: ly2dvi.py:198 main.cc:123 main.cc:174 +#: ly2dvi.py:226 main.cc:123 main.cc:169 #, c-format msgid "Report bugs to %s" msgstr "" -#: ly2dvi.py:230 +#: ly2dvi.py:260 #, c-format msgid "Invoking `%s'" msgstr "" -#: input.cc:90 ly2dvi.py:234 warn.cc:9 warn.cc:17 -msgid "error: " -msgstr "errore: " - -#: ly2dvi.py:234 +#: ly2dvi.py:263 #, c-format msgid "command exited with value %d" msgstr "" -#: ly2dvi.py:236 +#: ly2dvi.py:265 msgid "(ignored)" msgstr "" -#: ly2dvi.py:277 +#: ly2dvi.py:301 +#, fuzzy, c-format +msgid "no such setting: %s" +msgstr "% strumento:" + +#: ly2dvi.py:309 #, c-format msgid "Analyzing `%s'" msgstr "" -#: ly2dvi.py:539 scores.cc:44 +#: ly2dvi.py:353 +#, c-format +msgid "no lilypond output found for %s" +msgstr "" + +#: ly2dvi.py:395 +#, fuzzy, c-format +msgid "invalid value: %s" +msgstr "carattere illegale: `%c'" + +#: ly2dvi.py:602 scores.cc:44 #, fuzzy, c-format msgid "dependencies output to %s..." msgstr "L'output stampato è inviato a %s..." -#: ly2dvi.py:540 -#, c-format -msgid "%s file left in `%s'" -msgstr "" +#: ly2dvi.py:603 +#, fuzzy, c-format +msgid "%s output to %s..." +msgstr "L'output MIDI è inviato a %s..." #: data-file.cc:54 msgid "EOF in a string" @@ -232,12 +251,12 @@ msgstr "" msgid "can't find default font: `%s'" msgstr "non trovo il file: `%s'" -#: all-font-metrics.cc:172 includable-lexer.cc:50 scores.cc:137 +#: all-font-metrics.cc:172 includable-lexer.cc:51 scores.cc:137 #, fuzzy, c-format msgid "(search path: `%s')" msgstr "(Il path di caricamento è `%s'" -#: all-font-metrics.cc:173 parser.yy:1663 +#: all-font-metrics.cc:173 parser.yy:1681 msgid "Giving up" msgstr "" @@ -316,7 +335,7 @@ msgstr "" msgid "invalid inversion pitch: not part of chord: %s" msgstr "" -#: chord-tremolo-engraver.cc:141 +#: chord-tremolo-engraver.cc:141 percent-repeat-engraver.cc:162 #, fuzzy msgid "unterminated chord tremolo" msgstr "beam non terminato" @@ -325,7 +344,7 @@ msgstr "beam non terminato" msgid "no one to print a tremolos" msgstr "" -#: collision.cc:116 +#: collision.cc:118 #, fuzzy msgid "Too many clashing notecolumns. Ignoring them." msgstr "Troppe collisioni tra colonne di note. Le ignoro." @@ -359,7 +378,7 @@ msgstr "crescendo non terminato" msgid "already have a decrescendo" msgstr "crescendo non terminato" -#: dynamic-engraver.cc:307 +#: dynamic-engraver.cc:318 #, fuzzy msgid "unterminated (de)crescendo" msgstr "crescendo non terminato" @@ -376,7 +395,7 @@ msgstr "" msgid "no one to print a repeat brace" msgstr "" -#: font-interface.cc:220 +#: font-interface.cc:237 msgid "couldn't find any font satisfying " msgstr "" @@ -411,7 +430,7 @@ msgstr "beam non terminato" msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "" -#: includable-lexer.cc:48 lily-guile.cc:139 midi-score-parser.cc:24 +#: includable-lexer.cc:49 lily-guile.cc:139 midi-score-parser.cc:24 #: scores.cc:136 scores.cc:142 #, c-format msgid "can't find file: `%s'" @@ -448,104 +467,98 @@ msgstr "" msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "EXT" msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "use output format EXT (scm, ps, tex or as)" msgstr "" -#: main.cc:110 +#: main.cc:106 msgid "FIELD" msgstr "" -#: main.cc:110 +#: main.cc:106 msgid "write header field to BASENAME.FIELD" msgstr "" -#: main.cc:111 main.cc:114 +#: main.cc:107 main.cc:110 msgid "DIR" msgstr "" -#: main.cc:111 +#: main.cc:107 #, fuzzy msgid "add DIR to search path" msgstr " -I, --include=DIR aggiunge DIR ai path di ricerca\n" -#: main.cc:98 main.cc:112 +#: main.cc:98 main.cc:108 msgid "FILE" msgstr "" -#: main.cc:112 +#: main.cc:108 #, fuzzy msgid "use FILE as init file" msgstr " -i, --init=NOMEFILE usa NOMEFILE come file iniziale\n" -#: main.cc:114 +#: main.cc:110 msgid "prepend DIR to dependencies" msgstr "" -#: main.cc:115 +#: main.cc:111 #, fuzzy msgid "produce MIDI output only" msgstr " -M, --no-paper produce solo output midi\n" -#: main.cc:116 +#: main.cc:112 msgid "NAME" msgstr "" -#: main.cc:116 +#: main.cc:112 msgid "write output to NAME" msgstr "" -#: main.cc:117 +#: main.cc:113 #, fuzzy msgid "inhibit file output naming and exporting" msgstr "" " -s, --safe inibisce la rinomina dei file di output e " "l'esportazione di macro di TeX\n" -#: main.cc:103 main.cc:118 -#, fuzzy -msgid "don't timestamp the output" -msgstr "" -" -T, --no-timestamps non inserisce marcatori temporali nell'output\n" - -#: main.cc:120 -msgid "verbose" +#: main.cc:117 +msgid "EXPR" msgstr "" -#: main.cc:122 -msgid "write midi ouput in formatted ascii" +#: main.cc:117 +msgid "evalute EXPR as Scheme after .scm init is read" msgstr "" #. #. No version number or newline here. It confuses help2man #. -#: main.cc:139 +#: main.cc:134 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Uso: %s [OPZIONE]... [FILE]..." -#: main.cc:141 +#: main.cc:136 #, fuzzy msgid "Typeset music and or play MIDI from FILE" msgstr "Stampa partitura oppure suona una song MIDI da FILE o " -#: main.cc:145 +#: main.cc:140 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:155 +#: main.cc:150 #, fuzzy msgid "This binary was compiled with the following options:" msgstr "GNU LilyPond è stata compilata con le seguenti impostazioni:" -#: main.cc:55 main.cc:182 +#: main.cc:55 main.cc:177 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -553,17 +566,17 @@ msgid "" "certain conditions. Invoke as `%s --warranty' for more information.\n" msgstr "" -#: main.cc:62 main.cc:189 main.cc:201 +#: main.cc:62 main.cc:184 main.cc:196 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s di" -#: main.cc:199 +#: main.cc:194 #, fuzzy msgid "GNU LilyPond -- The music typesetter" msgstr "GNU LilyPond -- Il tipografo musicale del progetto GNU" -#: main.cc:71 main.cc:207 +#: main.cc:71 main.cc:202 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" @@ -613,29 +626,37 @@ msgstr "indicazione altezza priva di senso" msgid "Transposition by %s makes accidental larger than two" msgstr "la trasposizine di %s rende le alterazioni più che doppie" -#: music.cc:222 +#: music.cc:224 msgid "ly_get_mus_property (): Not a Music" msgstr "" -#: music.cc:236 +#: music.cc:238 msgid "ly_set_mus_property (): Not a symbol" msgstr "" -#: music.cc:248 +#: music.cc:250 msgid "ly_set_mus_property (): not of type Music" msgstr "" +#: music.cc:264 +msgid "ly_make_music (): Not a string" +msgstr "" + +#: music.cc:284 +msgid "ly_music_name (): Not a music expression" +msgstr "" + #: music-output-def.cc:115 #, fuzzy, c-format msgid "can't find `%s' context" msgstr "non trovo `%s'" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:138 #, fuzzy, c-format msgid "Identifier name is a keyword: `%s'" msgstr "Il nome dell'identificatore è una parola chiave (`%s')" -#: my-lily-lexer.cc:157 +#: my-lily-lexer.cc:158 #, c-format msgid "error at EOF: %s" msgstr "errore alla fine del file: %s" @@ -644,7 +665,7 @@ msgstr "errore alla fine del file: %s" msgid "Parsing..." msgstr "Analisi..." -#: my-lily-parser.cc:55 +#: my-lily-parser.cc:57 #, fuzzy msgid "Braces don't match" msgstr "le bretelle no si accoppiano" @@ -659,11 +680,11 @@ msgstr "Cosa? Non msgid "paper output to %s..." msgstr "L'output stampato è inviato a %s..." -#: mudela-stream.cc:93 paper-outputter.cc:94 performance.cc:102 +#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:95 msgid ", at " msgstr ", a " -#: paper-outputter.cc:245 +#: paper-outputter.cc:232 #, fuzzy, c-format msgid "writing header field %s to %s..." msgstr "scrivo il file delle dipendenze: `%s'..." @@ -672,7 +693,7 @@ msgstr "scrivo il file delle dipendenze: `%s'..." msgid "Preprocessing elements..." msgstr "Pre-elaborazione..." -#: paper-score.cc:113 +#: paper-score.cc:114 #, fuzzy msgid "Outputting Score, defined at: " msgstr "emetto lo Score, definito a: " @@ -703,6 +724,15 @@ msgstr "" msgid "none of these in my family: `%s'" msgstr "" +#: percent-repeat-engraver.cc:108 +#, fuzzy +msgid "Don't know yet how to handle this percent repeat." +msgstr "non so manipolare tasti vuoti" + +#: percent-repeat-iterator.cc:53 +msgid "no one to print a percent" +msgstr "" + #: performance.cc:51 #, fuzzy msgid "Track ... " @@ -712,12 +742,12 @@ msgstr "traccia " msgid "Creator: " msgstr "Autore: " -#: performance.cc:116 +#: performance.cc:109 #, c-format msgid "from musical definition: %s" msgstr "della definizione musicale: %s" -#: performance.cc:171 +#: performance.cc:164 #, c-format msgid "MIDI output to %s..." msgstr "L'output MIDI è inviato a %s..." @@ -783,7 +813,7 @@ msgstr "ho trovato un errore, /*non sto elaborando lo spartito*/" msgid "elapsed time: %.2f seconds" msgstr "durata: %.2f secondi" -#: score-engraver.cc:177 +#: score-engraver.cc:183 #, fuzzy, c-format msgid "unbound spanner `%s'" msgstr "Spanner non legato `%s'" @@ -822,7 +852,9 @@ msgstr "Metto uno slur sulla pausa." msgid "unterminated slur" msgstr "slur non terminato" -#: slur-engraver.cc:142 +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start request? +#: slur-engraver.cc:144 #, fuzzy msgid "can't find start of slur" msgstr "non trovo le estremità di %s" @@ -861,21 +893,23 @@ msgstr "extender non terminato" msgid "can't find ascii character: %d" msgstr "non riesco a trovare il carattere `%s'" -#: tfm-reader.cc:105 +#: tfm-reader.cc:106 #, c-format -msgid "TFM header of `%s' has only %u word(s)" +msgid "TFM header of `%s' has only %u word (s)" msgstr "" -#: tfm-reader.cc:139 +#: tfm-reader.cc:140 #, c-format msgid "%s: TFM file has %u parameters, which is more than the %u I can handle" msgstr "" -#: tie-engraver.cc:211 tie-performer.cc:173 +#. How to shut up this warning, when no notes appeared because +#. they were suicided by Thread_devnull_engraver? +#: tie-engraver.cc:215 tie-performer.cc:173 msgid "No ties were created!" msgstr "" -#: tie-engraver.cc:230 +#: tie-engraver.cc:234 msgid "lonely tie" msgstr "" @@ -893,21 +927,21 @@ msgstr "controllo del battute fallito: %s" msgid "unknown translator: `%s'" msgstr "traduttore sconosciuto `%s'" -#: translator-def.cc:96 +#: translator-def.cc:99 msgid "Program has no such type" msgstr "" -#: translator-def.cc:102 +#: translator-def.cc:105 #, c-format msgid "Already contains: `%s'" msgstr "" -#: translator-def.cc:103 +#: translator-def.cc:106 #, fuzzy, c-format msgid "Not adding translator: `%s'" msgstr "traduttore sconosciuto `%s'" -#: translator-def.cc:215 +#: translator-def.cc:224 #, fuzzy, c-format msgid "can't find: `%s'" msgstr "non trovo `%s'" @@ -922,19 +956,19 @@ msgstr "non trovo e non posso creare '%s' chiamato '%s'" msgid "can't find or create: `%s'" msgstr "non trovo e non posso creare `%s'" -#: translator-group.cc:403 +#: translator-group.cc:414 #, c-format msgid "" "Can't find property type-check for `%s'. Perhaps you made a typing error?" msgstr "" -#: translator-group.cc:417 +#: translator-group.cc:428 #, c-format msgid "Type check for `%s' failed; value `%s' must be of type `%s'" msgstr "" #. programming_error? -#: translator-group.cc:436 +#: translator-group.cc:447 msgid "ly-get-trans-property: expecting a Translator_group argument" msgstr "" @@ -955,118 +989,189 @@ msgstr "" msgid "Oldest supported input version: %s" msgstr "" -#: parser.yy:471 +#: parser.yy:473 msgid "Wrong type for property value" msgstr "Tipo sbagliato per il valore di una proprietà" -#: parser.yy:666 +#: parser.yy:672 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:730 +#: parser.yy:736 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:735 +#: parser.yy:741 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:1211 +#: parser.yy:1236 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:1221 +#: parser.yy:1246 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1353 +#: parser.yy:1371 msgid "Expecting musical-pitch value" msgstr "" -#: parser.yy:1364 +#: parser.yy:1382 #, fuzzy msgid "Must have duration object" msgstr "indicazione durata priva di senso" -#: parser.yy:1373 parser.yy:1381 parser.yy:1661 +#: parser.yy:1391 parser.yy:1399 parser.yy:1679 #, fuzzy msgid "Have to be in Lyric mode for lyrics" msgstr "bisogna essere in Lyric mode per i testi" -#: parser.yy:1546 parser.yy:1575 +#: parser.yy:1564 parser.yy:1593 #, c-format msgid "not a duration: %d" msgstr "non è una durata: %d" -#: parser.yy:1584 +#: parser.yy:1602 #, fuzzy msgid "Have to be in Note mode for notes" msgstr "bisogna essere in Note mode per le note" -#: parser.yy:1680 +#: parser.yy:1698 #, fuzzy msgid "Have to be in Chord mode for chords" msgstr "bisogna essere in Chord mode per gli accordi" -#: parser.yy:1842 parser.yy:1860 +#: parser.yy:1860 parser.yy:1878 msgid "need integer number arg" msgstr "" -#: parser.yy:1846 +#: parser.yy:1864 msgid "Must be positive integer" msgstr "" -#: lexer.ll:165 +#: lexer.ll:166 msgid "EOF found inside a comment" msgstr "ho trovato un EOF in un commento" -#: lexer.ll:179 +#: lexer.ll:180 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:203 +#: lexer.ll:204 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "indentificatore non definito: `%s'" #. backup rule -#: lexer.ll:208 +#: lexer.ll:209 #, fuzzy msgid "Missing end quote" msgstr "apice finale mancante" #. backup rule -#: lexer.ll:230 lexer.ll:234 +#: lexer.ll:231 lexer.ll:235 msgid "white expected" msgstr "aspettavo uno spazio bianco" -#: lexer.ll:243 +#: lexer.ll:244 msgid "Can't evaluate Scheme in safe mode" msgstr "" -#: lexer.ll:335 +#: lexer.ll:336 msgid "Brace found at end of lyric. Did you forget a space?" msgstr "" -#: lexer.ll:439 +#: lexer.ll:440 #, fuzzy, c-format msgid "invalid character: `%c'" msgstr "carattere illegale: `%c'" -#: lexer.ll:520 +#: lexer.ll:521 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "stringa di escape sconosciuta: `\\%s'" -#: lexer.ll:602 +#: lexer.ll:603 #, fuzzy, c-format msgid "incorrect lilypond version: %s (%s, %s)" msgstr "versione di mudela errata: %s (%s, %s)" -#: lexer.ll:603 +#: lexer.ll:604 msgid "Consider converting the input with the convert-ly script" msgstr "" +#: lilypond-item.cc:161 +#, c-format +msgid "#32 in quarter: %d" +msgstr "#32 in un quarto: %d" + +#: lilypond-score.cc:108 +#, c-format +msgid "Lily output to %s..." +msgstr "Output di Lily in %s..." + +#: lilypond-score.cc:119 +#, fuzzy, c-format +msgid "track %d:" +msgstr "traccia " + +#: lilypond-score.cc:155 +msgid "Processing..." +msgstr "Elaboro..." + +#: lilypond-score.cc:164 +msgid "Creating voices..." +msgstr "Genero le voci..." + +#: lilypond-score.cc:168 +msgid "track " +msgstr "traccia " + +#: lilypond-score.cc:177 +msgid "NOT Filtering tempo..." +msgstr "NON filtro il tempo..." + +#: lilypond-score.cc:186 +msgid "NOT Quantifying columns..." +msgstr "NON quantifico le colonne..." + +#: lilypond-score.cc:190 +msgid "Quantifying columns..." +msgstr "Quantifico le colonne..." + +#: lilypond-score.cc:223 +msgid "Settling columns..." +msgstr "Sistemo le colonne..." + +#: lilypond-staff.cc:209 +msgid "% MIDI copyright:" +msgstr "" + +#: lilypond-staff.cc:210 +#, fuzzy +msgid "% MIDI instrument:" +msgstr "% strumento:" + +#: lilypond-stream.cc:37 +#, c-format +msgid "lily indent level: %d" +msgstr "livello di indentazione di lili: %d" + +#. Maybe better not to translate these? +#: lilypond-stream.cc:83 +msgid "% Creator: " +msgstr "% Autore: " + +#: lilypond-stream.cc:88 +msgid "% Automatically generated" +msgstr "% Generato automaticamente" + +#: lilypond-stream.cc:97 +#, c-format +msgid "% from input file: " +msgstr "% dal file di input: " + #: main.cc:93 #, fuzzy msgid "write exact durations, e.g.: a4*385/384" @@ -1120,6 +1225,12 @@ msgstr "" msgid "set smallest duration" msgstr "indicazione durata priva di senso" +#: main.cc:103 +#, fuzzy +msgid "don't timestamp the output" +msgstr "" +" -T, --no-timestamps non inserisce marcatori temporali nell'output\n" + #: main.cc:105 msgid "be verbose" msgstr "" @@ -1137,7 +1248,7 @@ msgstr "Uso: %s [OPZIONE... [FILE]" #: main.cc:116 #, fuzzy -msgid "Translate MIDI-file to mudela" +msgid "Translate MIDI-file to lilypond" msgstr "Traduce un file midi in mudela" #: main.cc:130 @@ -1218,77 +1329,6 @@ msgstr "mi spettavo una traccia MIDI" msgid "invalid track length" msgstr "lunghezza della traccia non valida" -#: mudela-item.cc:161 -#, c-format -msgid "#32 in quarter: %d" -msgstr "#32 in un quarto: %d" - -#: mudela-score.cc:108 -#, c-format -msgid "Lily output to %s..." -msgstr "Output di Lily in %s..." - -#: mudela-score.cc:119 -#, fuzzy, c-format -msgid "track %d:" -msgstr "traccia " - -#: mudela-score.cc:155 -msgid "Processing..." -msgstr "Elaboro..." - -#: mudela-score.cc:164 -msgid "Creating voices..." -msgstr "Genero le voci..." - -#: mudela-score.cc:168 -msgid "track " -msgstr "traccia " - -#: mudela-score.cc:177 -msgid "NOT Filtering tempo..." -msgstr "NON filtro il tempo..." - -#: mudela-score.cc:186 -msgid "NOT Quantifying columns..." -msgstr "NON quantifico le colonne..." - -#: mudela-score.cc:190 -msgid "Quantifying columns..." -msgstr "Quantifico le colonne..." - -#: mudela-score.cc:223 -msgid "Settling columns..." -msgstr "Sistemo le colonne..." - -#: mudela-staff.cc:209 -msgid "% MIDI copyright:" -msgstr "" - -#: mudela-staff.cc:210 -#, fuzzy -msgid "% MIDI instrument:" -msgstr "% strumento:" - -#: mudela-stream.cc:37 -#, c-format -msgid "lily indent level: %d" -msgstr "livello di indentazione di lili: %d" - -#. Maybe better not to translate these? -#: mudela-stream.cc:83 -msgid "% Creator: " -msgstr "% Autore: " - -#: mudela-stream.cc:88 -msgid "% Automatically generated" -msgstr "% Generato automaticamente" - -#: mudela-stream.cc:97 -#, c-format -msgid "% from input file: " -msgstr "% dal file di input: " - #, fuzzy #~ msgid "Dependency file left in `%s'" #~ msgstr "scrivo il file delle dipendenze: `%s'..." @@ -1346,10 +1386,6 @@ msgstr "% dal file di input: " #~ msgid "No key name, assuming `C'" #~ msgstr "Nessuna armatura di chiave: assumo Do'" -#, fuzzy -#~ msgid "Don't know how handle empty keys" -#~ msgstr "non so manipolare tasti vuoti" - #, fuzzy #~ msgid "out of tune:" #~ msgstr "stonato" diff --git a/po/ja.po b/po/ja.po index bc8ddbec49..cca31021b3 100644 --- a/po/ja.po +++ b/po/ja.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: lilypond 1.2.17\n" -"POT-Creation-Date: 2001-03-06 12:36+0100\n" +"POT-Creation-Date: 2001-03-21 16:06+0100\n" "PO-Revision-Date: 2000-03-29 20:50+0900\n" "Last-Translator: Daisuke Yamashita \n" "Language-Team: Japanese \n" @@ -13,117 +13,137 @@ msgstr "" "Content-Type: text/plain; charset=EUC-JP\n" "Content-Transfer-Encoding: 8bit\n" -#: ly2dvi.py:67 main.cc:95 main.cc:109 +#: ly2dvi.py:86 main.cc:95 main.cc:105 msgid "this help" msgstr "¤³¤Î¥Ø¥ë¥×" -#: ly2dvi.py:68 +#: ly2dvi.py:87 msgid "change global setting KEY to VAL" msgstr "" -#: ly2dvi.py:69 +#: ly2dvi.py:88 #, fuzzy msgid "generate PostScript output" msgstr "À©¸Â¤ò´ËÏÂ" -#: ly2dvi.py:70 +#: ly2dvi.py:89 msgid "keep all output, and name the directory ly2dvi.dir" msgstr "" -#: ly2dvi.py:71 +#: ly2dvi.py:90 msgid "don't run LilyPond" msgstr "" -#: ly2dvi.py:72 main.cc:104 main.cc:119 +#: ly2dvi.py:91 main.cc:115 +#, fuzzy +msgid "verbose" +msgstr "¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤·¤Þ¤¹" + +#: ly2dvi.py:92 main.cc:104 main.cc:114 msgid "print version number" msgstr "¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨" -#: ly2dvi.py:73 main.cc:106 main.cc:121 +#: ly2dvi.py:93 main.cc:106 main.cc:116 msgid "show warranty and copyright" msgstr "ÊݾڤÈÃøºî¸¢¤Ë¤Ä¤¤¤ÆÉ½¼¨¤¹¤ë" -#: ly2dvi.py:74 +#: ly2dvi.py:94 msgid "dump all final output into DIR" msgstr "" -#: ly2dvi.py:75 main.cc:113 +#: ly2dvi.py:95 main.cc:109 msgid "write Makefile dependencies for every input file" msgstr "Á´¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î Makefile °Í¸´Ø·¸¤ò½ñ¤­¹þ¤à" -#: ly2dvi.py:101 +#: data-file.cc:118 input.cc:85 ly2dvi.py:123 midi-parser.cc:100 warn.cc:23 +msgid "warning: " +msgstr "·Ù¹ð: " + +#: input.cc:90 ly2dvi.py:128 ly2dvi.py:263 warn.cc:9 warn.cc:17 +msgid "error: " +msgstr "¥¨¥é¡¼: " + +#: ly2dvi.py:130 #, fuzzy msgid "Exiting ... " msgstr "¹Ô ..." -#: ly2dvi.py:120 +#: ly2dvi.py:149 #, fuzzy, c-format -msgid "Reading `%s'" +msgid "Reading %s..." msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'" -#: ly2dvi.py:124 mapped-file-storage.cc:87 mudela-stream.cc:111 +#: lilypond-stream.cc:111 ly2dvi.py:153 mapped-file-storage.cc:87 #: paper-stream.cc:40 scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23 #, fuzzy, c-format msgid "can't open file: `%s'" msgstr "¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó: `%s'" -#: ly2dvi.py:187 +#: ly2dvi.py:216 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE" msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [¥Õ¥¡¥¤¥ë]" -#: ly2dvi.py:189 +#: ly2dvi.py:218 msgid "Generate .dvi with LaTeX for LilyPond" msgstr "" -#: ly2dvi.py:191 main.cc:119 main.cc:151 +#: ly2dvi.py:220 main.cc:119 main.cc:146 msgid "Options:" msgstr "¥ª¥×¥·¥ç¥ó:" -#: data-file.cc:118 input.cc:85 ly2dvi.py:195 midi-parser.cc:100 warn.cc:23 -msgid "warning: " -msgstr "·Ù¹ð: " - -#: ly2dvi.py:196 +#: ly2dvi.py:224 msgid "all output is written in the CURRENT directory" msgstr "" -#: ly2dvi.py:198 main.cc:123 main.cc:174 +#: ly2dvi.py:226 main.cc:123 main.cc:169 #, c-format msgid "Report bugs to %s" msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Ø" -#: ly2dvi.py:230 +#: ly2dvi.py:260 #, fuzzy, c-format msgid "Invoking `%s'" msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'" -#: input.cc:90 ly2dvi.py:234 warn.cc:9 warn.cc:17 -msgid "error: " -msgstr "¥¨¥é¡¼: " - -#: ly2dvi.py:234 +#: ly2dvi.py:263 #, c-format msgid "command exited with value %d" msgstr "" -#: ly2dvi.py:236 +#: ly2dvi.py:265 msgid "(ignored)" msgstr "" -#: ly2dvi.py:277 +#: ly2dvi.py:301 +#, fuzzy, c-format +msgid "no such setting: %s" +msgstr "¤½¤ÎÍͤʳڴï¤Ï¤¢¤ê¤Þ¤»¤ó: `%s'" + +#: ly2dvi.py:309 #, c-format msgid "Analyzing `%s'" msgstr "" -#: ly2dvi.py:539 scores.cc:44 +#: ly2dvi.py:353 +#, c-format +msgid "no lilypond output found for %s" +msgstr "" + +#: ly2dvi.py:395 +#, fuzzy, c-format +msgid "invalid value: %s" +msgstr "̵¸ú¤Êʸ»ú: `%c'" + +#: ly2dvi.py:602 scores.cc:44 #, fuzzy, c-format msgid "dependencies output to %s..." msgstr "%s ¤Ø paper ½ÐÎÏ..." -#: ly2dvi.py:540 -#, c-format -msgid "%s file left in `%s'" -msgstr "" +#: ly2dvi.py:603 +#, fuzzy, c-format +msgid "%s output to %s..." +msgstr "%s ¤Ø¤Î MIDI ½ÐÎÏ" #: data-file.cc:54 msgid "EOF in a string" @@ -229,12 +249,12 @@ msgstr " msgid "can't find default font: `%s'" msgstr "¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'" -#: all-font-metrics.cc:172 includable-lexer.cc:50 scores.cc:137 +#: all-font-metrics.cc:172 includable-lexer.cc:51 scores.cc:137 #, c-format msgid "(search path: `%s')" msgstr "(¸¡º÷¥Ñ¥¹: `%s')" -#: all-font-metrics.cc:173 parser.yy:1663 +#: all-font-metrics.cc:173 parser.yy:1681 msgid "Giving up" msgstr "Äü¤á¤Þ¤·¤¿" @@ -315,7 +335,7 @@ msgstr "̵ msgid "invalid inversion pitch: not part of chord: %s" msgstr "̵¸ú¤Êž²ó¥Ô¥Ã¥Á: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: chord-tremolo-engraver.cc:141 +#: chord-tremolo-engraver.cc:141 percent-repeat-engraver.cc:162 #, fuzzy msgid "unterminated chord tremolo" msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó" @@ -325,7 +345,7 @@ msgstr " msgid "no one to print a tremolos" msgstr "È¿Éüµ­¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó" -#: collision.cc:116 +#: collision.cc:118 msgid "Too many clashing notecolumns. Ignoring them." msgstr "Äà¤ê¹ç¤ï¤Ê¤¤²»É䤬¿¤¹¤®¤Þ¤¹¡£¤½¤ì¤é¤ò̵»ë¤·¤Þ¤¹¡£" @@ -357,7 +377,7 @@ msgstr " msgid "already have a decrescendo" msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹" -#: dynamic-engraver.cc:307 +#: dynamic-engraver.cc:318 #, fuzzy msgid "unterminated (de)crescendo" msgstr "½ªÎ»¤·¤Æ¤¤¤Ê¤¤¥¯¥ì¥Ã¥·¥§¥ó¥É" @@ -374,7 +394,7 @@ msgstr " msgid "no one to print a repeat brace" msgstr "È¿Éüµ­¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó" -#: font-interface.cc:220 +#: font-interface.cc:237 msgid "couldn't find any font satisfying " msgstr "" @@ -407,7 +427,7 @@ msgstr " msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "º¸Â¦¤Ë·Ò¤²¤ë¥Ï¥¤¥Õ¥ó¤¬¤¢¤ê¤Þ¤»¤ó¡£¥Ï¥¤¥Õ¥ó¤ÎÍ×µá¤ò̵»ë¤·¤Þ¤¹" -#: includable-lexer.cc:48 lily-guile.cc:139 midi-score-parser.cc:24 +#: includable-lexer.cc:49 lily-guile.cc:139 midi-score-parser.cc:24 #: scores.cc:136 scores.cc:142 #, fuzzy, c-format msgid "can't find file: `%s'" @@ -444,88 +464,83 @@ msgstr "" msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "EXT" msgstr "EXT" -#: main.cc:108 +#: main.cc:104 #, fuzzy msgid "use output format EXT (scm, ps, tex or as)" msgstr "½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È EXT ¤ò»È¤¦" -#: main.cc:110 +#: main.cc:106 #, fuzzy msgid "FIELD" msgstr "FILE" -#: main.cc:110 +#: main.cc:106 msgid "write header field to BASENAME.FIELD" msgstr "" -#: main.cc:111 main.cc:114 +#: main.cc:107 main.cc:110 msgid "DIR" msgstr "DIR" -#: main.cc:111 +#: main.cc:107 msgid "add DIR to search path" msgstr "DIR ¤ò¸¡º÷¥Ñ¥¹¤ËÄɲÃ" -#: main.cc:98 main.cc:112 +#: main.cc:98 main.cc:108 msgid "FILE" msgstr "FILE" -#: main.cc:112 +#: main.cc:108 msgid "use FILE as init file" msgstr "FILE ¤ò½é´ü²½¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍÑ" -#: main.cc:114 +#: main.cc:110 msgid "prepend DIR to dependencies" msgstr "" -#: main.cc:115 +#: main.cc:111 msgid "produce MIDI output only" msgstr "MIDI ½ÐÎϤÎÀ¸À®¤Î¤ß" -#: main.cc:116 +#: main.cc:112 #, fuzzy msgid "NAME" msgstr "BASENAME" -#: main.cc:116 +#: main.cc:112 #, fuzzy msgid "write output to NAME" msgstr "BASENAME[-x].³ÈÄ¥»Ò ¤Ø½ÐÎϤò½ñ¤­¹þ¤à" -#: main.cc:117 +#: main.cc:113 msgid "inhibit file output naming and exporting" msgstr "̾Á°ÉÕ¤±¤È¥¨¥¯¥¹¥Ý¡¼¥È¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë¤òÍÞÀ©¤¹¤ë" -#: main.cc:103 main.cc:118 -msgid "don't timestamp the output" -msgstr "½ÐÎϤ˥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¤Ä¤±¤Ê¤¤" - -#: main.cc:120 -#, fuzzy -msgid "verbose" -msgstr "¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤·¤Þ¤¹" +#: main.cc:117 +msgid "EXPR" +msgstr "" -#: main.cc:122 -msgid "write midi ouput in formatted ascii" +#: main.cc:117 +msgid "evalute EXPR as Scheme after .scm init is read" msgstr "" #. #. No version number or newline here. It confuses help2man #. -#: main.cc:139 +#: main.cc:134 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [¥Õ¥¡¥¤¥ë]..." -#: main.cc:141 +#: main.cc:136 msgid "Typeset music and or play MIDI from FILE" msgstr "¥Õ¥¡¥¤¥ë¤Î³Ú¶Ê¤òÁÈÈǤ·¤¿¤ê¡¢MIDI ±éÁÕ¤·¤¿¤ê¤¹¤ë" -#: main.cc:145 +#: main.cc:140 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" @@ -535,11 +550,11 @@ msgstr "" "Èþ¤·¤¤ÉèÌ̤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£LilyPond ¤Ï GNU " "¥×¥í¥¸¥§¥¯¥È¤Î°ìÉô¤Ç¤¹¡£\n" -#: main.cc:155 +#: main.cc:150 msgid "This binary was compiled with the following options:" msgstr "¤³¤Î¥Ð¥¤¥Ê¥ê¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤·¤¿" -#: main.cc:55 main.cc:182 +#: main.cc:55 main.cc:177 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -555,17 +570,17 @@ msgstr "" "¤³¤ì¤ò²þÊѤ·¤¿¤ê¡¢Ê£À½¤òÇÛÉÛ¤·¤¿¤ê¤¹¤ë»ö¤Ï´¿·Þ¤µ¤ì¤Þ¤¹¡£\n" "`--warranty' ¥ª¥×¥·¥ç¥óÉÕ¤­¤Çµ¯Æ°¤¹¤ë¤È¡¢¤è¤ê¾ÜºÙ¤Ê¾ðÊ󤬯À¤é¤ì¤Þ¤¹¡£\n" -#: main.cc:62 main.cc:189 main.cc:201 +#: main.cc:62 main.cc:184 main.cc:196 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s by" -#: main.cc:199 +#: main.cc:194 #, fuzzy msgid "GNU LilyPond -- The music typesetter" msgstr "GNU LilyPond -- The GNU Project music typesetter" -#: main.cc:71 main.cc:207 +#: main.cc:71 main.cc:202 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" @@ -630,29 +645,37 @@ msgstr " msgid "Transposition by %s makes accidental larger than two" msgstr "%s ¤ÎÊÑÄ´¤Ë¤è¤Ã¤Æ¡¢Æó¤Ä¤òͤ¨¤ëÇÉÀ¸²»¤¬ºî¤é¤ì¤Þ¤·¤¿" -#: music.cc:222 +#: music.cc:224 msgid "ly_get_mus_property (): Not a Music" msgstr "" -#: music.cc:236 +#: music.cc:238 msgid "ly_set_mus_property (): Not a symbol" msgstr "" -#: music.cc:248 +#: music.cc:250 msgid "ly_set_mus_property (): not of type Music" msgstr "" +#: music.cc:264 +msgid "ly_make_music (): Not a string" +msgstr "" + +#: music.cc:284 +msgid "ly_music_name (): Not a music expression" +msgstr "" + #: music-output-def.cc:115 #, fuzzy, c-format msgid "can't find `%s' context" msgstr "`%s' ¥³¥ó¥Æ¥­¥¹¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:138 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "¼±ÊÌ»Ò̾¤Ï¥­¡¼¥ï¡¼¥É¤Ç¤¹: `%s'" -#: my-lily-lexer.cc:157 +#: my-lily-lexer.cc:158 #, c-format msgid "error at EOF: %s" msgstr "EOF ¤Î¤È¤³¤í¤Ç¥¨¥é¡¼: %s" @@ -661,7 +684,7 @@ msgstr "EOF msgid "Parsing..." msgstr "¹½Ê¸²òÀÏÃæ..." -#: my-lily-parser.cc:55 +#: my-lily-parser.cc:57 msgid "Braces don't match" msgstr "¥Ö¥ì¡¼¥¹¤¬°ìÃפ·¤Þ¤»¤ó" @@ -675,11 +698,11 @@ msgstr " msgid "paper output to %s..." msgstr "%s ¤Ø paper ½ÐÎÏ..." -#: mudela-stream.cc:93 paper-outputter.cc:94 performance.cc:102 +#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:95 msgid ", at " msgstr ", at " -#: paper-outputter.cc:245 +#: paper-outputter.cc:232 #, fuzzy, c-format msgid "writing header field %s to %s..." msgstr "°Í¸´Ø·¸¥Õ¥¡¥¤¥ë¤Î½ñ¤­¹þ¤ß: `%s'..." @@ -688,7 +711,7 @@ msgstr " msgid "Preprocessing elements..." msgstr "Í×ÁǤòÁ°½èÍýÃæ..." -#: paper-score.cc:113 +#: paper-score.cc:114 msgid "Outputting Score, defined at: " msgstr "ÉèÌ̤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤³¤ÇÄêµÁ: " @@ -717,6 +740,16 @@ msgstr " msgid "none of these in my family: `%s'" msgstr "¥Õ¥¡¥ß¥ê¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó" +#: percent-repeat-engraver.cc:108 +#, fuzzy +msgid "Don't know yet how to handle this percent repeat." +msgstr "¶õ¤Î¥­¡¼¤Î°·¤¤Êý¤¬È½¤ê¤Þ¤»¤ó" + +#: percent-repeat-iterator.cc:53 +#, fuzzy +msgid "no one to print a percent" +msgstr "È¿Éüµ­¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó" + #: performance.cc:51 msgid "Track ... " msgstr "¥È¥é¥Ã¥¯ ..." @@ -725,12 +758,12 @@ msgstr " msgid "Creator: " msgstr "ºî¶Ê¼Ô: " -#: performance.cc:116 +#: performance.cc:109 #, c-format msgid "from musical definition: %s" msgstr "²»³ÚŪÄêµÁ¤è¤ê: %s" -#: performance.cc:171 +#: performance.cc:164 #, c-format msgid "MIDI output to %s..." msgstr "%s ¤Ø¤Î MIDI ½ÐÎÏ" @@ -793,7 +826,7 @@ msgstr " msgid "elapsed time: %.2f seconds" msgstr "·Ð²á»þ´Ö: %.2f ÉÃ" -#: score-engraver.cc:177 +#: score-engraver.cc:183 #, c-format msgid "unbound spanner `%s'" msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥¹¥Ñ¥Ê `%s'" @@ -830,7 +863,9 @@ msgstr " msgid "unterminated slur" msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥¹¥é¡¼" -#: slur-engraver.cc:142 +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start request? +#: slur-engraver.cc:144 #, fuzzy msgid "can't find start of slur" msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" @@ -868,21 +903,23 @@ msgstr " msgid "can't find ascii character: %d" msgstr "ascii ʸ»ú¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%d'" -#: tfm-reader.cc:105 -#, c-format -msgid "TFM header of `%s' has only %u word(s)" +#: tfm-reader.cc:106 +#, fuzzy, c-format +msgid "TFM header of `%s' has only %u word (s)" msgstr "`%s' ¤Î TFM ¥Ø¥Ã¥À¤Ë %u ¸ì¤·¤«¤¢¤ê¤Þ¤»¤ó" -#: tfm-reader.cc:139 +#: tfm-reader.cc:140 #, c-format msgid "%s: TFM file has %u parameters, which is more than the %u I can handle" msgstr "%s: TFM ¥Õ¥¡¥¤¥ë¤Ï %u ¸Ä¤Î¥Ñ¥é¥á¥¿¤¬¤¢¤ê¤Þ¤¹¤¬¡¢%u °Ê¾å¤Ï°·¤¨¤Þ¤»¤ó" -#: tie-engraver.cc:211 tie-performer.cc:173 +#. How to shut up this warning, when no notes appeared because +#. they were suicided by Thread_devnull_engraver? +#: tie-engraver.cc:215 tie-performer.cc:173 msgid "No ties were created!" msgstr "ºî¤é¤ì¤¿¥¿¥¤¤¬¤¢¤ê¤Þ¤»¤ó!" -#: tie-engraver.cc:230 +#: tie-engraver.cc:234 msgid "lonely tie" msgstr "°ì¤Ä¤À¤±¤Î¥¿¥¤" @@ -900,21 +937,21 @@ msgstr " msgid "unknown translator: `%s'" msgstr "Ƚ¤é¤Ê¤¤¥È¥é¥ó¥¹¥ì¡¼¥¿: `%s'" -#: translator-def.cc:96 +#: translator-def.cc:99 msgid "Program has no such type" msgstr "¥×¥í¥°¥é¥à¤Ë¤Ï¤½¤ÎÍͤʥ¿¥¤¥×¤¬¤¢¤ê¤Þ¤»¤ó" -#: translator-def.cc:102 +#: translator-def.cc:105 #, c-format msgid "Already contains: `%s'" msgstr "´û¤Ë´Þ¤ó¤Ç¤¤¤Þ¤¹: `%s'" -#: translator-def.cc:103 +#: translator-def.cc:106 #, fuzzy, c-format msgid "Not adding translator: `%s'" msgstr "Ƚ¤é¤Ê¤¤¥È¥é¥ó¥¹¥ì¡¼¥¿: `%s'" -#: translator-def.cc:215 +#: translator-def.cc:224 #, fuzzy, c-format msgid "can't find: `%s'" msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'" @@ -929,19 +966,19 @@ msgstr "`%2$s' msgid "can't find or create: `%s'" msgstr "¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó: `%s'" -#: translator-group.cc:403 +#: translator-group.cc:414 #, c-format msgid "" "Can't find property type-check for `%s'. Perhaps you made a typing error?" msgstr "" -#: translator-group.cc:417 +#: translator-group.cc:428 #, c-format msgid "Type check for `%s' failed; value `%s' must be of type `%s'" msgstr "" #. programming_error? -#: translator-group.cc:436 +#: translator-group.cc:447 msgid "ly-get-trans-property: expecting a Translator_group argument" msgstr "" @@ -962,114 +999,184 @@ msgstr "" msgid "Oldest supported input version: %s" msgstr "°ìÈָŤ¤ÆþÎϲÄǽ¥Ð¡¼¥¸¥ç¥ó: %s" -#: parser.yy:471 +#: parser.yy:473 msgid "Wrong type for property value" msgstr "°À­ÃͤؤΥ¿¥¤¥×¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: parser.yy:666 +#: parser.yy:672 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "·«¤êÊÖ¤·¤è¤ê¤âÁªÂò»è¤¬Â¿¤¤¡£Ä¶²áʬ¤ò¼Î¤Æ¤Þ¤¹¡£" -#: parser.yy:730 +#: parser.yy:736 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:735 +#: parser.yy:741 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:1211 +#: parser.yy:1236 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:1221 +#: parser.yy:1246 msgid "Can't specify direction for this request" msgstr "¤³¤ÎÍ×µá¤ËÂФ¹¤ëÊý¸þ¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó" -#: parser.yy:1353 +#: parser.yy:1371 msgid "Expecting musical-pitch value" msgstr "" -#: parser.yy:1364 +#: parser.yy:1382 #, fuzzy msgid "Must have duration object" msgstr "²»Ä¹¤òºÇ¾®¤ËÀßÄꤷ¤Þ¤¹" -#: parser.yy:1373 parser.yy:1381 parser.yy:1661 +#: parser.yy:1391 parser.yy:1399 parser.yy:1679 msgid "Have to be in Lyric mode for lyrics" msgstr "²Î»ì¤Ï Lyric ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤" -#: parser.yy:1546 parser.yy:1575 +#: parser.yy:1564 parser.yy:1593 #, c-format msgid "not a duration: %d" msgstr "²»Ä¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %d" -#: parser.yy:1584 +#: parser.yy:1602 msgid "Have to be in Note mode for notes" msgstr "²»Éä¤Ï Note ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤" -#: parser.yy:1680 +#: parser.yy:1698 msgid "Have to be in Chord mode for chords" msgstr "¥³¡¼¥É¤Ï Chord ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤" -#: parser.yy:1842 parser.yy:1860 +#: parser.yy:1860 parser.yy:1878 msgid "need integer number arg" msgstr "" -#: parser.yy:1846 +#: parser.yy:1864 msgid "Must be positive integer" msgstr "" -#: lexer.ll:165 +#: lexer.ll:166 msgid "EOF found inside a comment" msgstr "¥³¥á¥ó¥ÈÆâ¤Ë EOF ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿" -#: lexer.ll:179 +#: lexer.ll:180 msgid "\\maininput disallowed outside init files" msgstr "½é´ü²½¥Õ¥¡¥¤¥ë¤Î³°¤Ç¤Ï \\maininput ¤òµ­½Ò¤Ç¤­¤Þ¤»¤ó" -#: lexer.ll:203 +#: lexer.ll:204 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "̤ÄêµÁ¤Î¼±ÊÌ»Ò: `%s'" #. backup rule -#: lexer.ll:208 +#: lexer.ll:209 msgid "Missing end quote" msgstr "½ªÎ»¥¯¥ª¡¼¥È¤¬¤¢¤ê¤Þ¤»¤ó" #. backup rule -#: lexer.ll:230 lexer.ll:234 +#: lexer.ll:231 lexer.ll:235 msgid "white expected" msgstr "¶õÇò¤¬É¬ÍפǤ¹" -#: lexer.ll:243 +#: lexer.ll:244 msgid "Can't evaluate Scheme in safe mode" msgstr "°ÂÁ´¥â¡¼¥É¤Ç¤Ï Scheme ¤Îɾ²Á¤ò¤Ç¤­¤Þ¤»¤ó" -#: lexer.ll:335 +#: lexer.ll:336 msgid "Brace found at end of lyric. Did you forget a space?" msgstr "" -#: lexer.ll:439 +#: lexer.ll:440 #, c-format msgid "invalid character: `%c'" msgstr "̵¸ú¤Êʸ»ú: `%c'" -#: lexer.ll:520 +#: lexer.ll:521 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×ʸ»úÎó: `\\%s'" -#: lexer.ll:602 +#: lexer.ll:603 #, fuzzy, c-format msgid "incorrect lilypond version: %s (%s, %s)" msgstr "´Ö°ã¤Ã¤¿ mudela ¥Ð¡¼¥¸¥ç¥ó: %s (%s, %s)" -#: lexer.ll:603 +#: lexer.ll:604 msgid "Consider converting the input with the convert-ly script" msgstr "" +#: lilypond-item.cc:161 +#, c-format +msgid "#32 in quarter: %d" +msgstr "»Íʬ¤ÎÃæ¤Ë #32: %d" + +#: lilypond-score.cc:108 +#, c-format +msgid "Lily output to %s..." +msgstr "Lily ¤Ï %s ¤Ë½ÐÎϤ·¤Þ¤¹..." + +#: lilypond-score.cc:119 +#, c-format +msgid "track %d:" +msgstr "¥È¥é¥Ã¥¯ %d:" + +#: lilypond-score.cc:155 +msgid "Processing..." +msgstr "½èÍýÃæ..." + +#: lilypond-score.cc:164 +msgid "Creating voices..." +msgstr "²»À¼¤òºîÀ®Ãæ..." + +#: lilypond-score.cc:168 +msgid "track " +msgstr "¥È¥é¥Ã¥¯ " + +#: lilypond-score.cc:177 +msgid "NOT Filtering tempo..." +msgstr "¥Æ¥ó¥Ý¤Î¥Õ¥£¥ë¥¿¤ò¤·¤Þ¤»¤ó..." + +#: lilypond-score.cc:186 +msgid "NOT Quantifying columns..." +msgstr "¥«¥é¥à¤ÎŤµ¤òÎ̤ê¤Þ¤»¤ó..." + +#: lilypond-score.cc:190 +msgid "Quantifying columns..." +msgstr "¥«¥é¥à¤ÎŤµ¤òÎ̤ê¤Þ¤¹..." + +#: lilypond-score.cc:223 +msgid "Settling columns..." +msgstr "¥«¥é¥à¤ò·èÄꤷ¤Þ¤¹..." + +#: lilypond-staff.cc:209 +msgid "% MIDI copyright:" +msgstr "% MIDI copyright:" + +#: lilypond-staff.cc:210 +msgid "% MIDI instrument:" +msgstr "% MIDI instrument:" + +#: lilypond-stream.cc:37 +#, c-format +msgid "lily indent level: %d" +msgstr "lily indent level: %d" + +#. Maybe better not to translate these? +#: lilypond-stream.cc:83 +msgid "% Creator: " +msgstr "%s Creator: " + +#: lilypond-stream.cc:88 +msgid "% Automatically generated" +msgstr "% Automatically generated" + +#: lilypond-stream.cc:97 +#, c-format +msgid "% from input file: " +msgstr "% from input file: " + #: main.cc:93 msgid "write exact durations, e.g.: a4*385/384" msgstr "Àµ³Î¤Ê²»Ä¹¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£Îã: a4*385/384" @@ -1115,6 +1222,10 @@ msgstr "DUR" msgid "set smallest duration" msgstr "²»Ä¹¤òºÇ¾®¤ËÀßÄꤷ¤Þ¤¹" +#: main.cc:103 +msgid "don't timestamp the output" +msgstr "½ÐÎϤ˥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¤Ä¤±¤Ê¤¤" + #: main.cc:105 msgid "be verbose" msgstr "¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤·¤Þ¤¹" @@ -1129,7 +1240,8 @@ msgid "Usage: %s [OPTION]... [FILE]" msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [¥Õ¥¡¥¤¥ë]" #: main.cc:116 -msgid "Translate MIDI-file to mudela" +#, fuzzy +msgid "Translate MIDI-file to lilypond" msgstr "MIDI ¥Õ¥¡¥¤¥ë¤ò mudela ¤ËÊÑ´¹¤·¤Þ¤¹" #: main.cc:130 @@ -1207,76 +1319,6 @@ msgstr "MIDI msgid "invalid track length" msgstr "̵¸ú¤Ê¥È¥é¥Ã¥¯Ä¹¤Ç¤¹" -#: mudela-item.cc:161 -#, c-format -msgid "#32 in quarter: %d" -msgstr "»Íʬ¤ÎÃæ¤Ë #32: %d" - -#: mudela-score.cc:108 -#, c-format -msgid "Lily output to %s..." -msgstr "Lily ¤Ï %s ¤Ë½ÐÎϤ·¤Þ¤¹..." - -#: mudela-score.cc:119 -#, c-format -msgid "track %d:" -msgstr "¥È¥é¥Ã¥¯ %d:" - -#: mudela-score.cc:155 -msgid "Processing..." -msgstr "½èÍýÃæ..." - -#: mudela-score.cc:164 -msgid "Creating voices..." -msgstr "²»À¼¤òºîÀ®Ãæ..." - -#: mudela-score.cc:168 -msgid "track " -msgstr "¥È¥é¥Ã¥¯ " - -#: mudela-score.cc:177 -msgid "NOT Filtering tempo..." -msgstr "¥Æ¥ó¥Ý¤Î¥Õ¥£¥ë¥¿¤ò¤·¤Þ¤»¤ó..." - -#: mudela-score.cc:186 -msgid "NOT Quantifying columns..." -msgstr "¥«¥é¥à¤ÎŤµ¤òÎ̤ê¤Þ¤»¤ó..." - -#: mudela-score.cc:190 -msgid "Quantifying columns..." -msgstr "¥«¥é¥à¤ÎŤµ¤òÎ̤ê¤Þ¤¹..." - -#: mudela-score.cc:223 -msgid "Settling columns..." -msgstr "¥«¥é¥à¤ò·èÄꤷ¤Þ¤¹..." - -#: mudela-staff.cc:209 -msgid "% MIDI copyright:" -msgstr "% MIDI copyright:" - -#: mudela-staff.cc:210 -msgid "% MIDI instrument:" -msgstr "% MIDI instrument:" - -#: mudela-stream.cc:37 -#, c-format -msgid "lily indent level: %d" -msgstr "lily indent level: %d" - -#. Maybe better not to translate these? -#: mudela-stream.cc:83 -msgid "% Creator: " -msgstr "%s Creator: " - -#: mudela-stream.cc:88 -msgid "% Automatically generated" -msgstr "% Automatically generated" - -#: mudela-stream.cc:97 -#, c-format -msgid "% from input file: " -msgstr "% from input file: " - #, fuzzy #~ msgid "Dependency file left in `%s'" #~ msgstr "°Í¸´Ø·¸¥Õ¥¡¥¤¥ë¤Î½ñ¤­¹þ¤ß: `%s'..." @@ -1421,9 +1463,6 @@ msgstr "% from input file: " #~ msgid "No key name, assuming `C'" #~ msgstr "¥­¡¼Ì¾¤¬¤¢¤ê¤Þ¤»¤ó¡¢`C' ¤ò»î¤ß¤Þ¤¹" -#~ msgid "Don't know how handle empty keys" -#~ msgstr "¶õ¤Î¥­¡¼¤Î°·¤¤Êý¤¬È½¤ê¤Þ¤»¤ó" - #~ msgid "Don't have that many octaves (%s)" #~ msgstr "¤½¤ó¤Ê¤ËÂô»³¤Î¥ª¥¯¥¿¡¼¥Ö (%s) ¤ò»È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤" diff --git a/po/lilypond.pot b/po/lilypond.pot index 52dd368a10..ac3781601d 100644 --- a/po/lilypond.pot +++ b/po/lilypond.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-03-16 09:44+0100\n" +"POT-Creation-Date: 2001-03-21 16:06+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -14,129 +14,133 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" -#: ly2dvi.py:74 main.cc:95 main.cc:109 +#: ly2dvi.py:86 main.cc:95 main.cc:105 msgid "this help" msgstr "" -#: ly2dvi.py:75 +#: ly2dvi.py:87 msgid "change global setting KEY to VAL" msgstr "" -#: ly2dvi.py:76 +#: ly2dvi.py:88 msgid "generate PostScript output" msgstr "" -#: ly2dvi.py:77 +#: ly2dvi.py:89 msgid "keep all output, and name the directory ly2dvi.dir" msgstr "" -#: ly2dvi.py:78 +#: ly2dvi.py:90 msgid "don't run LilyPond" msgstr "" -#: ly2dvi.py:79 main.cc:104 main.cc:119 +#: ly2dvi.py:91 main.cc:115 +msgid "verbose" +msgstr "" + +#: ly2dvi.py:92 main.cc:104 main.cc:114 msgid "print version number" msgstr "" -#: ly2dvi.py:80 main.cc:106 main.cc:121 +#: ly2dvi.py:93 main.cc:106 main.cc:116 msgid "show warranty and copyright" msgstr "" -#: ly2dvi.py:81 +#: ly2dvi.py:94 msgid "dump all final output into DIR" msgstr "" -#: ly2dvi.py:82 main.cc:113 +#: ly2dvi.py:95 main.cc:109 msgid "write Makefile dependencies for every input file" msgstr "" -#: data-file.cc:118 input.cc:85 ly2dvi.py:108 midi-parser.cc:100 warn.cc:23 +#: data-file.cc:118 input.cc:85 ly2dvi.py:123 midi-parser.cc:100 warn.cc:23 msgid "warning: " msgstr "" -#: input.cc:90 ly2dvi.py:113 ly2dvi.py:247 warn.cc:9 warn.cc:17 +#: input.cc:90 ly2dvi.py:128 ly2dvi.py:263 warn.cc:9 warn.cc:17 msgid "error: " msgstr "" -#: ly2dvi.py:115 +#: ly2dvi.py:130 msgid "Exiting ... " msgstr "" -#: ly2dvi.py:134 +#: ly2dvi.py:149 #, c-format -msgid "Reading `%s'" +msgid "Reading %s..." msgstr "" -#: ly2dvi.py:138 mapped-file-storage.cc:87 mudela-stream.cc:111 +#: lilypond-stream.cc:111 ly2dvi.py:153 mapped-file-storage.cc:87 #: paper-stream.cc:40 scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23 #, c-format msgid "can't open file: `%s'" msgstr "" -#: ly2dvi.py:201 +#: ly2dvi.py:216 #, c-format msgid "Usage: %s [OPTION]... FILE" msgstr "" -#: ly2dvi.py:203 +#: ly2dvi.py:218 msgid "Generate .dvi with LaTeX for LilyPond" msgstr "" -#: ly2dvi.py:205 main.cc:119 main.cc:151 +#: ly2dvi.py:220 main.cc:119 main.cc:146 msgid "Options:" msgstr "" -#: ly2dvi.py:209 +#: ly2dvi.py:224 msgid "all output is written in the CURRENT directory" msgstr "" -#: ly2dvi.py:211 main.cc:123 main.cc:174 +#: ly2dvi.py:226 main.cc:123 main.cc:169 #, c-format msgid "Report bugs to %s" msgstr "" -#: ly2dvi.py:243 +#: ly2dvi.py:260 #, c-format msgid "Invoking `%s'" msgstr "" -#: ly2dvi.py:247 +#: ly2dvi.py:263 #, c-format msgid "command exited with value %d" msgstr "" -#: ly2dvi.py:249 +#: ly2dvi.py:265 msgid "(ignored)" msgstr "" -#: ly2dvi.py:278 -#, c-format -msgid "invalid value: %s" -msgstr "" - -#: ly2dvi.py:284 +#: ly2dvi.py:301 #, c-format msgid "no such setting: %s" msgstr "" -#: ly2dvi.py:292 +#: ly2dvi.py:309 #, c-format msgid "Analyzing `%s'" msgstr "" -#: ly2dvi.py:336 +#: ly2dvi.py:353 #, c-format msgid "no lilypond output found for %s" msgstr "" -#: ly2dvi.py:568 scores.cc:44 +#: ly2dvi.py:395 +#, c-format +msgid "invalid value: %s" +msgstr "" + +#: ly2dvi.py:602 scores.cc:44 #, c-format msgid "dependencies output to %s..." msgstr "" -#: ly2dvi.py:569 +#: ly2dvi.py:603 #, c-format -msgid "%s file left in `%s'" +msgid "%s output to %s..." msgstr "" #: data-file.cc:54 @@ -241,12 +245,12 @@ msgstr "" msgid "can't find default font: `%s'" msgstr "" -#: all-font-metrics.cc:172 includable-lexer.cc:50 scores.cc:137 +#: all-font-metrics.cc:172 includable-lexer.cc:51 scores.cc:137 #, c-format msgid "(search path: `%s')" msgstr "" -#: all-font-metrics.cc:173 parser.yy:1663 +#: all-font-metrics.cc:173 parser.yy:1681 msgid "Giving up" msgstr "" @@ -357,7 +361,7 @@ msgstr "" msgid "already have a decrescendo" msgstr "" -#: dynamic-engraver.cc:315 +#: dynamic-engraver.cc:318 msgid "unterminated (de)crescendo" msgstr "" @@ -373,7 +377,7 @@ msgstr "" msgid "no one to print a repeat brace" msgstr "" -#: font-interface.cc:220 +#: font-interface.cc:237 msgid "couldn't find any font satisfying " msgstr "" @@ -405,7 +409,7 @@ msgstr "" msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "" -#: includable-lexer.cc:48 lily-guile.cc:139 midi-score-parser.cc:24 +#: includable-lexer.cc:49 lily-guile.cc:139 midi-score-parser.cc:24 #: scores.cc:136 scores.cc:142 #, c-format msgid "can't find file: `%s'" @@ -442,94 +446,90 @@ msgstr "" msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "EXT" msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "use output format EXT (scm, ps, tex or as)" msgstr "" -#: main.cc:110 +#: main.cc:106 msgid "FIELD" msgstr "" -#: main.cc:110 +#: main.cc:106 msgid "write header field to BASENAME.FIELD" msgstr "" -#: main.cc:111 main.cc:114 +#: main.cc:107 main.cc:110 msgid "DIR" msgstr "" -#: main.cc:111 +#: main.cc:107 msgid "add DIR to search path" msgstr "" -#: main.cc:98 main.cc:112 +#: main.cc:98 main.cc:108 msgid "FILE" msgstr "" -#: main.cc:112 +#: main.cc:108 msgid "use FILE as init file" msgstr "" -#: main.cc:114 +#: main.cc:110 msgid "prepend DIR to dependencies" msgstr "" -#: main.cc:115 +#: main.cc:111 msgid "produce MIDI output only" msgstr "" -#: main.cc:116 +#: main.cc:112 msgid "NAME" msgstr "" -#: main.cc:116 +#: main.cc:112 msgid "write output to NAME" msgstr "" -#: main.cc:117 +#: main.cc:113 msgid "inhibit file output naming and exporting" msgstr "" -#: main.cc:103 main.cc:118 -msgid "don't timestamp the output" -msgstr "" - -#: main.cc:120 -msgid "verbose" +#: main.cc:117 +msgid "EXPR" msgstr "" -#: main.cc:122 -msgid "write midi ouput in formatted ascii" +#: main.cc:117 +msgid "evalute EXPR as Scheme after .scm init is read" msgstr "" #. #. No version number or newline here. It confuses help2man #. -#: main.cc:139 +#: main.cc:134 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "" -#: main.cc:141 +#: main.cc:136 msgid "Typeset music and or play MIDI from FILE" msgstr "" -#: main.cc:145 +#: main.cc:140 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:155 +#: main.cc:150 msgid "This binary was compiled with the following options:" msgstr "" -#: main.cc:55 main.cc:182 +#: main.cc:55 main.cc:177 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -537,16 +537,16 @@ msgid "" "certain conditions. Invoke as `%s --warranty' for more information.\n" msgstr "" -#: main.cc:62 main.cc:189 main.cc:201 +#: main.cc:62 main.cc:184 main.cc:196 #, c-format msgid "Copyright (c) %s by" msgstr "" -#: main.cc:199 +#: main.cc:194 msgid "GNU LilyPond -- The music typesetter" msgstr "" -#: main.cc:71 main.cc:207 +#: main.cc:71 main.cc:202 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" @@ -581,33 +581,37 @@ msgstr "" msgid "Transposition by %s makes accidental larger than two" msgstr "" -#: music.cc:226 +#: music.cc:224 msgid "ly_get_mus_property (): Not a Music" msgstr "" -#: music.cc:240 +#: music.cc:238 msgid "ly_set_mus_property (): Not a symbol" msgstr "" -#: music.cc:252 +#: music.cc:250 msgid "ly_set_mus_property (): not of type Music" msgstr "" -#: music.cc:266 +#: music.cc:264 msgid "ly_make_music (): Not a string" msgstr "" +#: music.cc:284 +msgid "ly_music_name (): Not a music expression" +msgstr "" + #: music-output-def.cc:115 #, c-format msgid "can't find `%s' context" msgstr "" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:138 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "" -#: my-lily-lexer.cc:157 +#: my-lily-lexer.cc:158 #, c-format msgid "error at EOF: %s" msgstr "" @@ -630,11 +634,11 @@ msgstr "" msgid "paper output to %s..." msgstr "" -#: mudela-stream.cc:93 paper-outputter.cc:94 performance.cc:102 +#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:95 msgid ", at " msgstr "" -#: paper-outputter.cc:245 +#: paper-outputter.cc:232 #, c-format msgid "writing header field %s to %s..." msgstr "" @@ -688,12 +692,12 @@ msgstr "" msgid "Creator: " msgstr "" -#: performance.cc:116 +#: performance.cc:109 #, c-format msgid "from musical definition: %s" msgstr "" -#: performance.cc:171 +#: performance.cc:164 #, c-format msgid "MIDI output to %s..." msgstr "" @@ -838,11 +842,11 @@ msgstr "" #. How to shut up this warning, when no notes appeared because #. they were suicided by Thread_devnull_engraver? -#: tie-engraver.cc:213 tie-performer.cc:173 +#: tie-engraver.cc:215 tie-performer.cc:173 msgid "No ties were created!" msgstr "" -#: tie-engraver.cc:232 +#: tie-engraver.cc:234 msgid "lonely tie" msgstr "" @@ -860,21 +864,21 @@ msgstr "" msgid "unknown translator: `%s'" msgstr "" -#: translator-def.cc:96 +#: translator-def.cc:99 msgid "Program has no such type" msgstr "" -#: translator-def.cc:102 +#: translator-def.cc:105 #, c-format msgid "Already contains: `%s'" msgstr "" -#: translator-def.cc:103 +#: translator-def.cc:106 #, c-format msgid "Not adding translator: `%s'" msgstr "" -#: translator-def.cc:215 +#: translator-def.cc:224 #, c-format msgid "can't find: `%s'" msgstr "" @@ -889,19 +893,19 @@ msgstr "" msgid "can't find or create: `%s'" msgstr "" -#: translator-group.cc:403 +#: translator-group.cc:414 #, c-format msgid "" "Can't find property type-check for `%s'. Perhaps you made a typing error?" msgstr "" -#: translator-group.cc:417 +#: translator-group.cc:428 #, c-format msgid "Type check for `%s' failed; value `%s' must be of type `%s'" msgstr "" #. programming_error? -#: translator-group.cc:436 +#: translator-group.cc:447 msgid "ly-get-trans-property: expecting a Translator_group argument" msgstr "" @@ -922,60 +926,60 @@ msgstr "" msgid "Oldest supported input version: %s" msgstr "" -#: parser.yy:472 +#: parser.yy:473 msgid "Wrong type for property value" msgstr "" -#: parser.yy:667 +#: parser.yy:672 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:731 +#: parser.yy:736 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:736 +#: parser.yy:741 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:1212 +#: parser.yy:1236 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:1222 +#: parser.yy:1246 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1353 +#: parser.yy:1371 msgid "Expecting musical-pitch value" msgstr "" -#: parser.yy:1364 +#: parser.yy:1382 msgid "Must have duration object" msgstr "" -#: parser.yy:1373 parser.yy:1381 parser.yy:1661 +#: parser.yy:1391 parser.yy:1399 parser.yy:1679 msgid "Have to be in Lyric mode for lyrics" msgstr "" -#: parser.yy:1546 parser.yy:1575 +#: parser.yy:1564 parser.yy:1593 #, c-format msgid "not a duration: %d" msgstr "" -#: parser.yy:1584 +#: parser.yy:1602 msgid "Have to be in Note mode for notes" msgstr "" -#: parser.yy:1680 +#: parser.yy:1698 msgid "Have to be in Chord mode for chords" msgstr "" -#: parser.yy:1842 parser.yy:1860 +#: parser.yy:1860 parser.yy:1878 msgid "need integer number arg" msgstr "" -#: parser.yy:1846 +#: parser.yy:1864 msgid "Must be positive integer" msgstr "" @@ -1029,6 +1033,76 @@ msgstr "" msgid "Consider converting the input with the convert-ly script" msgstr "" +#: lilypond-item.cc:161 +#, c-format +msgid "#32 in quarter: %d" +msgstr "" + +#: lilypond-score.cc:108 +#, c-format +msgid "Lily output to %s..." +msgstr "" + +#: lilypond-score.cc:119 +#, c-format +msgid "track %d:" +msgstr "" + +#: lilypond-score.cc:155 +msgid "Processing..." +msgstr "" + +#: lilypond-score.cc:164 +msgid "Creating voices..." +msgstr "" + +#: lilypond-score.cc:168 +msgid "track " +msgstr "" + +#: lilypond-score.cc:177 +msgid "NOT Filtering tempo..." +msgstr "" + +#: lilypond-score.cc:186 +msgid "NOT Quantifying columns..." +msgstr "" + +#: lilypond-score.cc:190 +msgid "Quantifying columns..." +msgstr "" + +#: lilypond-score.cc:223 +msgid "Settling columns..." +msgstr "" + +#: lilypond-staff.cc:209 +msgid "% MIDI copyright:" +msgstr "" + +#: lilypond-staff.cc:210 +msgid "% MIDI instrument:" +msgstr "" + +#: lilypond-stream.cc:37 +#, c-format +msgid "lily indent level: %d" +msgstr "" + +#. Maybe better not to translate these? +#: lilypond-stream.cc:83 +msgid "% Creator: " +msgstr "" + +#: lilypond-stream.cc:88 +msgid "% Automatically generated" +msgstr "" + +#: lilypond-stream.cc:97 +#, c-format +msgid "% from input file: " +msgstr "" + #: main.cc:93 msgid "write exact durations, e.g.: a4*385/384" msgstr "" @@ -1073,6 +1147,10 @@ msgstr "" msgid "set smallest duration" msgstr "" +#: main.cc:103 +msgid "don't timestamp the output" +msgstr "" + #: main.cc:105 msgid "be verbose" msgstr "" @@ -1087,7 +1165,7 @@ msgid "Usage: %s [OPTION]... [FILE]" msgstr "" #: main.cc:116 -msgid "Translate MIDI-file to mudela" +msgid "Translate MIDI-file to lilypond" msgstr "" #: main.cc:130 @@ -1163,73 +1241,3 @@ msgstr "" #: midi-track-parser.cc:353 msgid "invalid track length" msgstr "" - -#: mudela-item.cc:161 -#, c-format -msgid "#32 in quarter: %d" -msgstr "" - -#: mudela-score.cc:108 -#, c-format -msgid "Lily output to %s..." -msgstr "" - -#: mudela-score.cc:119 -#, c-format -msgid "track %d:" -msgstr "" - -#: mudela-score.cc:155 -msgid "Processing..." -msgstr "" - -#: mudela-score.cc:164 -msgid "Creating voices..." -msgstr "" - -#: mudela-score.cc:168 -msgid "track " -msgstr "" - -#: mudela-score.cc:177 -msgid "NOT Filtering tempo..." -msgstr "" - -#: mudela-score.cc:186 -msgid "NOT Quantifying columns..." -msgstr "" - -#: mudela-score.cc:190 -msgid "Quantifying columns..." -msgstr "" - -#: mudela-score.cc:223 -msgid "Settling columns..." -msgstr "" - -#: mudela-staff.cc:209 -msgid "% MIDI copyright:" -msgstr "" - -#: mudela-staff.cc:210 -msgid "% MIDI instrument:" -msgstr "" - -#: mudela-stream.cc:37 -#, c-format -msgid "lily indent level: %d" -msgstr "" - -#. Maybe better not to translate these? -#: mudela-stream.cc:83 -msgid "% Creator: " -msgstr "" - -#: mudela-stream.cc:88 -msgid "% Automatically generated" -msgstr "" - -#: mudela-stream.cc:97 -#, c-format -msgid "% from input file: " -msgstr "" diff --git a/po/nl.po b/po/nl.po index dc56d93178..c61c02fa1e 100644 --- a/po/nl.po +++ b/po/nl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: lilypond 1.3.59\n" -"POT-Creation-Date: 2001-03-16 09:44+0100\n" +"POT-Creation-Date: 2001-03-21 16:06+0100\n" "PO-Revision-Date: 2000-06-09 02:23+0200\n" "Last-Translator: Jan Nieuwenhuizen \n" "Language-Team: Dutch \n" @@ -23,132 +23,136 @@ msgstr "" "Xgettext-Options: --c++ --default-domain=lilypond --join --output-dir=../po --add-comments --keyword=_\n" "Files: bow.cc int.cc\n" -#: ly2dvi.py:74 main.cc:95 main.cc:109 +#: ly2dvi.py:86 main.cc:95 main.cc:105 msgid "this help" msgstr "deze hulp" -#: ly2dvi.py:75 +#: ly2dvi.py:87 msgid "change global setting KEY to VAL" msgstr "verander globale instelling SLEUTEL in WAARDE" -#: ly2dvi.py:76 +#: ly2dvi.py:88 msgid "generate PostScript output" msgstr "genereer PostScipt uitvoer" -#: ly2dvi.py:77 +#: ly2dvi.py:89 msgid "keep all output, and name the directory ly2dvi.dir" msgstr "bewaar alle uitvoer, en noem de directory ly2dvi.dir" -#: ly2dvi.py:78 +#: ly2dvi.py:90 msgid "don't run LilyPond" msgstr "draai LilyPond niet" -#: ly2dvi.py:79 main.cc:104 main.cc:119 +#: ly2dvi.py:91 main.cc:115 +msgid "verbose" +msgstr "breedsprakig" + +#: ly2dvi.py:92 main.cc:104 main.cc:114 msgid "print version number" msgstr "druk versienummer af" -#: ly2dvi.py:80 main.cc:106 main.cc:121 +#: ly2dvi.py:93 main.cc:106 main.cc:116 msgid "show warranty and copyright" msgstr "toon garantie en auteursrechten" -#: ly2dvi.py:81 +#: ly2dvi.py:94 msgid "dump all final output into DIR" msgstr "dump alle uiteindelijke uivoer in DIR" -#: ly2dvi.py:82 main.cc:113 +#: ly2dvi.py:95 main.cc:109 msgid "write Makefile dependencies for every input file" msgstr "schrijf Makefile afhankelijkheden voor elk invoerbestand" -#: data-file.cc:118 input.cc:85 ly2dvi.py:108 midi-parser.cc:100 warn.cc:23 +#: data-file.cc:118 input.cc:85 ly2dvi.py:123 midi-parser.cc:100 warn.cc:23 msgid "warning: " msgstr "waarschuwing: " -#: input.cc:90 ly2dvi.py:113 ly2dvi.py:247 warn.cc:9 warn.cc:17 +#: input.cc:90 ly2dvi.py:128 ly2dvi.py:263 warn.cc:9 warn.cc:17 msgid "error: " msgstr "fout: " -#: ly2dvi.py:115 +#: ly2dvi.py:130 msgid "Exiting ... " msgstr "Beëidigen ..." -#: ly2dvi.py:134 +#: ly2dvi.py:149 #, c-format -msgid "Reading `%s'" -msgstr "Inlezen `%s'" +msgid "Reading %s..." +msgstr "Inlezen %s..." -#: ly2dvi.py:138 mapped-file-storage.cc:87 mudela-stream.cc:111 +#: lilypond-stream.cc:111 ly2dvi.py:153 mapped-file-storage.cc:87 #: paper-stream.cc:40 scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23 #, c-format msgid "can't open file: `%s'" msgstr "kan bestand niet openen: `%s'" -#: ly2dvi.py:201 +#: ly2dvi.py:216 #, c-format msgid "Usage: %s [OPTION]... FILE" msgstr "Gebruik: %s [OPTIE]... BESTAND" -#: ly2dvi.py:203 +#: ly2dvi.py:218 msgid "Generate .dvi with LaTeX for LilyPond" msgstr "Genereer .dvi met LaTeX voor LilyPond" -#: ly2dvi.py:205 main.cc:119 main.cc:151 +#: ly2dvi.py:220 main.cc:119 main.cc:146 msgid "Options:" msgstr "Opties:" -#: ly2dvi.py:209 +#: ly2dvi.py:224 msgid "all output is written in the CURRENT directory" msgstr "alle uitvoer wordt naar HUIDIGE directory geschreven" -#: ly2dvi.py:211 main.cc:123 main.cc:174 +#: ly2dvi.py:226 main.cc:123 main.cc:169 #, c-format msgid "Report bugs to %s" msgstr "" "Meld luizen in het programma aan %s;\n" "meld onjuistheden in de vertaling aan of " -#: ly2dvi.py:243 +#: ly2dvi.py:260 #, c-format msgid "Invoking `%s'" msgstr "Uitvoeren `%s'" -#: ly2dvi.py:247 +#: ly2dvi.py:263 #, c-format msgid "command exited with value %d" msgstr "opdracht eindigde met waarde %d" -#: ly2dvi.py:249 +#: ly2dvi.py:265 msgid "(ignored)" msgstr "(genegeerd)" -#: ly2dvi.py:278 -#, c-format -msgid "invalid value: %s" -msgstr "ongeldige waarde: %s" - -#: ly2dvi.py:284 +#: ly2dvi.py:301 #, c-format msgid "no such setting: %s" msgstr "geen dergelijke instelling: %s" -#: ly2dvi.py:292 +#: ly2dvi.py:309 #, c-format msgid "Analyzing `%s'" msgstr "Analyseren `%s'" -#: ly2dvi.py:336 +#: ly2dvi.py:353 #, c-format msgid "no lilypond output found for %s" msgstr "geen lilypond uitvoer gevonden voor %s" -#: ly2dvi.py:568 scores.cc:44 +#: ly2dvi.py:395 +#, c-format +msgid "invalid value: %s" +msgstr "ongeldige waarde: %s" + +#: ly2dvi.py:602 scores.cc:44 #, c-format msgid "dependencies output to %s..." msgstr "afhankelijkheden uitvoer naar %s..." -#: ly2dvi.py:569 +#: ly2dvi.py:603 #, c-format -msgid "%s file left in `%s'" -msgstr "%s bestand achtergelaten in `%s'" +msgid "%s output to %s..." +msgstr "%s uitvoer naar %s..." #: data-file.cc:54 msgid "EOF in a string" @@ -254,12 +258,12 @@ msgstr "Laad verstek font" msgid "can't find default font: `%s'" msgstr "kan verstekfont niet vinden: `%s'" -#: all-font-metrics.cc:172 includable-lexer.cc:50 scores.cc:137 +#: all-font-metrics.cc:172 includable-lexer.cc:51 scores.cc:137 #, c-format msgid "(search path: `%s')" msgstr "(zoekpad: `%s')" -#: all-font-metrics.cc:173 parser.yy:1663 +#: all-font-metrics.cc:173 parser.yy:1681 msgid "Giving up" msgstr "Geef op" @@ -370,7 +374,7 @@ msgstr "heb al een crescendo" msgid "already have a decrescendo" msgstr "heb al een decrescendo" -#: dynamic-engraver.cc:315 +#: dynamic-engraver.cc:318 msgid "unterminated (de)crescendo" msgstr "onbeëindigd (de)crescendo" @@ -387,7 +391,7 @@ msgstr "" msgid "no one to print a repeat brace" msgstr "niemand om een herhalings haak af te drukken" -#: font-interface.cc:220 +#: font-interface.cc:237 msgid "couldn't find any font satisfying " msgstr "kon geen enkel font vinden dat voldoet aan " @@ -420,7 +424,7 @@ msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "" "Niets om streepje aan linkerkant aan vast te maken. Negeer streepje verzoek." -#: includable-lexer.cc:48 lily-guile.cc:139 midi-score-parser.cc:24 +#: includable-lexer.cc:49 lily-guile.cc:139 midi-score-parser.cc:24 #: scores.cc:136 scores.cc:142 #, c-format msgid "can't find file: `%s'" @@ -457,83 +461,79 @@ msgstr "liedteksten gevonden zonder bijbehorend nootbolletje" msgid "Huh? Melismatic note found to have associated lyrics." msgstr "Huh? Melismatische noot blijkt bijbehorende liedtekst te hebben." -#: main.cc:108 +#: main.cc:104 msgid "EXT" msgstr "EXT" -#: main.cc:108 +#: main.cc:104 msgid "use output format EXT (scm, ps, tex or as)" msgstr "gebruik uitvoer formaat EXT (scm, ps, tex of as)" -#: main.cc:110 +#: main.cc:106 msgid "FIELD" msgstr "VELD" -#: main.cc:110 +#: main.cc:106 msgid "write header field to BASENAME.FIELD" msgstr "schrijf kop veld naar BASISNAAM.VELD" -#: main.cc:111 main.cc:114 +#: main.cc:107 main.cc:110 msgid "DIR" msgstr "DIR" -#: main.cc:111 +#: main.cc:107 msgid "add DIR to search path" msgstr "voeg DIR toe aan zoekpad" -#: main.cc:98 main.cc:112 +#: main.cc:98 main.cc:108 msgid "FILE" msgstr "BESTAND" -#: main.cc:112 +#: main.cc:108 msgid "use FILE as init file" msgstr "gebruik BESTAND als initialisatiebestand" -#: main.cc:114 +#: main.cc:110 msgid "prepend DIR to dependencies" msgstr "voeg DIR voor aan afhankelijkheden" -#: main.cc:115 +#: main.cc:111 msgid "produce MIDI output only" msgstr "produceer alleen MIDI uitvoer" -#: main.cc:116 +#: main.cc:112 msgid "NAME" msgstr "NAAM" -#: main.cc:116 +#: main.cc:112 msgid "write output to NAME" msgstr "schrijf uitvoer naar NAAM" -#: main.cc:117 +#: main.cc:113 msgid "inhibit file output naming and exporting" msgstr "verbied naamgeving van uitvoer bestand en exportering" -#: main.cc:103 main.cc:118 -msgid "don't timestamp the output" -msgstr "geen tijdsstempel in de uitvoer" - -#: main.cc:120 -msgid "verbose" -msgstr "breedsprakig" +#: main.cc:117 +msgid "EXPR" +msgstr "EXPR" -#: main.cc:122 -msgid "write midi ouput in formatted ascii" -msgstr "schrijf midi uitvoer in geformatteerd ascii" +#: main.cc:117 +msgid "evalute EXPR as Scheme after .scm init is read" +msgstr "evalueer EXPR als Scheme nadat .scm init is gelezen" #. #. No version number or newline here. It confuses help2man #. -#: main.cc:139 +#: main.cc:134 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Gebruik: %s [OPTIE]... [BESTAND]..." -#: main.cc:141 +#: main.cc:136 msgid "Typeset music and or play MIDI from FILE" msgstr "Zet muziek en of speel MIDI van BESTAND" -#: main.cc:145 +#: main.cc:140 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" @@ -543,11 +543,11 @@ msgstr "" "uitgaande van een hoog niveau beschrijving bestand. LilyPond \n" "maakt deel uit van het GNU Project.\n" -#: main.cc:155 +#: main.cc:150 msgid "This binary was compiled with the following options:" msgstr "Dit programma is gecompileerd met de volgende instellingen:" -#: main.cc:55 main.cc:182 +#: main.cc:55 main.cc:177 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -559,16 +559,16 @@ msgstr "" "onder bepaalde voorwaarden. Roep aan als `%s --warranty' voor meer\n" "informatie.\n" -#: main.cc:62 main.cc:189 main.cc:201 +#: main.cc:62 main.cc:184 main.cc:196 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s " -#: main.cc:199 +#: main.cc:194 msgid "GNU LilyPond -- The music typesetter" msgstr "GNU LilyPond -- De Muziekzetter" -#: main.cc:71 main.cc:207 +#: main.cc:71 main.cc:202 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" @@ -616,33 +616,37 @@ msgstr "rare toonhoogte" msgid "Transposition by %s makes accidental larger than two" msgstr "Transponering van %s geeft tripel kruizen/mollen" -#: music.cc:226 +#: music.cc:224 msgid "ly_get_mus_property (): Not a Music" msgstr "ly_get_mus_property (): Geen Muziek" -#: music.cc:240 +#: music.cc:238 msgid "ly_set_mus_property (): Not a symbol" msgstr "ly_set_mus_property (): Geen symbool" -#: music.cc:252 +#: music.cc:250 msgid "ly_set_mus_property (): not of type Music" msgstr "ly_set_mus_property (): niet van type Muziek" -#: music.cc:266 +#: music.cc:264 msgid "ly_make_music (): Not a string" msgstr "ly_make_music (): Geen string" +#: music.cc:284 +msgid "ly_music_name (): Not a music expression" +msgstr "ly_make_music (): Geen muziek expressie" + #: music-output-def.cc:115 #, c-format msgid "can't find `%s' context" msgstr "kan `%s' context niet vinden" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:138 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "Identifier naam is een sleutelwoord: `%s'" -#: my-lily-lexer.cc:157 +#: my-lily-lexer.cc:158 #, c-format msgid "error at EOF: %s" msgstr "fout bij EOF: %s" @@ -665,11 +669,11 @@ msgstr "Schroot verzoek: `%s'" msgid "paper output to %s..." msgstr "papier uitvoer naar %s..." -#: mudela-stream.cc:93 paper-outputter.cc:94 performance.cc:102 +#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:95 msgid ", at " msgstr ", bij " -#: paper-outputter.cc:245 +#: paper-outputter.cc:232 #, c-format msgid "writing header field %s to %s..." msgstr "Schijven van kop veld %s naar bestand %s..." @@ -723,12 +727,12 @@ msgstr "Spoor ... " msgid "Creator: " msgstr "Schepper: " -#: performance.cc:116 +#: performance.cc:109 #, c-format msgid "from musical definition: %s" msgstr "van muzikale definitie: %s" -#: performance.cc:171 +#: performance.cc:164 #, c-format msgid "MIDI output to %s..." msgstr "MIDI uitvoer naar %s..." @@ -876,11 +880,11 @@ msgstr "" #. How to shut up this warning, when no notes appeared because #. they were suicided by Thread_devnull_engraver? -#: tie-engraver.cc:213 tie-performer.cc:173 +#: tie-engraver.cc:215 tie-performer.cc:173 msgid "No ties were created!" msgstr "Geen overbindingen geschapen!" -#: tie-engraver.cc:232 +#: tie-engraver.cc:234 msgid "lonely tie" msgstr "eenzame overbinding" @@ -898,21 +902,21 @@ msgstr "maatstreep controle gefaald op: %s" msgid "unknown translator: `%s'" msgstr "onbekende translator: `%s'" -#: translator-def.cc:96 +#: translator-def.cc:99 msgid "Program has no such type" msgstr "Programma heeft geen dergelijk type" -#: translator-def.cc:102 +#: translator-def.cc:105 #, c-format msgid "Already contains: `%s'" msgstr "Bevat reeds: `%s'" -#: translator-def.cc:103 +#: translator-def.cc:106 #, c-format msgid "Not adding translator: `%s'" msgstr "Voeg translator niet toe: `%s'" -#: translator-def.cc:215 +#: translator-def.cc:224 #, c-format msgid "can't find: `%s'" msgstr "kan niet vinden: `%s'" @@ -927,20 +931,20 @@ msgstr "kan niet vinden of scheppen `%s' genaamd `%s'" msgid "can't find or create: `%s'" msgstr "kan niet vinden of scheppen: `%s'" -#: translator-group.cc:403 +#: translator-group.cc:414 #, c-format msgid "" "Can't find property type-check for `%s'. Perhaps you made a typing error?" msgstr "" "Kan geen type-controle vinden voor property `%s'. Misschien een tikfout?" -#: translator-group.cc:417 +#: translator-group.cc:428 #, c-format msgid "Type check for `%s' failed; value `%s' must be of type `%s'" msgstr "Type contole gefaald voor `%s'; waarde `%s' moet type hebben: `%s'" #. programming_error? -#: translator-group.cc:436 +#: translator-group.cc:447 msgid "ly-get-trans-property: expecting a Translator_group argument" msgstr "ly-get-trans-property: verwacht een Translator_group argument" @@ -961,61 +965,61 @@ msgstr "Heb ook al een gestopte spanner. Geef op." msgid "Oldest supported input version: %s" msgstr "Oudst ondersteunde invoerversie: %s" -#: parser.yy:472 +#: parser.yy:473 msgid "Wrong type for property value" msgstr "Verkeerd type voor property waarde" -#: parser.yy:667 +#: parser.yy:672 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" "Meer alternatieven dan herhalingen. Schroot overvloedige alternatieven." -#: parser.yy:731 +#: parser.yy:736 msgid "Second argument must be a symbol" msgstr "Tweede argument moet een symbool zijn" -#: parser.yy:736 +#: parser.yy:741 msgid "First argument must be a procedure taking 1 argument" msgstr "Eerste argument moet een procedure zijn met 1 argument" -#: parser.yy:1212 +#: parser.yy:1236 msgid "Expecting string as script definition" msgstr "Verwacht string voor script definitie" -#: parser.yy:1222 +#: parser.yy:1246 msgid "Can't specify direction for this request" msgstr "Kan richting voor dit verzoek niet specificeren" -#: parser.yy:1353 +#: parser.yy:1371 msgid "Expecting musical-pitch value" msgstr "Verwacht musical-pitch waarde" -#: parser.yy:1364 +#: parser.yy:1382 msgid "Must have duration object" msgstr "Moet duur object hebben" -#: parser.yy:1373 parser.yy:1381 parser.yy:1661 +#: parser.yy:1391 parser.yy:1399 parser.yy:1679 msgid "Have to be in Lyric mode for lyrics" msgstr "Moet in Lyric modus zijn voor liedteksten" -#: parser.yy:1546 parser.yy:1575 +#: parser.yy:1564 parser.yy:1593 #, c-format msgid "not a duration: %d" msgstr "geen duur: %d" -#: parser.yy:1584 +#: parser.yy:1602 msgid "Have to be in Note mode for notes" msgstr "Moet in Note modus zijn voor noten" -#: parser.yy:1680 +#: parser.yy:1698 msgid "Have to be in Chord mode for chords" msgstr "Moet in Chord modus zijn voor accoorden" -#: parser.yy:1842 parser.yy:1860 +#: parser.yy:1860 parser.yy:1878 msgid "need integer number arg" msgstr "heb integer getal arg nogig" -#: parser.yy:1846 +#: parser.yy:1864 msgid "Must be positive integer" msgstr "Moet positieve integer zijn" @@ -1069,6 +1073,76 @@ msgstr "verkeerde lilypond versie: %s (%s, %s)" msgid "Consider converting the input with the convert-ly script" msgstr "Overweeg de invoer te converteren met het convert-ly script" +#: lilypond-item.cc:161 +#, c-format +msgid "#32 in quarter: %d" +msgstr "#32 in kwart: %d" + +#: lilypond-score.cc:108 +#, c-format +msgid "Lily output to %s..." +msgstr "Lelie uitvoer naar %s..." + +#: lilypond-score.cc:119 +#, c-format +msgid "track %d:" +msgstr "spoor %d:" + +#: lilypond-score.cc:155 +msgid "Processing..." +msgstr "Verwerken..." + +#: lilypond-score.cc:164 +msgid "Creating voices..." +msgstr "Scheppen van stemmen..." + +#: lilypond-score.cc:168 +msgid "track " +msgstr "spoor " + +#: lilypond-score.cc:177 +msgid "NOT Filtering tempo..." +msgstr "NIET Filteren van tempo..." + +#: lilypond-score.cc:186 +msgid "NOT Quantifying columns..." +msgstr "NIET Kwantificeren van kolommen..." + +#: lilypond-score.cc:190 +msgid "Quantifying columns..." +msgstr "Kwantificeren van kolommen..." + +#: lilypond-score.cc:223 +msgid "Settling columns..." +msgstr "Zetten van kolommen..." + +#: lilypond-staff.cc:209 +msgid "% MIDI copyright:" +msgstr "% MIDI copyright:" + +#: lilypond-staff.cc:210 +msgid "% MIDI instrument:" +msgstr "% MIDI instrument:" + +#: lilypond-stream.cc:37 +#, c-format +msgid "lily indent level: %d" +msgstr "lelie inspring diepte: %d" + +#. Maybe better not to translate these? +#: lilypond-stream.cc:83 +msgid "% Creator: " +msgstr "% Schepper: " + +#: lilypond-stream.cc:88 +msgid "% Automatically generated" +msgstr "% Automatisch gegenereerd" + +#: lilypond-stream.cc:97 +#, c-format +msgid "% from input file: " +msgstr "% van invoerbestand: " + #: main.cc:93 msgid "write exact durations, e.g.: a4*385/384" msgstr "schrijf exacte duren, bijv.: a4*385/384" @@ -1113,6 +1187,10 @@ msgstr "DUUR" msgid "set smallest duration" msgstr "zet kortste duur" +#: main.cc:103 +msgid "don't timestamp the output" +msgstr "geen tijdsstempel in de uitvoer" + #: main.cc:105 msgid "be verbose" msgstr "wees breedsprakig" @@ -1127,8 +1205,8 @@ msgid "Usage: %s [OPTION]... [FILE]" msgstr "Gebruik: %s [OPTIE]... [BESTAND]" #: main.cc:116 -msgid "Translate MIDI-file to mudela" -msgstr "Vertaal MIDI-bestand naar mudela" +msgid "Translate MIDI-file to lilypond" +msgstr "Vertaal MIDI-bestand naar lilypond" #: main.cc:130 #, c-format @@ -1203,73 +1281,3 @@ msgstr "MIDI spoor verwacht" #: midi-track-parser.cc:353 msgid "invalid track length" msgstr "ongeldige spoorlengte" - -#: mudela-item.cc:161 -#, c-format -msgid "#32 in quarter: %d" -msgstr "#32 in kwart: %d" - -#: mudela-score.cc:108 -#, c-format -msgid "Lily output to %s..." -msgstr "Lelie uitvoer naar %s..." - -#: mudela-score.cc:119 -#, c-format -msgid "track %d:" -msgstr "spoor %d:" - -#: mudela-score.cc:155 -msgid "Processing..." -msgstr "Verwerken..." - -#: mudela-score.cc:164 -msgid "Creating voices..." -msgstr "Scheppen van stemmen..." - -#: mudela-score.cc:168 -msgid "track " -msgstr "spoor " - -#: mudela-score.cc:177 -msgid "NOT Filtering tempo..." -msgstr "NIET Filteren van tempo..." - -#: mudela-score.cc:186 -msgid "NOT Quantifying columns..." -msgstr "NIET Kwantificeren van kolommen..." - -#: mudela-score.cc:190 -msgid "Quantifying columns..." -msgstr "Kwantificeren van kolommen..." - -#: mudela-score.cc:223 -msgid "Settling columns..." -msgstr "Zetten van kolommen..." - -#: mudela-staff.cc:209 -msgid "% MIDI copyright:" -msgstr "% MIDI copyright:" - -#: mudela-staff.cc:210 -msgid "% MIDI instrument:" -msgstr "% MIDI instrument:" - -#: mudela-stream.cc:37 -#, c-format -msgid "lily indent level: %d" -msgstr "lelie inspring diepte: %d" - -#. Maybe better not to translate these? -#: mudela-stream.cc:83 -msgid "% Creator: " -msgstr "% Schepper: " - -#: mudela-stream.cc:88 -msgid "% Automatically generated" -msgstr "% Automatisch gegenereerd" - -#: mudela-stream.cc:97 -#, c-format -msgid "% from input file: " -msgstr "% van invoerbestand: " diff --git a/po/ru.po b/po/ru.po index c3e560a74d..084e6304ff 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-03-06 12:36+0100\n" +"POT-Creation-Date: 2001-03-21 16:06+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: August S.Sigov \n" "Language-Team: Russian \n" @@ -14,115 +14,135 @@ msgstr "" "Content-Type: text/plain; charset=koi8-r\n" "Content-Transfer-Encoding: ENCODING\n" -#: ly2dvi.py:67 main.cc:95 main.cc:109 +#: ly2dvi.py:86 main.cc:95 main.cc:105 msgid "this help" msgstr "ÜÔÁ ÓÐÒÁ×ËÁ" -#: ly2dvi.py:68 +#: ly2dvi.py:87 msgid "change global setting KEY to VAL" msgstr "" -#: ly2dvi.py:69 +#: ly2dvi.py:88 msgid "generate PostScript output" msgstr "" -#: ly2dvi.py:70 +#: ly2dvi.py:89 msgid "keep all output, and name the directory ly2dvi.dir" msgstr "" -#: ly2dvi.py:71 +#: ly2dvi.py:90 msgid "don't run LilyPond" msgstr "" -#: ly2dvi.py:72 main.cc:104 main.cc:119 +#: ly2dvi.py:91 main.cc:115 +#, fuzzy +msgid "verbose" +msgstr "ÂÙÔØ ÂÏÌÔÌÉ×ÙÍ" + +#: ly2dvi.py:92 main.cc:104 main.cc:114 msgid "print version number" msgstr "×Ù×ÏÄÉÔØ ÎÏÍÅÒ ×ÅÒÓÉÉ" -#: ly2dvi.py:73 main.cc:106 main.cc:121 +#: ly2dvi.py:93 main.cc:106 main.cc:116 msgid "show warranty and copyright" msgstr "ÐÏËÁÚÁÔØ ÇÁÒÁÎÔÉÀ É copyright" -#: ly2dvi.py:74 +#: ly2dvi.py:94 msgid "dump all final output into DIR" msgstr "" -#: ly2dvi.py:75 main.cc:113 +#: ly2dvi.py:95 main.cc:109 msgid "write Makefile dependencies for every input file" msgstr "ÚÁÐÉÓÙ×ÁÔØ ÚÁ×ÉÓÉÍÏÓÔÉ Makefile ÄÌÑ ËÁÖÄÏÇÏ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ" -#: ly2dvi.py:101 +#: data-file.cc:118 input.cc:85 ly2dvi.py:123 midi-parser.cc:100 warn.cc:23 +msgid "warning: " +msgstr "ÐÒÅÄÕÐÒÅÖÄÁÀ: " + +#: input.cc:90 ly2dvi.py:128 ly2dvi.py:263 warn.cc:9 warn.cc:17 +msgid "error: " +msgstr "ÏÛÉÂËÁ: " + +#: ly2dvi.py:130 msgid "Exiting ... " msgstr "" -#: ly2dvi.py:120 +#: ly2dvi.py:149 #, fuzzy, c-format -msgid "Reading `%s'" +msgid "Reading %s..." msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'" -#: ly2dvi.py:124 mapped-file-storage.cc:87 mudela-stream.cc:111 +#: lilypond-stream.cc:111 ly2dvi.py:153 mapped-file-storage.cc:87 #: paper-stream.cc:40 scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23 #, c-format msgid "can't open file: `%s'" msgstr "ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ ÆÁÊÌ: `%s'" -#: ly2dvi.py:187 +#: ly2dvi.py:216 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ïðãéñ]... [æáêì]" -#: ly2dvi.py:189 +#: ly2dvi.py:218 msgid "Generate .dvi with LaTeX for LilyPond" msgstr "" -#: ly2dvi.py:191 main.cc:119 main.cc:151 +#: ly2dvi.py:220 main.cc:119 main.cc:146 msgid "Options:" msgstr "ïÐÃÉÉ:" -#: data-file.cc:118 input.cc:85 ly2dvi.py:195 midi-parser.cc:100 warn.cc:23 -msgid "warning: " -msgstr "ÐÒÅÄÕÐÒÅÖÄÁÀ: " - -#: ly2dvi.py:196 +#: ly2dvi.py:224 msgid "all output is written in the CURRENT directory" msgstr "" -#: ly2dvi.py:198 main.cc:123 main.cc:174 +#: ly2dvi.py:226 main.cc:123 main.cc:169 #, c-format msgid "Report bugs to %s" msgstr "óÏÏÂÝÁÊÔÅ Ï ÏÛÉÂËÁÈ ÐÏ %s" -#: ly2dvi.py:230 +#: ly2dvi.py:260 #, fuzzy, c-format msgid "Invoking `%s'" msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'" -#: input.cc:90 ly2dvi.py:234 warn.cc:9 warn.cc:17 -msgid "error: " -msgstr "ÏÛÉÂËÁ: " - -#: ly2dvi.py:234 +#: ly2dvi.py:263 #, c-format msgid "command exited with value %d" msgstr "" -#: ly2dvi.py:236 +#: ly2dvi.py:265 msgid "(ignored)" msgstr "" -#: ly2dvi.py:277 +#: ly2dvi.py:301 +#, fuzzy, c-format +msgid "no such setting: %s" +msgstr "ÎÅÔ ÔÁËÏÇÏ ÉÎÓÔÒÕÍÅÎÔÁ: `%s'" + +#: ly2dvi.py:309 #, c-format msgid "Analyzing `%s'" msgstr "" -#: ly2dvi.py:539 scores.cc:44 +#: ly2dvi.py:353 +#, c-format +msgid "no lilypond output found for %s" +msgstr "" + +#: ly2dvi.py:395 +#, fuzzy, c-format +msgid "invalid value: %s" +msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ: `%c'" + +#: ly2dvi.py:602 scores.cc:44 #, fuzzy, c-format msgid "dependencies output to %s..." msgstr "\"ÂÕÍÁÖÎÙÊ\" ×Ù×ÏÄ × %s..." -#: ly2dvi.py:540 -#, c-format -msgid "%s file left in `%s'" -msgstr "" +#: ly2dvi.py:603 +#, fuzzy, c-format +msgid "%s output to %s..." +msgstr "×Ù×ÏÄ MIDI × %s..." #: data-file.cc:54 msgid "EOF in a string" @@ -226,12 +246,12 @@ msgstr " msgid "can't find default font: `%s'" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÛÒÉÆÔ ÐÏ ÕÍÏÌÞÁÎÉÀ: `%s'" -#: all-font-metrics.cc:172 includable-lexer.cc:50 scores.cc:137 +#: all-font-metrics.cc:172 includable-lexer.cc:51 scores.cc:137 #, c-format msgid "(search path: `%s')" msgstr "(ÐÕÔØ ÐÏÉÓËÁ: `%s')" -#: all-font-metrics.cc:173 parser.yy:1663 +#: all-font-metrics.cc:173 parser.yy:1681 msgid "Giving up" msgstr "óÄÁÀÓØ" @@ -306,7 +326,7 @@ msgstr " msgid "invalid inversion pitch: not part of chord: %s" msgstr "" -#: chord-tremolo-engraver.cc:141 +#: chord-tremolo-engraver.cc:141 percent-repeat-engraver.cc:162 msgid "unterminated chord tremolo" msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÔÒÅÍÏÌÏ ÁËËÏÒÄÁ" @@ -315,7 +335,7 @@ msgstr " msgid "no one to print a tremolos" msgstr "ÎÅËÏÍÕ ÒÉÓÏ×ÁÔØ ÓËÏÂÕ ÐÏ×ÔÏÒÁ" -#: collision.cc:116 +#: collision.cc:118 msgid "Too many clashing notecolumns. Ignoring them." msgstr "óÌÉÛËÏÍ ÍÎÏÇÏ ÐÅÒÅÓÅËÁÀÝÉÈÓÑ ÓÔÏÌÂÃÏ× ÎÏÔ. éÇÎÏÒÉÒÕÀ." @@ -343,7 +363,7 @@ msgstr " msgid "already have a decrescendo" msgstr "ÄÅËÒÅÝÅÎÄÏ ÕÖÅ ÅÓÔØ" -#: dynamic-engraver.cc:307 +#: dynamic-engraver.cc:318 msgid "unterminated (de)crescendo" msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ (ÄÅ)ËÒÅÝÅÎÄÏ" @@ -359,7 +379,7 @@ msgstr " msgid "no one to print a repeat brace" msgstr "ÎÅËÏÍÕ ÒÉÓÏ×ÁÔØ ÓËÏÂÕ ÐÏ×ÔÏÒÁ" -#: font-interface.cc:220 +#: font-interface.cc:237 msgid "couldn't find any font satisfying " msgstr "" @@ -392,7 +412,7 @@ msgstr " msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "îÅ Ë ÞÅÍÕ ÐÒÉÓÏÅÄÉÎÉÔØ ÐÅÒÅÎÏÓ ÓÌÅ×Á. éÇÎÏÒÉÒÕÀ ÚÁÐÒÏÓ ÐÅÒÅÎÏÓÁ." -#: includable-lexer.cc:48 lily-guile.cc:139 midi-score-parser.cc:24 +#: includable-lexer.cc:49 lily-guile.cc:139 midi-score-parser.cc:24 #: scores.cc:136 scores.cc:142 #, c-format msgid "can't find file: `%s'" @@ -429,88 +449,83 @@ msgstr "" msgid "Huh? Melismatic note found to have associated lyrics." msgstr "" -#: main.cc:108 +#: main.cc:104 msgid "EXT" msgstr "òáóû" -#: main.cc:108 +#: main.cc:104 #, fuzzy msgid "use output format EXT (scm, ps, tex or as)" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔ òáóû" -#: main.cc:110 +#: main.cc:106 #, fuzzy msgid "FIELD" msgstr "æáêì" -#: main.cc:110 +#: main.cc:106 msgid "write header field to BASENAME.FIELD" msgstr "" -#: main.cc:111 main.cc:114 +#: main.cc:107 main.cc:110 msgid "DIR" msgstr "ëáô" -#: main.cc:111 +#: main.cc:107 msgid "add DIR to search path" msgstr "ÄÏÂÁ×ÉÔØ ëáô Ë ÐÕÔÉ ÐÏÉÓËÁ" -#: main.cc:98 main.cc:112 +#: main.cc:98 main.cc:108 msgid "FILE" msgstr "æáêì" -#: main.cc:112 +#: main.cc:108 msgid "use FILE as init file" msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ æáêì ËÁË ÆÁÊÌ ÉÎÉÃÉÁÌÉÚÁÃÉÉ" -#: main.cc:114 +#: main.cc:110 msgid "prepend DIR to dependencies" msgstr "" -#: main.cc:115 +#: main.cc:111 msgid "produce MIDI output only" msgstr "ÐÒÏÉÚ×ÏÄÉÔØ ×Ù×ÏÄ ÔÏÌØËÏ MIDI" -#: main.cc:116 +#: main.cc:112 #, fuzzy msgid "NAME" msgstr "ïóîï÷á" -#: main.cc:116 +#: main.cc:112 #, fuzzy msgid "write output to NAME" msgstr "ÚÁÐÉÓÙ×ÁÔØ ×Ù×ÏÄ × ïóîï÷á[-x].ÒÁÓÛÉÒÅÎÉÅ" -#: main.cc:117 +#: main.cc:113 msgid "inhibit file output naming and exporting" msgstr "ÓËÒÙÔØ ÉÍÅÎÏ×ÁÎÉÅ É ÜËÓÐÏÒÔ ×Ù×ÏÄÁ × ÆÁÊÌ" -#: main.cc:103 main.cc:118 -msgid "don't timestamp the output" -msgstr "ÎÅ ÏÔÍÅÞÁÔØ ÄÁÔÕ É ×ÒÅÍÑ ×Ù×ÏÄÁ" - -#: main.cc:120 -#, fuzzy -msgid "verbose" -msgstr "ÂÙÔØ ÂÏÌÔÌÉ×ÙÍ" +#: main.cc:117 +msgid "EXPR" +msgstr "" -#: main.cc:122 -msgid "write midi ouput in formatted ascii" +#: main.cc:117 +msgid "evalute EXPR as Scheme after .scm init is read" msgstr "" #. #. No version number or newline here. It confuses help2man #. -#: main.cc:139 +#: main.cc:134 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ïðãéñ]... [æáêì]..." -#: main.cc:141 +#: main.cc:136 msgid "Typeset music and or play MIDI from FILE" msgstr "îÁÂÉÒÁÔØ ÍÕÚÙËÕ É/ÉÌÉ ÐÒÏÉÇÒÙ×ÁÔØ MIDI ÉÚ æáêìÁ" -#: main.cc:145 +#: main.cc:140 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" @@ -520,11 +535,11 @@ msgstr "" "ÎÁ ÂÕÍÁÇÅ, ÉÓÐÏÌØÚÕÑ ×ÙÓÏËÏÕÒÏ×ÎÅ×ÙÊ ÆÁÊÌ ÏÐÉÓÁÎÉÑ ÎÁ ××ÏÄÅ. Lilypond\n" "Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ðÒÏÅËÔÁ GNU.\n" -#: main.cc:155 +#: main.cc:150 msgid "This binary was compiled with the following options:" msgstr "üÔÏÔ ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ ÂÙÌ ÓÏÂÒÁÎ ÓÏ ÓÌÅÄÕÀÝÉÍÉ ÏÐÃÉÑÍÉ:" -#: main.cc:55 main.cc:182 +#: main.cc:55 main.cc:177 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -536,17 +551,17 @@ msgstr "" "ÐÒÉ ÓÏÂÌÀÄÅÎÉÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÊ. ÷ÙÚÙ×ÁÊÔÅ ËÁË `%s --warranty' ÄÌÑ\n" "ÐÏÌÕÞÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n" -#: main.cc:62 main.cc:189 main.cc:201 +#: main.cc:62 main.cc:184 main.cc:196 #, c-format msgid "Copyright (c) %s by" msgstr "÷ÓÅ ÐÒÁ×Á ÚÁÝÉÝÅÎÙ (c) %s by" -#: main.cc:199 +#: main.cc:194 #, fuzzy msgid "GNU LilyPond -- The music typesetter" msgstr "GNU LilyPond -- îÁÂÏÒÝÉË ÍÕÚÙËÉ ðÒÏÅËÔÁ GNU" -#: main.cc:71 main.cc:207 +#: main.cc:71 main.cc:202 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" @@ -581,29 +596,37 @@ msgstr " msgid "Transposition by %s makes accidental larger than two" msgstr "" -#: music.cc:222 +#: music.cc:224 msgid "ly_get_mus_property (): Not a Music" msgstr "" -#: music.cc:236 +#: music.cc:238 msgid "ly_set_mus_property (): Not a symbol" msgstr "" -#: music.cc:248 +#: music.cc:250 msgid "ly_set_mus_property (): not of type Music" msgstr "" +#: music.cc:264 +msgid "ly_make_music (): Not a string" +msgstr "" + +#: music.cc:284 +msgid "ly_music_name (): Not a music expression" +msgstr "" + #: music-output-def.cc:115 #, c-format msgid "can't find `%s' context" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ËÏÎÔÅËÓÔ `%s'" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:138 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "éÍÑ ËÏÍÁÎÄÙ Ñ×ÌÑÅÔÓÑ ËÌÀÞÅ×ÙÍ ÓÌÏ×ÏÍ: `%s'" -#: my-lily-lexer.cc:157 +#: my-lily-lexer.cc:158 #, c-format msgid "error at EOF: %s" msgstr "ÏÛÍÂËÁ × ËÏÎÃÅ ÆÁÊÌÁ: %s" @@ -612,7 +635,7 @@ msgstr " msgid "Parsing..." msgstr "òÁÚÂÉÒÁÀ..." -#: my-lily-parser.cc:55 +#: my-lily-parser.cc:57 msgid "Braces don't match" msgstr "æÉÇÕÒÎÙÅ ÓËÏÂËÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ" @@ -626,11 +649,11 @@ msgstr " msgid "paper output to %s..." msgstr "\"ÂÕÍÁÖÎÙÊ\" ×Ù×ÏÄ × %s..." -#: mudela-stream.cc:93 paper-outputter.cc:94 performance.cc:102 +#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:95 msgid ", at " msgstr ", ×" -#: paper-outputter.cc:245 +#: paper-outputter.cc:232 #, fuzzy, c-format msgid "writing header field %s to %s..." msgstr "úÁÐÉÓÙ×ÁÀ ÆÁÊÌ ÚÁ×ÉÓÉÍÏÓÔÅÊ: `%s'..." @@ -639,7 +662,7 @@ msgstr " msgid "Preprocessing elements..." msgstr "ðÒÅÄ×ÁÒÉÔÅÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÀ ÜÌÅÍÅÎÔÙ..." -#: paper-score.cc:113 +#: paper-score.cc:114 msgid "Outputting Score, defined at: " msgstr "" @@ -668,6 +691,16 @@ msgstr " msgid "none of these in my family: `%s'" msgstr "ÏÎÉ ÍÎÅ ÎÅ ÒÏÄÓÔ×ÅÎÎÉËÉ" +#: percent-repeat-engraver.cc:108 +#, fuzzy +msgid "Don't know yet how to handle this percent repeat." +msgstr "îÅ ÚÎÁÀ, ÞÔÏ ÄÅÌÁÔØ Ó ÐÕÓÔÙÍÉ ËÌÀÞÁÍÉ" + +#: percent-repeat-iterator.cc:53 +#, fuzzy +msgid "no one to print a percent" +msgstr "ÎÅËÏÍÕ ÒÉÓÏ×ÁÔØ ÓËÏÂÕ ÐÏ×ÔÏÒÁ" + #: performance.cc:51 msgid "Track ... " msgstr "äÏÒÏÖËÁ ..." @@ -676,12 +709,12 @@ msgstr " msgid "Creator: " msgstr "óÏÚÄÁÔÅÌØ: " -#: performance.cc:116 +#: performance.cc:109 #, c-format msgid "from musical definition: %s" msgstr "ÉÚ ÍÕÚÙËÁÌØÎÏÊ ÎÏÔÁÃÉÉ %s" -#: performance.cc:171 +#: performance.cc:164 #, c-format msgid "MIDI output to %s..." msgstr "×Ù×ÏÄ MIDI × %s..." @@ -744,7 +777,7 @@ msgstr " msgid "elapsed time: %.2f seconds" msgstr "ÚÁÔÒÁÞÅÎÎÏÅ ×ÒÅÍÑ: %.2f ÓÅËÕÎÄ" -#: score-engraver.cc:177 +#: score-engraver.cc:183 #, c-format msgid "unbound spanner `%s'" msgstr "" @@ -781,7 +814,9 @@ msgstr " msgid "unterminated slur" msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÌÉÇÁ" -#: slur-engraver.cc:142 +#. How to shut up this warning, when Voice_devnull_engraver has +#. eaten start request? +#: slur-engraver.cc:144 #, fuzzy msgid "can't find start of slur" msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ" @@ -819,21 +854,23 @@ msgstr " msgid "can't find ascii character: %d" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÓÉÍ×ÏÌ ASCII: `%d'" -#: tfm-reader.cc:105 +#: tfm-reader.cc:106 #, c-format -msgid "TFM header of `%s' has only %u word(s)" +msgid "TFM header of `%s' has only %u word (s)" msgstr "" -#: tfm-reader.cc:139 +#: tfm-reader.cc:140 #, c-format msgid "%s: TFM file has %u parameters, which is more than the %u I can handle" msgstr "" -#: tie-engraver.cc:211 tie-performer.cc:173 +#. How to shut up this warning, when no notes appeared because +#. they were suicided by Thread_devnull_engraver? +#: tie-engraver.cc:215 tie-performer.cc:173 msgid "No ties were created!" msgstr "" -#: tie-engraver.cc:230 +#: tie-engraver.cc:234 msgid "lonely tie" msgstr "" @@ -851,21 +888,21 @@ msgstr "" msgid "unknown translator: `%s'" msgstr "" -#: translator-def.cc:96 +#: translator-def.cc:99 msgid "Program has no such type" msgstr "" -#: translator-def.cc:102 +#: translator-def.cc:105 #, c-format msgid "Already contains: `%s'" msgstr "õÖÅ ÓÏÄÅÒÖÉÔ: `%s'" -#: translator-def.cc:103 +#: translator-def.cc:106 #, c-format msgid "Not adding translator: `%s'" msgstr "" -#: translator-def.cc:215 +#: translator-def.cc:224 #, c-format msgid "can't find: `%s'" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ: `%s'" @@ -880,19 +917,19 @@ msgstr "" msgid "can't find or create: `%s'" msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÉÌÉ ÓÏÚÄÁÔØ: `%s'" -#: translator-group.cc:403 +#: translator-group.cc:414 #, c-format msgid "" "Can't find property type-check for `%s'. Perhaps you made a typing error?" msgstr "" -#: translator-group.cc:417 +#: translator-group.cc:428 #, c-format msgid "Type check for `%s' failed; value `%s' must be of type `%s'" msgstr "" #. programming_error? -#: translator-group.cc:436 +#: translator-group.cc:447 msgid "ly-get-trans-property: expecting a Translator_group argument" msgstr "" @@ -913,114 +950,184 @@ msgstr "" msgid "Oldest supported input version: %s" msgstr "" -#: parser.yy:471 +#: parser.yy:473 msgid "Wrong type for property value" msgstr "" -#: parser.yy:666 +#: parser.yy:672 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:730 +#: parser.yy:736 msgid "Second argument must be a symbol" msgstr "÷ÔÏÒÏÊ ÁÒÇÕÍÅÎÔ ÄÏÌÖÅÎ ÂÙÔØ ÓÉÍ×ÏÌÏÍ" -#: parser.yy:735 +#: parser.yy:741 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:1211 +#: parser.yy:1236 msgid "Expecting string as script definition" msgstr "" -#: parser.yy:1221 +#: parser.yy:1246 msgid "Can't specify direction for this request" msgstr "îÅ ÍÏÇÕ ÕËÁÚÁÔØ ÎÁÐÒÁ×ÌÅÎÉÅ ÄÌÑ ÜÔÏÇÏ ÚÁÐÒÏÓÁ" -#: parser.yy:1353 +#: parser.yy:1371 msgid "Expecting musical-pitch value" msgstr "" -#: parser.yy:1364 +#: parser.yy:1382 #, fuzzy msgid "Must have duration object" msgstr "ÕÓÔÁÎÏ×ÉÔØ ÎÁÉÍÅÎØÛÕÀ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ" -#: parser.yy:1373 parser.yy:1381 parser.yy:1661 +#: parser.yy:1391 parser.yy:1399 parser.yy:1679 msgid "Have to be in Lyric mode for lyrics" msgstr "äÏÌÖÅÎ ÂÙÔØ × ìÉÒÉÞÅÓËÏÍ ÒÅÖÉÍÅ ÄÌÑ ÌÉÒÉËÉ" -#: parser.yy:1546 parser.yy:1575 +#: parser.yy:1564 parser.yy:1593 #, c-format msgid "not a duration: %d" msgstr "ÎÅ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ: %d" -#: parser.yy:1584 +#: parser.yy:1602 msgid "Have to be in Note mode for notes" msgstr "äÏÌÖÅÎ ÂÙÔØ × îÏÔÎÏÍ ÒÅÖÉÍÅ ÄÌÑ ÎÏÔ" -#: parser.yy:1680 +#: parser.yy:1698 msgid "Have to be in Chord mode for chords" msgstr "äÏÌÖÅÎ ÂÙÔØ × áËËÏÒÄÎÏÍ ÒÅÖÉÍÅ ÄÌÑ ÁËËÏÒÄÏ×" -#: parser.yy:1842 parser.yy:1860 +#: parser.yy:1860 parser.yy:1878 msgid "need integer number arg" msgstr "" -#: parser.yy:1846 +#: parser.yy:1864 msgid "Must be positive integer" msgstr "" -#: lexer.ll:165 +#: lexer.ll:166 msgid "EOF found inside a comment" msgstr "ëÏÎÅà ÆÁÊÌÁ ×ÎÕÔÒÉ ËÏÍÍÅÎÔÁÒÉÑ" -#: lexer.ll:179 +#: lexer.ll:180 msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:203 +#: lexer.ll:204 #, fuzzy, c-format msgid "wrong or undefined identifier: `%s'" msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÍÅÔËÁ/ËÏÍÁÎÄÁ: `%s'" #. backup rule -#: lexer.ll:208 +#: lexer.ll:209 msgid "Missing end quote" msgstr "ïÔÓÕÔÓ×ÕÅÔ ÚÁËÌÀÞÉÔÅÌØÎÁÑ ËÁ×ÙÞËÁ" #. backup rule -#: lexer.ll:230 lexer.ll:234 +#: lexer.ll:231 lexer.ll:235 msgid "white expected" msgstr "× ÔÏ ×ÒÅÍÑ ËÁË ÏÖÉÄÁÌÏÓØ" -#: lexer.ll:243 +#: lexer.ll:244 msgid "Can't evaluate Scheme in safe mode" msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÑÔØ ËÏÄ ÓÈÅÍÙ × ÂÅÚÏÐÁÓÎÏÍ ÒÅÖÉÍÅ" -#: lexer.ll:335 +#: lexer.ll:336 msgid "Brace found at end of lyric. Did you forget a space?" msgstr "" -#: lexer.ll:439 +#: lexer.ll:440 #, c-format msgid "invalid character: `%c'" msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ: `%c'" -#: lexer.ll:520 +#: lexer.ll:521 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `\\%s'" -#: lexer.ll:602 +#: lexer.ll:603 #, fuzzy, c-format msgid "incorrect lilypond version: %s (%s, %s)" msgstr "ÎÅ×ÅÒÎÁÑ ×ÅÒÓÉÑ mudela: %s (%s, %s)" -#: lexer.ll:603 +#: lexer.ll:604 msgid "Consider converting the input with the convert-ly script" msgstr "" +#: lilypond-item.cc:161 +#, c-format +msgid "#32 in quarter: %d" +msgstr "#32 × ÞÅÔ×ÅÒÔÎÏÊ: %d" + +#: lilypond-score.cc:108 +#, c-format +msgid "Lily output to %s..." +msgstr "Lily ×ÙÈÏÄ × %s..." + +#: lilypond-score.cc:119 +#, c-format +msgid "track %d:" +msgstr "ÄÏÒÏÖËÁ %d:" + +#: lilypond-score.cc:155 +msgid "Processing..." +msgstr "ïÂÒÁÂÁÔÙ×ÁÀ..." + +#: lilypond-score.cc:164 +msgid "Creating voices..." +msgstr "óÏÚÄÁÀ ÇÏÌÏÓÁ..." + +#: lilypond-score.cc:168 +msgid "track " +msgstr "ÄÏÒÏÖËÁ" + +#: lilypond-score.cc:177 +msgid "NOT Filtering tempo..." +msgstr "" + +#: lilypond-score.cc:186 +msgid "NOT Quantifying columns..." +msgstr "" + +#: lilypond-score.cc:190 +msgid "Quantifying columns..." +msgstr "" + +#: lilypond-score.cc:223 +msgid "Settling columns..." +msgstr "" + +#: lilypond-staff.cc:209 +msgid "% MIDI copyright:" +msgstr "% MIDI copyright:" + +#: lilypond-staff.cc:210 +msgid "% MIDI instrument:" +msgstr "% MIDI ÉÎÓÔÒÕÍÅÎÔ:" + +#: lilypond-stream.cc:37 +#, c-format +msgid "lily indent level: %d" +msgstr "ÕÒÏ×ÅÎØ ÏÔÓÔÕÐÏ× lily: %d" + +#. Maybe better not to translate these? +#: lilypond-stream.cc:83 +msgid "% Creator: " +msgstr "% óÏÚÄÁÔÅÌØ: " + +#: lilypond-stream.cc:88 +msgid "% Automatically generated" +msgstr "% á×ÔÏÍÁÔÉÞÅÓËÉ ÓÇÅÎÅÒÉÒÏ×ÁÎÏ" + +#: lilypond-stream.cc:97 +#, c-format +msgid "% from input file: " +msgstr "% ÉÚ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ: " + #: main.cc:93 msgid "write exact durations, e.g.: a4*385/384" msgstr "" @@ -1066,6 +1173,10 @@ msgstr " msgid "set smallest duration" msgstr "ÕÓÔÁÎÏ×ÉÔØ ÎÁÉÍÅÎØÛÕÀ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ" +#: main.cc:103 +msgid "don't timestamp the output" +msgstr "ÎÅ ÏÔÍÅÞÁÔØ ÄÁÔÕ É ×ÒÅÍÑ ×Ù×ÏÄÁ" + #: main.cc:105 msgid "be verbose" msgstr "ÂÙÔØ ÂÏÌÔÌÉ×ÙÍ" @@ -1080,7 +1191,8 @@ msgid "Usage: %s [OPTION]... [FILE]" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ïðãéñ]... [æáêì]" #: main.cc:116 -msgid "Translate MIDI-file to mudela" +#, fuzzy +msgid "Translate MIDI-file to lilypond" msgstr "ôÒÁÎÓÌÉÒÏ×ÁÔØ MIDI-ÆÁÊÌ × mudela" #: main.cc:130 @@ -1157,76 +1269,6 @@ msgstr " msgid "invalid track length" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÄÏÒÏÖËÉ" -#: mudela-item.cc:161 -#, c-format -msgid "#32 in quarter: %d" -msgstr "#32 × ÞÅÔ×ÅÒÔÎÏÊ: %d" - -#: mudela-score.cc:108 -#, c-format -msgid "Lily output to %s..." -msgstr "Lily ×ÙÈÏÄ × %s..." - -#: mudela-score.cc:119 -#, c-format -msgid "track %d:" -msgstr "ÄÏÒÏÖËÁ %d:" - -#: mudela-score.cc:155 -msgid "Processing..." -msgstr "ïÂÒÁÂÁÔÙ×ÁÀ..." - -#: mudela-score.cc:164 -msgid "Creating voices..." -msgstr "óÏÚÄÁÀ ÇÏÌÏÓÁ..." - -#: mudela-score.cc:168 -msgid "track " -msgstr "ÄÏÒÏÖËÁ" - -#: mudela-score.cc:177 -msgid "NOT Filtering tempo..." -msgstr "" - -#: mudela-score.cc:186 -msgid "NOT Quantifying columns..." -msgstr "" - -#: mudela-score.cc:190 -msgid "Quantifying columns..." -msgstr "" - -#: mudela-score.cc:223 -msgid "Settling columns..." -msgstr "" - -#: mudela-staff.cc:209 -msgid "% MIDI copyright:" -msgstr "% MIDI copyright:" - -#: mudela-staff.cc:210 -msgid "% MIDI instrument:" -msgstr "% MIDI ÉÎÓÔÒÕÍÅÎÔ:" - -#: mudela-stream.cc:37 -#, c-format -msgid "lily indent level: %d" -msgstr "ÕÒÏ×ÅÎØ ÏÔÓÔÕÐÏ× lily: %d" - -#. Maybe better not to translate these? -#: mudela-stream.cc:83 -msgid "% Creator: " -msgstr "% óÏÚÄÁÔÅÌØ: " - -#: mudela-stream.cc:88 -msgid "% Automatically generated" -msgstr "% á×ÔÏÍÁÔÉÞÅÓËÉ ÓÇÅÎÅÒÉÒÏ×ÁÎÏ" - -#: mudela-stream.cc:97 -#, c-format -msgid "% from input file: " -msgstr "% ÉÚ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ: " - #, fuzzy #~ msgid "Dependency file left in `%s'" #~ msgstr "úÁÐÉÓÙ×ÁÀ ÆÁÊÌ ÚÁ×ÉÓÉÍÏÓÔÅÊ: `%s'..." @@ -1286,9 +1328,6 @@ msgstr "% #~ msgid "No key name, assuming `C'" #~ msgstr "îÅÔ ÎÁÚ×ÁÎÉÑ ËÌÀÞÁ, ÐÏÄÒÁÚÕÍÅ×ÁÀ `C'" -#~ msgid "Don't know how handle empty keys" -#~ msgstr "îÅ ÚÎÁÀ, ÞÔÏ ÄÅÌÁÔØ Ó ÐÕÓÔÙÍÉ ËÌÀÞÁÍÉ" - #~ msgid "out of tune:" #~ msgstr "×ÎÅ ÔÏÎÁÌØÎÏÓÔÉ:" diff --git a/scm/basic-properties.scm b/scm/basic-properties.scm index 9c809fb6d3..e76878cf5f 100644 --- a/scm/basic-properties.scm +++ b/scm/basic-properties.scm @@ -21,6 +21,7 @@ ; ; How should a bar line behave at a break? ; +;; Why prepend `default-' to every scm identifier? (define (default-break-barline glyph dir) (let ((result (assoc glyph '((":|:" . (":|" . "|:")) diff --git a/scm/c++.scm b/scm/c++.scm index 045002d357..793d287a5f 100644 --- a/scm/c++.scm +++ b/scm/c++.scm @@ -86,11 +86,11 @@ (uniqued-alist (cdr alist) (cons (car alist) acc))))) +;; used in denneboom.ly +(define (cons-map f x) + (cons (f (car x)) (f (cdr x)))) -;;(define (cons-map f x) -;; (cons (f (car x)) (f (cdr x)))) - - +;; used where? ;;(define (reduce operator list) ;; (if (null? (cdr list)) (car list) ;; (operator (car list) (reduce operator (cdr list))))) diff --git a/scm/lily.scm b/scm/lily.scm index 3019ca7bdd..f2b11acc73 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -31,6 +31,9 @@ (string-append (number->string line) " " file) ) +;; cpp hack to get useful error message +(define ifdef "First run this through cpp.") +(define ifndef "First run this through cpp.") (define default-script-alist '()) (define font-name-alist '()) diff --git a/scripts/as2text.scm b/scripts/as2text.scm index 4efa72737c..b3d127a8ce 100644 --- a/scripts/as2text.scm +++ b/scripts/as2text.scm @@ -378,10 +378,10 @@ Options: (begin (set! fonts (cons (cons "default" (generate-default-font)) fonts)) (display "\n" (current-error-port)) - (if (and (defined? 'mudelapaperlinewidth) - (> (string->number mudelapaperlinewidth) 0)) + (if (and (defined? 'lilypondpaperlinewidth) + (> (string->number lilypondpaperlinewidth) 0)) (set! canvas-width - (inexact->exact (string->number mudelapaperlinewidth)))))) + (inexact->exact (string->number lilypondpaperlinewidth)))))) (set! canvas-height height) (set! canvas (make-array " " canvas-height canvas-width))) diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index 461258cb97..9a4d5a05c0 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -7,7 +7,16 @@ ''' TODO: - * --dependencies + * check --dependencies + + * move versatile taglines, + + \header { + beginfooter=\mutopiaPD + endfooter=\tagline -> 'lily was here ' + } + + * head/header tagline/endfooter * dvi from lilypond .tex output? This is hairy, because we create dvi from lilypond .tex *and* header output. @@ -43,7 +52,7 @@ extra_init = { 'latexheaders' : [], 'latexpackages' : ['geometry'], 'papersize' : [], - 'pagenumber' : [], + 'pagenumber' : [1], 'textheight' : [], 'linewidth' : [], 'orientation' : [] @@ -70,12 +79,16 @@ if program_version == '@' + 'TOPLEVEL_VERSION' + '@': # generate ps ? postscript_p = 0 +# be verbose? +verbose_p = 0 + option_definitions = [ ('', 'h', 'help', _ ("this help")), ('KEY=VAL', 's', 'set', _ ("change global setting KEY to VAL")), ('', 'P', 'postscript', _ ("generate PostScript output")), ('', 'k', 'keep', _ ("keep all output, and name the directory ly2dvi.dir")), ('', '', 'no-lily', _ ("don't run LilyPond")), + ('', 'V', 'verbose', _ ("verbose")), ('', 'v', 'version', _ ("print version number")), ('', 'w', 'warranty', _ ("show warranty and copyright")), ('DIR', '', 'outdir', _ ("dump all final output into DIR")), @@ -99,10 +112,12 @@ NO WARRANTY.''')) +def star_progress (s): + '''Progress messages that stand out between lilypond stuff''' + progress ('*** ' + s) + def progress (s): - '''Make the progress messages stand out between lilypond stuff''' - # Why should they have to stand out? Blend in would be nice too. - sys.stderr.write ('*** ' + s+ '\n') + sys.stderr.write (s + '\n') def warning (s): sys.stderr.write (_ ("warning: ") + s) @@ -131,7 +146,7 @@ def find_file (name): except IOError: pass if f: - sys.stderr.write (_ ("Reading `%s'") % nm) + sys.stderr.write (_ ("Reading %s...") % nm) sys.stderr.write ('\n'); return (f.read (), nm) else: @@ -236,12 +251,13 @@ def setup_temp (): os.environ['TFMFONTS'] = original_dir + fp os.chdir (temp_dir) - progress (_ ('Temp directory is `%s\'\n') % temp_dir) + if verbose_p: + progress (_ ('Temp directory is `%s\'\n') % temp_dir) def system (cmd, ignore_error = 0): - sys.stderr.write (_ ("Invoking `%s\'") % cmd) - sys.stderr.write ('\n') + if verbose_p: + progress (_ ("Invoking `%s\'") % cmd) st = os.system (cmd) if st: msg = ( _ ("error: ") + _ ("command exited with value %d") % st) @@ -254,7 +270,8 @@ def system (cmd, ignore_error = 0): def cleanup_temp (): if not keep_temp_dir: - progress (_ ('Cleaning up `%s\'') % temp_dir) + if verbose_p: + progress (_ ('Cleaning up `%s\'') % temp_dir) system ('rm -rf %s' % temp_dir) @@ -403,26 +420,35 @@ def global_latex_definition (tfiles, extra): linewidth = 597 s = s + '\geometry{width=%spt%s,headheight=2mm,headsep=0pt,footskip=2mm,%s}\n' % (linewidth, textheight, orientation) - s= s + r''' -\usepackage[latin1]{inputenc} + s = s + r''' +\usepackage[latin1]{inputenc} \input{titledefs} \makeatletter -\renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\thefooter}}%% +\renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\thefooter}}% ''' - if extra['pagenumber'] and extra['pagenumber'][-1]: + + if extra['pagenumber'] and extra['pagenumber'][-1] and extra['pagenumber'][-1] != 'no': s = s + r''' - \renewcommand{\@oddhead}{\parbox{\textwidth}%% - {\mbox{}\small\theheader\hfill\textbf{\thepage}}}%%''' +\renewcommand{\@oddhead}{\parbox{\textwidth}% + {\mbox{}\small\theheader\hfill\textbf{\thepage}}} +''' else: - s = s + '\\pagestyle{empty}' - - s = s + '\\begin{document}' + s = s + '\\pagestyle{empty}\n' + + s = s + '\\makeatother\n' + s = s + '\\begin{document}\n' + first = 1 for t in tfiles: s = s + one_latex_definition (t, first) first = 0 - + + s = s + r''' +\makeatletter +\renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\lilypondtagline}}% +\makeatother +''' s = s + '\\end{document}' return s @@ -443,7 +469,7 @@ def do_files (fs, extra): f.close () # todo: nonstopmode - system ('latex %s' % latex_file) + system ('latex \\\\nonstopmode \\\\input %s' % latex_file) return latex_file + '.dvi' def generate_postscript (dvi_name, extra): @@ -510,6 +536,8 @@ for opt in options: set_setting (extra_init, ss[0], ss[1]) elif o == '--dependencies' or o == '-d': track_dependencies_p = 1 + elif o == '--verbose' or o == '-V': + verbose_p = 1 elif o == '--version' or o == '-v': identify () sys.exit (0) @@ -559,7 +587,8 @@ if files: if outdir != '.': system ('mkdir -p %s' % outdir) system ('cp \"%s\" \"%s\"' % (srcname, dest )) - system ('cp *.midi %s' % outdir, ignore_error = 1) + if re.match ('[.]midi', string.join (os.listdir ('.'))): + system ('cp *.midi %s' % outdir, ignore_error = 1) depfile = os.path.join (outdir, base + '.dep') @@ -571,7 +600,7 @@ if files: # most insteresting info last progress (_ ("dependencies output to %s...") % depfile) - progress (_ ("%s file left in `%s'") % (type, dest)) + progress (_ ("%s output to %s...") % (type, dest)) diff --git a/tex/test-pedal.tex b/tex/test-pedal.tex new file mode 100644 index 0000000000..d66fca3996 --- /dev/null +++ b/tex/test-pedal.tex @@ -0,0 +1,39 @@ +% pedal.tex + +\hsize = 296mm +\vsize = 210mm + +% fix chord.cc::banter_str before removing these +\def\fetdef#1#2{% + \def#1{\hbox{\char#2}}} + +\fetdef\pedalasterisk{101} +\fetdef\pedaldash{102} +\fetdef\pedaldot{103} +\fetdef\pedalP{104} +\fetdef\pedald{105} +\fetdef\pedale{106} + +%\font\fetatwentysixfontt=feta26 scaled \magstep 4 +%\font\fetatwentysixfontt=feta26 scaled 18842 +\font\fetatwentysixfontt=feta26 scaled 2407 +\magnification \magstep 4 + +\def\fetafont{\fetatwentysixfontt} + +\baselineskip 12mm + +\vbox{ +\kern 20mm + +\hbox{ +\fetatwentysixfontt +\hbox { \pedalP\kern-0.06ex\pedale\kern -0.55ex\pedald\pedaldot} +\kern 50mm +\pedalasterisk +} +} + +\end + +%\endinput -- 2.39.5