From: Francisco Vila Date: Fri, 24 Feb 2012 18:18:26 +0000 (+0100) Subject: Merge branch 'master' into lilypond/translation X-Git-Tag: release/2.15.32-1~18^2~6^2~3 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7c28d92ec9fe798b19c5689feedba5af7a14da9a;hp=4dbf9064ec751f1da211c484c9066332415484bb;p=lilypond.git Merge branch 'master' into lilypond/translation --- diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index 22da2d8fa8..5f04dc880c 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -195,7 +195,7 @@ endif ### Rules $(outdir)/lilypond-%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi - $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $< + $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<" "$*.makeinfo.log" txt-to-html: $(OUT_TXT_FILES) $(OUT_TXT_FILES:%.txt=%.html) @@ -231,11 +231,11 @@ endif # Ugh, using '%' twice not possible $(outdir)/notation/notation.xml: $(outdir)/notation.texi mkdir -p $(dir $@) - $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$(dir $@) --docbook $< + $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$(dir $@) --docbook $<" "$*.makeinfoxml.log" $(outdir)/internals/internals.xml: $(outdir)/internals.texi mkdir -p $(dir $@) - $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$(dir $@) --docbook $< + $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$(dir $@) --docbook $<" "$*.makeinfoxml.log" $(outdir)/learning.texi $(outdir)/notation.texi: $(OUT_PDF_IMAGES) diff --git a/Documentation/notation/percussion.itely b/Documentation/notation/percussion.itely index e04acdf42c..cc4dd03a2c 100644 --- a/Documentation/notation/percussion.itely +++ b/Documentation/notation/percussion.itely @@ -144,7 +144,7 @@ as described in @ref{Tremolo repeats}. } @end lilypond -Sticking can be indicated by placing placing markup for @code{"R"} +Sticking can be indicated by placing a markup for @code{"R"} or @code{"L"} above or below notes, as discussed in @ref{Direction and placement}. The @code{staff-padding} property may be overridden to achieve a pleasing baseline. diff --git a/Documentation/notation/spacing.itely b/Documentation/notation/spacing.itely index c1603fb22b..6b7f49e6bb 100644 --- a/Documentation/notation/spacing.itely +++ b/Documentation/notation/spacing.itely @@ -349,7 +349,7 @@ example orchestral scores. If set to false, systems will spread vertically down the last page. Pieces that amply fill two pages or more should have this -set to true. It also affects the last page of book parts, i.e. +set to false. It also affects the last page of book parts, i.e. parts of a book created with @code{\bookpart} blocks. @end table @@ -468,6 +468,10 @@ collisions. @end itemize +For multi-page scores with a ragged bottom on the last page, the last +page uses the same spacing as the preceding page, provided there is +enough space for that. + Specific methods for modifying alists are discussed in @ref{Modifying alists}. The following example demonstrates the two ways these alists can be modified. The first declaration diff --git a/Documentation/po/GNUmakefile b/Documentation/po/GNUmakefile index 9849b93546..7fe191f1d5 100644 --- a/Documentation/po/GNUmakefile +++ b/Documentation/po/GNUmakefile @@ -12,7 +12,7 @@ DOC_PO_SOURCES = python/auxiliar/postprocess_html.py \ scripts/auxiliar/tely-gettext.py scripts/auxiliar/translations-status.py TELY_FILES = $(shell ls $(depth)/Documentation/*.tely) TELY_FILES += $(foreach l, $(LANGS), $(shell ls $(depth)/Documentation/$(l)/*.tely)) -LSR_LYS := $(shell ls $(depth)/Documentation/snippets/*.ly) +LSR_LYS = $(shell ls $(depth)/Documentation/snippets/*.ly) TELY_FILES += $(LSR_LYS:%.ly=../%.ly) messages: $(outdir)/messages diff --git a/Documentation/snippets/new/centering-markup-on-note-heads-automatically.ly b/Documentation/snippets/new/centering-markup-on-note-heads-automatically.ly index 47169a559b..2d1ec280ef 100644 --- a/Documentation/snippets/new/centering-markup-on-note-heads-automatically.ly +++ b/Documentation/snippets/new/centering-markup-on-note-heads-automatically.ly @@ -1,4 +1,4 @@ -\version "2.14.0" +\version "2.15.31" \header { lsrtags = "text, tweaks-and-overrides, contexts-and-engravers" @@ -17,29 +17,23 @@ been shifted via @code{force-hshift}. #(define (Text_align_engraver ctx) (let ((scripts '()) (note-column #f)) - - `((acknowledgers - (note-column-interface - . ,(lambda (trans grob source) - ;; cache NoteColumn in this Voice context - (set! note-column grob))) - - (text-script-interface - . ,(lambda (trans grob source) - ;; whenever a TextScript is acknowledged, - ;; add it to `scripts' list - (set! scripts (cons grob scripts))))) - - (stop-translation-timestep - . ,(lambda (trans) - ;; if any TextScript grobs exist, - ;; set NoteColumn as X-parent - (and (pair? scripts) - (for-each (lambda (script) - (set! (ly:grob-parent script X) note-column)) - scripts)) - ;; clear scripts ready for next timestep - (set! scripts '())))))) + (make-engraver + (acknowledgers + ((note-column-interface trans grob source) + ;; cache NoteColumn in this Voice context + (set! note-column grob)) + ((text-script-interface trans grob source) + ;; whenever a TextScript is acknowledged, + ;; add it to `scripts' list + (set! scripts (cons grob scripts)))) + ((stop-translation-timestep trans) + ;; if any TextScript grobs exist, + ;; set NoteColumn as X-parent + (for-each (lambda (script) + (set! (ly:grob-parent script X) note-column)) + scripts) + ;; clear scripts ready for next timestep + (set! scripts '()))))) \layout { \context { diff --git a/Documentation/snippets/new/defining-an-engraver-in-scheme-ambitus-engraver.ly b/Documentation/snippets/new/defining-an-engraver-in-scheme-ambitus-engraver.ly index 379dc69147..8958cd9e12 100644 --- a/Documentation/snippets/new/defining-an-engraver-in-scheme-ambitus-engraver.ly +++ b/Documentation/snippets/new/defining-an-engraver-in-scheme-ambitus-engraver.ly @@ -1,4 +1,4 @@ -\version "2.14.0" +\version "2.15.31" \header { @@ -21,10 +21,6 @@ %%% Grob utilities %%% %%% These are literal rewrites of some C++ methods used by the ambitus engraver. -#(define (ly:event::in-event-class event class-name) - "Check if @var{event} the given class. -Rewrite of @code{Stream_event::internal_in_event_class} from @file{lily/stream-event.cc}." - (memq class-name (ly:make-event-class (ly:event-property event 'class)))) #(define (ly:separation-item::add-conditional-item grob grob-item) "Add @var{grob-item} to the array of conditional elements of @var{grob}. @@ -188,7 +184,7 @@ position of middle C and key signature from @var{translator}'s context." ;; Get the event that caused the note-grob creation ;; and check that it is a note-event. (let ((note-event (ly:grob-property note-grob 'cause))) - (if (ly:event::in-event-class note-event 'note-event) + (if (ly:in-event-class? note-event 'note-event) ;; get the pitch from the note event (let ((pitch (ly:event-property note-event 'pitch))) ;; if this pitch is lower than the current ambitus lower @@ -292,23 +288,24 @@ position of middle C and key signature from @var{translator}'s context." (lambda (context) (let ((ambitus #f)) ;; when music is processed: make the ambitus object, if not already built - `((process-music . ,(lambda (translator) - (if (not ambitus) - (set! ambitus (make-ambitus translator))))) - ;; set the ambitus clef and key signature state - (stop-translation-timestep . ,(lambda (translator) - (if ambitus - (initialize-ambitus-state ambitus translator)))) - ;; when a note-head grob is built, update the ambitus notes - (acknowledgers - (note-head-interface . ,(lambda (engraver grob source-engraver) - (if ambitus - (update-ambitus-notes ambitus grob))))) - ;; finally, typeset the ambitus according to its upper and lower notes - ;; (if any). - (finalize . ,(lambda (translator) - (if ambitus - (typeset-ambitus ambitus translator)))))))) + (make-engraver + ((process-music translator) + (if (not ambitus) + (set! ambitus (make-ambitus translator)))) + ;; set the ambitus clef and key signature state + ((stop-translation-timestep translator) + (if ambitus + (initialize-ambitus-state ambitus translator))) + ;; when a note-head grob is built, update the ambitus notes + (acknowledgers + ((note-head-interface engraver grob source-engraver) + (if ambitus + (update-ambitus-notes ambitus grob)))) + ;; finally, typeset the ambitus according to its upper and lower notes + ;; (if any). + ((finalize translator) + (if ambitus + (typeset-ambitus ambitus translator))))))) %%% %%% Example diff --git a/Documentation/snippets/new/numbers-as-easy-note-heads.ly b/Documentation/snippets/new/numbers-as-easy-note-heads.ly index 03e0578af2..2b86eb9f1a 100644 --- a/Documentation/snippets/new/numbers-as-easy-note-heads.ly +++ b/Documentation/snippets/new/numbers-as-easy-note-heads.ly @@ -1,4 +1,4 @@ -\version "2.14.0" +\version "2.15.31" \header { lsrtags = "pitches" @@ -15,21 +15,19 @@ object it sees. } #(define Ez_numbers_engraver - (list - (cons 'acknowledgers - (list - (cons 'note-head-interface - (lambda (engraver grob source-engraver) - (let* ((context (ly:translator-context engraver)) - (tonic-pitch (ly:context-property context 'tonic)) - (tonic-name (ly:pitch-notename tonic-pitch)) - (grob-pitch - (ly:event-property (event-cause grob) 'pitch)) - (grob-name (ly:pitch-notename grob-pitch)) - (delta (modulo (- grob-name tonic-name) 7)) - (note-names - (make-vector 7 (number->string (1+ delta))))) - (ly:grob-set-property! grob 'note-names note-names)))))))) + (make-engraver + (acknowledgers + ((note-head-interface engraver grob source-engraver) + (let* ((context (ly:translator-context engraver)) + (tonic-pitch (ly:context-property context 'tonic)) + (tonic-name (ly:pitch-notename tonic-pitch)) + (grob-pitch + (ly:event-property (event-cause grob) 'pitch)) + (grob-name (ly:pitch-notename grob-pitch)) + (delta (modulo (- grob-name tonic-name) 7)) + (note-names + (make-vector 7 (number->string (1+ delta))))) + (ly:grob-set-property! grob 'note-names note-names)))))) #(set-global-staff-size 26) diff --git a/Documentation/web/news-front.itexi b/Documentation/web/news-front.itexi index 72935e8a77..9e265f6887 100644 --- a/Documentation/web/news-front.itexi +++ b/Documentation/web/news-front.itexi @@ -10,104 +10,18 @@ @newsItem -@subsubheading LilyPond 2.15.29 released! @emph{Feb 9, 2012} - -We are happy to announce the release of LilyPond 2.15.29. This -release contains the usual number of bugfixes. - -It is strongly recommended that normal users do @strong{not} use -this release, and instead use the stable 2.14 version. Please -note that due to a few Critical bugs, this is not the next release -candidate. - -@newsEnd - - -@newsItem -@subsubheading LilyPond 2.15.28 released! @emph{Feb 3, 2012} - -We are happy to announce the release of LilyPond 2.15.28. This -release contains the usual number of bugfixes. - -It is strongly recommended that normal users do @strong{not} use -this release, and instead use the stable 2.14 version. Please -note that due to a few Critical bugs, this is not the next release -candidate. - -@newsEnd - - -@newsItem -@subsubheading LilyPond 2.15.27 released! @emph{Jan 24, 2012} - -We are happy to announce the release of LilyPond 2.15.27. This -release contains the usual number of bugfixes. - -It is strongly recommended that normal users do @strong{not} use -this release, and instead use the stable 2.14 version. Please -note that due to a few Critical bugs, this is not the next release -candidate. - -@newsEnd - - -@newsItem -@subsubheading The LilyPond Report #23. @emph{Jan 20, 2012} - -The @emph{LilyPond Report} is back, with developer -David Kastrup as a new editor! This issue features -an exposé on some of the new, handy commands -recently added to LilyPond, as well as an interview -with LilyPond contributor and composer Mike Solomon. - -Come -@uref{http://news.lilynet.net/?The-LilyPond-Report-23, read -LilyPond Report 23} now; comments and contributions are -+warmly encouraged! - -@newsEnd - - -@newsItem -@subsubheading LilyPond 2.15.26 released! @emph{Jan 16, 2012} - -We are happy to announce the release of LilyPond 2.15.26. This -release contains the usual number of bugfixes. - -It is strongly recommended that normal users do @strong{not} use -this release, and instead use the stable 2.14 version. Please -note that due to a few Critical bugs, this is not the next release -candidate. - -The 2.15.25 has been skipped due to build problems. - -@newsEnd - - -@newsItem -@subsubheading LilyPond 2.15.24 released! @emph{Jan 07, 2012} - -We are happy to announce the release of LilyPond 2.15.24. This -release contains the usual number of bugfixes. - -It is strongly recommended that normal users do @strong{not} use -this release, and instead use the stable 2.14 version. Please -note that due to a few Critical bugs, this is not the next release -candidate. - -@newsEnd - - -@newsItem -@subsubheading LilyPond 2.15.23 released! @emph{Dec 21, 2011} - -We are happy to announce the release of LilyPond 2.15.23. This -release contains the usual number of bugfixes. - -It is strongly recommended that normal users do @strong{not} use -this release, and instead use the stable 2.14 version. Please -note that due to a few Critical bugs, this is not the next release -candidate. +@subsubheading Release candidate 3 of 2.16 - LilyPond 2.15.30 released! @emph{Feb 17, 2012} + +LilyPond 2.15.30 is out; this is the third release candidate of +the upcoming 2.16 stable release. All users are invited to +experiment with this version. New features since 2.14.2 are +listed in the @qq{Changes} manual on the website section about +@ref{Development}. + +There are no known Critical issues with this release. If no +Critical bugs are found, then the official 2.16.0 release will be +on 02 March 2012. If you discover any problems, please send us +@ref{Bug reports}. @newsEnd diff --git a/Documentation/web/news.itexi b/Documentation/web/news.itexi index 11555cdb45..c5fd9cc014 100644 --- a/Documentation/web/news.itexi +++ b/Documentation/web/news.itexi @@ -27,6 +27,109 @@ NOTE: @end ignore +@newsItem +@subsubheading LilyPond 2.15.29 released! @emph{Feb 9, 2012} + +We are happy to announce the release of LilyPond 2.15.29. This +release contains the usual number of bugfixes. + +It is strongly recommended that normal users do @strong{not} use +this release, and instead use the stable 2.14 version. Please +note that due to a few Critical bugs, this is not the next release +candidate. + +@newsEnd + + +@newsItem +@subsubheading LilyPond 2.15.28 released! @emph{Feb 3, 2012} + +We are happy to announce the release of LilyPond 2.15.28. This +release contains the usual number of bugfixes. + +It is strongly recommended that normal users do @strong{not} use +this release, and instead use the stable 2.14 version. Please +note that due to a few Critical bugs, this is not the next release +candidate. + +@newsEnd + + +@newsItem +@subsubheading LilyPond 2.15.27 released! @emph{Jan 24, 2012} + +We are happy to announce the release of LilyPond 2.15.27. This +release contains the usual number of bugfixes. + +It is strongly recommended that normal users do @strong{not} use +this release, and instead use the stable 2.14 version. Please +note that due to a few Critical bugs, this is not the next release +candidate. + +@newsEnd + + +@newsItem +@subsubheading The LilyPond Report #23. @emph{Jan 20, 2012} + +The @emph{LilyPond Report} is back, with developer +David Kastrup as a new editor! This issue features +an exposé on some of the new, handy commands +recently added to LilyPond, as well as an interview +with LilyPond contributor and composer Mike Solomon. + +Come +@uref{http://news.lilynet.net/?The-LilyPond-Report-23, read +LilyPond Report 23} now; comments and contributions are ++warmly encouraged! + +@newsEnd + + +@newsItem +@subsubheading LilyPond 2.15.26 released! @emph{Jan 16, 2012} + +We are happy to announce the release of LilyPond 2.15.26. This +release contains the usual number of bugfixes. + +It is strongly recommended that normal users do @strong{not} use +this release, and instead use the stable 2.14 version. Please +note that due to a few Critical bugs, this is not the next release +candidate. + +The 2.15.25 has been skipped due to build problems. + +@newsEnd + + +@newsItem +@subsubheading LilyPond 2.15.24 released! @emph{Jan 07, 2012} + +We are happy to announce the release of LilyPond 2.15.24. This +release contains the usual number of bugfixes. + +It is strongly recommended that normal users do @strong{not} use +this release, and instead use the stable 2.14 version. Please +note that due to a few Critical bugs, this is not the next release +candidate. + +@newsEnd + + +@newsItem +@subsubheading LilyPond 2.15.23 released! @emph{Dec 21, 2011} + +We are happy to announce the release of LilyPond 2.15.23. This +release contains the usual number of bugfixes. + +It is strongly recommended that normal users do @strong{not} use +this release, and instead use the stable 2.14 version. Please +note that due to a few Critical bugs, this is not the next release +candidate. + +@newsEnd + + @newsItem @subsubheading LilyPond 2.15.22 released! @emph{Dec 15, 2011} diff --git a/GNUmakefile.in b/GNUmakefile.in index 2cd9723edc..bd2d0ce5a3 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -128,6 +128,8 @@ WEB_TRACKED_FILES = $(filter-out $(outdir)/index.html, \ $(shell bash -O nullglob -c "echo $(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}")) \ $(shell bash -O nullglob -c "echo input/$(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") \ $(shell bash -O nullglob -c "echo input/*/$(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") \ + $(shell bash -O nullglob -c "echo input/*/*/$(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") \ + $(shell bash -O nullglob -c "echo input/regression/lilypond-book/$(outdir)/*.{info,tex}") \ $(shell bash -O nullglob -c "echo Documentation/$(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") \ $(shell bash -O nullglob -c "echo Documentation/$(outdir)/*/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") diff --git a/VERSION b/VERSION index 0f26889715..533839d81a 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=2 MINOR_VERSION=15 -PATCH_LEVEL=30 +PATCH_LEVEL=31 MY_PATCH_LEVEL= VERSION_STABLE=2.14.2 -VERSION_DEVEL=2.15.29 +VERSION_DEVEL=2.15.30 diff --git a/configure.in b/configure.in index b2fc7f4be7..0189be15b2 100644 --- a/configure.in +++ b/configure.in @@ -210,7 +210,7 @@ STEPMAKE_PERL(OPTIONAL) STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.11) STEPMAKE_PROGS(TEXI2HTML, texi2html, OPTIONAL, 1.82) -STEPMAKE_PROGS(DBLATEX, dblatex, OPTIONAL) +STEPMAKE_PROGS(DBLATEX, dblatex, OPTIONAL, 0.1.4) STEPMAKE_PROGS(PDFLATEX, pdflatex, OPTIONAL) STEPMAKE_PROGS(NETPBM, pngtopnm, OPTIONAL) STEPMAKE_PROGS(IMAGEMAGICK, convert, OPTIONAL) diff --git a/input/regression/extratoken.ly b/input/regression/extratoken.ly new file mode 100644 index 0000000000..754b1f58bf --- /dev/null +++ b/input/regression/extratoken.ly @@ -0,0 +1,20 @@ +\header { + texidoc = "A mode switching command like @code{\\lyricsto} will +`pop state' when seeing the lookahead token @code{\\time}, a music +function, after its non-delimited argument. This must not cause the +extra token parsing state for the music function to disappear." +} + +\paper { + ragged-right = ##t +} + +\version "2.15.31" + +x=\lyrics { oh } + +<< + \new Voice = m { c'4 r r } + \lyricsto "m" \x + \time 3/4 +>> diff --git a/input/regression/lilypond-book/GNUmakefile b/input/regression/lilypond-book/GNUmakefile index 4cec06b661..ff6cd10b48 100644 --- a/input/regression/lilypond-book/GNUmakefile +++ b/input/regression/lilypond-book/GNUmakefile @@ -33,5 +33,12 @@ $(outdir)/collated-files.list: $(OUT_FILES) $(outdir)/suffix-texi.texi: suffix-texi.texi $(outdir)/version.itexi $(DOCUMENTATION_LOCALE_TARGET) $(INIT_LY_SOURCES) $(SCHEME_SOURCES) LILYPOND_VERSION=$(TOPLEVEL_VERSION) $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) $(LILYPOND_BOOK_FLAGS) --redirect-lilypond-output $< +# Due to automatic language detection the standard rule using the script +# extract_texi_filenames would create .es.xref-map for these files. The +# following rule is to circumvent this for the purpose of the build. For +# the regression tests the .xref-map files are empty and not used anyway. +$(XREF_MAPS_DIR)/texinfo-include-language-detection.xref-map $(XREF_MAPS_DIR)/texinfo-language-detection.xref-map: %: + touch $@ + # Prevent parallel lilypond-book instances for this subdir .NOTPARALLEL: diff --git a/input/regression/scheme-engraver-instance.ly b/input/regression/scheme-engraver-instance.ly index d78e85a5db..fa32f95200 100644 --- a/input/regression/scheme-engraver-instance.ly +++ b/input/regression/scheme-engraver-instance.ly @@ -8,7 +8,7 @@ } -\version "2.14.0" +\version "2.15.31" \layout { \context { @@ -19,14 +19,14 @@ (set! instance-counter (1+ instance-counter)) (let ((instance-id instance-counter) (private-note-counter 0)) - `((listeners - (note-event - . ,(lambda (engraver event) - (set! private-note-counter (1+ private-note-counter)) - (let ((text (ly:engraver-make-grob engraver 'TextScript event))) - (ly:grob-set-property! text 'text - (format #f "~a.~a" instance-id - private-note-counter)))))))))) + (make-engraver + (listeners + ((note-event engraver event) + (set! private-note-counter (1+ private-note-counter)) + (let ((text (ly:engraver-make-grob engraver 'TextScript event))) + (ly:grob-set-property! text 'text + (format #f "~a.~a" instance-id + private-note-counter))))))))) } } diff --git a/input/regression/scheme-engraver.ly b/input/regression/scheme-engraver.ly index 115429f90c..0be6f0d947 100644 --- a/input/regression/scheme-engraver.ly +++ b/input/regression/scheme-engraver.ly @@ -5,68 +5,49 @@ } -\version "2.14.0" +\version "2.15.31" \layout { \context { \Voice \consists - #(list - (cons 'initialize - (lambda (trans) - (display (list "initialize" - (ly:context-current-moment - (ly:translator-context trans)) "\n") (current-error-port)))) - (cons 'start-translation-timestep - (lambda (trans) - (display (list "start-trans" - (ly:context-current-moment - (ly:translator-context trans)) "\n") (current-error-port)))) - (cons 'listeners - (list - (cons 'rest-event (lambda (engraver event) - (let* - ((x (ly:engraver-make-grob engraver 'TextScript event))) - (display (list "caught event" event "\ncreate:\n" x "\n") (current-error-port)) - (ly:grob-set-property! x 'text "hi")) - )) - )) - (cons 'acknowledgers - (list - (cons 'note-head-interface - (lambda (engraver grob source-engraver) - (display (list "saw head: " grob " coming from " source-engraver) (current-error-port)) - )) - )) - (cons 'end-acknowledgers - (list - (cons 'beam-interface - (lambda (engraver grob source-engraver) - (display (list "saw end of beam: " grob " coming from " source-engraver) (current-error-port)) - )) - )) - (cons 'process-music - (lambda (trans) - (display (list "process-music" - (ly:context-current-moment - (ly:translator-context trans)) "\n") (current-error-port)))) - (cons 'process-acknowledged - (lambda (trans) - (display (list "process-acknowledged" - (ly:context-current-moment - (ly:translator-context trans)) "\n") (current-error-port)))) - (cons 'stop-translation-timestep - (lambda (trans) - (display (list "stop-trans" - (ly:context-current-moment - (ly:translator-context trans)) "\n") (current-error-port)))) - (cons 'finalize - (lambda (trans) - (display (list "finalize" - (ly:context-current-moment - (ly:translator-context trans)) "\n") (current-error-port)))) - ) - + #(make-engraver + ((initialize trans) + (display (list "initialize" + (ly:context-current-moment + (ly:translator-context trans)) "\n") (current-error-port))) + ((start-translation-timestep trans) + (display (list "start-trans" + (ly:context-current-moment + (ly:translator-context trans)) "\n") (current-error-port))) + (listeners + ((rest-event engraver event) + (let* + ((x (ly:engraver-make-grob engraver 'TextScript event))) + (display (list "caught event" event "\ncreate:\n" x "\n") (current-error-port)) + (ly:grob-set-property! x 'text "hi")))) + (acknowledgers + ((note-head-interface engraver grob source-engraver) + (display (list "saw head: " grob " coming from " source-engraver) (current-error-port)))) + (end-acknowledgers + ((beam-interface engraver grob source-engraver) + (display (list "saw end of beam: " grob " coming from " source-engraver) (current-error-port)))) + ((process-music trans) + (display (list "process-music" + (ly:context-current-moment + (ly:translator-context trans)) "\n") (current-error-port))) + ((process-acknowledged trans) + (display (list "process-acknowledged" + (ly:context-current-moment + (ly:translator-context trans)) "\n") (current-error-port))) + ((stop-translation-timestep trans) + (display (list "stop-trans" + (ly:context-current-moment + (ly:translator-context trans)) "\n") (current-error-port))) + ((finalize trans) + (display (list "finalize" + (ly:context-current-moment + (ly:translator-context trans)) "\n") (current-error-port)))) }} diff --git a/input/regression/scheme-text-spanner.ly b/input/regression/scheme-text-spanner.ly index 6541f05a34..c0204d55c7 100644 --- a/input/regression/scheme-text-spanner.ly +++ b/input/regression/scheme-text-spanner.ly @@ -1,4 +1,4 @@ -\version "2.14.0" +\version "2.15.31" \header { texidoc = "Use @code{define-event-class}, scheme engraver methods, @@ -119,64 +119,58 @@ schemeTextSpannerEngraver = (finished '()) (current-event '()) (event-drul '(() . ()))) - (list (cons 'listeners - (list (cons 'scheme-text-span-event - (lambda (engraver event) - (if (= START (ly:event-property event 'span-direction)) - (set-car! event-drul event) - (set-cdr! event-drul event)))))) - (cons 'acknowledgers - (list (cons 'note-column-interface - (lambda (engraver grob source-engraver) - (if (ly:spanner? span) - (begin - (ly:pointer-group-interface::add-grob span 'note-columns grob) - (add-bound-item span grob))) - (if (ly:spanner? finished) - (begin - (ly:pointer-group-interface::add-grob finished 'note-columns grob) - (add-bound-item finished grob))))))) - (cons 'process-music - (lambda (trans) - (if (ly:stream-event? (cdr event-drul)) - (if (null? span) - (ly:warning "You're trying to end a scheme text spanner but you haven't started one.") - (begin (set! finished span) - (ly:engraver-announce-end-grob trans finished current-event) - (set! span '()) - (set! current-event '()) - (set-cdr! event-drul '())))) - (if (ly:stream-event? (car event-drul)) - (begin (set! current-event (car event-drul)) - (set! span (ly:engraver-make-grob trans 'SchemeTextSpanner current-event)) - (set-axis! span Y) - (set-car! event-drul '()))))) - (cons 'stop-translation-timestep - (lambda (trans) - (if (and (ly:spanner? span) - (null? (ly:spanner-bound span LEFT))) - (set! (ly:spanner-bound span LEFT) - (ly:context-property context 'currentMusicalColumn))) - (if (ly:spanner? finished) - (begin - (if (null? (ly:spanner-bound finished RIGHT)) - (set! (ly:spanner-bound finished RIGHT) - (ly:context-property context 'currentMusicalColumn))) - (set! finished '()) - (set! event-drul '(() . ())))))) - (cons 'finalize - (lambda (trans) - (if (ly:spanner? finished) - (begin - (if (null? (ly:spanner-bound finished RIGHT)) - (set! (ly:spanner-bound finished RIGHT) - (ly:context-property context 'currentMusicalColumn))) - (set! finished '()))) - (if (ly:spanner? span) - (begin - (ly:warning "I think there's a dangling scheme text spanner :-(") - (ly:grob-suicide! span) - (set! span '())))))))) + (make-engraver + (listeners ((scheme-text-span-event engraver event) + (if (= START (ly:event-property event 'span-direction)) + (set-car! event-drul event) + (set-cdr! event-drul event)))) + (acknowledgers ((note-column-interface engraver grob source-engraver) + (if (ly:spanner? span) + (begin + (ly:pointer-group-interface::add-grob span 'note-columns grob) + (add-bound-item span grob))) + (if (ly:spanner? finished) + (begin + (ly:pointer-group-interface::add-grob finished 'note-columns grob) + (add-bound-item finished grob))))) + ((process-music trans) + (if (ly:stream-event? (cdr event-drul)) + (if (null? span) + (ly:warning "You're trying to end a scheme text spanner but you haven't started one.") + (begin (set! finished span) + (ly:engraver-announce-end-grob trans finished current-event) + (set! span '()) + (set! current-event '()) + (set-cdr! event-drul '())))) + (if (ly:stream-event? (car event-drul)) + (begin (set! current-event (car event-drul)) + (set! span (ly:engraver-make-grob trans 'SchemeTextSpanner current-event)) + (set-axis! span Y) + (set-car! event-drul '())))) + ((stop-translation-timestep trans) + (if (and (ly:spanner? span) + (null? (ly:spanner-bound span LEFT))) + (set! (ly:spanner-bound span LEFT) + (ly:context-property context 'currentMusicalColumn))) + (if (ly:spanner? finished) + (begin + (if (null? (ly:spanner-bound finished RIGHT)) + (set! (ly:spanner-bound finished RIGHT) + (ly:context-property context 'currentMusicalColumn))) + (set! finished '()) + (set! event-drul '(() . ()))))) + ((finalize trans) + (if (ly:spanner? finished) + (begin + (if (null? (ly:spanner-bound finished RIGHT)) + (set! (ly:spanner-bound finished RIGHT) + (ly:context-property context 'currentMusicalColumn))) + (set! finished '()))) + (if (ly:spanner? span) + (begin + (ly:warning "I think there's a dangling scheme text spanner :-(") + (ly:grob-suicide! span) + (set! span '()))))))) schemeTextSpannerStart = #(make-span-event 'SchemeTextSpanEvent START) diff --git a/lily/GNUmakefile b/lily/GNUmakefile index ea7785b947..1872af74ce 100644 --- a/lily/GNUmakefile +++ b/lily/GNUmakefile @@ -86,9 +86,3 @@ $(outdir)/relocate.o: $(outdir)/version.hh $(outdir)/warn-scheme.o: $(outdir)/version.hh local-po: $(outdir)/parser.cc - -# ugh. For --srcdir builds, these must exist to satisfy their broken -# lexer.dep and parser.dep file entries. -ifneq ($(configure-srcdir),.) -.PRECIOUS: $(outdir)/lexer.cc $(outdir)/parser.cc -endif diff --git a/lily/context-def.cc b/lily/context-def.cc index df866c2472..00b10f9616 100644 --- a/lily/context-def.cc +++ b/lily/context-def.cc @@ -292,7 +292,9 @@ Context_def::get_translator_names (SCM user_mod) const if (ly_symbol2scm ("consists") == tag) l1 = scm_cons (arg, l1); else if (ly_symbol2scm ("remove") == tag - && get_translator (arg)) + && (scm_is_pair (arg) + || ly_is_procedure (arg) + || get_translator (arg))) l1 = scm_delete_x (arg, l1); } diff --git a/lily/include/listener.hh b/lily/include/listener.hh index 0bc937f2b3..fb69922493 100644 --- a/lily/include/listener.hh +++ b/lily/include/listener.hh @@ -67,6 +67,7 @@ typedef struct { void (*listen_callback) (void *, SCM); void (*mark_callback) (void *); + bool (*equal_callback) (void *, void *); } Listener_function_table; class Listener @@ -81,7 +82,9 @@ public: void listen (SCM ev) const; bool operator == (Listener const &other) const - { return target_ == other.target_ && type_ == other.type_; } + { return type_ == other.type_ + && (*type_->equal_callback)((void *) target_, (void *) other.target_ ); + } DECLARE_SIMPLE_SMOBS (Listener); }; @@ -100,12 +103,18 @@ cl :: method ## _mark (void *self) \ cl *s = (cl *)self; \ scm_gc_mark (s->self_scm ()); \ } \ +bool \ +cl :: method ## _is_equal (void *a, void *b) \ +{ \ + return a == b; \ +} \ Listener \ cl :: method ## _listener () const \ { \ static Listener_function_table callbacks; \ callbacks.listen_callback = &cl::method ## _callback; \ callbacks.mark_callback = &cl::method ## _mark; \ + callbacks.equal_callback = &cl::method ## _is_equal; \ return Listener (this, &callbacks); \ } @@ -115,6 +124,7 @@ cl :: method ## _listener () const \ inline void name (SCM); \ static void name ## _callback (void *self, SCM ev); \ static void name ## _mark (void *self); \ + static bool name ## _is_equal (void *a, void *b); \ Listener name ## _listener () const #endif /* LISTENER_HH */ diff --git a/lily/lexer.ll b/lily/lexer.ll index 8c016f6405..c2d8b6baef 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -834,10 +834,20 @@ Lily_lexer::push_note_state (SCM tab) void Lily_lexer::pop_state () { + bool extra = (YYSTATE == extratoken); + + if (extra) + yy_pop_state (); + if (YYSTATE == notes || YYSTATE == chords) pitchname_tab_stack_ = scm_cdr (pitchname_tab_stack_); yy_pop_state (); + + if (extra) { + hidden_state_ = YYSTATE; + yy_push_state (extratoken); + } } int diff --git a/lily/parser.yy b/lily/parser.yy index d830cb4c57..29f4f2a1e0 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -1952,16 +1952,19 @@ context_mod: | context_def_mod STRING { $$ = scm_list_2 ($1, $2); } - | context_def_mod embedded_scm { - if (ly_symbol2scm ("consists") != $1) - { - $$ = SCM_EOL; - parser->parser_error (@1, _ ("only \\consists takes non-string argument.")); - } - else - { - $$ = scm_list_2 ($1, $2); - } + | context_def_mod embedded_scm + { + if (!scm_is_string ($2) + && ly_symbol2scm ("consists") != $1 + && ly_symbol2scm ("remove") != $1) + { + $$ = SCM_EOL; + parser->parser_error (@1, _ ("only \\consists and \\remove take non-string argument.")); + } + else + { + $$ = scm_list_2 ($1, $2); + } } ; diff --git a/lily/scheme-engraver.cc b/lily/scheme-engraver.cc index cde829a607..1b1aad924a 100644 --- a/lily/scheme-engraver.cc +++ b/lily/scheme-engraver.cc @@ -186,10 +186,19 @@ void mark_listen_closure (void *target) scm_gc_mark ((SCM)target); } +static +bool equal_listen_closure (void *a, void *b) +{ + SCM target_a = (SCM) a; + SCM target_b = (SCM) b; + + return ly_is_equal (target_a, target_b); +} + Listener_function_table listen_closure = { - call_listen_closure, mark_listen_closure + call_listen_closure, mark_listen_closure, equal_listen_closure }; /* static */ diff --git a/ly/event-listener.ly b/ly/event-listener.ly index 71d560b075..20615e8c2a 100644 --- a/ly/event-listener.ly +++ b/ly/event-listener.ly @@ -32,7 +32,7 @@ -\version "2.15.0" +\version "2.15.31" %%%% Helper functions @@ -205,21 +205,19 @@ optionally outputs to the console as well." \layout { \context { \Voice - \consists #(list - (cons 'listeners - (list - (cons 'tempo-change-event format-tempo) - (cons 'rest-event format-rest) - (cons 'note-event format-note) - (cons 'articulation-event format-articulation) - (cons 'text-script-event format-text) - (cons 'slur-event format-slur) - (cons 'breathing-event format-breathe) - (cons 'dynamic-event format-dynamic) - (cons 'crescendo-event format-cresc) - (cons 'decrescendo-event format-decresc) - (cons 'text-span-event format-textspan) - (cons 'tie-event format-tie) - ))) + \consists #(make-engraver + (listeners + (tempo-change-event . format-tempo) + (rest-event . format-rest) + (note-event . format-note) + (articulation-event . format-articulation) + (text-script-event . format-text) + (slur-event . format-slur) + (breathing-event . format-breathe) + (dynamic-event . format-dynamic) + (crescendo-event . format-cresc) + (decrescendo-event . format-decresc) + (text-span-event . format-textspan) + (tie-event . format-tie))) } } diff --git a/make/doc-i18n-root-rules.make b/make/doc-i18n-root-rules.make index 3cdd664471..289b73bf06 100644 --- a/make/doc-i18n-root-rules.make +++ b/make/doc-i18n-root-rules.make @@ -4,22 +4,21 @@ # Explicitly list the dependencies on generated content $(outdir)/web.texi: $(outdir)/weblinks.itexi -$(top-build-dir)/Documentation/$(outdir)/%/index.$(ISOLANG).html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.$(ISOLANG).xref-map $(TRANSLATION_LILY_IMAGES) +$(top-build-dir)/Documentation/$(outdir)/%/index.$(ISOLANG).html: $(outdir)/%/index.html $(TRANSLATION_LILY_IMAGES) mkdir -p $(dir $@) - mkdir -p $(outdir)/$* - DEPTH=$(depth)/../ $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) --output=$(outdir)/$* $< >$*.splittexi.log 2>&1 find $(outdir)/$* -name '*.html' | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | sed 's!$(outdir)/!!g' | xargs $(buildscript-dir)/mass-link --prepend-suffix .$(ISOLANG) hard $(outdir) $(top-build-dir)/Documentation/$(outdir) -$(top-build-dir)/Documentation/$(outdir)/%-big-page.$(ISOLANG).html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.$(ISOLANG).xref-map $(TRANSLATION_LILY_IMAGES) - DEPTH=$(depth) $(TEXI2HTML) -D bigpage $(TEXI2HTML_FLAGS) --output=$@ $< >$*.bigtexi.log 2>&1 +$(top-build-dir)/Documentation/$(outdir)/%-big-page.$(ISOLANG).html: $(outdir)/%-big-page.html $(TRANSLATION_LILY_IMAGES) + mkdir -p $(dir $@) + cp -f $< $@ -$(top-build-dir)/Documentation/$(outdir)/%.$(ISOLANG).html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.$(ISOLANG).xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi - DEPTH=$(depth) $(TEXI2HTML) $(TEXI2HTML_FLAGS) --output=$@ $< >$*.texilog 2>&1 +$(top-build-dir)/Documentation/$(outdir)/%.$(ISOLANG).html: $(outdir)/%.html + mkdir -p $(dir $@) + cp -f $< $@ -$(top-build-dir)/Documentation/$(outdir)/%.$(ISOLANG).pdf: $(outdir)/%.texi - cd $(outdir) && \ - texi2pdf $(TEXI2PDF_FLAGS) $(TEXINFO_PAPERSIZE_OPTION) $*.texi && \ - mkdir -p $(dir $@) && mv $*.pdf $@ +$(top-build-dir)/Documentation/$(outdir)/%.$(ISOLANG).pdf: $(outdir)/%.pdf + mkdir -p $(dir $@) + cp -f $< $@ $(outdir)/version.%: $(top-src-dir)/VERSION $(PYTHON) $(top-src-dir)/scripts/build/create-version-itexi.py > $@ @@ -30,9 +29,6 @@ $(outdir)/weblinks.%: $(top-src-dir)/VERSION $(outdir)/%.png: $(top-build-dir)/Documentation/$(outdir)/%.png ln -f $< $@ -$(XREF_MAPS_DIR)/%.$(ISOLANG).xref-map: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map - $(buildscript-dir)/extract_texi_filenames -o $(XREF_MAPS_DIR) $(XREF_MAP_FLAGS) --master-map-file=$(XREF_MAPS_DIR)/$*.xref-map $< - $(MASTER_TEXI_FILES): $(ITELY_FILES) $(ITEXI_FILES) $(outdir)/pictures $(outdir)/pictures: @@ -45,11 +41,11 @@ $(TRANSLATION_LILY_IMAGES): $(MASTER_TEXI_FILES) touch $@ $(outdir)/lilypond-%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi - $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $< + $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<" "$*.makeinfo.log" $(outdir)/index.$(ISOLANG).html: TEXI2HTML_INIT = $(WEB_TEXI2HTML_INIT) $(outdir)/index.$(ISOLANG).html: TEXI2HTML_SPLIT = $(WEB_TEXI2HTML_SPLIT) $(outdir)/index.$(ISOLANG).html: - DEPTH=$(depth) $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(TEXI2HTML_SPLIT) --output=$(outdir)/ web.texi + $(buildscript-dir)/run-and-check "DEPTH=$(depth) $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(TEXI2HTML_SPLIT) --output=$(outdir)/ web.texi" "webtexi.log" find $(outdir)/ -name '*.html' | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | sed 's!$(outdir)/!!g' | xargs $(buildscript-dir)/mass-link --prepend-suffix .$(ISOLANG) hard $(outdir) $(top-build-dir)/Documentation/$(outdir) diff --git a/make/doc-i18n-root-vars.make b/make/doc-i18n-root-vars.make index 8c20f494bd..2d7ab99ad0 100644 --- a/make/doc-i18n-root-vars.make +++ b/make/doc-i18n-root-vars.make @@ -31,15 +31,9 @@ DOCUMENTATION_INCLUDES = \ -I $(top-build-dir)/Documentation/$(outdir) LILYPOND_BOOK_INCLUDES += $(DOCUMENTATION_INCLUDES) -MAKEINFO_FLAGS += --force --enable-encoding $(DOCUMENTATION_INCLUDES) +MAKEINFO_FLAGS += --enable-encoding $(DOCUMENTATION_INCLUDES) MAKEINFO = LANG= $(MAKEINFO_PROGRAM) $(MAKEINFO_FLAGS) -# texi2html xref map files -# FIXME: duplicated in stepake/texinfo-vars.make make/doc-i18n-root-vars.make -XREF_MAPS_DIR=$(top-build-dir)/$(outdir)/xref-maps -XREF_MAPS_FILES=$(TEXINFO_MANUALS:%=$(XREF_MAPS_DIR)/%.$(ISOLANG).xref-map) -XREF_MAP_FLAGS += -I $(outdir) -I $(src-dir) $(DOCUMENTATION_INCLUDES) - WEB_MANUALS=web ########### @@ -59,12 +53,8 @@ TEXI2HTML_FLAGS += $(TEXI2HTML_INCLUDES) $(TEXI2HTML_LANG) $(TEXI2HTML_INIT) TEXI2HTML = TOP_SRC_DIR=$(top-src-dir) PERL_UNICODE=SD $(TEXI2HTML_PROGRAM) ########### -TEXI2PDF_FLAGS += --batch $(DOCUMENTATION_INCLUDES) +TEXI2PDF_FLAGS += $(DOCUMENTATION_INCLUDES) TEXI2PDF_FLAGS += -I $(LYS_OUTPUT_DIR) -ifdef QUIET_BUILD -TEXI2PDF_FLAGS += -q -endif - DOCUMENTATION_LOCALE_TARGET = $(outdir)/doc-po TRANSLATION_LILY_IMAGES = $(outdir)/translation-lily-images diff --git a/make/lilypond-book-rules.make b/make/lilypond-book-rules.make index e5a03790b4..b0cf7663b1 100644 --- a/make/lilypond-book-rules.make +++ b/make/lilypond-book-rules.make @@ -23,7 +23,7 @@ $(outdir)/%.tex: %.tex $(outdir)/%.tex: %.latex $(LILYPOND_BOOK_COMMAND) --pdf -o $(outdir) $< -# Add the tex => pdf rule only if we have dblatex +# Add the tex => pdf rule only if we have pdflatex ifeq (,$(findstring pdflatex,$(MISSING_OPTIONAL))) $(outdir)/%.pdf: $(outdir)/%.tex cd $(outdir) && $(PDFLATEX) $(notdir $<) diff --git a/make/lilypond-book-vars.make b/make/lilypond-book-vars.make index 910cadc120..fdf025bf6c 100644 --- a/make/lilypond-book-vars.make +++ b/make/lilypond-book-vars.make @@ -21,7 +21,7 @@ OUT_HTML_FILES = ${HTML_FILES:%.html=$(outdir)/%.html} OUT_HTMLY_FILES = ${HTMLY_FILES:%.htmly=$(outdir)/%.html} OUT_XML_FILES = ${XML_FILES:%.xml=$(outdir)/%.html} # If we have pdflatex, create the pdf, otherwise only the .tex file! -ifeq (,$(findstring dblatex,$(MISSING_OPTIONAL))) +ifeq (,$(findstring pdflatex,$(MISSING_OPTIONAL))) OUT_LYTEX_FILES = ${LYTEX_FILES:%.lytex=$(outdir)/%.pdf} OUT_LATEX_FILES = ${LATEX_FILES:%.latex=$(outdir)/%.pdf} OUT_TEX_FILES = ${TEX_FILES:%.tex=$(outdir)/%.pdf} diff --git a/make/ly-rules.make b/make/ly-rules.make index 0461e1b9c6..418d1b9f03 100644 --- a/make/ly-rules.make +++ b/make/ly-rules.make @@ -9,9 +9,10 @@ $(outdir)/%.latex: %.doc $(INIT_LY_SOURCES) $(SCHEME_SOURCES) # This allows -j make option while making sure only one lilypond-book instance -# is running at the same time +# is running at the same time, using GNU make's order-only prerequisites so +# as to not create superficial dependencies between unrelated manuals. define CHAIN_RULE -$(i) +| $(i) $(i): endef diff --git a/make/mutopia-targets.make b/make/mutopia-targets.make index 4eeb80ed0c..0d49357e46 100644 --- a/make/mutopia-targets.make +++ b/make/mutopia-targets.make @@ -1,8 +1,5 @@ .PHONY: download mutopia png ps scores tar -.PRECIOUS: $(outdir)/%.ps $(outdir)/%-book.ps -.PRECIOUS: $(outdir)-letter/%.ps - all: diff --git a/mf/GNUmakefile b/mf/GNUmakefile index 97bcd42ef4..ad397159c3 100644 --- a/mf/GNUmakefile +++ b/mf/GNUmakefile @@ -163,8 +163,6 @@ $(PE_SCRIPTS): $(buildscript-dir)/gen-emmentaler-scripts ALL_FONTS = $(FETA_FONTS) PFB_FILES = $(ALL_FONTS:%=$(outdir)/%.pfb) -.PRECIOUS: $(PFB_FILES) - # Make tfm files first, log files last, # so that normally log files aren't made twice diff --git a/po/it.po b/po/it.po index 704517ba28..bb73261229 100644 --- a/po/it.po +++ b/po/it.po @@ -4,20 +4,21 @@ # # Tineke de Munnik , 1998. # Maurizio Umberto Puxeddu , 1999 -# Federico Bruni , 2009-2011. +# Federico Bruni , 2009-2012. # msgid "" msgstr "" -"Project-Id-Version: lilypond 2.15.9\n" +"Project-Id-Version: lilypond 2.15.29\n" "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n" -"POT-Creation-Date: 2011-08-02 19:43+0200\n" -"PO-Revision-Date: 2011-08-08 00:25+0200\n" +"POT-Creation-Date: 2012-02-04 15:42+0100\n" +"PO-Revision-Date: 2012-02-22 01:00+0100\n" "Last-Translator: Federico Bruni \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" #: fontextract.py:25 #, python-format @@ -34,49 +35,72 @@ msgstr "Estratto %s" msgid "Writing fonts to %s" msgstr "Scrittura dei tipi di carattere su %s" -#: book_snippets.py:519 +#: book_snippets.py:409 #, python-format msgid "deprecated ly-option used: %s=%s" msgstr "opzione ly-option deprecata: %s=%s" -#: book_snippets.py:521 +#: book_snippets.py:411 #, python-format msgid "compatibility mode translation: %s=%s" msgstr "traduzione in modalità compatibile: %s=%s" -#: book_snippets.py:524 +#: book_snippets.py:414 #, python-format msgid "deprecated ly-option used: %s" msgstr "opzione ly-option deprecata: %s" -#: book_snippets.py:526 +#: book_snippets.py:416 #, python-format msgid "compatibility mode translation: %s" msgstr "traduzione in modalità compatibile: %s" -#: book_snippets.py:544 +#: book_snippets.py:533 #, python-format msgid "ignoring unknown ly option: %s" msgstr "l'opzione ly sconosciuta viene ignorata: %s" -#: book_snippets.py:736 +#: book_snippets.py:741 #, python-format -msgid "Opening filter `%s'\n" -msgstr "Apertura del filtro «%s»\n" +msgid "Running through filter `%s'" +msgstr "Esecuzione attraverso il filtro «%s»" -#: book_snippets.py:756 +#: book_snippets.py:761 #, python-format msgid "`%s' failed (%d)" msgstr "«%s» fallito (%d)" -#: book_snippets.py:757 +#: book_snippets.py:762 msgid "The error log is as follows:" msgstr "Il registro dell'errore è il seguente:" +#: book_snippets.py:882 +#, python-format +msgid "Converting MusicXML file `%s'...\n" +msgstr "Conversione del file MusicXML «%s»...\n" + +#: book_snippets.py:909 +#, python-format +msgid "" +"%s: duplicate filename but different contents of original file,\n" +"printing diff against existing file." +msgstr "" +"%s: il nome del file è duplicato ma i suoi contenuti sono diversi dal\n" +"file originale, si mostrano le differenze rispetto al file esistente." + +#: book_snippets.py:922 +#, python-format +msgid "" +"%s: duplicate filename but different contents of converted lilypond file,\n" +"printing diff against existing file." +msgstr "" +"%s: il nome del file è duplicato ma il suo contenuto è diverso dal file lilypond\n" +"trasformato, si mostrano le differenze rispetto al file esistente." + #: convertrules.py:12 #, python-format -msgid "Not smart enough to convert %s" -msgstr "Non abbastanza intelligente per convertire %s" +msgid "Not smart enough to convert %s." +msgstr "Non abbastanza intelligente per convertire %s." #: convertrules.py:13 msgid "Please refer to the manual for details, and update manually." @@ -87,112 +111,115 @@ msgstr "Si consulti il manuale per i dettagli e si aggiorni manualmente." msgid "%s has been replaced by %s" msgstr "%s è stato sostituito da %s" -#: convertrules.py:24 lilylib.py:85 musicexp.py:17 convert-ly.py:64 warn.cc:66 -#: input.cc:108 +#: convertrules.py:24 lilylib.py:131 warn.cc:223 #, c-format, python-format msgid "warning: %s" msgstr "attenzione: %s" -#: convertrules.py:49 convertrules.py:99 +#: convertrules.py:49 convertrules.py:94 msgid "\\header { key = concat + with + operator }" msgstr "\\header { chiave = concat + con + operatore }" -#: convertrules.py:58 +#: convertrules.py:56 #, python-format msgid "deprecated %s" msgstr "%s è deprecato" -#: convertrules.py:70 +#: convertrules.py:65 msgid "deprecated \\textstyle, new \\key syntax" msgstr "\\textstyle deprecato, nuova sintassi per \\key" -#: convertrules.py:86 convertrules.py:1905 convertrules.py:2084 -#: convertrules.py:2236 convertrules.py:2566 convertrules.py:2862 -#: convertrules.py:3206 +#: convertrules.py:81 convertrules.py:1855 convertrules.py:2031 +#: convertrules.py:2174 convertrules.py:2505 convertrules.py:2800 +#: convertrules.py:3150 msgid "bump version for release" msgstr "aumentare il numero di versione per il rilascio" -#: convertrules.py:103 +#: convertrules.py:97 msgid "new \\header format" msgstr "nuovo formato di \\header" -#: convertrules.py:132 +#: convertrules.py:124 msgid "\\translator syntax" msgstr "sintassi di \\translator" -#: convertrules.py:184 +#: convertrules.py:175 msgid "\\repeat NUM Music Alternative -> \\repeat FOLDSTR Music Alternative" msgstr "\\repeat NUMERO Alternativa Musicale -> \\repeat FOLDSTR Alternativa Musicale" -#: convertrules.py:216 convertrules.py:699 convertrules.py:1383 -#: convertrules.py:2378 +#: convertrules.py:205 convertrules.py:678 convertrules.py:1350 +#: convertrules.py:2317 #, python-format msgid "deprecate %s" msgstr "%s è deprecato" -#: convertrules.py:290 +#: convertrules.py:279 #, python-format msgid "deprecate %s " msgstr "%s è deprecato " -#: convertrules.py:319 +#: convertrules.py:305 msgid "new \\notenames format" msgstr "nuovo formato di \\notenames" -#: convertrules.py:337 +#: convertrules.py:321 msgid "new tremolo format" msgstr "nuovo formato di tremolo" -#: convertrules.py:342 +#: convertrules.py:325 msgid "Staff_margin_engraver deprecated, use Instrument_name_engraver" msgstr "Staff_margin_engraver è deprecato, usare Instrument_name_engraver" -#: convertrules.py:395 -msgid "change property definiton case (eg. onevoice -> oneVoice)" -msgstr "cambiare le maiuscole della definizione di proprietà (es: onevoice -> oneVoice)" +#: convertrules.py:376 +msgid "change property definition case (eg. onevoice -> oneVoice)" +msgstr "cambia le maiuscole della definizione di proprietà (es: onevoice -> oneVoice)" -#: convertrules.py:457 +#: convertrules.py:437 msgid "new \\textscript markup text" msgstr "nuovo testo di marcatura \\textscript" -#: convertrules.py:530 +#: convertrules.py:509 #, python-format msgid "identifier names: %s" msgstr "nomi dell'identificatore: %s" -#: convertrules.py:569 +#: convertrules.py:548 msgid "point-and-click argument changed to procedure." msgstr "l'argomento point-and-click è stato cambiato in procedura." -#: convertrules.py:611 +#: convertrules.py:590 msgid "semicolons removed" msgstr "punti e virgola eliminati" #. 40 ? -#: convertrules.py:654 +#: convertrules.py:633 #, python-format msgid "%s property names" msgstr "nomi della proprietà %s" -#: convertrules.py:724 +#: convertrules.py:703 msgid "automaticMelismata turned on by default" msgstr "automaticMelismata attivato per impostazione predefinita" -#: convertrules.py:963 convertrules.py:1682 convertrules.py:1942 -#: convertrules.py:2189 +#: convertrules.py:708 +msgid "automaticMelismata is turned on by default since 1.5.67." +msgstr "automaticMelismata attivato per impostazione predefinita dalla versione 1.5.67." + +#: convertrules.py:942 convertrules.py:1635 convertrules.py:1889 +#: convertrules.py:2134 #, python-format msgid "remove %s" msgstr "elimina %s" -#: convertrules.py:1001 convertrules.py:1005 +#: convertrules.py:977 convertrules.py:980 msgid "cluster syntax" msgstr "sintassi dei cluster" -#: convertrules.py:1014 +#: convertrules.py:987 msgid "new Pedal style syntax" msgstr "nuova sintassi di stile del Pedale" -#: convertrules.py:1273 +#: convertrules.py:1246 msgid "" "New relative mode,\n" "Postfix articulations, new text markup syntax, new chord syntax." @@ -200,28 +227,28 @@ msgstr "" "Nuovo modo relativo.\n" "Articolazioni suffisse, nuova sintassi di marcatura del testo, nuova sintassi degli accordi." -#: convertrules.py:1286 +#: convertrules.py:1259 msgid "Remove - before articulation" msgstr "Elimina - prima dell'articolazione" -#: convertrules.py:1324 +#: convertrules.py:1294 #, python-format msgid "%s misspelling" msgstr "errore di digitazione in %s" -#: convertrules.py:1346 +#: convertrules.py:1313 msgid "Swap < > and << >>" msgstr "Scambia < > e << >>" -#: convertrules.py:1349 +#: convertrules.py:1316 msgid "attempting automatic \\figures conversion. Check results!" msgstr "tentativo di conversione automatica di \\figures. Controllare i risultati!" -#: convertrules.py:1400 +#: convertrules.py:1362 msgid "Use Scheme code to construct arbitrary note events." msgstr "Usa il codice di Scheme per costruire eventi arbitrari della nota." -#: convertrules.py:1407 +#: convertrules.py:1369 msgid "" "use symbolic constants for alterations,\n" "remove \\outputproperty, move ly:verbose into ly:get-option" @@ -229,7 +256,7 @@ msgstr "" "usa costanti simboliche per le alterazioni,\n" "togli \\outproperty, sostituisci ly:verbose con ly:get-option" -#: convertrules.py:1432 +#: convertrules.py:1394 #, python-format msgid "" "\\outputproperty found,\n" @@ -246,7 +273,7 @@ msgstr "" "\n" "come testo sostitutivo." -#: convertrules.py:1446 +#: convertrules.py:1406 msgid "" "The alteration field of Scheme pitches was multiplied by 2\n" "to support quarter tone accidentals. You must update the following constructs manually:\n" @@ -260,15 +287,15 @@ msgstr "" "* chiamate a ly:make-pitch e ly:pitch-alteration\n" "* impostazioni di keySignature fatte con \\property\n" -#: convertrules.py:1493 +#: convertrules.py:1449 msgid "removal of automaticMelismata; use melismaBusyProperties instead." msgstr "eliminazione di automaticMelismata; al suo posto usare melismaBusyProperties." -#: convertrules.py:1600 +#: convertrules.py:1556 msgid "\\partcombine syntax change to \\newpartcombine" msgstr "cambio nella sintassi da \\partcombine a \\newpartcombine" -#: convertrules.py:1628 +#: convertrules.py:1581 msgid "" "Drum notation changes, Removing \\chordmodifiers, \\notenames.\n" "Harmonic notes. Thread context removed. Lyrics context removed." @@ -276,11 +303,11 @@ msgstr "" "Cambiamenti della notazione per percussioni, eliminati \\chordmodifiers e \\notenames.\n" "Note armoniche. Eliminati i contesti Thread e Lyrics." -#: convertrules.py:1632 +#: convertrules.py:1585 msgid "Drums found. Enclose drum notes in \\drummode" msgstr "Trovate percussioni. Inserisci le note delle percussioni in \\drummode" -#: convertrules.py:1643 convertrules.py:1650 convertrules.py:1661 +#: convertrules.py:1596 convertrules.py:1603 convertrules.py:1614 #, python-format msgid "" "\n" @@ -289,32 +316,33 @@ msgstr "" "\n" "Si è trovato %s. Controlla il file manualmente!\n" -#: convertrules.py:1643 +#: convertrules.py:1596 msgid "Drum notation" msgstr "Notazione delle percussioni" -#: convertrules.py:1702 +#: convertrules.py:1655 msgid "new syntax for property settings:" msgstr "nuova sintassi per le impostazioni delle proprietà:" -#: convertrules.py:1728 +#: convertrules.py:1681 msgid "Property setting syntax in \\translator{ }" msgstr "Sintassi per impostare una proprietà in \\translator{ }" -#: convertrules.py:1767 +#: convertrules.py:1720 msgid "Scheme grob function renaming" msgstr "Rinominare la funzione di grob di Scheme" -#: convertrules.py:1780 +#: convertrules.py:1731 convertrules.py:2138 convertrules.py:2142 +#: convertrules.py:2708 #, python-format -msgid "use %s" -msgstr "usa %s" +msgid "Use %s\n" +msgstr "Usa %s\n" -#: convertrules.py:1797 +#: convertrules.py:1747 msgid "More Scheme function renaming" msgstr "Rinominare altre funzioni di Scheme" -#: convertrules.py:1924 +#: convertrules.py:1871 msgid "" "Page layout has been changed, using paper size and margins.\n" "textheight is no longer used.\n" @@ -322,7 +350,7 @@ msgstr "" "La formattazione di pagina è stata modificata, usando la dimensione del foglio e i margini.\n" "textheight non è più usato.\n" -#: convertrules.py:2010 +#: convertrules.py:1957 msgid "" "\\foo -> \\foomode (for chords, notes, etc.)\n" "fold \\new FooContext \\foomode into \\foo." @@ -330,7 +358,7 @@ msgstr "" "\\foo -> \\foomode (per accordi, note, etc.)\n" "inserire \\new FooContext \\foomode in \\foo." -#: convertrules.py:2048 +#: convertrules.py:1995 msgid "" "staff size should be changed at top-level\n" "with\n" @@ -344,40 +372,40 @@ msgstr "" " #(set-global-staff-size )\n" "\n" -#: convertrules.py:2068 +#: convertrules.py:2015 msgid "regularize other identifiers" msgstr "normalizza altri identificatori" -#: convertrules.py:2136 +#: convertrules.py:2083 msgid "\\encoding: smart recode latin1..utf-8. Remove ly:point-and-click" msgstr "\\encoding: ricodifica intelligente da latin1 a utf-8. Eliminazione di ly:point-and-click" -#: convertrules.py:2149 +#: convertrules.py:2094 msgid "LilyPond source must be UTF-8" msgstr "Il sorgente di LilyPond deve avere la codifica UTF-8" -#: convertrules.py:2152 +#: convertrules.py:2097 msgid "Try the texstrings backend" msgstr "Prova il backend textstrings" -#: convertrules.py:2155 +#: convertrules.py:2100 #, python-format msgid "Do something like: %s" msgstr "Fai qualcosa come: %s" -#: convertrules.py:2158 +#: convertrules.py:2103 msgid "Or save as UTF-8 in your editor" msgstr "O salva in formato UTF-8 nel tuo editor" -#: convertrules.py:2212 +#: convertrules.py:2153 msgid "warn about auto beam settings" msgstr "attenzione alle impostazioni delle travature automatiche" -#: convertrules.py:2217 +#: convertrules.py:2157 msgid "auto beam settings" msgstr "impostazioni delle travature automatiche" -#: convertrules.py:2219 +#: convertrules.py:2158 msgid "" "\n" "Auto beam settings must now specify each interesting moment in a measure\n" @@ -387,39 +415,39 @@ msgstr "" "Le impostazioni di travatura automatica ora devono specificare esplicitamente ogni momento\n" "interessante in una misura; 1/4 non viene più moltiplicato per coprire anche i momenti 1/2 e 3/4.\n" -#: convertrules.py:2333 +#: convertrules.py:2271 msgid "verticalAlignmentChildCallback has been deprecated" msgstr "verticalAlignmentChildCallback è deprecato" -#: convertrules.py:2337 +#: convertrules.py:2276 msgid "Remove callbacks property, deprecate XY-extent-callback." msgstr "Togli la proprietà di callback, XY-extent-callback è deprecato." -#: convertrules.py:2358 +#: convertrules.py:2297 msgid "Use grob closures iso. XY-offset-callbacks." msgstr "Usa le chiusure del grob al posto di XY-offset-callbacks." -#: convertrules.py:2420 +#: convertrules.py:2359 msgid "foobar -> foo-bar for \\paper, \\layout" msgstr "foobar -> foo-bar per \\paper, \\layout" -#: convertrules.py:2530 +#: convertrules.py:2469 msgid "deprecate \\tempo in \\midi" msgstr "\\tempo in un blocco \\midi è deprecato" -#: convertrules.py:2583 +#: convertrules.py:2522 msgid "deprecate cautionary-style. Use AccidentalCautionary properties" msgstr "cautionary-style è deprecato. Usa le proprietà di AccidentalCautionary" -#: convertrules.py:2596 +#: convertrules.py:2535 msgid "Rename accidental glyphs, use glyph-name-alist." msgstr "Rinomina i glifi delle alterazioni, usa glyph-name-alist." -#: convertrules.py:2651 -msgid "edge-text settings for TextSpanner." -msgstr "Impostazioni di edge-text per TextSpanner." +#: convertrules.py:2590 +msgid "edge-text settings for TextSpanner" +msgstr "Impostazioni di edge-text per TextSpanner" -#: convertrules.py:2652 +#: convertrules.py:2591 #, python-format msgid "" "Use\n" @@ -430,35 +458,35 @@ msgstr "" "\n" "%s" -#: convertrules.py:2685 +#: convertrules.py:2624 msgid "Use the `alignment-offsets' sub-property of\n" msgstr "Usa «alignment-offsets», sottoproprietà di\n" -#: convertrules.py:2686 +#: convertrules.py:2625 msgid "NonMusicalPaperColumn #'line-break-system-details\n" msgstr "NonMusicalPaperColumn #'line-break-system-details\n" -#: convertrules.py:2687 +#: convertrules.py:2626 msgid "to set fixed distances between staves.\n" msgstr "per impostare distanze fisse tra i righi.\n" -#: convertrules.py:2699 +#: convertrules.py:2638 msgid "Use #'style not #'dash-fraction to select solid/dashed lines." msgstr "Usa #'style e non #'dash-fraction per ottenere linee continue o tratteggiate." -#: convertrules.py:2705 -msgid "all settings related to dashed lines.\n" -msgstr "tutte le impostazioni relative alle linee tratteggiate.\n" +#: convertrules.py:2644 +msgid "all settings related to dashed lines" +msgstr "tutte le impostazioni relative alle linee tratteggiate" -#: convertrules.py:2706 +#: convertrules.py:2645 msgid "Use \\override ... #'style = #'line for solid lines and\n" msgstr "Usa \\override ... #'style = #'line per le linee continue e\n" -#: convertrules.py:2707 +#: convertrules.py:2646 msgid "\t\\override ... #'style = #'dashed-line for dashed lines." msgstr "\t\\override ... #'style = #'dashed-line per le linee tratteggiate." -#: convertrules.py:2743 +#: convertrules.py:2682 msgid "" "metronomeMarkFormatter uses text markup as second argument,\n" "fret diagram properties moved to fret-diagram-details." @@ -466,11 +494,11 @@ msgstr "" "il secondo argomento di metronomeMarkFormatter deve essere una marcatura di testo,\n" "le proprietà del diagramma dei tasti si trovano ora in fret-diagram-details." -#: convertrules.py:2748 +#: convertrules.py:2688 msgid "metronomeMarkFormatter got an additional text argument.\n" msgstr "metronomeMarkFormatter prende un argomento testuale supplementare.\n" -#: convertrules.py:2749 +#: convertrules.py:2689 #, python-format msgid "" "The function assigned to Score.metronomeMarkFunction now uses the signature\n" @@ -479,43 +507,48 @@ msgstr "" "La funzione assegnata a Score.metronomeMarkFunction ora usa l'indicazione\n" "%s" -#: convertrules.py:2812 -msgid "\\put-adjacent argument order.\n" -msgstr "ordine degli argomenti di \\put-adjacent.\n" +#: convertrules.py:2707 +#, python-format +msgid "%s in fret-diagram properties" +msgstr "%s nelle proprietà di fret-diagram" + +#: convertrules.py:2751 +msgid "\\put-adjacent argument order" +msgstr "ordine degli argomenti di \\put-adjacent" -#: convertrules.py:2813 +#: convertrules.py:2752 msgid "Axis and direction now come before markups:\n" msgstr "Asse e direzione ora devono precedere i marcatori:\n" -#: convertrules.py:2814 +#: convertrules.py:2753 msgid "\\put-adjacent axis dir markup markup." msgstr "\\put-adjacent asse direzione marcatore marcatore." -#: convertrules.py:2845 -msgid "re-definition of InnerStaffGroup.\n" -msgstr "ridefinizione di InnerStaffGroup.\n" +#: convertrules.py:2784 +msgid "re-definition of InnerStaffGroup" +msgstr "ridefinizione di InnerStaffGroup" -#: convertrules.py:2851 -msgid "re-definition of InnerChoirStaff.\n" -msgstr "ridefinizione di InnerChoirStaff.\n" +#: convertrules.py:2789 +msgid "re-definition of InnerChoirStaff" +msgstr "ridefinizione di InnerChoirStaff" -#: convertrules.py:2861 +#: convertrules.py:2799 msgid "Syntax changes for \\addChordShape and \\chord-shape" msgstr "Cambiamenti di sintassi per \\addChordShape e \\chord-shape" -#: convertrules.py:2866 +#: convertrules.py:2804 msgid "stringTuning must be added to addChordShape call.\n" msgstr "stringTuning deve essere aggiunto alla chiamata addChordShape.\n" -#: convertrules.py:2872 +#: convertrules.py:2809 msgid "stringTuning must be added to chord-shape call.\n" msgstr "stringTuning deve essere aggiunto alla chiamata chord-shape.\n" -#: convertrules.py:2879 +#: convertrules.py:2815 msgid "Remove oldaddlyrics" msgstr "Elimina oldaddlyrics" -#: convertrules.py:2883 +#: convertrules.py:2819 msgid "" "oldaddlyrics is no longer supported. \n" " Use addlyrics or lyrsicsto instead.\n" @@ -523,7 +556,7 @@ msgstr "" "oldaddlyrics non è più supportato.\n" " Usa addlyrics o lyrsicsto al suo posto.\n" -#: convertrules.py:2889 +#: convertrules.py:2825 msgid "" "keySignature property not reversed any more\n" "MIDI 47: orchestral strings -> orchestral harp" @@ -531,11 +564,11 @@ msgstr "" "la proprietà keySignature property non è più invertita\n" "MIDI 47: archi orchestrali -> arpa orchestrale" -#: convertrules.py:2894 +#: convertrules.py:2830 msgid "The alist for Staff.keySignature is no longer in reversed order.\n" msgstr "L'alist (association list) di Staff.keySignature non è più in ordine invertito.\n" -#: convertrules.py:2900 +#: convertrules.py:2836 msgid "" "\\bar \".\" now produces a thick barline\n" "ly:hairpin::after-line-breaking -> ly:spanner::kill-zero-spanned-time\n" @@ -545,15 +578,15 @@ msgstr "" "ly:hairpin::after-line-breaking -> ly:spanner::kill-zero-spanned-time\n" "I parametri del tratteggiato per le legature di portamento e di valore si trovano ora in dash-definition" -#: convertrules.py:2906 +#: convertrules.py:2842 msgid "\\bar \".\" now produces a thick barline.\n" msgstr "\\bar \".\" ora crea una stanghetta spessa.\n" -#: convertrules.py:2912 +#: convertrules.py:2848 msgid "Dash parameters for slurs and ties are now in 'dash-details.\n" msgstr "I parametri del tratteggiato per le legature di portamento e di valore si trovano ora in 'dash-details.\n" -#: convertrules.py:2917 +#: convertrules.py:2853 msgid "" "Autobeaming rules have changed. override-auto-beam-setting and\n" "revert-auto-beam-setting have been eliminated.\n" @@ -579,37 +612,27 @@ msgstr "" "La definizione esplicita del contesto della dinamica presa dal modello «Piano centered dynamics»\n" "è stata sostituita dal nuovo contesto «Dynamics»." -#: convertrules.py:2931 -msgid "" -"override-auto-beam-setting.\n" -" Autobeam settings are now overriden with \\overrideBeamSettings.\n" -msgstr "" -"override-auto-beam-setting.\n" -" Le impostazioni della disposizione automatica delle travature vengono ora sovrascritte con \\overrideBeamSettings.\n" +#: convertrules.py:2867 +msgid " Autobeam settings are now overriden with \\overrideBeamSettings.\n" +msgstr " Le impostazioni della disposizione automatica delle travature vengono ora sovrascritte con \\overrideBeamSettings.\n" -#: convertrules.py:2936 -msgid "" -"override-auto-beam-setting.\n" -" Autobeam settings are now reverted with \\revertBeamSettings.\n" -msgstr "" -"override-auto-beam-setting.\n" -" Le impostazioni della disposizione automatica delle travature vengono ora ripristinate con \\revertBeamSettings.\n" +#: convertrules.py:2872 +msgid " Autobeam settings are now reverted with \\revertBeamSettings.\n" +msgstr " Le impostazioni della disposizione automatica delle travature vengono ora ripristinate con \\revertBeamSettings.\n" -#: convertrules.py:2941 +#: convertrules.py:2878 msgid "" -"beatGrouping. \n" -" beatGrouping with a specified context must now be accomplished with\n" +" beatGrouping with a specified context must now be accomplished with\n" " \\overrideBeamSettings.\n" msgstr "" -"beatGrouping. \n" -" beatGrouping in un contesto specifico ora deve essere ottenuto con\n" +" beatGrouping in un contesto specifico ora deve essere ottenuto con\n" " \\overrideBeamSettings.\n" -#: convertrules.py:2947 +#: convertrules.py:2884 msgid "alignment-offsets has been changed to alignment-distances: you must now specify the distances between staves rather than the offset of staves.\n" msgstr "alignment-offsets è diventato alignment-distances: ora occorre specificare le distanze tra i righi invece dello slittamento (offset) dei righi.\n" -#: convertrules.py:2958 +#: convertrules.py:2895 msgid "" "Remove obsolete engravers/translators: Note_swallow_translator,\n" "Rest_swallow_translator, Skip_event_swallow_translator, Swallow_engraver,\n" @@ -621,23 +644,23 @@ msgstr "" "Swallow_performer e String_number_engraver.\n" "Nuove variabili per la spaziatura verticale." -#: convertrules.py:2989 -msgid "minimum-Y-extent; vertical spacing no longer depends on the Y-extent of a VerticalAxisGroup.\n" -msgstr "minimum-Y-extent; la spaziatura verticale non dipende più dall'Y-extent di un VerticalAxisGroup.\n" +#: convertrules.py:2926 +msgid "Vertical spacing no longer depends on the Y-extent of a VerticalAxisGroup.\n" +msgstr "La spaziatura verticale non dipende più dall'Y-extent di un VerticalAxisGroup.\n" -#: convertrules.py:2995 +#: convertrules.py:2932 msgid "Unify fetaNumber and fetaDynamic encodings" msgstr "Unifica le codifiche di fetaNumber e fetaDynamic" -#: convertrules.py:3000 +#: convertrules.py:2937 msgid "\\RemoveEmpty*StaffContext -> \\*Staff \\RemoveEmptyStaves" msgstr "\\RemoveEmpty*StaffContext -> \\*Staff \\RemoveEmptyStaves" -#: convertrules.py:3011 +#: convertrules.py:2948 msgid "\\cresc etc. are now postfix operators" msgstr "\\cresc etc. sono ora operatori suffissi" -#: convertrules.py:3017 +#: convertrules.py:2960 msgid "" "Eliminate beamSettings, beatLength, \\setBeatGrouping, \\overrideBeamSettings and \\revertBeamSettings.\n" "\"accordion.accEtcbase\" -> \"accordion.etcbass\"" @@ -645,27 +668,23 @@ msgstr "" "Elimina beamSettings, beatLength, \\setBeatGrouping, \\overrideBeamSettings e \\revertBeamSettings.\n" "\"accordion.accEtcbase\" -> \"accordion.etcbass\"" -#: convertrules.py:3035 -msgid "\\overrideBeamSettings. Use \\set beamExceptions or \\overrideTimeSignatureSettings.\n" -msgstr "\\overrideBeamSettings. Usa \\set beamExceptions o \\overrideTimeSignatureSettings.\n" - -#: convertrules.py:3039 -msgid "\\revertBeamSettings. Use \\set beamExceptions or \\revertTimeSignatureSettings.\n" -msgstr "\\revertBeamSettings. Usa \\set beamExceptions o \\revertTimeSignatureSettings.\n" +#: convertrules.py:2978 +msgid "Use \\set beamExceptions or \\overrideTimeSignatureSettings.\n" +msgstr "Usa \\set beamExceptions o \\overrideTimeSignatureSettings.\n" -#: convertrules.py:3043 -msgid "beamSettings. Use baseMoment, beatStructure, and beamExceptions.\n" -msgstr "beamSettings. Usa baseMoment, beatStructure, e beamExceptions.\n" +#: convertrules.py:2982 +msgid "Use \\set beamExceptions or \\revertTimeSignatureSettings.\n" +msgstr "Usa \\set beamExceptions o \\revertTimeSignatureSettings.\n" -#: convertrules.py:3047 -msgid "beatLength. Use baseMoment and beatStructure.\n" -msgstr "beatLength. Usa baseMoment e beatStructure.\n" +#: convertrules.py:2986 +msgid "Use baseMoment, beatStructure, and beamExceptions.\n" +msgstr "Usa baseMoment, beatStructure, e beamExceptions.\n" -#: convertrules.py:3051 -msgid "setbeatGrouping. Use baseMoment and beatStructure.\n" -msgstr "setbeatGrouping. Usa baseMoment e beatStructure.\n" +#: convertrules.py:2990 convertrules.py:2994 +msgid "Use baseMoment and beatStructure.\n" +msgstr "Usa baseMoment e beatStructure.\n" -#: convertrules.py:3056 +#: convertrules.py:2999 msgid "" "Woodwind diagrams: Move size, thickness, and graphic from argument list to properties.\n" "Deprecate negative dash-period for hidden lines: use #'style = #'none instead." @@ -673,11 +692,11 @@ msgstr "" "Diagrammi dei legni: Spostare dimensione, spessore e grafico da lista di argomenti a proprietà.\n" "L'uso di dash-period con valori negativi per creare linee nascoste è deprecato: al suo posto usare #'style = #'none." -#: convertrules.py:3061 -msgid "woodwind-diagrams. Move size, thickness, and graphic to properties. Argument should be just the key list.\n" -msgstr "Diagrammi dei legni: Sposta dimensione, spessore e grafico in proprietà. L'unico argomento deve essere la lista di chiavi.\n" +#: convertrules.py:3004 +msgid "Move size, thickness, and graphic to properties. Argument should be just the key list.\n" +msgstr "Sposta dimensione, spessore e grafico in proprietà. L'unico argomento deve essere la lista di chiavi.\n" -#: convertrules.py:3069 +#: convertrules.py:3012 msgid "" "Rename vertical spacing variables.\n" "Add fretboard-table argument to savePredefinedFretboard." @@ -685,23 +704,23 @@ msgstr "" "Rinomina le variabili della spaziatura verticale.\n" "Aggiungi l'argomento fretboard-table a savePredefinedFretboard." -#: convertrules.py:3087 +#: convertrules.py:3030 msgid "Rename vertical spacing grob properties." msgstr "Rinomina le proprietà di spaziatura verticale dei grob." -#: convertrules.py:3103 +#: convertrules.py:3046 msgid "Remove \\paper variables head-separation and foot-separation." msgstr "Elimina le variabili di \\paper head-separation e foot-separation." -#: convertrules.py:3108 +#: convertrules.py:3050 msgid "Adjust settings for top-system-spacing instead.\n" msgstr "Regola invece le impostazioni di top-system-spacing.\n" -#: convertrules.py:3113 +#: convertrules.py:3054 msgid "Adjust settings for last-bottom-spacing instead.\n" msgstr "Regola invece le impostazioni di last-bottom-spacing.\n" -#: convertrules.py:3119 +#: convertrules.py:3060 msgid "" "Rename space to basic-distance in various spacing alists.\n" "Remove HarmonicParenthesesItem grob." @@ -709,19 +728,19 @@ msgstr "" "Rinomina la spaziatura in basic-distance in diverse variabili di spaziatura.\n" "Eliminazione del grob HarmonicParenthesesItem." -#: convertrules.py:3127 +#: convertrules.py:3067 msgid "HarmonicParenthesesItem has been eliminated.\n" msgstr "HarmonicParenthesesItem è stato eliminato.\n" -#: convertrules.py:3128 +#: convertrules.py:3068 msgid "Harmonic parentheses are part of the TabNoteHead grob.\n" msgstr "Le parentesi degli armonici fanno parte del grob TabNoteHead.\n" -#: convertrules.py:3133 +#: convertrules.py:3073 msgid "Remove context from overrideTimeSignatureSettings and revertTimeSignatureSettings.\n" msgstr "Rimuove il contesto da overrideTimeSignatureSettings e revertTimeSignatureSettings.\n" -#: convertrules.py:3140 +#: convertrules.py:3080 msgid "" "Change stringTunings from a list of semitones to a list of pitches.\n" "Change tenor and baritone ukulele names in string tunings.\n" @@ -731,241 +750,288 @@ msgstr "" "Sostituzione dei nomi dell'ukulele tenore e baritono con accordature.\n" "Generazione dei messaggi per la conversione manuale della spaziatura verticale se richiesto." -#: convertrules.py:3180 -msgid "Vertical spacing changes might affect user-defined contexts. " -msgstr "Le modifiche della spaziatura verticale possono influire sui contesti definiti dall'utente. " +#: convertrules.py:3123 +msgid "Vertical spacing changes might affect user-defined contexts." +msgstr "Le modifiche della spaziatura verticale possono influire sui contesti definiti dall'utente." -#: convertrules.py:3185 +#: convertrules.py:3129 msgid "Replace bar-size with bar-extent." msgstr "Sostituzione di bar-size con bar-extent." -#: convertrules.py:3197 +#: convertrules.py:3141 msgid "Woodwind diagrams: Changes to the clarinet diagram." msgstr "Diagrammi dei legni: Modifiche al diagramma del clarinetto." -#: convertrules.py:3201 -msgid "woodwind-diagrams. Clarinet fingering changed to reflect actual anatomy of instrument.\n" -msgstr "woodwind-diagrams. La diteggiatura del clarinetto è stata modificata per riflettere l'effettiva anatomia dello strumento.\n" +#: convertrules.py:3145 +msgid "Clarinet fingering changed to reflect actual anatomy of instrument.\n" +msgstr "La diteggiatura del clarinetto è stata modificata per riflettere l'effettiva anatomia dello strumento.\n" -#: convertrules.py:3211 -msgid "Change in internal property for MultiMeasureRest" -msgstr "Modifica della proprietà interna di MultiMeasureRest" - -#: convertrules.py:3214 -msgid "use-breve-rest. This internal property has been replaced by round-to-longer-rest and usable-duration-logs.\n" -msgstr "use-breve-rest. Questa proprietà interna è stata sostituita da round-to-longer-rest e usable-duration-logs.\n" - -#: convertrules.py:3219 +#: convertrules.py:3155 msgid "Handling of non-automatic footnotes." msgstr "Gestione delle note a pié di pagina non automatiche." -#: convertrules.py:3223 +#: convertrules.py:3159 msgid "If you are using non-automatic footnotes, make sure to set footnote-auto-numbering = ##f in the paper block.\n" msgstr "Se si sta usando note a pié di pagina non automatiche, occorre impostare footnote-auto-numbering = ##f nel blocco paper.\n" -#: book_base.py:24 +#: convertrules.py:3164 +msgid "Change in internal property for MultiMeasureRest" +msgstr "Modifica della proprietà interna di MultiMeasureRest" + +#: convertrules.py:3168 +msgid "This internal property has been replaced by round-up-to-longer-rest, round-up-exceptions and usable-duration-logs.\n" +msgstr "Questa proprietà interna è stata sostituita da round-up-to-longer-rest, round-up-exceptions e usable-duration-logs.\n" + +#: convertrules.py:3173 +msgid "Creation of a Flag grob and moving of certain Stem properties to this grob" +msgstr "Creazione del grob Flag e spostamento di alcune proprietà di Stem su questo grob" + +#: convertrules.py:3209 +msgid "consistent-broken-slope is now handled through the positions callback.\n" +msgstr "consistent-broken-slope viene ora gestito attraverso la callback delle posizioni.\n" + +#: convertrules.py:3210 +msgid "input/regression/beam-broken-classic.ly shows how broken beams are now handled.\n" +msgstr "input/regression/beam-broken-classic.ly mostra come vengono gestite ora le travature spezzate.\n" + +#: book_base.py:26 #, python-format msgid "file not found: %s" msgstr "file non trovato: %s" -#: book_base.py:161 +#: book_base.py:164 msgid "Output function not implemented" msgstr "Funzione di output non implementata" -#: lilylib.py:88 musicxml.py:13 convert-ly.py:67 warn.cc:72 input.cc:114 -#: input.cc:122 +#: lilylib.py:96 +#, python-format +msgid "Setting loglevel to %s" +msgstr "Si imposta il loglevel su %s" + +#: lilylib.py:99 +#, python-format +msgid "Unknown or invalid loglevel '%s'" +msgstr "Loglevel sconosciuto o non valido '%s'" + +#: lilylib.py:128 warn.cc:211 #, c-format, python-format msgid "error: %s" msgstr "errore: %s" -#: lilylib.py:131 +#: lilylib.py:185 #, python-format msgid "Processing %s.ly" msgstr "Elaborazione di %s.ly" -#: lilylib.py:135 lilylib.py:198 +#: lilylib.py:189 lilylib.py:250 #, python-format msgid "Invoking `%s'" msgstr "Invocazione di «%s»" -#: lilylib.py:137 lilylib.py:200 +#: lilylib.py:191 lilylib.py:252 #, python-format msgid "Running %s..." msgstr "Esecuzione di %s..." -#: lilylib.py:276 +#: lilylib.py:328 #, python-format msgid "Usage: %s" msgstr "Uso: %s" -#: musicexp.py:216 musicexp.py:221 +#: musicexp.py:224 musicexp.py:229 msgid "Language does not support microtones contained in the piece" msgstr "La lingua non supporta i microtoni presenti nel brano" -#: musicexp.py:483 +#: musicexp.py:491 msgid "Tuplet brackets of curved shape are not correctly implemented" msgstr "Le parentesi di forma curva per i gruppi irregolari non sono implementate correttamente" -#: musicexp.py:669 +#: musicexp.py:677 #, python-format msgid "unable to set the music %(music)s for the repeat %(repeat)s" msgstr "non è stato possibile impostare la musica %(music)s per la ripetizione %(repeat)s" -#: musicexp.py:678 +#: musicexp.py:686 msgid "encountered repeat without body" msgstr "si è incontrata una ripetizione senza corpo" #. no self.elements! -#: musicexp.py:848 +#: musicexp.py:856 #, python-format msgid "Grace note with no following music: %s" msgstr "Nota di abbellimento non seguita da musica: %s" -#: musicexp.py:1010 +#: musicexp.py:1018 #, python-format msgid "Invalid octave shift size found: %s. Using no shift." msgstr "Trovata una dimensione di spostamento dell'ottava non valida: %s. Non si userà alcun spostamento." -#: musicexp.py:1468 +#: musicexp.py:1476 #, python-format msgid "Unable to convert alteration %s to a lilypond expression" msgstr "Non si può convertire l'alterazione %s in un'espressione lilypond" #. TODO: Handle pieces without a time signature! -#: musicxml.py:358 +#: musicxml.py:361 msgid "Senza-misura time signatures are not yet supported!" msgstr "I segni di tempo senza-misura non sono ancora supportati!" -#: musicxml.py:376 +#: musicxml.py:379 msgid "Unable to interpret time signature! Falling back to 4/4." msgstr "Non è stato possibile interpretare l'indicazione di tempo! Verrà usato il 4/4." -#: musicxml.py:432 +#: musicxml.py:435 #, python-format msgid "Key alteration octave given for a non-existing alteration nr. %s, available numbers: %s!" msgstr "Si è inserita un'ottava di alterazione di tonalità per un numero di alterazioni inesistente %s, numeri disponibili: %s!" -#: musicxml.py:520 +#: musicxml.py:523 #, python-format msgid "Unable to find instrument for ID=%s\n" msgstr "Impossibile trovare lo strumento con ID=%s\n" -#: book_latex.py:156 +#. Work around a texi2pdf bug: if LANG=C is not given, a broken regexp is +#. used to detect relative/absolute paths, so the absolute path is not +#. detected as such and this command fails: +#: book_texinfo.py:206 +#, python-format +msgid "Running texi2pdf on file %s to detect default page settings.\n" +msgstr "Si esegue texi2pdf sul file %s per individuare le impostazioni predefinite della pagina.\n" + +#: book_texinfo.py:228 book_latex.py:209 +msgid "Unable to auto-detect default settings:\n" +msgstr "Impossibile individuare automaticamente le impostazioni predefinite:\n" + +#: book_texinfo.py:240 book_latex.py:221 +#, python-format +msgid "" +"Unable to auto-detect default settings:\n" +"%s" +msgstr "" +"Impossibile individuare le impostazioni predefinite:\n" +"%s" + +#: book_latex.py:170 msgid "cannot find \\begin{document} in LaTeX document" msgstr "impossibile trovare \\begin{document} nel documento LaTeX" -#: musicxml2ly.py:224 +#: book_latex.py:188 +#, python-format +msgid "Running `%s' on file `%s' to detect default page settings.\n" +msgstr "Esecuzione di \"%s\" sul file \"%s\" per individuare le impostazioni predefinite della pagina.\n" + +#: musicxml2ly.py:228 #, python-format msgid "Encountered file created by %s, containing wrong beaming information. All beaming information in the MusicXML file will be ignored" msgstr "Si è trovato un file creato da %s che contiene informazioni sbagliate sulla disposizione delle travature. Tutte le informazioni sulle travature presenti nel file MusicXML verranno ignorate" -#: musicxml2ly.py:240 musicxml2ly.py:242 +#: musicxml2ly.py:247 musicxml2ly.py:249 #, python-format msgid "Unprocessed PartGroupInfo %s encountered" msgstr "PartGroupInfo %s rilevato ma non elaborato" -#: musicxml2ly.py:495 +#: musicxml2ly.py:502 #, python-format msgid "Encountered note at %s without type and duration (=%s)" msgstr "Trovata una nota in %s senza tipo e durata (=%s)" -#: musicxml2ly.py:515 +#: musicxml2ly.py:522 #, python-format msgid "Encountered rational duration with denominator %s, unable to convert to lilypond duration" msgstr "Trovata una durata razionale con denominatore %s, impossibile convertire in una durata di lilypond" -#: musicxml2ly.py:762 +#: musicxml2ly.py:769 msgid "Unable to extract key signature!" msgstr "Impossibile estrarre l'armatura di chiave!" -#: musicxml2ly.py:789 +#: musicxml2ly.py:796 #, python-format msgid "unknown mode %s, expecting 'major' or 'minor' or a church mode!" msgstr "modo %s sconosciuto, è richiesto \"major\" o \"minor\" o un modo ecclesiastico!" -#: musicxml2ly.py:927 +#: musicxml2ly.py:934 #, python-format msgid "Encountered unprocessed marker %s\n" msgstr "Trovato un marcatore non elaborato %s\n" -#: musicxml2ly.py:1021 +#: musicxml2ly.py:1028 #, python-format msgid "unknown span event %s" msgstr "evento di estensione %s sconosciuto" -#: musicxml2ly.py:1031 +#: musicxml2ly.py:1038 #, python-format msgid "unknown span type %s for %s" msgstr "tipo di estensione %s sconosciuto per %s" -#: musicxml2ly.py:1451 +#: musicxml2ly.py:1458 msgid "Unknown metronome mark, ignoring" msgstr "Indicazione metronomica sconosciuta, si ignora" #. TODO: Implement the other (more complex) way for tempo marks! -#: musicxml2ly.py:1456 +#: musicxml2ly.py:1463 msgid "Metronome marks with complex relations ( in MusicXML) are not yet implemented." msgstr "Indicazioni metronomiche con relazioni complesse ( in MusicXML) non sono ancora implementate." -#: musicxml2ly.py:1658 +#: musicxml2ly.py:1665 #, python-format msgid "Unable to convert chord type %s to lilypond." msgstr "Impossibile convertire l'accordo di tipo %s in un'espressione di lilypond." -#: musicxml2ly.py:1807 +#: musicxml2ly.py:1814 #, python-format msgid "drum %s type unknown, please add to instrument_drumtype_dict" msgstr "tipo di percussione %s sconosciuto, si prega di aggiungerlo a instrument_drumtype_dict" -#: musicxml2ly.py:1811 +#: musicxml2ly.py:1818 msgid "cannot find suitable event" msgstr "impossibile trovare un evento adatto" -#: musicxml2ly.py:1959 +#: musicxml2ly.py:1966 #, python-format msgid "Negative skip %s (from position %s to %s)" msgstr "Salto negativo %s (dalla posizione %s a %s)" -#: musicxml2ly.py:2100 +#: musicxml2ly.py:2107 #, python-format msgid "Negative skip found: from %s to %s, difference is %s" msgstr "Trovato un salto negativo: da %s a %s, la differenza è %s" -#: musicxml2ly.py:2181 +#: musicxml2ly.py:2188 #, python-format msgid "unexpected %s; expected %s or %s or %s" msgstr "%s inaspettato; previsto %s o %s o %s" -#: musicxml2ly.py:2287 +#: musicxml2ly.py:2294 msgid "Encountered closing slur, but no slur is open" msgstr "Trovata la chiusura di una legatura di portamento, ma non ne è stata aperta alcuna" -#: musicxml2ly.py:2290 +#: musicxml2ly.py:2297 msgid "Cannot have two simultaneous (closing) slurs" msgstr "Due legature di portamento non possono chiudersi simultaneamente" -#: musicxml2ly.py:2299 +#: musicxml2ly.py:2306 msgid "Cannot have a slur inside another slur" msgstr "Due legature di portamento non possono sovrapporsi" -#: musicxml2ly.py:2302 +#: musicxml2ly.py:2309 msgid "Cannot have two simultaneous slurs" msgstr "Due legature di portamento non possono intervenire simultaneamente" -#: musicxml2ly.py:2436 +#: musicxml2ly.py:2443 #, python-format msgid "cannot simultaneously have more than one mode: %s" msgstr "non si può avere simultaneamente più di un modo: %s" -#: musicxml2ly.py:2544 +#: musicxml2ly.py:2551 msgid "Converting to LilyPond expressions..." msgstr "Conversione nelle espressioni di LilyPond..." -#: musicxml2ly.py:2555 +#: musicxml2ly.py:2562 msgid "musicxml2ly [OPTION]... FILE.xml" msgstr "musicxml2ly [OPZIONE]... FILE.xml" -#: musicxml2ly.py:2557 +#: musicxml2ly.py:2564 msgid "" "Convert MusicXML from FILE.xml to LilyPond input.\n" "If the given filename is -, musicxml2ly reads from the command line.\n" @@ -973,12 +1039,12 @@ msgstr "" "Converte FILE.xml (MusicXML) in input di LilyPond.\n" "Se il nome del file è -, musicxml2ly legge dalla riga di comando.\n" -#: musicxml2ly.py:2563 midi2ly.py:1060 abc2ly.py:1386 lilypond-book.py:140 -#: convert-ly.py:98 etf2ly.py:1202 main.cc:159 +#: musicxml2ly.py:2570 midi2ly.py:1060 abc2ly.py:1387 lilypond-book.py:141 +#: convert-ly.py:92 etf2ly.py:1204 main.cc:153 msgid "show this help and exit" msgstr "mostra questo messaggio di aiuto ed esce" -#: musicxml2ly.py:2567 +#: musicxml2ly.py:2574 msgid "" "Copyright (c) 2005--2012 by\n" " Han-Wen Nienhuys ,\n" @@ -990,117 +1056,130 @@ msgstr "" " Jan Nieuwenhuizen e\n" " Reinhold Kainhofer \n" -#: musicxml2ly.py:2581 midi2ly.py:1091 abc2ly.py:1382 lilypond-book.py:217 -#: convert-ly.py:94 etf2ly.py:1206 main.cc:174 +#: musicxml2ly.py:2588 midi2ly.py:1091 abc2ly.py:1383 lilypond-book.py:232 +#: convert-ly.py:88 etf2ly.py:1208 main.cc:174 msgid "show version number and exit" msgstr "mostra il numero di versione ed esce" -#: musicxml2ly.py:2586 midi2ly.py:1085 lilypond-book.py:209 main.cc:175 +#: musicxml2ly.py:2594 midi2ly.py:1085 lilypond-book.py:224 msgid "be verbose" msgstr "passa in modalità prolissa" -#: musicxml2ly.py:2592 +#: musicxml2ly.py:2600 msgid "use lxml.etree; uses less memory and cpu time" msgstr "usa lxml.etree per limitare il consumo di memoria e i tempi del processore" -#: musicxml2ly.py:2598 +#: musicxml2ly.py:2606 msgid "input file is a zip-compressed MusicXML file" msgstr "il file di input è un file MusicXML compresso in ZIP" -#: musicxml2ly.py:2604 +#: musicxml2ly.py:2612 msgid "convert pitches in relative mode (default)" msgstr "converte le altezze in modo relativo (predefinito)" -#: musicxml2ly.py:2609 +#: musicxml2ly.py:2617 msgid "convert pitches in absolute mode" msgstr "converte le altezze in modo assoluto" -#: musicxml2ly.py:2612 +#: musicxml2ly.py:2620 msgid "LANG" msgstr "LINGUA" -#: musicxml2ly.py:2614 +#: musicxml2ly.py:2622 msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German" msgstr "usa LINGUA per i nomi delle altezze, ad esempio 'deutsch' per i nomi delle note in tedesco" -#: musicxml2ly.py:2620 +#: musicxml2ly.py:2625 lilypond-book.py:180 convert-ly.py:105 +msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)" +msgstr "Mostra i messaggi di log in base a LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)" + +#: musicxml2ly.py:2627 lilypond-book.py:164 lilypond-book.py:182 +#: convert-ly.py:107 main.cc:167 +msgid "LOGLEVEL" +msgstr "LOGLEVEL" + +#: musicxml2ly.py:2636 msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc." msgstr "non converte le direzioni (^, _ o -) per articolazioni, dinamiche, etc." -#: musicxml2ly.py:2626 +#: musicxml2ly.py:2642 msgid "do not convert exact vertical positions of rests" msgstr "non converte le esatte posizioni verticali delle pause" -#: musicxml2ly.py:2632 +#: musicxml2ly.py:2648 msgid "do not convert the exact page layout and breaks" msgstr "non converte l'esatta formattazione di pagina e gli a capo" -#: musicxml2ly.py:2638 +#: musicxml2ly.py:2654 msgid "do not convert beaming information, use lilypond's automatic beaming instead" msgstr "non converte le informazioni relative alle travature, usare invece la disposizione automatica delle travature di lilypond" -#: musicxml2ly.py:2641 midi2ly.py:1065 midi2ly.py:1070 etf2ly.py:1208 -#: main.cc:165 main.cc:172 +#: musicxml2ly.py:2657 midi2ly.py:1065 midi2ly.py:1070 etf2ly.py:1210 +#: main.cc:159 main.cc:171 msgid "FILE" msgstr "FILE" -#: musicxml2ly.py:2646 +#: musicxml2ly.py:2662 msgid "set output filename to FILE, stdout if -" msgstr "imposta il nome del file di output su FILE (stdout se -)" +#: musicxml2ly.py:2668 +msgid "add midi-block to .ly file" +msgstr "aggiunge il blocco midi al file .ly" + #. Translators, please translate this string as #. "Report bugs in English via %s", #. or if there is a LilyPond users list or forum in your language #. "Report bugs in English via %s or in YOUR_LANG via URI" -#: musicxml2ly.py:2649 midi2ly.py:1104 abc2ly.py:1395 lilypond-book.py:239 -#: convert-ly.py:144 etf2ly.py:1216 main.cc:285 +#: musicxml2ly.py:2672 midi2ly.py:1104 abc2ly.py:1396 lilypond-book.py:259 +#: convert-ly.py:146 etf2ly.py:1218 main.cc:285 #, c-format, python-format msgid "Report bugs via %s" msgstr "Segnalare i bug in inglese attraverso %s" -#: musicxml2ly.py:2729 +#: musicxml2ly.py:2752 #, python-format msgid "unknown part in part-list: %s" msgstr "parte sconosciuta in part-list: %s" -#: musicxml2ly.py:2791 +#: musicxml2ly.py:2814 msgid "Input is compressed, extracting raw MusicXML data from stdin" msgstr "L'input è compresso. Estrazione dei dati MusicXML da stdin" -#: musicxml2ly.py:2804 +#: musicxml2ly.py:2827 #, python-format msgid "Input file %s is compressed, extracting raw MusicXML data" msgstr "Il file di input %s è compresso. Estrazione dei dati MusicXML" -#: musicxml2ly.py:2834 +#: musicxml2ly.py:2857 msgid "Reading MusicXML from Standard input ..." msgstr "Lettura di MusicXML da Standard input ..." -#: musicxml2ly.py:2836 +#: musicxml2ly.py:2859 #, python-format msgid "Reading MusicXML from %s ..." msgstr "Lettura di MusicXML da %s ..." -#: musicxml2ly.py:2869 +#: musicxml2ly.py:2892 #, python-format msgid "Output to `%s'" msgstr "Output inviato a «%s»" -#: musicxml2ly.py:2936 +#: musicxml2ly.py:2962 #, python-format msgid "Unable to find input file %s" msgstr "Impossibile trovare il file di input %s" -#: midi2ly.py:81 lilypond-book.py:116 convert-ly.py:81 etf2ly.py:1189 +#: midi2ly.py:81 lilypond-book.py:116 convert-ly.py:75 etf2ly.py:1191 #, python-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s di" -#: midi2ly.py:83 lilypond-book.py:118 convert-ly.py:83 etf2ly.py:1191 +#: midi2ly.py:83 lilypond-book.py:118 convert-ly.py:77 etf2ly.py:1193 msgid "Distributed under terms of the GNU General Public License." msgstr "Distribuito secondo i termini della GNU General Public License." -#: midi2ly.py:84 lilypond-book.py:119 convert-ly.py:84 etf2ly.py:1192 +#: midi2ly.py:84 lilypond-book.py:119 convert-ly.py:78 etf2ly.py:1194 msgid "It comes with NO WARRANTY." msgstr "È distribuito con NESSUNA GARANZIA." @@ -1125,7 +1204,7 @@ msgstr "trovate più di 5 voci in un rigo, è probabile che l'output sia sbaglia msgid "%s output to `%s'..." msgstr "%s output inviato a «%s»..." -#: midi2ly.py:1042 abc2ly.py:1373 lilypond-book.py:122 convert-ly.py:87 +#: midi2ly.py:1042 abc2ly.py:1374 lilypond-book.py:123 convert-ly.py:81 #, python-format msgid "%s [OPTION]... FILE" msgstr "%s [OPZIONE]... FILE" @@ -1167,7 +1246,7 @@ msgstr "imposta la tonalità: ALTERAZIONE=+diesis|-bemolle; MINORE=1" msgid "ALT[:MINOR]" msgstr "ALTERAZIONE[:MINORE]" -#: midi2ly.py:1069 abc2ly.py:1388 etf2ly.py:1207 +#: midi2ly.py:1069 abc2ly.py:1389 etf2ly.py:1209 msgid "write output to FILE" msgstr "scrive l'output in FILE" @@ -1191,7 +1270,7 @@ msgstr "DURATA*NUMERATORE/DENOMINATORE" msgid "allow tuplet durations DUR*NUM/DEN" msgstr "consente le durate DURATA*NUMERATORE/DENOMINATORE nei gruppi irregolari" -#: midi2ly.py:1092 lilypond-book.py:220 convert-ly.py:139 etf2ly.py:1210 +#: midi2ly.py:1092 lilypond-book.py:235 convert-ly.py:141 etf2ly.py:1212 #: main.cc:176 msgid "show warranty and copyright" msgstr "mostra la garanzia e il copyright" @@ -1208,7 +1287,7 @@ msgstr "Esempi" msgid "no files specified on command line." msgstr "nessun file specificato nella riga di comando." -#: abc2ly.py:1374 +#: abc2ly.py:1375 #, python-format msgid "" "abc2ly converts ABC music files (see\n" @@ -1217,11 +1296,11 @@ msgstr "" "abc2ly converte file musicali ABC (si veda\n" "%s) in input LilyPond.\n" -#: abc2ly.py:1390 +#: abc2ly.py:1391 msgid "be strict about success" msgstr "è severo rispetto all'esito" -#: abc2ly.py:1392 +#: abc2ly.py:1393 msgid "preserve ABC's notion of beams" msgstr "preserva la nozione di travatura di ABC" @@ -1229,7 +1308,7 @@ msgstr "preserva la nozione di travatura di ABC" msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document." msgstr "Elaborare i frammenti di codice LilyPond in un documento HTML ibrido, LaTeX, texinfo o DocBook." -#: lilypond-book.py:82 convert-ly.py:46 +#: lilypond-book.py:82 convert-ly.py:48 msgid "Examples:" msgstr "Esempi:" @@ -1242,90 +1321,94 @@ msgstr "LIBRO" msgid "Exiting (%d)..." msgstr "Uscita (%d)..." -#: lilypond-book.py:127 +#: lilypond-book.py:128 msgid "FILTER" msgstr "FILTRO" -#: lilypond-book.py:130 +#: lilypond-book.py:131 msgid "pipe snippets through FILTER [default: `convert-ly -n -']" msgstr "redirige i frammenti di codice attraverso FILTRO [predefinito: `convert-ly -n -']" -#: lilypond-book.py:134 +#: lilypond-book.py:135 msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)" msgstr "usa il formato di output FORMATO (texi [predefinito], texi-html, latex, html, docbook)" -#: lilypond-book.py:135 +#: lilypond-book.py:136 msgid "FORMAT" msgstr "FORMATO" -#: lilypond-book.py:142 +#: lilypond-book.py:143 msgid "add DIR to include path" msgstr "aggiunge DIR al percorso di inclusione" -#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:163 -#: lilypond-book.py:173 lilypond-book.py:194 lilypond-book.py:200 main.cc:164 +#: lilypond-book.py:144 lilypond-book.py:151 lilypond-book.py:170 +#: lilypond-book.py:188 lilypond-book.py:209 lilypond-book.py:215 main.cc:158 msgid "DIR" msgstr "DIR" -#: lilypond-book.py:148 +#: lilypond-book.py:149 msgid "format Texinfo output so that Info will look for images of music in DIR" msgstr "formatta l'output di Texinfo in modo che Info cerchi le immagini in DIR" -#: lilypond-book.py:155 +#: lilypond-book.py:156 msgid "PAD" msgstr "PAD" -#: lilypond-book.py:157 +#: lilypond-book.py:158 msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)" msgstr "aumenta il lato sinistro della musica (in mm) per allinearla nonostante il numero irregolare di battute" -#: lilypond-book.py:162 +#: lilypond-book.py:163 +msgid "Print lilypond log messages according to LOGLEVEL" +msgstr "Mostra i messaggi di log di lilypond in base a LOGLEVEL" + +#: lilypond-book.py:169 msgid "write lily-XXX files to DIR, link into --output dir" msgstr "" "scrive i file lily-XXX in DIR e crea un collegamento verso\n" "la directory specificata con --output" -#: lilypond-book.py:167 +#: lilypond-book.py:174 msgid "Load the additional python PACKAGE (containing e.g. a custom output format)" msgstr "Carica il PACCHETTO python supplementare (contenente ad esempio un formato di output personalizzato)" -#: lilypond-book.py:168 +#: lilypond-book.py:175 msgid "PACKAGE" msgstr "PACCHETTO" -#: lilypond-book.py:172 +#: lilypond-book.py:187 msgid "write output to DIR" msgstr "scrive l'output in DIR" -#: lilypond-book.py:177 +#: lilypond-book.py:192 msgid "COMMAND" msgstr "COMANDO" -#: lilypond-book.py:178 +#: lilypond-book.py:193 msgid "process ly_files using COMMAND FILE..." msgstr "elabora ly_files con COMANDO FILE..." -#: lilypond-book.py:183 +#: lilypond-book.py:198 msgid "Redirect the lilypond output" msgstr "Redirezione dell'output di lilypond" -#: lilypond-book.py:187 +#: lilypond-book.py:202 msgid "Compile snippets in safe mode" msgstr "Compila i frammenti di codice in modalità sicura" -#: lilypond-book.py:193 +#: lilypond-book.py:208 msgid "do not fail if no lilypond output is found" msgstr "non si interrompe se non si trova alcun output di lilypond" -#: lilypond-book.py:199 +#: lilypond-book.py:214 msgid "do not fail if no PNG images are found for EPS files" msgstr "non si interrompe se non si trovano immagini PNG per i file EPS" -#: lilypond-book.py:205 +#: lilypond-book.py:220 msgid "write snippet output files with the same base name as their source file" msgstr "scrive i file di output dei frammenti di codice con lo stesso nome di base dei file sorgenti" -#: lilypond-book.py:225 +#: lilypond-book.py:240 msgid "" "run executable PROG instead of latex, or in\n" "case --pdf option is set instead of pdflatex" @@ -1333,70 +1416,88 @@ msgstr "" "eseguire il PROGRAMMA eseguibile invece di latex, o nel caso in\n" "cui viene impostata l'opzione --pdf invece di usare pdflatex" -#: lilypond-book.py:227 +#: lilypond-book.py:242 lilypond-book.py:247 msgid "PROG" msgstr "PROGRAMMA" -#: lilypond-book.py:233 +#: lilypond-book.py:246 +msgid "run executable PROG instead of texi2pdf" +msgstr "esegue l'eseguibile PROGRAMMA invece di texi2pdf" + +#: lilypond-book.py:253 msgid "create PDF files for use with PDFTeX" msgstr "creare file PDF per l'utilizzo con PDFTeX" -#: lilypond-book.py:428 +#: lilypond-book.py:456 msgid "Writing snippets..." msgstr "Scrittura dei frammenti di codice..." -#: lilypond-book.py:434 +#: lilypond-book.py:461 msgid "Processing..." msgstr "In elaborazione..." -#: lilypond-book.py:440 +#: lilypond-book.py:466 msgid "All snippets are up to date..." msgstr "Tutti i frammenti di codice sono aggiornati..." -#: lilypond-book.py:461 +#: lilypond-book.py:485 #, python-format msgid "cannot determine format for: %s" msgstr "impossibile determinare il formato per: %s" -#: lilypond-book.py:470 +#: lilypond-book.py:494 #, python-format msgid "%s is up to date." msgstr "%s è aggiornato." -#: lilypond-book.py:484 +#: lilypond-book.py:507 #, python-format msgid "Writing `%s'..." msgstr "Scrittura di «%s»..." -#: lilypond-book.py:546 +#: lilypond-book.py:568 msgid "Output would overwrite input file; use --output." msgstr "L'output sovrascriverebbe il file di input; usare --output." -#: lilypond-book.py:550 +#: lilypond-book.py:572 #, python-format msgid "Reading %s..." msgstr "Lettura di %s..." -#: lilypond-book.py:558 +#: lilypond-book.py:579 msgid "Dissecting..." msgstr "Dissezione di..." -#: lilypond-book.py:570 +#: lilypond-book.py:590 #, python-format msgid "Compiling %s..." msgstr "Compilazione di %s" -#: lilypond-book.py:579 +#: lilypond-book.py:598 #, python-format msgid "Processing include: %s" msgstr "Elaborazione di include: %s" -#: lilypond-book.py:591 +#: lilypond-book.py:609 #, python-format msgid "Removing `%s'" msgstr "Eliminazione di «%s»" -#: convert-ly.py:44 +#: lilypond-book.py:676 +#, python-format +msgid "Setting LilyPond's loglevel to %s" +msgstr "Si imposta il loglevel di LilyPond su %s" + +#: lilypond-book.py:680 +#, python-format +msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)" +msgstr "Si imposta il loglevel di LilyPond su %s (dalla variabile d'ambiente LILYPOND_LOGLEVEL)" + +#: lilypond-book.py:683 +msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting" +msgstr "Si imposta l'output di LilyPond su --verbose, come implicato dall'impostazione di lilypond-book" + +#: convert-ly.py:46 msgid "" "Update LilyPond input to newer version. By default, update from the\n" "version taken from the \\version command, to the current LilyPond version." @@ -1404,69 +1505,69 @@ msgstr "" "Aggiorna l'input LilyPond a una nuova versione. Per impostazione predefinita aggiorna dalla\n" "versione presa dal comando \\version alla versione attuale di LilyPond." -#: convert-ly.py:102 convert-ly.py:135 +#: convert-ly.py:96 convert-ly.py:137 msgid "VERSION" msgstr "VERSIONE" -#: convert-ly.py:104 +#: convert-ly.py:98 msgid "start from VERSION [default: \\version found in file]" msgstr "parte dalla VERSIONE [predefinito: \\version del file]" -#: convert-ly.py:107 +#: convert-ly.py:101 msgid "edit in place" msgstr "modifica il file di input" -#: convert-ly.py:111 +#: convert-ly.py:113 msgid "do not add \\version command if missing" msgstr "non aggiunge il comando \\version se non è presente" -#: convert-ly.py:117 +#: convert-ly.py:119 #, python-format msgid "force updating \\version number to %s" msgstr "forza l'aggiornamento del numero di \\version a %s" -#: convert-ly.py:123 +#: convert-ly.py:125 msgid "only update \\version number if file is modified" msgstr "aggiorna il numero di \\version solo se il file è modificato" -#: convert-ly.py:129 +#: convert-ly.py:131 #, python-format msgid "show rules [default: -f 0, -t %s]" msgstr "mostra le regole [predefinito: -f 0, -t %s]" -#: convert-ly.py:134 +#: convert-ly.py:136 #, python-format msgid "convert to VERSION [default: %s]" msgstr "converte a VERSIONE [predefinito: %s]" -#: convert-ly.py:184 +#: convert-ly.py:186 msgid "Applying conversion: " msgstr "Conversione in corso: " -#: convert-ly.py:197 +#: convert-ly.py:202 msgid "Error while converting" msgstr "Errore durante la conversione" -#: convert-ly.py:199 +#: convert-ly.py:204 msgid "Stopping at last successful rule" msgstr "Fermarsi all'ultima regola riuscita" -#: convert-ly.py:224 +#: convert-ly.py:231 #, python-format msgid "Processing `%s'... " msgstr "Elaborazione di «%s»... " -#: convert-ly.py:332 +#: convert-ly.py:338 #, python-format msgid "%s: Unable to open file" msgstr "%s: Impossibile aprire il file" -#: convert-ly.py:339 +#: convert-ly.py:345 #, python-format msgid "%s: Unable to determine version. Skipping" msgstr "%s: Impossibile determinare la versione. Tralasciato" -#: convert-ly.py:344 +#: convert-ly.py:350 #, python-format msgid "" "%s: Invalid version string `%s' \n" @@ -1475,12 +1576,12 @@ msgstr "" "%s: Stringa di versione non valida `%s' \n" "Le stringhe di versione valide sono composte da tre numeri separati da punti, ad esempio «2.8.12»" -#: etf2ly.py:1195 +#: etf2ly.py:1197 #, python-format msgid "%s [OPTION]... ETF-FILE" msgstr "%s [OPZIONE]... FILE-ETF" -#: etf2ly.py:1196 +#: etf2ly.py:1198 msgid "" "Enigma Transport Format is a format used by Coda Music Technology's\n" "Finale product. etf2ly converts a subset of ETF to a ready-to-use LilyPond file.\n" @@ -1496,20 +1597,51 @@ msgstr "Inglese" msgid "Other languages" msgstr "Altre lingue" -#: warn.cc:59 +#: warn.cc:56 +#, c-format +msgid "Log level set to %d\n" +msgstr "Log level impostato su %d\n" + +#: warn.cc:89 +#, c-format +msgid "unknown log level `%s', using default (INFO)" +msgstr "log level \"%s\" sconosciuto, si usa quello predefinito (INFO)" + +#. Some expected warning was not triggered, so print out a warning. +#: warn.cc:112 +#, c-format +msgid "%d expected warning(s) not encountered: " +msgstr "%d avvertimenti previsti non incontrati: " + +#: warn.cc:183 #, c-format -msgid "success: %s" -msgstr "riuscito: %s" +msgid "fatal error: %s" +msgstr "errore fatale: %s" -#: warn.cc:86 grob.cc:613 input.cc:97 +#: warn.cc:192 +#, c-format +msgid "suppressed programming error: %s" +msgstr "errore di programmazione soppresso: %s" + +#: warn.cc:197 #, c-format msgid "programming error: %s" msgstr "errore di programmazione: %s" -#: warn.cc:87 input.cc:98 +#: warn.cc:198 msgid "continuing, cross fingers" msgstr "continua, incrociare le dita" +#: warn.cc:207 +#, c-format +msgid "suppressed error: %s" +msgstr "errore soppresso: %s" + +#: warn.cc:219 +#, c-format +msgid "suppressed warning: %s" +msgstr "avvertimento soppresso: %s" + #: getopt-long.cc:153 #, c-format msgid "option `%s' requires an argument" @@ -1530,35 +1662,43 @@ msgstr "opzione non riconosciuta: «%s»" msgid "invalid argument `%s' to option `%s'" msgstr "argomento «%s» non valido per l'opzione «%s»" -#: grob.cc:286 -msgid "Infinity or NaN encountered" -msgstr "incontrato infinito o un valore non numerico" - -#: vaticana-ligature.cc:95 -msgid "flexa-height undefined; assuming 0" -msgstr "flexa-height non definito; si assume 0" - -#: vaticana-ligature.cc:100 -msgid "ascending vaticana style flexa" -msgstr "flexa ascendente in stile vaticana" +#: flag.cc:110 +#, c-format +msgid "flag `%s' not found" +msgstr "non si trova la coda uncinata «%s»" -#: vaticana-ligature.cc:188 -msgid "Vaticana_ligature: zero join (delta_pitch == 0)" -msgstr "Vaticana_ligature: unione nulla (delta_pitch == 0)" +#: flag.cc:130 +#, c-format +msgid "flag stroke `%s' not found" +msgstr "non si trova il tratto «%s» della coda uncinata" -#: parse-scm.cc:100 +#: parse-scm.cc:112 msgid "GUILE signaled an error for the expression beginning here" msgstr "GUILE ha segnalato un errore per l'espressione che inizia qui" -#: rest-collision-engraver.cc:70 -msgid "rhythmic head is not part of a rhythmic column" -msgstr "la testa ritmica non fa parte di una colonna ritmica" +#: lily-lexer.cc:255 +msgid "include files are not allowed in safe mode" +msgstr "l'inclusione di file non è permessa in modalità sicura" + +#: lily-lexer.cc:282 +#, c-format +msgid "identifier name is a keyword: `%s'" +msgstr "Il nome dell'identificatore è una parola chiave: «%s»" + +#: lily-lexer.cc:303 lily-lexer.cc:316 +#, c-format +msgid "%s:EOF" +msgstr "%s:EOF" #. if we get to here, just put everything on one line #: constrained-breaking.cc:187 constrained-breaking.cc:205 msgid "cannot find line breaking that satisfies constraints" msgstr "impossibile trovare interruzioni di linea che soddisfino i vincoli" +#: context-property.cc:43 +msgid "need symbol arguments for \\override and \\revert" +msgstr "sono necessari argomenti simbolici per \\override e \\revert" + #: horizontal-bracket-engraver.cc:62 msgid "do not have that many brackets" msgstr "non ci sono così tante parentesi" @@ -1567,79 +1707,104 @@ msgstr "non ci sono così tante parentesi" msgid "conflicting note group events" msgstr "eventi di gruppi di note in conflitto" -#: hyphen-engraver.cc:104 -msgid "removing unterminated hyphen" -msgstr "eliminazione di un trattino non terminato" - -#: hyphen-engraver.cc:118 -msgid "unterminated hyphen; removing" -msgstr "trattino non terminato; eliminazione" +#: new-fingering-engraver.cc:113 +msgid "cannot add text scripts to individual note heads" +msgstr "impossibile aggiungere delle scritte testuali alle teste delle note individuali" -#: pango-font.cc:189 open-type-font.cc:318 -#, c-format -msgid "FT_Get_Glyph_Name () error: %s" -msgstr "errore in FT_Get_Glyph_Name (): %s" +#: new-fingering-engraver.cc:265 +msgid "no placement found for fingerings" +msgstr "nessuna posizione trovata per le diteggiature" -#: pango-font.cc:205 -#, c-format -msgid "" -"Glyph has no name, but font supports glyph naming.\n" -"Skipping glyph U+%0X, file %s" -msgstr "" -"Il glifo non ha un nome, ma il tipo di carattere permette di dare un nome al glifo.\n" -"Si salta il glifo U+%0X, file %s" +#: new-fingering-engraver.cc:266 +msgid "placing below" +msgstr "si colloca in basso" -#: pango-font.cc:242 +#: translator-group.cc:188 #, c-format -msgid "no PostScript font name for font `%s'" -msgstr "nessun nome di tipo di carattere PostScript per «%s»" +msgid "cannot find: `%s'" +msgstr "impossibile trovare: «%s»" -#: pango-font.cc:291 -msgid "FreeType face has no PostScript font name" -msgstr "Il tipo FreeType non ha un nome per il tipo di carattere PostScript" +#: glissando-engraver.cc:158 +msgid "unterminated glissando" +msgstr "glissando non terminato" #: midi-item.cc:89 #, c-format msgid "no such MIDI instrument: `%s'" msgstr "non esiste questo strumento MIDI: «%s»" +#: open-type-font.cc:44 +#, c-format +msgid "cannot allocate %lu bytes" +msgstr "impossibile allocare %lu byte" + +#: open-type-font.cc:48 +#, c-format +msgid "cannot load font table: %s" +msgstr "impossibile caricare la tabella dei tipi di carattere: %s" + +#: open-type-font.cc:53 +#, c-format +msgid "FreeType error: %s" +msgstr "Errore FreeType: %s" + +#: open-type-font.cc:110 +#, c-format +msgid "unsupported font format: %s" +msgstr "formato di tipo di carattere non supportato: %s" + +#: open-type-font.cc:112 +#, c-format +msgid "error reading font file %s: %s" +msgstr "errore nella lettura del file del tipo di carattere %s: %s" + +#: open-type-font.cc:187 +#, c-format +msgid "FT_Get_Glyph_Name () Freetype error: %s" +msgstr "errore di Freetype in FT_Get_Glyph_Name (): %s" + +#: open-type-font.cc:318 pango-font.cc:189 +#, c-format +msgid "FT_Get_Glyph_Name () error: %s" +msgstr "errore in FT_Get_Glyph_Name (): %s" + #: note-heads-engraver.cc:76 msgid "NoteEvent without pitch" msgstr "NoteEvent senza altezza" -#: rest.cc:160 -#, c-format -msgid "rest `%s' not found" -msgstr "pausa «%s» non trovata" +#: skyline-pair.cc:131 +msgid "direction must not be CENTER in ly:skyline-pair::skyline" +msgstr "in ly:skyline-pair::skyline la direzione non deve essere CENTER" -#: spaceable-grob.cc:94 -#, c-format -msgid "No spring between column %d and next one" -msgstr "Nessuna separazione tra la colonna %d e la successiva" +#: hyphen-engraver.cc:104 +msgid "removing unterminated hyphen" +msgstr "eliminazione di un trattino non terminato" -#: beam-engraver.cc:147 -msgid "already have a beam" -msgstr "travatura già presente" +#: hyphen-engraver.cc:118 +msgid "unterminated hyphen; removing" +msgstr "trattino non terminato; eliminazione" -#: beam-engraver.cc:230 -msgid "unterminated beam" -msgstr "travatura non terminata" +#: output-def.cc:235 +msgid "margins do not fit with line-width, setting default values" +msgstr "i margini non corrispondono con la larghezza del rigo, si impostano i valori predefiniti" -#: beam-engraver.cc:266 chord-tremolo-engraver.cc:149 -msgid "stem must have Rhythmic structure" -msgstr "il gambo deve avere una struttura ritmica" +#: output-def.cc:242 +msgid "systems run off the page due to improper paper settings, setting default values" +msgstr "i sistemi escono fuori dalla pagina a causa di errate impostazioni del foglio, si impostano i valori predefiniti" -#: beam-engraver.cc:274 -msgid "stem does not fit in beam" -msgstr "il gambo non rientra nella travatura" +#: accidental.cc:200 +#, c-format +msgid "Could not find glyph-name for alteration %s" +msgstr "Non si è trovato il nome del glifo per l'alterazione %s" -#: beam-engraver.cc:275 -msgid "beam was started here" -msgstr "la travatura è iniziata qui" +#: accidental.cc:215 +msgid "natural alteration glyph not found" +msgstr "alterazione naturale del glifo non trovata" -#: music-iterator.cc:181 -msgid "Sending non-event to context" -msgstr "Invio di un non-evento al contesto" +#: lyric-combine-music-iterator.cc:337 +#, c-format +msgid "cannot find Voice `%s'" +msgstr "impossibile trovare la voce (Voice) «%s»" #: context.cc:148 #, c-format @@ -1651,11 +1816,6 @@ msgstr "impossibile trovare o creare un nuovo «%s»" msgid "cannot find or create `%s' called `%s'" msgstr "impossibile trovare o creare «%s» chiamato «%s»" -#: context.cc:268 -#, c-format -msgid "Invalid CreateContext event: Cannot create %s context" -msgstr "Evento CreateContext non valido: impossibile creare il contesto %s" - #: context.cc:399 #, c-format msgid "cannot find or create: `%s'" @@ -1670,9 +1830,15 @@ msgstr "La classe evento dovrebbe essere un simbolo" msgid "Unknown event class %s" msgstr "Classe di evento %s sconosciuta" -#: paper-column-engraver.cc:245 -msgid "forced break was overridden by some other event, should you be using bar checks?" -msgstr "l'interruzione forzata è stata sovrascritta da qualche altro evento, considerare l'uso dei controlli di battuta" +#: dispatcher.cc:171 +#, c-format +msgid "Junking event: %s" +msgstr "Eliminazione dell'evento: %s" + +#: auto-change-iterator.cc:74 change-iterator.cc:72 +#, c-format +msgid "cannot change, already in translator: %s" +msgstr "impossibile cambiare, già nel traduttore: %s" #: tie-engraver.cc:117 msgid "unterminated tie" @@ -1682,23 +1848,23 @@ msgstr "legatura di valore non terminata" msgid "lonely tie" msgstr "legatura di valore solitaria" -#: dynamic-engraver.cc:197 +#: dynamic-engraver.cc:193 msgid "cannot find start of (de)crescendo" msgstr "impossibile trovare l'inizio del (de)crescendo" -#: dynamic-engraver.cc:206 +#: dynamic-engraver.cc:200 msgid "already have a decrescendo" msgstr "decrescendo già presente" -#: dynamic-engraver.cc:208 +#: dynamic-engraver.cc:202 msgid "already have a crescendo" msgstr "crescendo già presente" -#: dynamic-engraver.cc:211 +#: dynamic-engraver.cc:205 msgid "cresc starts here" msgstr "cresc inizia qui" -#: dynamic-engraver.cc:339 +#: dynamic-engraver.cc:333 msgid "unterminated (de)crescendo" msgstr "(de)crescendo non terminato" @@ -1706,16 +1872,16 @@ msgstr "(de)crescendo non terminato" msgid "Calculating line breaks..." msgstr "Calcolo delle interruzioni di linea..." -#: paper-score.cc:135 +#: paper-score.cc:134 #, c-format msgid "Element count %d (spanners %d) " msgstr "Conto degli elementi %d (spanner %d)." -#: paper-score.cc:139 +#: paper-score.cc:138 msgid "Preprocessing graphical objects..." msgstr "Pre-elaborazione degli oggetti grafici..." -#: paper-score.cc:163 optimal-page-breaking.cc:208 +#: paper-score.cc:162 optimal-page-breaking.cc:208 #: page-turn-page-breaking.cc:248 msgid "Drawing systems..." msgstr "Disegno dei sistemi..." @@ -1768,77 +1934,38 @@ msgstr "" msgid "unexpected case fall-through" msgstr "caso inatteso e non interpretabile" -#: piano-pedal-engraver.cc:296 +#: piano-pedal-engraver.cc:279 #, c-format msgid "expect 3 strings for piano pedals, found: %ld" msgstr "previste tre corde per i pedali del pianoforte, trovate: %ld" -#: piano-pedal-engraver.cc:311 piano-pedal-engraver.cc:322 +#: piano-pedal-engraver.cc:294 piano-pedal-engraver.cc:305 #: piano-pedal-performer.cc:104 #, c-format msgid "cannot find start of piano pedal: `%s'" msgstr "impossibile trovare l'inizio del pedale del pianoforte: «%s»" -#: piano-pedal-engraver.cc:357 +#: piano-pedal-engraver.cc:340 #, c-format msgid "cannot find start of piano pedal bracket: `%s'" msgstr "impossibile trovare la parentesi di apertura del pedale del pianoforte: «%s»" -#: input.cc:130 source-file.cc:178 source-file.cc:193 +#: input.cc:138 source-file.cc:178 source-file.cc:193 msgid "position unknown" msgstr "posizione sconosciuta" -#: paper-outputter-scheme.cc:41 -#, c-format -msgid "Layout output to `%s'..." -msgstr "Output della formattazione inviato a «%s»..." - -#: general-scheme.cc:305 -msgid "infinity or NaN encountered while converting Real number" -msgstr "si è incontrato infinito o un valore non numerico durante la conversione di un numero reale" - -#: general-scheme.cc:306 -msgid "setting to zero" -msgstr "impostato a zero" +#: stem.cc:128 +msgid "weird stem size, check for narrow beams" +msgstr "strana dimensione del gambo, controllare di non avere travature strette" -#: general-scheme.cc:540 -msgid "Found infinity or nan in output. Substituting 0.0" -msgstr "Trovato infinito o un valore non numerico nell'output. Sostituito con 0.0" +#: relative-octave-check.cc:49 +msgid "Failed octave check, got: " +msgstr "Il controllo dell'ottava è fallito, si è ottenuto:" -#: music.cc:150 +#: translator-ctors.cc:65 #, c-format -msgid "octave check failed; expected \"%s\", found: \"%s\"" -msgstr "controllo dell'ottava fallito: previsto \"%s\", trovato: \"%s\"" - -#: music.cc:218 -msgid "(normalized pitch)" -msgstr "(altezza normalizzata)" - -#: music.cc:222 -#, c-format -msgid "Transposing %s by %s makes alteration larger than double" -msgstr "La trasposizione di %s da %s ingrandisce le alterazioni più del doppio" - -#: translator-ctors.cc:65 -#, c-format -msgid "unknown translator: `%s'" -msgstr "traduttore sconosciuto: «%s»" - -#: partial-iterator.cc:45 -msgid "trying to use \\partial after the start of a piece" -msgstr "tentativo di usare \\partial all'inizio di un brano" - -#: new-fingering-engraver.cc:105 -msgid "cannot add text scripts to individual note heads" -msgstr "impossibile aggiungere delle scritte testuali alle teste delle note individuali" - -#: new-fingering-engraver.cc:249 -msgid "no placement found for fingerings" -msgstr "nessuna posizione trovata per le diteggiature" - -#: new-fingering-engraver.cc:250 -msgid "placing below" -msgstr "si colloca in basso" +msgid "unknown translator: `%s'" +msgstr "traduttore sconosciuto: «%s»" #: ligature-engraver.cc:104 ligature-bracket-engraver.cc:72 msgid "cannot find start of ligature" @@ -1868,34 +1995,26 @@ msgstr "pausa ignorata: la legatura non può contenere una pausa" msgid "ligature was started here" msgstr "la legatura è iniziata qui" -#: auto-change-iterator.cc:74 change-iterator.cc:72 -#, c-format -msgid "cannot change, already in translator: %s" -msgstr "impossibile cambiare, già nel traduttore: %s" - -#: accidental-engraver.cc:179 -#, c-format -msgid "accidental typesetting list must begin with context-name: %s" -msgstr "la lista tipografica delle alterazioni deve iniziare con context-name: %s" - -#: accidental-engraver.cc:209 -#, c-format -msgid "procedure or context-name expected for accidental rule, found %s" -msgstr "si aspettava una procedura o un nome di contesto per la regola di alterazione accidentale, si è trovato %s" +#: tuplet-engraver.cc:110 +msgid "No tuplet to end" +msgstr "Nessun gruppo irregolare da terminare" -#: ttf.cc:480 ttf.cc:529 +#: ttf.cc:480 ttf.cc:528 #, c-format msgid "font index %d too large for font `%s', using index 0" msgstr "l'indice del tipo di carattere %d è troppo grande per il tipo di carattere «%s», si usa l'indice 0" -#: ttf.cc:512 ttf.cc:564 +#: ttf.cc:512 ttf.cc:562 msgid "font index must be non-negative, using index 0" msgstr "l'indice del tipo di carattere deve essere non negativo, si usa l'indice 0" -#: break-alignment-interface.cc:199 -#, c-format -msgid "No spacing entry from %s to `%s'" -msgstr "Nessuno spazio da %s a «%s»" +#: multi-measure-rest.cc:140 +msgid "usable-duration-logs must be a non-empty list. Falling back to whole rests." +msgstr "usable-duration-logs deve essere una lista non vuota. Si ricorre alle pause di semibreve." + +#: partial-iterator.cc:45 +msgid "trying to use \\partial after the start of a piece" +msgstr "tentativo di usare \\partial all'inizio di un brano" #: minimal-page-breaking.cc:44 msgid "Calculating page breaks..." @@ -1921,13 +2040,17 @@ msgstr "l'opzione -dprint-pages del programma non è supportata dal backend «%s msgid "program option -dpreview not supported by backend `%s'" msgstr "l'opzione -dpreview del programma non è supportata dal backend «%s»" -#: output-def.cc:235 -msgid "margins do not fit with line-width, setting default values" -msgstr "i margini non corrispondono con la larghezza del rigo, si impostano i valori predefiniti" +#: episema-engraver.cc:75 +msgid "already have an episema" +msgstr "episema già presente" -#: output-def.cc:242 -msgid "systems run off the page due to improper paper settings, setting default values" -msgstr "i sistemi escono fuori dalla pagina a causa di errate impostazioni del foglio, si impostano i valori predefiniti" +#: episema-engraver.cc:88 +msgid "cannot find start of episema" +msgstr "impossibile trovare l'inizio dell'episema" + +#: episema-engraver.cc:137 +msgid "unterminated episema" +msgstr "episema non terminato" #: score-engraver.cc:78 #, c-format @@ -1947,7 +2070,16 @@ msgstr "Percorso di ricerca «%s»" msgid "Aborting" msgstr "Si sospende l'esecuzione" -#: note-collision.cc:494 +#: performance.cc:54 +msgid "Track..." +msgstr "Traccia..." + +#: performance.cc:82 +#, c-format +msgid "MIDI output to `%s'..." +msgstr "L'output MIDI è inviato a «%s»..." + +#: note-collision.cc:504 msgid "ignoring too many clashing note columns" msgstr "troppe collisioni tra colonne di note, ignorate" @@ -1968,20 +2100,20 @@ msgstr "è già presente uno spanner terminato" msgid "giving up" msgstr "rinuncia" -#: page-layout-problem.cc:603 +#: page-layout-problem.cc:709 msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed" msgstr "impossibile far entrare la musica nella pagina: richiesta la spaziatura ridotta, ma la pagina è già stata compressa" -#: page-layout-problem.cc:606 +#: page-layout-problem.cc:712 #, c-format msgid "cannot fit music on page: overflow is %f" msgstr "impossibile far entrare la musica nella pagina: l'eccesso è %f" -#: page-layout-problem.cc:608 +#: page-layout-problem.cc:714 msgid "compressing music to fit" msgstr "si comprime la musica per farla entrare" -#: page-layout-problem.cc:1047 +#: page-layout-problem.cc:1176 msgid "staff-affinities should only decrease" msgstr "staff-affinities deve solo diminuire" @@ -1998,61 +2130,104 @@ msgstr "rehearsalMark deve avere un valore intero" msgid "mark label must be a markup object" msgstr "l'etichetta del segno deve essere un oggetto di markup" -#: new-dynamic-engraver.cc:168 -#, c-format -msgid "" -"unknown crescendo style: %s\n" -"defaulting to hairpin." -msgstr "" -"stile di crescendo sconosciuto: %s\n" -"si usa la forcella predefinita." - -#: new-dynamic-engraver.cc:233 -#, c-format -msgid "unterminated %s" -msgstr "%s non terminato" - -#: stem-engraver.cc:102 +#: stem-engraver.cc:105 msgid "tremolo duration is too long" msgstr "la durata del tremolo è troppo lunga" -#: stem-engraver.cc:154 +#: stem-engraver.cc:157 #, c-format msgid "adding note head to incompatible stem (type = %d/%d)" msgstr "si aggiunge la testa della nota a un gambo incompatibile (tipo = %d/%d)" -#: stem-engraver.cc:157 +#: stem-engraver.cc:160 msgid "maybe input should specify polyphonic voices" msgstr "forse l'input dovrebbe specificare le voci polifoniche" -#: lily-lexer.cc:265 -msgid "include files are not allowed in safe mode" -msgstr "l'inclusione di file non è permessa in modalità sicura" +#: includable-lexer.cc:71 lily-guile.cc:91 lily-parser-scheme.cc:108 +#, c-format +msgid "cannot find file: `%s'" +msgstr "impossibile trovare il file: «%s»" -#: lily-lexer.cc:292 +#: includable-lexer.cc:73 lily-parser-scheme.cc:100 #, c-format -msgid "identifier name is a keyword: `%s'" -msgstr "Il nome dell'identificatore è una parola chiave: «%s»" +msgid "(search path: `%s')" +msgstr "(percorso di ricerca: «%s»)" -#: lily-lexer.cc:313 +#: relocate.cc:52 #, c-format -msgid "error at EOF: %s" -msgstr "errore alla fine del file (EOF): %s" +msgid "Setting %s to %s" +msgstr "Si imposta %s su %s" -#: lyric-combine-music-iterator.cc:337 +#. this warning should only be printed in debug mode! +#: relocate.cc:73 #, c-format -msgid "cannot find Voice `%s'" -msgstr "impossibile trovare la voce (Voice) «%s»" +msgid "no such file: %s for %s" +msgstr "file inesistente: %s per %s" -#: includable-lexer.cc:71 lily-guile.cc:86 lily-parser-scheme.cc:109 +#. this warning should only be printed in debug mode! +#. this warning should only be printed in debug mode +#: relocate.cc:84 relocate.cc:102 #, c-format -msgid "cannot find file: `%s'" -msgstr "impossibile trovare il file: «%s»" +msgid "no such directory: %s for %s" +msgstr "directory inesistente: %s per %s" -#: includable-lexer.cc:73 lily-parser-scheme.cc:101 +#: relocate.cc:93 #, c-format -msgid "(search path: `%s')" -msgstr "(percorso di ricerca: «%s»)" +msgid "%s=%s (prepend)\n" +msgstr "%s=%s (prefisso)\n" + +#: relocate.cc:124 +#, c-format +msgid "not relocating, no %s/ or current/ found under %s" +msgstr "non si riloca, non si è incontrato %s/ o current/ in %s" + +#: relocate.cc:134 +#, c-format +msgid "Relocation: compile datadir=%s, new datadir=%s" +msgstr "Rilocazione: compilare datadir=%s, nuova datadir=%s" + +#: relocate.cc:146 +#, c-format +msgid "Relocation: framework_prefix=%s" +msgstr "Rilocazione: framework_prefix=%s" + +#: relocate.cc:186 +#, c-format +msgid "Relocation: is absolute: argv0=%s\n" +msgstr "Rilocazione: è assoluta: argv0=%s\n" + +#: relocate.cc:192 +#, c-format +msgid "Relocation: from cwd: argv0=%s\n" +msgstr "Rilocazione: da cwd: argv0=%s\n" + +#: relocate.cc:208 +#, c-format +msgid "" +"Relocation: from PATH=%s\n" +"argv0=%s" +msgstr "" +"Rilocazione: da PATH=%s\n" +"argv0=%s" + +#: relocate.cc:235 +msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR" +msgstr "LILYPONDPREFIX è obsoleto, usare LILYPOND_DATADIR" + +#: relocate.cc:360 +#, c-format +msgid "Relocation file: %s" +msgstr "File di rilocazione: %s" + +#: relocate.cc:364 source-file.cc:65 +#, c-format +msgid "cannot open file: `%s'" +msgstr "impossibile aprire il file: «%s»" + +#: relocate.cc:394 +#, c-format +msgid "Unknown relocation command %s" +msgstr "Comando di rilocazione sconosciuto %s" #: note-column.cc:135 msgid "cannot have note heads and rests together on a stem" @@ -2062,11 +2237,6 @@ msgstr "impossibile avere teste e pause insieme su un gambo" msgid "removing beam with no stems" msgstr "rimozione delle travature senza gambi" -#. We are completely screwed. -#: beam.cc:1350 -msgid "no viable initial configuration found: may not find good beam slope" -msgstr "nessuna configurazione iniziale fattibile trovata: si potrebbe non trovare una buona inclinazione delle travature" - #: staff-performer.cc:257 msgid "MIDI channel wrapped around" msgstr "Numerazione canale MIDI ricominciata" @@ -2075,43 +2245,64 @@ msgstr "Numerazione canale MIDI ricominciata" msgid "remapping modulo 16" msgstr "riassegnata con modulo 16" -#: slur-engraver.cc:90 phrasing-slur-engraver.cc:89 +#: dots.cc:48 #, c-format -msgid "direction of %s invalid: %d" -msgstr "direzione di %s non valida: %d" - -#: slur-engraver.cc:158 -msgid "unterminated slur" -msgstr "legatura di portamento non terminata" - -#: slur-engraver.cc:183 -msgid "cannot end slur" -msgstr "impossibile terminare la legatura di portamento" - -#. We already have a slur, so give a warning and completely ignore -#. the new slur. -#: slur-engraver.cc:200 -msgid "already have slur" -msgstr "legatura già presente" +msgid "dot `%s' not found" +msgstr "punto «%s» non trovato" -#: font-config.cc:39 +#: font-config.cc:38 msgid "Initializing FontConfig..." msgstr "Inizializzazione di FontConfig..." -#: font-config.cc:54 font-config-scheme.cc:151 +#: font-config.cc:53 font-config-scheme.cc:151 #, c-format msgid "failed adding font directory: %s" msgstr "errore nell'aggiungere la directory dei tipi di carattere: %s" -#: font-config.cc:56 font-config-scheme.cc:153 +#: font-config.cc:55 font-config-scheme.cc:153 #, c-format -msgid "adding font directory: %s" -msgstr "aggiungere la directory dei tipi di carattere: %s" +msgid "Adding font directory: %s" +msgstr "Si aggiunge la directory dei tipi di carattere: %s" -#: font-config.cc:60 +#: font-config.cc:58 msgid "Building font database..." msgstr "Creazione del database dei tipi di carattere..." +#: change-iterator.cc:34 +#, c-format +msgid "cannot change `%s' to `%s'" +msgstr "impossibile cambiare «%s» in «%s»" + +#. FIXME: constant error message. +#: change-iterator.cc:93 +msgid "cannot find context to switch to" +msgstr "impossibile trovare il contesto su cui spostarsi" + +#. We could change the current translator's id, but that would make +#. errors hard to catch. +#. +#. last->translator_id_string () = get_change +#. ()->change_to_id_string (); +#: change-iterator.cc:102 +#, c-format +msgid "not changing to same context type: %s" +msgstr "non passare allo stesso tipo di contesto: %s" + +#. FIXME: uncomprehensable message +#: change-iterator.cc:106 +msgid "none of these in my family" +msgstr "nessuno di questi nella mia famiglia" + +#: slur.cc:438 +#, c-format +msgid "Ignoring grob for slur: %s. avoid-slur not set?" +msgstr "Si ignora il grob per la legatura di portamento: %s. Non si è impostato avoid-slur?" + +#: source-file.cc:85 +#, c-format +msgid "expected to read %d characters, got %d" +msgstr "si prevedeva di leggere %d caratteri, se ne sono ottenuti %d" + #. find out the ideal number of pages #: optimal-page-breaking.cc:62 msgid "Finding the ideal number of pages..." @@ -2145,41 +2336,21 @@ msgstr "tentando %d sistemi" msgid "best score for this sys-count: %f" msgstr "miglior punteggio per questo numero di sistemi: %f" -#: accidental.cc:200 -#, c-format -msgid "Could not find glyph-name for alteration %s" -msgstr "Non si è trovato il nome del glifo per l'alterazione %s" - -#: accidental.cc:215 -msgid "natural alteration glyph not found" -msgstr "alterazione naturale del glifo non trovata" - -#: system.cc:201 -#, c-format -msgid "Element count %d" -msgstr "Numero degli elementi %d" - -#: system.cc:402 -#, c-format -msgid "Grob count %d" -msgstr "Numero degli oggetti grafici %d" - -#: slur.cc:359 -#, c-format -msgid "Ignoring grob for slur: %s. avoid-slur not set?" -msgstr "Si ignora il grob per la legatura di portamento: %s. Non si è impostato avoid-slur?" - -#: font-config-scheme.cc:167 +#: new-dynamic-engraver.cc:168 #, c-format -msgid "failed adding font file: %s" -msgstr "errore nell'aggiungere il file dei tipi di carattere: %s" +msgid "" +"unknown crescendo style: %s\n" +"defaulting to hairpin." +msgstr "" +"stile di crescendo sconosciuto: %s\n" +"si usa la forcella predefinita." -#: font-config-scheme.cc:169 +#: new-dynamic-engraver.cc:233 #, c-format -msgid "adding font file: %s" -msgstr "aggiungere il file dei tipi di carattere: %s" +msgid "unterminated %s" +msgstr "%s non terminato" -#: hairpin.cc:186 +#: hairpin.cc:263 msgid "decrescendo too small" msgstr "decrescendo troppo piccolo" @@ -2187,30 +2358,7 @@ msgstr "decrescendo troppo piccolo" msgid "unterminated extender" msgstr "estensore non terminato" -#: lily-guile.cc:88 -#, c-format -msgid "(load path: `%s')" -msgstr "(percorso di caricamento: «%s»)" - -#: lily-guile.cc:431 -#, c-format -msgid "cannot find property type-check for `%s' (%s)." -msgstr "impossibile trovare la proprietà type-check per «%s» (%s)." - -#: lily-guile.cc:434 -msgid "perhaps a typing error?" -msgstr "forse un errore di digitazione?" - -#: lily-guile.cc:441 -msgid "doing assignment anyway" -msgstr "compito comunque in corso" - -#: lily-guile.cc:453 -#, c-format -msgid "type check for `%s' failed; value `%s' must be of type `%s'" -msgstr "controllo del tipo per «%s» fallito; il valore «%s» deve essere del tipo «%s»" - -#: main.cc:107 +#: main.cc:101 #, c-format msgid "" "This program is free software. It is covered by the GNU General Public\n" @@ -2222,7 +2370,7 @@ msgstr "" "License che permette di modificarlo o distribuirne copie rispettando certe\n" "condizioni. Per maggiori informazioni, invocare «%s --warranty».\n" -#: main.cc:113 +#: main.cc:107 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License as \n" @@ -2254,11 +2402,11 @@ msgstr "" "Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n" "Boston, MA 02111-1307, USA.\n" -#: main.cc:147 +#: main.cc:141 msgid "SYM[=VAL]" msgstr "SIMBOLO[=VALORE]" -#: main.cc:148 +#: main.cc:142 msgid "" "set Scheme option SYM to VAL (default: #t).\n" "Use -dhelp for help." @@ -2266,41 +2414,41 @@ msgstr "" "imposta l'opzione di Scheme SIMBOLO a VALORE (predefinito: #t).\n" "Usare -dhelp per ottenere aiuto." -#: main.cc:152 +#: main.cc:146 msgid "EXPR" msgstr "ESPRESSIONE" -#: main.cc:152 +#: main.cc:146 msgid "evaluate scheme code" msgstr "valuta il codice scheme" #. Bug in option parser: --output =foe is taken as an abbreviation #. for --output-format. -#: main.cc:155 +#: main.cc:149 msgid "FORMATs" msgstr "FORMATO" -#: main.cc:155 +#: main.cc:149 msgid "dump FORMAT,... Also as separate options:" msgstr "scarica FORMATO,... Anche come opzioni separate:" -#: main.cc:156 +#: main.cc:150 msgid "generate PDF (default)" msgstr "genera PDF (predefinito)" -#: main.cc:157 +#: main.cc:151 msgid "generate PNG" msgstr "genera PNG" -#: main.cc:158 +#: main.cc:152 msgid "generate PostScript" msgstr "genera PostScript" -#: main.cc:161 +#: main.cc:155 msgid "FIELD" msgstr "CAMPO" -#: main.cc:161 +#: main.cc:155 msgid "" "dump header field FIELD to file\n" "named BASENAME.FIELD" @@ -2308,19 +2456,19 @@ msgstr "" "scrive il campo di intestazione CAMPO sul\n" "file chiamato BASENAME.CAMPO" -#: main.cc:164 +#: main.cc:158 msgid "add DIR to search path" msgstr "aggiunge DIRECTORY ai percorsi di ricerca" -#: main.cc:165 +#: main.cc:159 msgid "use FILE as init file" msgstr "usa FILE come file di inizializzazione" -#: main.cc:168 +#: main.cc:162 msgid "USER, GROUP, JAIL, DIR" msgstr "UTENTE, GRUPPO, GABBIA, DIRECTORY" -#: main.cc:168 +#: main.cc:162 msgid "" "chroot to JAIL, become USER:GROUP\n" "and cd into DIR" @@ -2328,14 +2476,30 @@ msgstr "" "chroot a GABBIA, diventa UTENTE:GRUPPO\n" "ed entra in DIRECTORY" -#: main.cc:172 +#: main.cc:167 +msgid "" +"print log messages according to LOGLEVEL. Possible values are:\n" +"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG." +msgstr "" +"mostra i messaggi di log in base a LOGLEVEL. I valori possibili sono:\n" +"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) e DEBUG." + +#: main.cc:171 msgid "write output to FILE (suffix will be added)" msgstr "scrive l'output su FILE (verrà aggiunto un suffisso)" -#: main.cc:173 +#: main.cc:172 msgid "relocate using directory of lilypond program" msgstr "trasferisce alla directory del programma lilypond" +#: main.cc:173 +msgid "no progress, only error messages (equivalent to loglevel=ERROR)" +msgstr "nessun progresso, solo messaggi di errore (equivalente al loglevel=ERROR)" + +#: main.cc:175 +msgid "be verbose (equivalent to loglevel=DEBUG)" +msgstr "output dettagliato (equivalente al loglevel=DEBUG)" + #. Do not update the copyright years here, run `make grand-replace' #: main.cc:242 #, c-format @@ -2414,11 +2578,50 @@ msgstr "non si può cambiare l'id dell'utente in: %d: %s" msgid "cannot change working directory to: %s: %s" msgstr "non si può passare alla directory di lavoro: %s: %s" -#: main.cc:631 +#: main.cc:639 #, c-format msgid "exception caught: %s" msgstr "ricevuta un'eccezione: %s" +#: page-turn-page-breaking.cc:168 +#, c-format +msgid "page-turn-page-breaking: breaking from %d to %d" +msgstr "page-turn-page-breaking: interruzione da %d a %d" + +#: page-turn-page-breaking.cc:217 +msgid "cannot fit the first page turn onto a single page. Consider setting first-page-number to an even number." +msgstr "impossibile far entrare il primo cambio di pagina in una pagina singola. Si consideri la possibilità di impostare first-page-number su un numero pari." + +#: page-turn-page-breaking.cc:230 +#, c-format +msgid "Calculating page and line breaks (%d possible page breaks)..." +msgstr "Calcolo delle interruzioni di pagina e di linea (%d possibili interruzioni di pagina)..." + +#: page-turn-page-breaking.cc:300 +#, c-format +msgid "break starting at page %d" +msgstr "l'interruzione comincia alla pagina %d" + +#: page-turn-page-breaking.cc:301 +#, c-format +msgid "\tdemerits: %f" +msgstr "\tdemeriti: %f" + +#: page-turn-page-breaking.cc:302 +#, c-format +msgid "\tsystem count: %d" +msgstr "\tnumero dei sistemi: %d" + +#: page-turn-page-breaking.cc:303 +#, c-format +msgid "\tpage count: %d" +msgstr "\tnumero delle pagine: %d" + +#: page-turn-page-breaking.cc:304 +#, c-format +msgid "\tprevious break: %d" +msgstr "\tinterruzione precedente: %d" + #: key-signature-interface.cc:77 #, c-format msgid "No glyph found for alteration: %s" @@ -2428,10 +2631,27 @@ msgstr "Nessun glifo trovato per l'alterazione: %s" msgid "alteration not found" msgstr "alterazione non trovata" -#: dots.cc:48 +#: music.cc:150 #, c-format -msgid "dot `%s' not found" -msgstr "punto «%s» non trovato" +msgid "octave check failed; expected \"%s\", found: \"%s\"" +msgstr "controllo dell'ottava fallito: previsto \"%s\", trovato: \"%s\"" + +#: music.cc:219 +msgid "(normalized pitch)" +msgstr "(altezza normalizzata)" + +#: music.cc:223 +#, c-format +msgid "Transposing %s by %s makes alteration larger than double" +msgstr "La trasposizione di %s da %s ingrandisce le alterazioni più del doppio" + +#: vaticana-ligature.cc:95 +msgid "flexa-height undefined; assuming 0" +msgstr "flexa-height non definito; si assume 0" + +#: vaticana-ligature.cc:100 +msgid "ascending vaticana style flexa" +msgstr "flexa ascendente in stile vaticana" #: translator.cc:356 #, c-format @@ -2443,9 +2663,28 @@ msgstr "Due eventi %s simultanei, si butta via questo" msgid "Previous %s event here" msgstr "L'evento %s precedente sta qui" -#: glissando-engraver.cc:156 -msgid "unterminated glissando" -msgstr "glissando non terminato" +#: lily-guile.cc:93 +#, c-format +msgid "(load path: `%s')" +msgstr "(percorso di caricamento: «%s»)" + +#: lily-guile.cc:416 +#, c-format +msgid "cannot find property type-check for `%s' (%s)." +msgstr "impossibile trovare la proprietà type-check per «%s» (%s)." + +#: lily-guile.cc:419 +msgid "perhaps a typing error?" +msgstr "forse un errore di digitazione?" + +#: lily-guile.cc:426 +msgid "doing assignment anyway" +msgstr "compito comunque in corso" + +#: lily-guile.cc:438 +#, c-format +msgid "type check for `%s' failed; value `%s' must be of type `%s'" +msgstr "controllo del tipo per «%s» fallito; il valore «%s» deve essere del tipo «%s»" #: text-spanner-engraver.cc:72 msgid "cannot find start of text spanner" @@ -2464,6 +2703,26 @@ msgstr "spanner testuale non terminato" msgid "clef `%s' not found" msgstr "chiave «%s» non trovata" +#: beam-engraver.cc:147 +msgid "already have a beam" +msgstr "travatura già presente" + +#: beam-engraver.cc:230 +msgid "unterminated beam" +msgstr "travatura non terminata" + +#: beam-engraver.cc:266 chord-tremolo-engraver.cc:149 +msgid "stem must have Rhythmic structure" +msgstr "il gambo deve avere una struttura ritmica" + +#: beam-engraver.cc:277 +msgid "stem does not fit in beam" +msgstr "il gambo non rientra nella travatura" + +#: beam-engraver.cc:278 +msgid "beam was started here" +msgstr "la travatura è iniziata qui" + #. #. Todo: should make typecheck? #. @@ -2474,142 +2733,105 @@ msgstr "chiave «%s» non trovata" msgid "strange time signature found: %d/%d" msgstr "si è incontrato uno strano segno di tempo: %d/%d" -#: lily-parser-scheme.cc:83 +#: paper-column-engraver.cc:261 +msgid "forced break was overridden by some other event, should you be using bar checks?" +msgstr "l'interruzione forzata è stata sovrascritta da qualche altro evento, considerare l'uso dei controlli di battuta" + +#: lily-parser-scheme.cc:80 #, c-format msgid "Changing working directory to: `%s'" msgstr "Si cambia la directory di lavoro a: «%s»" -#: lily-parser-scheme.cc:100 +#: lily-parser-scheme.cc:84 +#, c-format +msgid "unable to change directory to: `%s'" +msgstr "impossibile cambiare la directory a: «%s»" + +#: lily-parser-scheme.cc:99 #, c-format msgid "cannot find init file: `%s'" msgstr "impossibile trovare il file di init: «%s»" -#: lily-parser-scheme.cc:118 +#: lily-parser-scheme.cc:117 #, c-format msgid "Processing `%s'" msgstr "Elaborazione di «%s»" -#: lily-parser-scheme.cc:203 +#: lily-parser-scheme.cc:208 msgid "ly:parser-parse-string is only valid with a new parser. Use ly:parser-include-string instead." msgstr "ly:parser-parse-string è valido solo con un nuovo parser. Usare ly:parser-include-string al suo posto." +#: lily-parser-scheme.cc:239 +msgid "ly:parse-string-expression is only valid with a new parser. Use ly:parser-include-string instead." +msgstr "ly:parse-string-expression è valido solo con un nuovo parser. Usare ly:parser-include-string al suo posto." + +#: font-config-scheme.cc:167 +#, c-format +msgid "failed adding font file: %s" +msgstr "errore nell'aggiungere il file dei tipi di carattere: %s" + +#: font-config-scheme.cc:169 +#, c-format +msgid "Adding font file: %s" +msgstr "Si aggiunge il file dei tipi di carattere: %s" + #: custos.cc:88 #, c-format msgid "custos `%s' not found" msgstr "custos «%s» non trovato" -#: program-option-scheme.cc:232 +#: accidental-engraver.cc:179 #, c-format -msgid "no such internal option: %s" -msgstr "opzione interna sconosciuta: %s" +msgid "accidental typesetting list must begin with context-name: %s" +msgstr "la lista tipografica delle alterazioni deve iniziare con context-name: %s" + +#: accidental-engraver.cc:209 +#, c-format +msgid "procedure or context-name expected for accidental rule, found %s" +msgstr "si aspettava una procedura o un nome di contesto per la regola di alterazione accidentale, si è trovato %s" #: rest-collision.cc:146 msgid "cannot resolve rest collision: rest direction not set" msgstr "impossibile risolvere la collisione di pause: direzione delle pause non impostata" -#: rest-collision.cc:160 rest-collision.cc:275 +#: rest-collision.cc:160 rest-collision.cc:276 msgid "too many colliding rests" msgstr "troppe collisioni tra pause" -#: pdf-scheme.cc:50 -#, c-format -msgid "Conversion of string `%s' to UTF-16be failed: %s" -msgstr "Fallita la conversione della stringa \"%s\" in UTF-16be: %s" - -#: episema-engraver.cc:75 -msgid "already have an episema" -msgstr "episema già presente" - -#: episema-engraver.cc:88 -msgid "cannot find start of episema" -msgstr "impossibile trovare l'inizio dell'episema" - -#: episema-engraver.cc:137 -msgid "unterminated episema" -msgstr "episema non terminato" - -#: grob-property.cc:34 -#, c-format -msgid "%d: %s" -msgstr "%d: %s" - -#: grob-property.cc:169 -#, c-format -msgid "cyclic dependency: calculation-in-progress encountered for #'%s (%s)" -msgstr "dipendenza ciclica: calculation-in-progress incontrato per #'%s (%s)" - -#: relocate.cc:53 -#, c-format -msgid "Setting %s to %s" -msgstr "Si imposta %s su %s" - -#: relocate.cc:73 -#, c-format -msgid "no such file: %s for %s" -msgstr "file inesistente: %s per %s" - -#: relocate.cc:83 relocate.cc:101 -#, c-format -msgid "no such directory: %s for %s" -msgstr "directory inesistente: %s per %s" - -#: relocate.cc:93 -#, c-format -msgid "%s=%s (prepend)\n" -msgstr "%s=%s (prefisso)\n" - -#: relocate.cc:123 -#, c-format -msgid "not relocating, no %s/ or current/ found under %s" -msgstr "non si riloca, non si è incontrato %s/ o current/ in %s" - -#: relocate.cc:134 -#, c-format -msgid "Relocation: compile datadir=%s, new datadir=%s" -msgstr "Rilocazione: compilare datadir=%s, nuova datadir=%s" - -#: relocate.cc:147 -#, c-format -msgid "Relocation: framework_prefix=%s" -msgstr "Rilocazione: framework_prefix=%s" - -#: relocate.cc:188 +#: pango-font.cc:205 #, c-format -msgid "Relocation: is absolute: argv0=%s" -msgstr "Rilocazione: è assoluta: argv0=%s" +msgid "" +"Glyph has no name, but font supports glyph naming.\n" +"Skipping glyph U+%0X, file %s" +msgstr "" +"Il glifo non ha un nome, ma il tipo di carattere permette di dare un nome al glifo.\n" +"Si salta il glifo U+%0X, file %s" -#: relocate.cc:195 +#: pango-font.cc:242 #, c-format -msgid "Relocation: from cwd: argv0=%s" -msgstr "Rilocazione: da cwd: argv0=%s" +msgid "no PostScript font name for font `%s'" +msgstr "nessun nome di tipo di carattere PostScript per «%s»" -#: relocate.cc:212 -#, c-format -msgid "" -"Relocation: from PATH=%s\n" -"argv0=%s" -msgstr "" -"Rilocazione: da PATH=%s\n" -"argv0=%s" +#: pango-font.cc:291 +msgid "FreeType face has no PostScript font name" +msgstr "Il tipo FreeType non ha un nome per il tipo di carattere PostScript" -#: relocate.cc:239 -msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR" -msgstr "LILYPONDPREFIX è obsoleto, usare LILYPOND_DATADIR" +#: lyric-engraver.cc:186 +msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice." +msgstr "Le sillabe del testo non hanno note. Usare \\lyricsto o associatedVoice." -#: relocate.cc:365 -#, c-format -msgid "Relocation file: %s" -msgstr "File di rilocazione: %s" +#: page-breaking.cc:277 +msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set" +msgstr "si ignorano min-systems-per-page e max-systems-per-page perché è stato impostato systems-per-page" -#: relocate.cc:371 source-file.cc:65 -#, c-format -msgid "cannot open file: `%s'" -msgstr "impossibile aprire il file: «%s»" +#: page-breaking.cc:282 +msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values" +msgstr "min-systems-per-page è maggiore di max-systems-per-page, si ignorano entrambi i valori" -#: relocate.cc:401 +#: paper-outputter-scheme.cc:41 #, c-format -msgid "Unknown relocation command %s" -msgstr "Comando di rilocazione sconosciuto %s" +msgid "Layout output to `%s'..." +msgstr "Output della formattazione inviato a «%s»..." #: gregorian-ligature-engraver.cc:70 #, c-format @@ -2631,55 +2853,32 @@ msgstr "impossibile applicare «\\~» sulla prima testa della legatura" msgid "cannot apply `\\~' on heads with identical pitch" msgstr "impossibile applicare «\\~» su teste di identica altezza" -#: translator-group.cc:188 -#, c-format -msgid "cannot find: `%s'" -msgstr "impossibile trovare: «%s»" - -#: phrasing-slur-engraver.cc:157 -msgid "unterminated phrasing slur" -msgstr "legatura di frase non terminata" +#: chord-tremolo-engraver.cc:88 +msgid "No tremolo to end" +msgstr "Nessun tremolo alla fine" -#: phrasing-slur-engraver.cc:182 -msgid "cannot end phrasing slur" -msgstr "impossibile chiudere la legatura di frase" +#: chord-tremolo-engraver.cc:109 +msgid "unterminated chord tremolo" +msgstr "tremolo dell'accordo non terminato" -#: phrasing-slur-engraver.cc:196 -msgid "already have phrasing slur" -msgstr "legatura di frase già presente" +#: general-scheme.cc:390 +#, c-format +msgid "failed redirecting stderr to `%s'" +msgstr "fallita la redirezione di stderr su «%s»" -#: lyric-engraver.cc:186 -msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice." -msgstr "Le sillabe del testo non hanno note. Usare \\lyricsto o associatedVoice." +#: general-scheme.cc:469 +msgid "Found infinity or nan in output. Substituting 0.0" +msgstr "Trovato infinito o un valore non numerico nell'output. Sostituito con 0.0" -#: page-breaking.cc:274 -msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set" -msgstr "si ignorano min-systems-per-page e max-systems-per-page perché è stato impostato systems-per-page" - -#: page-breaking.cc:279 -msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values" -msgstr "min-systems-per-page è maggiore di max-systems-per-page, si ignorano entrambi i valori" - -#: performance.cc:55 -msgid "Track..." -msgstr "Traccia..." - -#: performance.cc:85 +#: system.cc:200 #, c-format -msgid "MIDI output to `%s'..." -msgstr "L'output MIDI è inviato a «%s»..." - -#: tuplet-engraver.cc:107 -msgid "No tuplet to end" -msgstr "Nessun gruppo irregolare da terminare" - -#: chord-tremolo-engraver.cc:88 -msgid "No tremolo to end" -msgstr "Nessun tremolo alla fine" +msgid "Element count %d" +msgstr "Numero degli elementi %d" -#: chord-tremolo-engraver.cc:109 -msgid "unterminated chord tremolo" -msgstr "tremolo dell'accordo non terminato" +#: system.cc:466 +#, c-format +msgid "Grob count %d" +msgstr "Numero degli oggetti grafici %d" #: axis-group-engraver.cc:94 msgid "Axis_group_engraver: vertical group already has a parent" @@ -2702,16 +2901,16 @@ msgstr "stile cluster sconosciuto «%s»" msgid "junking empty cluster" msgstr "eliminazione di cluster vuoti" -#: context-property.cc:42 -msgid "need symbol arguments for \\override and \\revert" -msgstr "sono necessari argomenti simbolici per \\override e \\revert" - -#: source-file.cc:85 +#: grob-property.cc:35 #, c-format -msgid "expected to read %d characters, got %d" -msgstr "si prevedeva di leggere %d caratteri, se ne sono ottenuti %d" +msgid "%d: %s" +msgstr "%d: %s" -#: axis-group-interface.cc:627 +#: rest-collision-engraver.cc:70 +msgid "rhythmic head is not part of a rhythmic column" +msgstr "la testa ritmica non fa parte di una colonna ritmica" + +#: axis-group-interface.cc:670 msgid "an outside-staff object should have a direction, defaulting to up" msgstr "un oggetto esterno al rigo dovrebbe avere una direzione, si imposta in su come da impostazione predefinita" @@ -2720,19 +2919,20 @@ msgstr "un oggetto esterno al rigo dovrebbe avere una direzione, si imposta in s msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul" msgstr "Coherent_ligature_engraver: impostare `spacing-increment=0.01': ptr=%ul" +#. We are completely screwed. +#: beam-quanting.cc:853 +msgid "no viable initial configuration found: may not find good beam slope" +msgstr "nessuna configurazione iniziale fattibile trovata: si potrebbe non trovare una buona inclinazione delle travature" + #: percent-repeat-engraver.cc:147 msgid "unterminated percent repeat" msgstr "ripetizione percentuale non terminata" -#: note-head.cc:75 +#: note-head.cc:85 #, c-format msgid "none of note heads `%s' or `%s' found" msgstr "non si è trovata alcuna delle teste delle note «%s» o «%s»" -#: relative-octave-check.cc:49 -msgid "Failed octave check, got: " -msgstr "Il controllo dell'ottava è fallito, si è ottenuto:" - #. FIXME: #: script-engraver.cc:113 msgid "do not know how to interpret articulation:" @@ -2742,34 +2942,54 @@ msgstr "non so come interpretare l'articolazione:" msgid " scheme encoding: " msgstr " codifica di Scheme: " -#: all-font-metrics.cc:153 +#: program-option-scheme.cc:235 #, c-format -msgid "cannot find font: `%s'" -msgstr "impossibile trovare il tipo di carattere: «%s»" +msgid "no such internal option: %s" +msgstr "opzione interna sconosciuta: %s" #: property-iterator.cc:93 #, c-format msgid "not a grob name, `%s'" msgstr "non è il nome di un grob, «%s»" +#: all-font-metrics.cc:149 +#, c-format +msgid "cannot find font: `%s'" +msgstr "impossibile trovare il tipo di carattere: «%s»" + +#: pdf-scheme.cc:50 +#, c-format +msgid "Conversion of string `%s' to UTF-16be failed: %s" +msgstr "Fallita la conversione della stringa \"%s\" in UTF-16be: %s" + +#: rest.cc:171 +#, c-format +msgid "rest `%s' not found" +msgstr "pausa «%s» non trovata" + #: bar-check-iterator.cc:84 #, c-format msgid "barcheck failed at: %s" msgstr "controllo di battuta fallito a: %s" -#: stem.cc:114 -msgid "weird stem size, check for narrow beams" -msgstr "strana dimensione del gambo, controllare di non avere travature strette" - -#: stem.cc:652 +#: slur-engraver.cc:92 phrasing-slur-engraver.cc:91 #, c-format -msgid "flag `%s' not found" -msgstr "non si trova la coda uncinata «%s»" +msgid "direction of %s invalid: %d" +msgstr "direzione di %s non valida: %d" -#: stem.cc:668 -#, c-format -msgid "flag stroke `%s' not found" -msgstr "non si trova il tratto «%s» della coda uncinata" +#: slur-engraver.cc:166 +msgid "unterminated slur" +msgstr "legatura di portamento non terminata" + +#: slur-engraver.cc:191 +msgid "cannot end slur" +msgstr "impossibile terminare la legatura di portamento" + +#. We already have a slur, so give a warning and completely ignore +#. the new slur. +#: slur-engraver.cc:208 +msgid "already have slur" +msgstr "legatura già presente" #: global-context-scheme.cc:96 global-context-scheme.cc:114 msgid "no music found in score" @@ -2779,7 +2999,7 @@ msgstr "nessuna musica trovata nello spartito" msgid "Interpreting music... " msgstr "Interpretazione della musica..." -#: global-context-scheme.cc:127 +#: global-context-scheme.cc:126 #, c-format msgid "elapsed time: %.2f seconds" msgstr "tempo trascorso: %.2f secondi" @@ -2789,61 +3009,22 @@ msgstr "tempo trascorso: %.2f secondi" msgid "fatal error. Couldn't find type: %s" msgstr "errore fatale. Impossibile trovare il tipo: %s" -#: mensural-ligature.cc:171 -msgid "Mensural_ligature: unexpected case fall-through" -msgstr "Mensural_ligature: caso inatteso e non interpretabile" - -#: mensural-ligature.cc:233 -msgid "Mensural_ligature: (join_right == 0)" -msgstr "Mensural_ligature: (join_right == 0)" - -#: page-turn-page-breaking.cc:168 -#, c-format -msgid "page-turn-page-breaking: breaking from %d to %d" -msgstr "page-turn-page-breaking: interruzione da %d a %d" - -#: page-turn-page-breaking.cc:217 -msgid "cannot fit the first page turn onto a single page. Consider setting first-page-number to an even number." -msgstr "impossibile far entrare il primo cambio di pagina in una pagina singola. Si consideri la possibilità di impostare first-page-number su un numero pari." - -#: page-turn-page-breaking.cc:230 -#, c-format -msgid "Calculating page and line breaks (%d possible page breaks)..." -msgstr "Calcolo delle interruzioni di pagina e di linea (%d possibili interruzioni di pagina)..." - -#: page-turn-page-breaking.cc:300 -#, c-format -msgid "break starting at page %d" -msgstr "l'interruzione comincia alla pagina %d" - -#: page-turn-page-breaking.cc:301 -#, c-format -msgid "\tdemerits: %f" -msgstr "\tdemeriti: %f" - -#: page-turn-page-breaking.cc:302 -#, c-format -msgid "\tsystem count: %d" -msgstr "\tnumero dei sistemi: %d" +#: phrasing-slur-engraver.cc:165 +msgid "unterminated phrasing slur" +msgstr "legatura di frase non terminata" -#: page-turn-page-breaking.cc:303 -#, c-format -msgid "\tpage count: %d" -msgstr "\tnumero delle pagine: %d" +#: phrasing-slur-engraver.cc:190 +msgid "cannot end phrasing slur" +msgstr "impossibile chiudere la legatura di frase" -#: page-turn-page-breaking.cc:304 -#, c-format -msgid "\tprevious break: %d" -msgstr "\tinterruzione precedente: %d" +#: phrasing-slur-engraver.cc:204 +msgid "already have phrasing slur" +msgstr "legatura di frase già presente" -#: lily-parser.cc:105 +#: lily-parser.cc:109 msgid "Parsing..." msgstr "Analisi..." -#: lily-parser.cc:133 -msgid "braces do not match" -msgstr "le graffe non corrispondono" - #: score.cc:176 msgid "already have music in score" msgstr "musica già presente nello spartito" @@ -2856,31 +3037,6 @@ msgstr "questa è la musica precedente" msgid "errors found, ignoring music expression" msgstr "trovati degli errori, si ignora l'espressione musicale" -#: change-iterator.cc:34 -#, c-format -msgid "cannot change `%s' to `%s'" -msgstr "impossibile cambiare «%s» in «%s»" - -#. FIXME: constant error message. -#: change-iterator.cc:93 -msgid "cannot find context to switch to" -msgstr "impossibile trovare il contesto su cui spostarsi" - -#. We could change the current translator's id, but that would make -#. errors hard to catch. -#. -#. last->translator_id_string () = get_change -#. ()->change_to_id_string (); -#: change-iterator.cc:102 -#, c-format -msgid "not changing to same context type: %s" -msgstr "non passare allo stesso tipo di contesto: %s" - -#. FIXME: uncomprehensable message -#: change-iterator.cc:106 -msgid "none of these in my family" -msgstr "nessuno di questi nella mia famiglia" - #. If there is no such symbol, we default to the numbered style. #. (Here really with a warning!) #: time-signature.cc:94 @@ -2898,36 +3054,6 @@ msgstr "Interfaccia «%s» sconosciuta" msgid "Grob `%s' has no interface for property `%s'" msgstr "Il grob «%s» non ha un'interfaccia per la proprietà «%s»" -#: open-type-font.cc:44 -#, c-format -msgid "cannot allocate %lu bytes" -msgstr "impossibile allocare %lu byte" - -#: open-type-font.cc:48 -#, c-format -msgid "cannot load font table: %s" -msgstr "impossibile caricare la tabella dei tipi di carattere: %s" - -#: open-type-font.cc:53 -#, c-format -msgid "FreeType error: %s" -msgstr "Errore FreeType: %s" - -#: open-type-font.cc:110 -#, c-format -msgid "unsupported font format: %s" -msgstr "formato di tipo di carattere non supportato: %s" - -#: open-type-font.cc:112 -#, c-format -msgid "error reading font file %s: %s" -msgstr "errore nella lettura del file del tipo di carattere %s: %s" - -#: open-type-font.cc:187 -#, c-format -msgid "FT_Get_Glyph_Name () Freetype error: %s" -msgstr "errore di Freetype in FT_Get_Glyph_Name (): %s" - #: midi-stream.cc:39 #, c-format msgid "cannot open for write: %s: %s" @@ -2938,142 +3064,154 @@ msgstr "impossibile aprire il file con permesso di scrittura: %s: %s" msgid "cannot write to file: `%s'" msgstr "impossibile scrivere su file: «%s»" -#: parser.yy:825 +#. TODO: Also print the arguments of the markup! +#: text-interface.cc:129 +#, c-format +msgid "Cyclic markup detected: %s" +msgstr "Individuato un markup ciclico: %s" + +#. TODO: Also print the arguments of the markup! +#: text-interface.cc:142 +#, c-format +msgid "Markup depth exceeds maximal value of %d; Markup: %s" +msgstr "La profondità di markup eccede il valore massimo di %d; Markup: %s" + +#: parser.yy:162 parser.yy:176 +msgid "Too much lookahead" +msgstr "Troppa ricerca in avanti (lookahead)" + +#: parser.yy:827 parser.yy:1193 parser.yy:1226 +msgid "not a context mod" +msgstr "non è una modalità di contesto" + +#: parser.yy:995 msgid "\\paper cannot be used in \\score, use \\layout instead" msgstr "non si può usare \\paper dentro \\score, usare \\layout al suo posto" -#: parser.yy:849 +#: parser.yy:1019 msgid "need \\paper for paper block" msgstr "è necessario \\paper per il blocco \"paper\"" -#: parser.yy:1369 +#: parser.yy:1943 msgid "only \\consists takes non-string argument." msgstr "solo \\consists prende un argomento diverso da una stringa" -#: parser.yy:1382 +#: parser.yy:1956 msgid "Grob name should be alphanumeric" msgstr "Il nome del grob deve essere alfanumerico" -#: parser.yy:1697 -msgid "second argument must be pitch list" -msgstr "il secondo argomento deve essere una lista di altezze" +#: parser.yy:2150 +msgid "not a rhythmic event" +msgstr "non è un evento ritmico" -#: parser.yy:1728 parser.yy:1733 parser.yy:2206 +#: parser.yy:2246 parser.yy:2251 msgid "have to be in Lyric mode for lyrics" msgstr "bisogna essere in modo \"Lyric\" per i testi" -#: parser.yy:1830 +#: parser.yy:2366 msgid "expecting string as script definition" msgstr "ci si aspetta una stringa come definizione dello script" -#: parser.yy:1985 parser.yy:2036 +#: parser.yy:2518 parser.yy:2569 #, c-format msgid "not a duration: %d" msgstr "non è una durata: %d" -#: parser.yy:2160 +#: parser.yy:2688 msgid "have to be in Note mode for notes" msgstr "bisogna essere in modo \"Note\" per le note" -#: parser.yy:2221 +#: parser.yy:2737 msgid "have to be in Chord mode for chords" msgstr "bisogna essere in modo \"Chord\" per gli accordi" -#: lexer.ll:192 +#: parser.yy:2997 +msgid "not a markup" +msgstr "non è un markup" + +#: lexer.ll:225 msgid "stray UTF-8 BOM encountered" msgstr "si è incontrato un segno BOM UTF-8 isolato" -#: lexer.ll:196 +#: lexer.ll:228 msgid "Skipping UTF-8 BOM" msgstr "Si ignora il BOM UTF-8" -#: lexer.ll:251 +#: lexer.ll:286 #, c-format msgid "Renaming input to: `%s'" msgstr "Si rinomina l'input in: «%s»" -#: lexer.ll:268 +#: lexer.ll:303 msgid "quoted string expected after \\version" msgstr "\\version deve essere seguito da una stringa compresa tra virgolette" -#: lexer.ll:272 +#: lexer.ll:307 msgid "quoted string expected after \\sourcefilename" msgstr "\\sourcefilename deve essere seguito da una stringa compresa tra virgolette" -#: lexer.ll:276 +#: lexer.ll:311 msgid "integer expected after \\sourcefileline" msgstr "\\sourcefileline deve essere seguito da un intero" -#: lexer.ll:289 -msgid "EOF found inside a comment" -msgstr "fine del file (EOF) trovata in un commento" - -#: lexer.ll:304 +#: lexer.ll:334 msgid "\\maininput not allowed outside init files" msgstr "\\maininput non permesso fuori dai file di inizializzazione" -#: lexer.ll:328 +#: lexer.ll:358 #, c-format msgid "wrong or undefined identifier: `%s'" msgstr "indentificatore errato o non definito: «%s»" +#: lexer.ll:384 +msgid "string expected after \\include" +msgstr "stringa prevista dopo \\include" + #. backup rule -#: lexer.ll:337 +#: lexer.ll:394 msgid "end quote missing" msgstr "mancano le virgolette di chiusura" -#: lexer.ll:487 +#: lexer.ll:556 msgid "Brace found at end of lyric. Did you forget a space?" msgstr "Trovata una parentesi alla fine del testo. È stato dimenticato uno spazio?" -#: lexer.ll:597 +#: lexer.ll:671 msgid "Brace found at end of markup. Did you forget a space?" msgstr "Trovata una parentesi alla fine della marcatura. È stato dimenticato uno spazio?" -#: lexer.ll:701 +#: lexer.ll:683 +msgid "EOF found inside a comment" +msgstr "fine del file (EOF) trovata in un commento" + +#: lexer.ll:775 #, c-format -msgid "invalid character: `%c'" -msgstr "carattere non valido: «%c»" +msgid "invalid character: `%s'" +msgstr "carattere non valido: «%s»" -#: lexer.ll:822 lexer.ll:823 +#: lexer.ll:868 lexer.ll:869 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "stringa di escape sconosciuta: «\\%s»" -#: lexer.ll:932 lexer.ll:933 +#: lexer.ll:1117 lexer.ll:1118 +msgid "non-UTF-8 input" +msgstr "input non UTF-8" + +#: lexer.ll:1161 lexer.ll:1162 #, c-format msgid "file too old: %s (oldest supported: %s)" msgstr "file troppo vecchio: %s (il più vecchio che si può gestire è: %s)" -#: lexer.ll:933 lexer.ll:934 +#: lexer.ll:1162 lexer.ll:1163 msgid "consider updating the input with the convert-ly script" msgstr "si consideri di aggiornare l'input con lo script convert-ly" -#: lexer.ll:939 lexer.ll:940 +#: lexer.ll:1168 lexer.ll:1169 #, c-format msgid "program too old: %s (file requires: %s)" msgstr "programma troppo vecchio: %s (il file richiede: %s)" -#: documentation-lib.scm:59 -#, scheme-format -msgid "Processing ~S..." -msgstr "Elaborazione di ~S..." - -#: documentation-lib.scm:176 -#, scheme-format -msgid "Writing ~S..." -msgstr "Scrittura di ~S..." - -#: documentation-lib.scm:184 -#, scheme-format -msgid "cannot find description for property `~S' (~S)" -msgstr "impossibile trovare la descrizione per la proprietà \"~S\" (~S)" - -#: documentation-lib.scm:205 -#, scheme-format -msgid "cannot find description for property ~S (~S)" -msgstr "impossibile trovare la descrizione per la proprietà ~S (~S)" - #: parser-clef.scm:141 parser-clef.scm:181 #, scheme-format msgid "unknown clef type `~a'" @@ -3099,111 +3237,109 @@ msgstr "impossibile trovare un'interfaccia per le proprietà: ~S" msgid "unknown Grob interface: ~S" msgstr "interfaccia del Grob sconosciuta: ~S" +#: graphviz.scm:64 +#, scheme-format +msgid "Writing graph `~a'..." +msgstr "Scrittura del grafico «~a»..." + +#: parser-ly-from-scheme.scm:71 +msgid "error in #{ ... #}" +msgstr "errore in #{ ... #}" + #: framework-eps.scm:108 #, scheme-format msgid "Writing ~a..." msgstr "Scrittura di ~a..." -#: define-music-properties.scm:21 define-grob-properties.scm:21 -#: define-context-properties.scm:31 +#: output-ps.scm:48 +msgid "Found infinity or nan in output. Substituting 0.0" +msgstr "Trovato infinito o un valore non numerico nell'output. Sostituito con 0.0" + +#: output-ps.scm:313 output-svg.scm:556 #, scheme-format -msgid "symbol ~S redefined" -msgstr "simbolo ~S ridefinito" +msgid "unknown line-cap-style: ~S" +msgstr "line-cap-style sconosciuto: ~S" + +#: output-ps.scm:318 output-svg.scm:562 +#, scheme-format +msgid "unknown line-join-style: ~S" +msgstr "line-join-style sconosciuto: ~S" -#: paper.scm:117 +#: paper.scm:120 msgid "set-global-staff-size: not in toplevel scope" msgstr "set-global-staff-size: non è nell'ambito di livello più alto" -#: paper.scm:301 +#: paper.scm:304 #, scheme-format msgid "This is not a \\layout {} object, ~S" msgstr "Questo non è un oggetto \\layout {}, ~S" -#: paper.scm:313 +#: paper.scm:316 #, scheme-format msgid "Unknown paper size: ~a" msgstr "Dimensione del foglio sconosciuta: ~a" #. TODO: should raise (generic) exception with throw, and catch #. that in parse-scm.cc -#: paper.scm:328 +#: paper.scm:331 msgid "Must use #(set-paper-size .. ) within \\paper { ... }" msgstr "Si deve usare #(set-paper-size .. ) all'interno di \\paper { ... }" -#: lily.scm:225 -msgid "Using (ice-9 curried-definitions) module\n" -msgstr "Utilizzazione del modulo (ice-9 curried-definitions)\n" - -#: lily.scm:230 -msgid "Guile 1.8\n" -msgstr "Guile 1.8\n" - -#: lily.scm:290 +#: backend-library.scm:27 #, scheme-format -msgid "cannot find: ~A" -msgstr "impossibile trovare ~A" +msgid "Invoking `~a'..." +msgstr "Invocazione di «~a»..." -#: lily.scm:350 +#: backend-library.scm:31 #, scheme-format -msgid "wrong type for argument ~a. Expecting ~a, found ~s" -msgstr "tipo di argomento errato per ~a. Previsto ~a, trovato ~s" - -#: lily.scm:710 -msgid "Compilation successfully completed" -msgstr "Compilazione completata con successo" - -#: lily.scm:711 -msgid "Compilation completed with warnings or errors" -msgstr "Compilazione completata con avvertimenti o errori" +msgid "`~a' failed (~a)\n" +msgstr "«~a» fallito (~a)\n" -#: lily.scm:773 +#: backend-library.scm:90 #, scheme-format -msgid "job ~a terminated with signal: ~a" -msgstr "il lavoro ~a è terminato col segnale ~a" +msgid "Converting to `~a'...\n" +msgstr "Conversione a «~a»...\n" -#: lily.scm:776 +#. Do not try to guess the name of the png file, +#. GS produces PNG files like BASE-page%d.png. +#: backend-library.scm:99 #, scheme-format -msgid "" -"logfile ~a (exit ~a):\n" -"~a" -msgstr "" -"file di registro ~a (uscita ~a):\n" -"~a" +msgid "Converting to ~a..." +msgstr "Conversione a ~a..." -#: lily.scm:798 lily.scm:876 +#: backend-library.scm:137 #, scheme-format -msgid "failed files: ~S" -msgstr "errore nei file: ~S" +msgid "Writing header field `~a' to `~a'..." +msgstr "Scrittura del campo di intestazione «~a» in «~a»..." -#: lily.scm:867 +#: backend-library.scm:187 #, scheme-format -msgid "Redirecting output to ~a..." -msgstr "Redirezione dell'output verso ~a..." +msgid "missing stencil expression `~S'" +msgstr "manca l'espressione di stencil «~S»" -#: lily.scm:886 +#: output-svg.scm:47 #, scheme-format -msgid "Invoking `~a'...\n" -msgstr "Chiamata di «~a»...\n" +msgid "undefined: ~S" +msgstr "~S indefinito" -#: graphviz.scm:64 +#: output-svg.scm:157 #, scheme-format -msgid "Writing graph `~a'..." -msgstr "Scrittura del grafico «~a»..." +msgid "cannot decypher Pango description: ~a" +msgstr "impossibile decifrare la descrizione di Pango: ~a" -#: framework-svg.scm:84 -#, scheme-format -msgid "Updating font into: ~a" -msgstr "Aggiornamento dei tipi di carattere in: ~a" +#: output-svg.scm:237 +msgid "Glyph must have a unicode value" +msgstr "Un glifo deve avere un valore unicode" -#: layout-beam.scm:40 +#: output-svg.scm:289 output-svg.scm:299 #, scheme-format -msgid "Error in beam quanting. Expected (~S,~S) found ~S." -msgstr "Errore nella definizione delle travature. Previste (~S,~S), trovate ~S." +msgid "cannot find SVG font ~S" +msgstr "impossibile trovare il tipo di carattere SVG ~S" -#: layout-beam.scm:54 +#: flag-styles.scm:151 #, scheme-format -msgid "Error in beam quanting. Expected ~S 0, found ~S." -msgstr "Errore nella definizione delle travature. Previste ~S 0, trovate ~S." +msgid "flag stroke `~a' or `~a' not found" +msgstr "tipo di coda uncinata sconosciuto: «~a» o «~a»" #: modal-transforms.scm:38 msgid "'from' pitch not in scale; ignoring" @@ -3229,49 +3365,73 @@ msgstr "altezza da invertire non presente nella scala; si ignora" msgid "negative replication count; ignoring" msgstr "conto di riproduzione negativo; si ignora" -#: backend-library.scm:29 ps-to-png.scm:68 -#, scheme-format -msgid "Invoking `~a'..." -msgstr "Invocazione di «~a»..." +#: to-xml.scm:191 +#, scheme-format +msgid "assertion failed: ~S" +msgstr "errore di asserzione: ~S" + +#: define-grob-properties.scm:21 define-context-properties.scm:31 +#: define-music-properties.scm:21 +#, scheme-format +msgid "symbol ~S redefined" +msgstr "simbolo ~S ridefinito" + +#: chord-entry.scm:52 +#, scheme-format +msgid "Spurious garbage following chord: ~A" +msgstr "Informazione incomprensibile dopo l'accordo: ~A" + +#: lily.scm:234 +msgid "Using (ice-9 curried-definitions) module\n" +msgstr "Utilizzazione del modulo (ice-9 curried-definitions)\n" + +#: lily.scm:237 +msgid "Guile 1.8\n" +msgstr "Guile 1.8\n" -#: backend-library.scm:34 +#: lily.scm:297 #, scheme-format -msgid "`~a' failed (~a)" -msgstr "«~a» fallito (~a)" +msgid "cannot find: ~A" +msgstr "impossibile trovare ~A" -#: backend-library.scm:94 -#, scheme-format -msgid "Converting to `~a'..." -msgstr "Conversione a «~a»..." +#: lily.scm:701 +msgid "Success: compilation successfully completed" +msgstr "Successo: compilazione completata con successo" -#. Do not try to guess the name of the png file, -#. GS produces PNG files like BASE-page%d.png. -#: backend-library.scm:104 +#: lily.scm:702 +msgid "Compilation completed with warnings or errors" +msgstr "Compilazione completata con avvertimenti o errori" + +#: lily.scm:764 #, scheme-format -msgid "Converting to ~a..." -msgstr "Conversione a ~a..." +msgid "job ~a terminated with signal: ~a" +msgstr "il lavoro ~a è terminato col segnale ~a" -#: backend-library.scm:142 +#: lily.scm:767 #, scheme-format -msgid "Writing header field `~a' to `~a'..." -msgstr "Scrittura del campo di intestazione «~a» in «~a»..." +msgid "" +"logfile ~a (exit ~a):\n" +"~a" +msgstr "" +"file di registro ~a (uscita ~a):\n" +"~a" -#: backend-library.scm:192 +#: lily.scm:789 lily.scm:869 #, scheme-format -msgid "missing stencil expression `~S'" -msgstr "manca l'espressione di stencil «~S»" +msgid "failed files: ~S" +msgstr "errore nei file: ~S" -#: to-xml.scm:191 +#: lily.scm:860 #, scheme-format -msgid "assertion failed: ~S" -msgstr "errore di asserzione: ~S" +msgid "Redirecting output to ~a..." +msgstr "Redirezione dell'output verso ~a..." -#: chord-entry.scm:49 +#: lily.scm:879 ps-to-png.scm:66 #, scheme-format -msgid "Spurious garbage following chord: ~A" -msgstr "Informazione incomprensibile dopo l'accordo: ~A" +msgid "Invoking `~a'...\n" +msgstr "Chiamata di «~a»...\n" -#: lily-library.scm:758 +#: lily-library.scm:761 msgid "" "Find the index between @var{start} and @var{end} (an integer)\n" "which produces the closest match to @var{target-val} if\n" @@ -3281,131 +3441,118 @@ msgstr "" "che produca l'abbinamento più vicino al @var{target-val} quando\n" "applicato alla funzione @var{getter}." -#: lily-library.scm:832 +#: lily-library.scm:835 #, scheme-format msgid "unknown unit: ~S" msgstr "unità sconosciuta: ~S" -#: lily-library.scm:858 lily-library.scm:867 -msgid "warning:" -msgstr "attenzione:" - #: lily-library.scm:860 #, scheme-format msgid "no \\version statement found, please add~afor future compatibility" msgstr "dichiarazione di \\version assente; si aggiunga ~a per compatibilità futura" -#: lily-library.scm:868 +#: lily-library.scm:866 msgid "old relative compatibility not used" msgstr "compatibilità col vecchio modo relativo non utilizzata" -#: output-ps.scm:48 -msgid "Found infinity or nan in output. Substituting 0.0" -msgstr "Trovato infinito o un valore non numerico nell'output. Sostituito con 0.0" - -#: output-ps.scm:299 output-svg.scm:550 +#: framework-svg.scm:84 #, scheme-format -msgid "unknown line-cap-style: ~S" -msgstr "line-cap-style sconosciuto: ~S" +msgid "Updating font into: ~a" +msgstr "Aggiornamento dei tipi di carattere in: ~a" -#: output-ps.scm:304 output-svg.scm:556 +#: part-combiner.scm:598 #, scheme-format -msgid "unknown line-join-style: ~S" -msgstr "line-join-style sconosciuto: ~S" +msgid "quoted music `~a' is empty" +msgstr "la musica quotata «~a» è vuota" -#: output-svg.scm:47 -#, scheme-format -msgid "undefined: ~S" -msgstr "~S indefinito" +#: music-functions.scm:273 +msgid "More alternatives than repeats. Junking excess alternatives" +msgstr "Più alternative che ripetizioni. Vengono tralasciate le alternative in eccesso" -#: output-svg.scm:151 +#: music-functions.scm:302 #, scheme-format -msgid "cannot decypher Pango description: ~a" -msgstr "impossibile decifrare la descrizione di Pango: ~a" +msgid "invalid tremolo repeat count: ~a" +msgstr "numero di ripetizioni di tremolo non valido: ~a" -#: output-svg.scm:231 -msgid "Glyph must have a unicode value" -msgstr "Un glifo deve avere un valore unicode" +#: music-functions.scm:634 +msgid "Bad chord repetition" +msgstr "Ripetizione di accordi sbagliata" -#: output-svg.scm:283 output-svg.scm:293 +#: music-functions.scm:669 #, scheme-format -msgid "cannot find SVG font ~S" -msgstr "impossibile trovare il tipo di carattere SVG ~S" +msgid "music expected: ~S" +msgstr "musica attesa: ~S" -#: flag-styles.scm:148 +#: music-functions.scm:985 #, scheme-format -msgid "flag stroke `~a' or `~a' not found" -msgstr "tipo di coda uncinata sconosciuto: «~a» o «~a»" +msgid "cannot find quoted music: `~S'" +msgstr "impossibile trovare la musica citata: «~S»" -#: define-note-names.scm:962 -msgid "Select note names language." -msgstr "Selezione della lingua dei nomi delle note." +#: music-functions.scm:1123 +msgid "Add @var{octave-shift} to the octave of @var{pitch}." +msgstr "Aggiungere @var{octave-shift} all'ottava di @var{altezza}." -#: define-note-names.scm:969 +#: music-functions.scm:1183 #, scheme-format -msgid "Using `~a' note names..." -msgstr "Utilizzo di \"~a\" per i nomi delle note..." +msgid "Unknown octaveness type: ~S " +msgstr "Tipo di ottava sconosciuto: ~S " -#: define-note-names.scm:972 -#, scheme-format -msgid "Could not find language `~a'. Ignoring." -msgstr "Impossibile trovare il linguaggio \"~a\". Si ignora." +#: music-functions.scm:1184 +msgid "Defaulting to 'any-octave." +msgstr "Applicazione del valore predefinito 'any-octave." -#: define-music-types.scm:747 +#: music-functions.scm:1521 #, scheme-format -msgid "symbol expected: ~S" -msgstr "simbolo atteso: ~S" +msgid "unknown accidental style: ~S" +msgstr "stile di alterazione sconosciuto: ~S" -#: define-music-types.scm:750 -#, scheme-format -msgid "cannot find music object: ~S" -msgstr "impossibile trovare l'oggetto musicale: ~S" +#: define-event-classes.scm:80 +msgid "All classes must be the last in their matrilineal line." +msgstr "Tutte le classi devono essere le ultime della propria linea di discendenza." -#: define-music-types.scm:769 -#, scheme-format -msgid "unknown repeat type `~S'" -msgstr "tipo di ripetizione sconosciuto «~S»" +#: define-event-classes.scm:84 +msgid "All classes must have a well-defined pedigree in the existing class hierarchy." +msgstr "Tutte le classi devono avere un'ascendenza ben definita nella gerarchia di classe esistente." -#: define-music-types.scm:770 -msgid "See define-music-types.scm for supported repeats" -msgstr "Si veda define-music-types.scm per le ripetizioni supportate" +#: define-event-classes.scm:151 +#, scheme-format +msgid "event class ~A seems to be unused" +msgstr "la classe di evento ~A sembra essere non utilizzata" -#: translation-functions.scm:350 +#. should be programming-error +#: define-event-classes.scm:157 #, scheme-format -msgid "Negative fret for pitch ~a on string ~a" -msgstr "Tasto negativo per l'altezza ~a sulla corda ~a" +msgid "translator listens to nonexisting event class ~A" +msgstr "il traduttore è in ascolto della classe di evento ~A inesistente" -#: translation-functions.scm:401 +#: markup-macros.scm:331 #, scheme-format -msgid "No open string for pitch ~a" -msgstr "Nessuna corda a vuoto per l'altezza ~a" +msgid "Wrong number of arguments. Expect: ~A, found ~A: ~S" +msgstr "Numero errato di argomenti. Attesi: ~A, trovati ~A: ~S" -#: translation-functions.scm:416 translation-functions.scm:428 +#: markup-macros.scm:337 #, scheme-format -msgid "Requested string for pitch requires negative fret: string ~a pitch ~a" -msgstr "La corda richiesta per questa altezza necessita un tasto negativo: corda ~a altezza ~a" +msgid "Invalid argument in position ~A. Expect: ~A, found: ~S." +msgstr "Argomento non valido in posizione ~A. Atteso ~A, trovato ~S." -#: translation-functions.scm:419 -msgid "Ignoring string request and recalculating." -msgstr "Ignorata la richiesta di questa corda, viene ricalcolata." +#: markup-macros.scm:373 +#, scheme-format +msgid "Not a markup command: ~A" +msgstr "Non è un comando di tipo \"markup\": ~A" -#: translation-functions.scm:431 -msgid "Ignoring note in tablature." -msgstr "Ignorata la nota nell'intavolatura." +#: define-note-names.scm:962 +msgid "Select note names language." +msgstr "Selezione della lingua dei nomi delle note." -#: translation-functions.scm:454 +#: define-note-names.scm:968 #, scheme-format -msgid "No string for pitch ~a (given frets ~a)" -msgstr "Nessuna corda per l'altezza ~a (se i tasti sono ~a)" +msgid "Using `~a' note names..." +msgstr "Utilizzo di \"~a\" per i nomi delle note..." -#: translation-functions.scm:559 +#: define-note-names.scm:971 #, scheme-format -msgid "" -"No label for fret ~a (on string ~a);\n" -"only ~a fret labels provided" -msgstr "" -"Nessuna etichetta per il tasto ~a (sulla corda ~a);\n" -"disponibili solo le etichette del tasto ~a" +msgid "Could not find language `~a'. Ignoring." +msgstr "Impossibile trovare il linguaggio \"~a\". Si ignora." #: framework-ps.scm:250 #, scheme-format @@ -3455,121 +3602,193 @@ msgstr "" " %% Start cut-&-pastable-section\n" " %% ****************************************************************\n" -#: music-functions.scm:268 -msgid "More alternatives than repeats. Junking excess alternatives" -msgstr "Più alternative che ripetizioni. Vengono tralasciate le alternative in eccesso" - -#: music-functions.scm:297 +#: layout-beam.scm:40 #, scheme-format -msgid "invalid tremolo repeat count: ~a" -msgstr "numero di ripetizioni di tremolo non valido: ~a" +msgid "Error in beam quanting. Expected (~S,~S) found ~S." +msgstr "Errore nella definizione delle travature. Previste (~S,~S), trovate ~S." -#: music-functions.scm:619 +#: layout-beam.scm:54 #, scheme-format -msgid "music expected: ~S" -msgstr "musica attesa: ~S" +msgid "Error in beam quanting. Expected ~S 0, found ~S." +msgstr "Errore nella definizione delle travature. Previste ~S 0, trovate ~S." -#. FIXME: uncomprehensable message -#: music-functions.scm:662 +#: define-music-types.scm:752 #, scheme-format -msgid "Bar check failed. Expect to be at ~a, instead at ~a" -msgstr "Controllo di battuta fallito. Avrebbe dovuto trovarsi a ~a invece che a ~a" +msgid "symbol expected: ~S" +msgstr "simbolo atteso: ~S" -#: music-functions.scm:845 +#: define-music-types.scm:755 #, scheme-format -msgid "cannot find quoted music: `~S'" -msgstr "impossibile trovare la musica citata: «~S»" - -#: music-functions.scm:979 -msgid "Add @var{octave-shift} to the octave of @var{pitch}." -msgstr "Aggiungere @var{octave-shift} all'ottava di @var{altezza}." +msgid "cannot find music object: ~S" +msgstr "impossibile trovare l'oggetto musicale: ~S" -#: music-functions.scm:1039 +#: define-music-types.scm:774 #, scheme-format -msgid "Unknown octaveness type: ~S " -msgstr "Tipo di ottava sconosciuto: ~S " +msgid "unknown repeat type `~S'" +msgstr "tipo di ripetizione sconosciuto «~S»" -#: music-functions.scm:1040 -msgid "Defaulting to 'any-octave." -msgstr "Applicazione del valore predefinito 'any-octave." +#: define-music-types.scm:775 +msgid "See define-music-types.scm for supported repeats" +msgstr "Si veda define-music-types.scm per le ripetizioni supportate" -#: music-functions.scm:1378 +#: translation-functions.scm:351 #, scheme-format -msgid "unknown accidental style: ~S" -msgstr "stile di alterazione sconosciuto: ~S" - -#: define-event-classes.scm:79 -msgid "All classes must be the last in their matrilineal line." -msgstr "Tutte le classi devono essere le ultime della propria linea di discendenza." - -#: define-event-classes.scm:83 -msgid "All classes must have a well-defined pedigree in the existing class hierarchy." -msgstr "Tutte le classi devono avere un'ascendenza ben definita nella gerarchia di classe esistente." +msgid "Negative fret for pitch ~a on string ~a" +msgstr "Tasto negativo per l'altezza ~a sulla corda ~a" -#: define-event-classes.scm:149 +#: translation-functions.scm:402 #, scheme-format -msgid "event class ~A seems to be unused" -msgstr "la classe di evento ~A sembra essere non utilizzata" +msgid "No open string for pitch ~a" +msgstr "Nessuna corda a vuoto per l'altezza ~a" -#. should be programming-error -#: define-event-classes.scm:155 +#: translation-functions.scm:417 translation-functions.scm:429 #, scheme-format -msgid "translator listens to nonexisting event class ~A" -msgstr "il traduttore è in ascolto della classe di evento ~A inesistente" +msgid "Requested string for pitch requires negative fret: string ~a pitch ~a" +msgstr "La corda richiesta per questa altezza necessita un tasto negativo: corda ~a altezza ~a" -#: markup.scm:223 -#, scheme-format -msgid "Wrong number of arguments. Expect: ~A, found ~A: ~S" -msgstr "Numero errato di argomenti. Attesi: ~A, trovati ~A: ~S" +#: translation-functions.scm:420 +msgid "Ignoring string request and recalculating." +msgstr "Ignorata la richiesta di questa corda, viene ricalcolata." + +#: translation-functions.scm:432 +msgid "Ignoring note in tablature." +msgstr "Ignorata la nota nell'intavolatura." -#: markup.scm:229 +#: translation-functions.scm:455 #, scheme-format -msgid "Invalid argument in position ~A. Expect: ~A, found: ~S." -msgstr "Argomento non valido in posizione ~A. Atteso ~A, trovato ~S." +msgid "No string for pitch ~a (given frets ~a)" +msgstr "Nessuna corda per l'altezza ~a (se i tasti sono ~a)" -#: markup.scm:292 +#: translation-functions.scm:560 #, scheme-format -msgid "Not a markup command: ~A" -msgstr "Non è un comando di tipo \"markup\": ~A" +msgid "" +"No label for fret ~a (on string ~a);\n" +"only ~a fret labels provided" +msgstr "" +"Nessuna etichetta per il tasto ~a (sulla corda ~a);\n" +"disponibili solo le etichette del tasto ~a" -#: ps-to-png.scm:74 +#: ps-to-png.scm:70 #, scheme-format msgid "~a exited with status: ~S" msgstr "~a è terminato con stato ~S" -#: define-markup-commands.scm:883 +#: define-markup-commands.scm:887 msgid "no systems found in \\score markup, does it have a \\layout block?" msgstr "non si è trovato alcun sistema nella marcatura \\score, contiene un blocco \\layout?" -#: define-markup-commands.scm:2561 +#: define-markup-commands.scm:2614 #, scheme-format msgid "Cannot find glyph ~a" msgstr "Impossibile trovare il glifo ~a" -#: define-markup-commands.scm:2987 +#: define-markup-commands.scm:3040 #, scheme-format msgid "no brace found for point size ~S " msgstr "non c'è una graffa che abbia una dimensione di ~S punti" -#: define-markup-commands.scm:2988 +#: define-markup-commands.scm:3041 #, scheme-format msgid "defaulting to ~S pt" msgstr "si applica la dimensione predefinita ~S pt" -#: define-markup-commands.scm:3141 +#: define-markup-commands.scm:3194 #, scheme-format msgid "not a valid duration string: ~a" msgstr "non è una durata valida per la stringa: ~a" -#: ly-syntax-constructors.scm:51 -msgid "Music head function must return Music object" -msgstr "Una funzione musicale principale deve restituire un Oggetto musicale" +#: documentation-lib.scm:59 +#, scheme-format +msgid "Processing ~S..." +msgstr "Elaborazione di ~S..." + +#: documentation-lib.scm:176 +#, scheme-format +msgid "Writing ~S..." +msgstr "Scrittura di ~S..." + +#: documentation-lib.scm:188 +#, scheme-format +msgid "cannot find description for property `~S' (~S)" +msgstr "impossibile trovare la descrizione per la proprietà \"~S\" (~S)" + +#: documentation-lib.scm:209 +#, scheme-format +msgid "cannot find description for property ~S (~S)" +msgstr "impossibile trovare la descrizione per la proprietà ~S (~S)" + +#: ly-syntax-constructors.scm:65 +#, scheme-format +msgid "~a function cannot return ~a" +msgstr "la funzione ~a non può restituire ~a" + +#: ly-syntax-constructors.scm:74 +#, scheme-format +msgid "wrong type for argument ~a. Expecting ~a, found ~s" +msgstr "tipo di argomento errato per ~a. Previsto ~a, trovato ~s" -#: ly-syntax-constructors.scm:177 +#: ly-syntax-constructors.scm:187 #, scheme-format msgid "Invalid property operation ~a" msgstr "Operazione di proprietà non valida: ~a" +#~ msgid "setbeatGrouping. Use baseMoment and beatStructure.\n" +#~ msgstr "setbeatGrouping. Usa baseMoment e beatStructure.\n" + +#~ msgid "success: %s" +#~ msgstr "riuscito: %s" + +#~ msgid "Infinity or NaN encountered" +#~ msgstr "incontrato infinito o un valore non numerico" + +#~ msgid "Vaticana_ligature: zero join (delta_pitch == 0)" +#~ msgstr "Vaticana_ligature: unione nulla (delta_pitch == 0)" + +#~ msgid "No spring between column %d and next one" +#~ msgstr "Nessuna separazione tra la colonna %d e la successiva" + +#~ msgid "Sending non-event to context" +#~ msgstr "Invio di un non-evento al contesto" + +#~ msgid "Invalid CreateContext event: Cannot create %s context" +#~ msgstr "Evento CreateContext non valido: impossibile creare il contesto %s" + +#~ msgid "infinity or NaN encountered while converting Real number" +#~ msgstr "si è incontrato infinito o un valore non numerico durante la conversione di un numero reale" + +#~ msgid "setting to zero" +#~ msgstr "impostato a zero" + +#~ msgid "No spacing entry from %s to `%s'" +#~ msgstr "Nessuno spazio da %s a «%s»" + +#~ msgid "error at EOF: %s" +#~ msgstr "errore alla fine del file (EOF): %s" + +#~ msgid "cyclic dependency: calculation-in-progress encountered for #'%s (%s)" +#~ msgstr "dipendenza ciclica: calculation-in-progress incontrato per #'%s (%s)" + +#~ msgid "Mensural_ligature: unexpected case fall-through" +#~ msgstr "Mensural_ligature: caso inatteso e non interpretabile" + +#~ msgid "Mensural_ligature: (join_right == 0)" +#~ msgstr "Mensural_ligature: (join_right == 0)" + +#~ msgid "braces do not match" +#~ msgstr "le graffe non corrispondono" + +#~ msgid "second argument must be pitch list" +#~ msgstr "il secondo argomento deve essere una lista di altezze" + +#~ msgid "warning:" +#~ msgstr "attenzione:" + +#~ msgid "Bar check failed. Expect to be at ~a, instead at ~a" +#~ msgstr "Controllo di battuta fallito. Avrebbe dovuto trovarsi a ~a invece che a ~a" + +#~ msgid "Music head function must return Music object" +#~ msgstr "Una funzione musicale principale deve restituire un Oggetto musicale" + #~ msgid "vertical spacing has been changed; minimum-Y-extent is obsolete.\n" #~ msgstr "la spaziatura verticale è cambiata; minimum-Y-extent è obsoleto.\n" @@ -3630,10 +3849,6 @@ msgstr "Operazione di proprietà non valida: ~a" #~ msgid "Incorrect lilypond version: %s (%s, %s)" #~ msgstr "versione di mudela errata: %s (%s, %s)" -#, fuzzy -#~ msgid "junking event: `%s'" -#~ msgstr "Cosa? Non è una richiesta: `%s'" - #, fuzzy #~ msgid "cannot find `%s' context" #~ msgstr "non trovo `%s'" @@ -3677,10 +3892,6 @@ msgstr "Operazione di proprietà non valida: ~a" #~ msgid "%s: skipping: `%s'" #~ msgstr "% strumento:" -#, fuzzy -#~ msgid "no such context: %s" -#~ msgstr "% strumento:" - #, fuzzy #~ msgid "Processing `%s'..." #~ msgstr "Elaboro..." diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 9ff13189d2..8442458410 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -424,6 +424,33 @@ in @var{grob}." TrillSpanner)) (define-safe-public (make-voice-props-set n) + (make-sequential-music + (append + (map (lambda (x) (make-grob-property-set x 'direction + (if (odd? n) -1 1))) + direction-polyphonic-grobs) + (list + (make-property-set 'graceSettings + ;; TODO: take this from voicedGraceSettings or similar. + '((Voice Stem font-size -3) + (Voice Flag font-size -3) + (Voice NoteHead font-size -3) + (Voice TabNoteHead font-size -4) + (Voice Dots font-size -3) + (Voice Stem length-fraction 0.8) + (Voice Stem no-stem-extend #t) + (Voice Beam beam-thickness 0.384) + (Voice Beam length-fraction 0.8) + (Voice Accidental font-size -4) + (Voice AccidentalCautionary font-size -4) + (Voice Script font-size -3) + (Voice Fingering font-size -8) + (Voice StringNumber font-size -8))) + + (make-grob-property-set 'NoteColumn 'horizontal-shift (quotient n 2)) + (make-grob-property-set 'MultiMeasureRest 'staff-position (if (odd? n) -4 4)))))) + +(define-safe-public (make-voice-props-override n) (make-sequential-music (append (map (lambda (x) (make-grob-property-override x 'direction @@ -954,7 +981,7 @@ set to the @code{location} parameter." (if (null? clef) (make-music 'Music) (make-cue-clef-set clef)) - (context-spec-music (make-voice-props-set cue-voice) 'CueVoice "cue") + (context-spec-music (make-voice-props-override cue-voice) 'CueVoice "cue") quote-music (context-spec-music (make-voice-props-revert) 'CueVoice "cue") (if (null? clef) @@ -963,7 +990,7 @@ set to the @code{location} parameter." (set! main-music (make-sequential-music (list - (make-voice-props-set main-voice) + (make-voice-props-override main-voice) main-music (make-voice-props-revert)))) (set! (ly:music-property quote-music 'element) main-music))) diff --git a/scm/translation-functions.scm b/scm/translation-functions.scm index d373da0eeb..cc94b67acf 100644 --- a/scm/translation-functions.scm +++ b/scm/translation-functions.scm @@ -658,3 +658,39 @@ only ~a fret labels provided") (= 0 (modulo count n))) (define-public (all-repeat-counts-visible count context) #t) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; make-engraver helper macro + +(defmacro-public make-engraver forms + "Helper macro for creating Scheme engravers. + +The usual form for an engraver is an association list (or alist) +mapping symbols to either anonymous functions or to another such +alist. + +@code{make-engraver} accepts forms where the first element is either +an argument list starting with the respective symbol, followed by the +function body (comparable to the way @code{define} is used for +defining functions), or a single symbol followed by subordinate forms +in the same manner. You can also just make an alist pair +literally (the @samp{car} is quoted automatically) as long as the +unevaluated @samp{cdr} is not a pair. This is useful if you already +have defined your engraver functions separately. + +Symbols mapping to a function would be @code{initialize}, +@code{start-translation-timestep}, @code{process-music}, +@code{process-acknowledged}, @code{stop-translation-timestep}, and +@code{finalize}. Symbols mapping to another alist specified in the +same manner are @code{listeners} with the subordinate symbols being +event classes, and @code{acknowledgers} and @code{end-acknowledgers} +with the subordinate symbols being interfaces." + (let loop ((forms forms)) + (if (cheap-list? forms) + `(list + ,@(map (lambda (form) + (if (pair? (car form)) + `(cons ',(caar form) (lambda ,(cdar form) ,@(cdr form))) + `(cons ',(car form) ,(loop (cdr form))))) + forms)) + forms))) diff --git a/scripts/build/run-and-check.sh b/scripts/build/run-and-check.sh new file mode 100755 index 0000000000..eb76aa7b40 --- /dev/null +++ b/scripts/build/run-and-check.sh @@ -0,0 +1,13 @@ +#!/bin/sh +# The nextline takes the value in parameter one, evaluates it +# (necessary if it contains spaces) and runs it. > redirects +# stdout to the logfile given in parameter 2. 2>&1 redirects +# stderr to stdout (i.e. to the logfile). +eval $1 > $2 2>&1 +RetVal=$? # captures the return value of the command +if [ $RetVal -ne 0 ]; then + echo + echo "Please check the logfile" $2 "for errors" + echo +fi +exit $RetVal diff --git a/scripts/build/www_post.py b/scripts/build/www_post.py index 784a978f20..c62e02145a 100644 --- a/scripts/build/www_post.py +++ b/scripts/build/www_post.py @@ -43,6 +43,14 @@ dirs, symlinks, files = mirrortree.walk_tree ( '|'.join ([l.code for l in langdefs.LANGUAGES]) + '))(/|$)', find_files = r'.*?\.(?:midi|html|pdf|png|jpe?g|txt|i?ly|signature|css|zip|js|..\.idx|php)$|VERSION', exclude_files = r'lily-[0-9a-f]+.*\.(pdf|txt)') +# extra files: info and tex output from lilypond-book regtests +extra_files = mirrortree.walk_tree ( + tree_roots = ['input/regression/lilypond-book'], + process_dirs = outdir, + exclude_dirs = r'(^|/)(out|out-test)(/|$)', + find_files = r'.+\.(info|tex)$', + exclude_files = r'lily-[0-9a-f]+.*\.tex')[2] +files.extend(extra_files) # actual mirrorring stuff html_files = [] diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index c60521ead3..c8e62a9559 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -535,7 +535,7 @@ AC_DEFUN(STEPMAKE_GETTEXT, [ AC_DEFUN(STEPMAKE_GUILE, [ - STEPMAKE_PATH_PROG(GUILE, guile, $1) + STEPMAKE_PATH_PROG(GUILE, guile guile1, $1) ]) @@ -577,7 +577,7 @@ AC_DEFUN(STEPMAKE_GUILE_DEVEL, [ test -n "$target_alias" && target_guile_config=$target_alias-guile-config test -n "$host_alias" && host_guile_config=$host_alias-guile-config AC_MSG_CHECKING([for guile-config]) - for guile_config in $GUILE_CONFIG $target_guile_config $host_guile_config $build_guile_config guile-config; do + for guile_config in $GUILE_CONFIG $target_guile_config $host_guile_config $build_guile_config guile-config guile1-config; do AC_MSG_RESULT([$guile_config]) if ! $guile_config --version > /dev/null 2>&1 ; then AC_MSG_WARN([cannot execute $guile_config]) @@ -590,7 +590,7 @@ AC_DEFUN(STEPMAKE_GUILE_DEVEL, [ done STEPMAKE_OPTIONAL_REQUIRED(GUILE_CONFIG, $guile_config, $1) if test $? -ne 0; then - STEPMAKE_ADD_ENTRY($1, 'guile-config (guile-devel, guile-dev or libguile-dev package)') + STEPMAKE_ADD_ENTRY($1, 'guile-config (guile-devel, guile-dev or libguile-dev package) or guile1-config (guile1-devel package)') fi STEPMAKE_CHECK_SEARCH_RESULT(GUILE_CONFIG) diff --git a/stepmake/stepmake/texinfo-rules.make b/stepmake/stepmake/texinfo-rules.make index a3133d6aea..7b5da4a65f 100644 --- a/stepmake/stepmake/texinfo-rules.make +++ b/stepmake/stepmake/texinfo-rules.make @@ -34,44 +34,50 @@ $(outdir)/%.itexi: %.itexi $(outdir)/%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi ifeq ($(WEB_VERSION),yes) - $(MAKEINFO) -I$(src-dir) -I$(outdir) -D web_version --output=$@ $< + $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) -D web_version --output=$@ $<" "$*.makeinfoweb.log" else - $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $< + $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<" "$*.makeinfo.log" endif $(outdir)/%-big-page.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi ifeq ($(WEB_VERSION),yes) - DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage -D web_version --output=$@ $< + $(buildscript-dir)/run-and-check "DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage -D web_version --output=$@ $<" "$*.bigtexi.log" else - DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage --output=$@ $< + $(buildscript-dir)/run-and-check "DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage --output=$@ $<" "$*.bigtexi.log" endif $(outdir)/%.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi - DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) --output=$@ $< + $(buildscript-dir)/run-and-check "DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) --output=$@ $<" "$*.texilog.log" + $(outdir)/%/index.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi $(outdir)/%.html.omf mkdir -p $(dir $@) ifeq ($(WEB_VERSION),yes) - DEPTH=$(depth)/../ AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) -D web_version --output=$(dir $@) $< + $(buildscript-dir)/run-and-check "DEPTH=$(depth)/../ AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) -D web_version --output=$(dir $@) $<" "$*.splittexi.log" else - DEPTH=$(depth)/../ AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) --output=$(dir $@) $< + $(buildscript-dir)/run-and-check "DEPTH=$(depth)/../ AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) --output=$(dir $@) $<" "$*.splittexi.log" endif +ifneq ($(ISOLANG),) +$(XREF_MAPS_DIR)/%.$(ISOLANG).xref-map: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map + $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -o $(XREF_MAPS_DIR) --master-map-file=$(XREF_MAPS_DIR)/$*.xref-map $< +else $(XREF_MAPS_DIR)/%.xref-map: $(outdir)/%.texi $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -o $(XREF_MAPS_DIR) $< +endif $(outdir)/%.info: %.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi - $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $< + $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<" "$*.makeinfo.log" $(outdir)/%.pdf: $(outdir)/%.texi $(outdir)/version.itexi $(outdir)/%.pdf.omf $(outdir)/weblinks.itexi ifeq ($(WEB_VERSION),yes) - cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) -D web_version -I $(abs-src-dir) --quiet $(TEXINFO_PAPERSIZE_OPTION) $(