From: Graham Percival Date: Mon, 19 May 2008 23:41:41 +0000 (-0700) Subject: Merge branch 'master' of git://git.sv.gnu.org/lilypond X-Git-Tag: release/2.11.47-1~5^2~27^2~14 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=1a69885fc53b260b38816b4894777698afa0b314;hp=a38a72d8e6c0e27c7e66a622298a099c81bb84cf;p=lilypond.git Merge branch 'master' of git://git.sv.gnu.org/lilypond --- diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index d669eb09e0..7d30c8533f 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -91,3 +91,24 @@ update-translation: translation-status: make -C po out=www messages $(PYTHON) $(buildscript-dir)/translations-status.py $(buildscript-dir) + +local-help: extra-local-help + +extra-local-help: + @echo -e "\ + check-xrefs [ISOLANG=LL] validate Texinfo cross-references\n\ + fix-xrefs [ISOLANG=LL] interactively fix Texinfo cross-references (use with caution)\n\ +\n\ +Translations specific targets (see TRANSLATION for details):\n\ + new-lang ISOLANG=LL create and initialize subdirectory \'LL' for language \'LL\n\ + po-update update and replace PO files for documentation with msgmerged versions\n\ + check-translation ISOLANG=LL show changes in English docs since last translation update\n\ + update-translation ISOLANG=LL call $$$$EDITOR to help updating the translation\n\ + skeleton-update ISOLANG=LL update Texinfo skeleton files\n\ + snippet-update ISOLANG=LL update ly snippets in Texinfo translation according to\n\ + docs in English (use with caution)\n\ +\n\ +LL refers to the desired locale (most often only the ISO 639 language code).\n" + +info: + $(MAKE) -C user info diff --git a/Documentation/es/user/ancient.itely b/Documentation/es/user/ancient.itely index cdb789af3a..b333202de8 100644 --- a/Documentation/es/user/ancient.itely +++ b/Documentation/es/user/ancient.itely @@ -864,13 +864,13 @@ correctamente con las ligaduras. Las alteraciones accidentales no se deben imprimir dentro de las ligaduras, sino que deben reunirse e imprimirse juntas delante de ellas. -La sintaxis todavía utiliza el obsoleto estilo infijo @code{\[ música expresión -\]}. Por motivos de consistencia, esto cambiará algún día al estilo -postfijo @code{nota\[ ... nota\]}. De forma alternativa, puede incluirse el archivo -@file{gregorian@/-init@/.ly}; proporciona una función de -Scheme +La sintaxis todavía utiliza el obsoleto estilo infijo +@code{\[ expresión_musical \]}. Por motivos de consistencia, esto cambiará +algún día al estilo postfijo @code{nota\[ ... nota\]}. De forma +alternativa, puede incluirse el archivo @file{gregorian@/-init@/.ly}; +proporciona una función de Scheme @example -\ligature @var{música expresión} +\ligature @var{expresión_musical} @end example que causa el mismo efecto y se supone que es lo bastante estable. diff --git a/Documentation/fr/user/keyboards.itely b/Documentation/fr/user/keyboards.itely index 0f5da51411..5f4b6ea1f1 100644 --- a/Documentation/fr/user/keyboards.itely +++ b/Documentation/fr/user/keyboards.itely @@ -146,7 +146,7 @@ place les silences en fonction des notes qui les suivront. Ainsi : @seealso -Dans ce même manuel : @ruser{Changing staff manually}. +Dans ce même manuel : @ref{Changing staff manually}. Référence du programme : @rinternals{AutoChangeMusic}. diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index 0247f74b1e..eb4577dcc3 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -38,6 +38,8 @@ LOCALSTEPMAKE_TEMPLATES=lilypond ly include $(depth)/make/stepmake.make +default: + info: $(INFO_FILES) @echo export LILYPOND_DATADIR=$(LILYPOND_DATADIR) @echo export PYTHONPATH=$(PYTHONPATH) @@ -50,8 +52,6 @@ xml: $(outdir)/lilypond/lilypond.xml $(outdir)/lilypond-internals/lilypond-inter local-install-WWW: local-install-info local-uninstall-WWW: local-uninstall-info -default: - local-clean: rm -f $(INFO_IMAGES_DIR) @@ -60,7 +60,6 @@ local-help: extra-local-help extra-local-help: @echo -e "\ info update info pages\n\ - ps update PostScript documents\n\ xml update Docbook xml documentation\n\ " diff --git a/Documentation/user/editorial.itely b/Documentation/user/editorial.itely index a2c8f01b72..939d28293b 100644 --- a/Documentation/user/editorial.itely +++ b/Documentation/user/editorial.itely @@ -168,7 +168,7 @@ staff, see @ref{Controlling direction and placement}. @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {controlling-the-placement-of-chord-fingerings.ly} @@ -398,7 +398,7 @@ made invisible. @cindex stem, down @cindex stem, neutral -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {default-direction-of-stems-on-the-center-line-of-the-staff.ly} @seealso @@ -531,7 +531,7 @@ lines. @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {grid-lines--changing-their-appearance.ly} diff --git a/Documentation/user/keyboards.itely b/Documentation/user/keyboards.itely index f4eced4ada..3a0760f6c6 100644 --- a/Documentation/user/keyboards.itely +++ b/Documentation/user/keyboards.itely @@ -86,7 +86,7 @@ as shown in @rlearning{Other uses for tweaks}. @end itemize @snippets -@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] @c {creating-slurs-across-voices.ly} @seealso diff --git a/Documentation/user/repeats.itely b/Documentation/user/repeats.itely index 05719dd241..222f4c65cf 100644 --- a/Documentation/user/repeats.itely +++ b/Documentation/user/repeats.itely @@ -142,10 +142,10 @@ c1 @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {shortening-volta-brackets.ly} -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {adding-volta-brackets-to-additional-staves.ly} diff --git a/Documentation/user/rhythms.itely b/Documentation/user/rhythms.itely index 83ecb95d70..b6a4dd4d9f 100644 --- a/Documentation/user/rhythms.itely +++ b/Documentation/user/rhythms.itely @@ -249,15 +249,15 @@ see @ref{Scaling durations}. @funindex tupletNumberFormatFunction @funindex tupletSpannerDuration -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {entering-several-tuplets-using-only-one--times-command.ly} @funindex TupletNumber -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {changing-the-tuplet-number.ly} -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {permitting-line-breaks-within-beamed-tuplets.ly} @seealso @@ -487,10 +487,10 @@ commands. @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {using-ties-with-arpeggios.ly} -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {engraving-ties-manually.ly} @@ -583,7 +583,7 @@ a4\rest d4\rest @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {rest-styles.ly} @@ -817,13 +817,13 @@ alongside and to the left of the measure count numeral. @cindex rest, church @cindex kirchenpausen -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {changing-form-of-multi--measure-rests.ly} @cindex multi-measure rests, positioning @cindex positioning multi-measure rests -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {positioning-multi--measure-rests.ly} @seealso @@ -992,7 +992,7 @@ the 9/8 measure is subdivided in 2, 2, 2 and 3. This is passed to @cindex compound time signatures @cindex time signature, compound -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {compound-time-signatures.ly} diff --git a/Documentation/user/staff.itely b/Documentation/user/staff.itely index 074c395a76..d9f8e151a4 100644 --- a/Documentation/user/staff.itely +++ b/Documentation/user/staff.itely @@ -239,10 +239,10 @@ piano music and @code{ChoirStaff} for all kind of vocal ensemble music. @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {use-square-bracket-at-the-start-of-a-staff-group.ly} -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {display-bracket-with-only-one-staff-in-a-system.ly} @cindex mensurstriche layout @@ -250,7 +250,7 @@ piano music and @code{ChoirStaff} for all kind of vocal ensemble music. @cindex transcription of mensural music @cindex mensural music, transcription of -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {mensurstriche-layout-bar-lines-between-the-staves.ly} @c FIXME: move to NR 2.8.x when sectioning is ready @@ -378,7 +378,7 @@ source code, for instructions how to set them see @ref{Instrument names}. @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {nesting-staves.ly} @@ -547,7 +547,7 @@ b b @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {making-some-staff-lines-thicker-than-the-others.ly} @seealso @@ -744,7 +744,7 @@ of which it is written. @end lilypond @c FIXME not yet in master -@c lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@c lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] @c {remove-the-first-empy-line.ly} @predefined diff --git a/Documentation/user/text.itely b/Documentation/user/text.itely index 01626800de..dea840d0cb 100644 --- a/Documentation/user/text.itely +++ b/Documentation/user/text.itely @@ -209,13 +209,13 @@ c c @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {printing-marks-at-the-end-of-a-line-or-a-score.ly} -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {aligning-marks-with-various-notation-objects.ly} -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {printing-marks-on-every-staff.ly} @seealso diff --git a/Documentation/user/vocal.itely b/Documentation/user/vocal.itely index 76d7be98c5..61681d7a63 100644 --- a/Documentation/user/vocal.itely +++ b/Documentation/user/vocal.itely @@ -785,7 +785,7 @@ layout. @end lilypond @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {aligning-lyrics.ly} @c TODO Create and add lsr example of lyricMelismaAlignment diff --git a/Documentation/user/writing-texinfo.txt b/Documentation/user/writing-texinfo.txt index a7ecb9543f..448b281fde 100644 --- a/Documentation/user/writing-texinfo.txt +++ b/Documentation/user/writing-texinfo.txt @@ -66,8 +66,9 @@ commands. {pitches-headword.ly} * LSR snippets are linked with - @lilypondfile[verbatim,lilyquote,ragged-right,texidoc] + @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {filename.ly} + excepted in Templates, where `doctitle' may be omitted. * Avoid long stretches of input code. Noone is going to read them in print. Please create a smaller example. (the smaller diff --git a/GNUmakefile.in b/GNUmakefile.in index 23c0d0e0d5..c1704ef230 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -110,7 +110,7 @@ src-ext = c cc yy ll hh icc py scm tex ps texi itexi tely itely sh web-clean: snippets-clean $(tree-share-prefix)/lilypond-force -default: $(config_h) build-dir-setup +default: $(config_h) build-dir-setup build-dir-setup: $(tree-share-prefix)/lilypond-force diff --git a/buildscripts/check_texi_refs.py b/buildscripts/check_texi_refs.py index 4e8f5eedb9..c7f31fa5ad 100755 --- a/buildscripts/check_texi_refs.py +++ b/buildscripts/check_texi_refs.py @@ -331,6 +331,7 @@ in the list)\n") def check_ref (manual, file, m): global fixes_count, bad_refs_count bad_ref = False + fixed = True type = m.group (1) original_name = m.group (2) name = whitespace_re.sub (' ', original_name). strip () @@ -461,7 +462,7 @@ node name and manual for this x-ref by index number or beginning of name:\n", \ bad_refs_count += int (bad_ref) if bad_ref and not useful_fix: stdout.write ("*** Warning: this file is automatically generated, \ -please fix the code source manually.\n") +please fix the code source instead of generated documentation.\n") # compute returned string if new_name == name: @@ -488,5 +489,5 @@ except InteractionError, instance: log.write ("Operation refused by user: %s\nExiting.\n" % instance) sys.exit (3) -log.write ("Done, %d bad x-refs found, fixed %d.\n" % +log.write ("Done: %d bad x-refs found, fixed %d.\n" % (bad_refs_count, fixes_count)) diff --git a/buildscripts/make-font-dir.py b/buildscripts/make-font-dir.py deleted file mode 100644 index b6a3541b6a..0000000000 --- a/buildscripts/make-font-dir.py +++ /dev/null @@ -1,259 +0,0 @@ -#!@PYTHON - - - -## make a fonts.scale file. - - -import re -import sys -import string -import os - - -### mftrace/afm.py - -# Read some global vars -class Afm_reader: - def __init__ (self, filename): - self.filename = filename - self.lines = open (self.filename).readlines () - - def get_afm (self): - afm = Afm_font_metric (self.filename) - for i in self.lines[:20]: - m = re.match ('([^ \t\n]*)[ \t]*(.*[^ \t\n])', i) - if m and m.group (1): - key = m.group (1) - value = m.group (2) - if key != 'Comment': - afm.__dict__[key] = value - return afm - -class Afm_font_metric: - def __init__ (self, filename): - m = re.match ('.*/(.+)', filename) - self.filename = m.group (1) - m = re.match ('([-_A-Za-z]*)([0-9]*)', self.filename) - self.name = m.group (1) + m.group (2) - self.basename = m.group (1) - self.designsize = m.group (2) - -def read_afm_file (filename): - reader = Afm_reader (filename) - return reader.get_afm () - -#if __name__ == '__main__': -# i = read_afm_file (sys.argv[1]) -# print i, i.FullName, i.FontName - -### mftrace - -class Font_info: - cm = { - 'bx': ('bold', 'roman'), - 'bxti' : ('bold', 'italic'), - 'csc' : ('smallcaps', 'roman'), - 'r' : ('regular', 'roman'), - 'ss' : ('regular', 'sansserif'), - 'tt' : ('regular', 'typewriter'), - 'ti' : ('regular', 'italic'), - } - - def set_defaults (self, name): - self.FontName = name - self.FullName = name - self.EncodingScheme = 'AdobeStandard' - - self.foundry = 'GNU' - self.family = 'LilyPond' - self.weight = 'Feta' - self.slant = 'r' - self.setwidth = 'normal' - self.style = '' - self.pixelsize = '0' - self.pointsize = '0' - self.xresolution = '0' - self.yresolution = '0' - self.spacing = 'p' - self.averagewidth = '0' - self.registry = 'GNU' - self.encoding = 'FontSpecific' - - split = string.split (name, '-') - if len (split) >= 4: - # Assume - # Adobe FontName = X11 foundry-family-weight-style - if 1: - self.foundry, self.family = split[:2] - else: # testin' - self.foundry = split[0] - self.family = string.join (split[1:-2], ' ') - self.weight = string.join (split[2:-1], ' ') - self.style = split[-1:][0] - self.FamilyName = '%s %s' % (self.family, self.weight) - self.designsize = self.style - elif name[:2] == 'cm': - self.foundry = 'TeX' # Knuth? - self.FamilyName = 'Computer Modern' - self.family = self.FamilyName - m = re.match ('^cm([a-z]*)([0-9]*)', name) - self.weight = string.join (self.cm[m.group (1)], ' ') - self.designsize = m.group (2) - self.style = self.designsize - else: - self.FamilyName = name - - def __init__ (self, x): - if type (x) == type ("hallo"): - m = re.match ('([-_A-Za-z]*)([0-9]*)', x) - self.name = x - self.basename = m.group (1) - self.designsize = m.group (2) - self.set_defaults (x) - elif type (x) == type ({}): - self.set_defaults (x['FontName']) - for k in x.keys (): - self.__dict__[k] = x[k] - - def __getitem__ (self, key): - return self.__dict__[key] - - def get_X11 (self): - return (self.foundry, self.family, self.weight, - self.slant, self.setwidth, self.style, - self.pixelsize, self.pointsize, - self.xresolution, self.yresolution, - self.spacing, self.averagewidth, - self.registry, self.encoding) - -fontinfo = {} - -# wat een intervaas... -ls = sys.stdin.readline () -ls = string.split (ls) - -sketch_p = 0 -sodipodi_p = 0 -if len (ls) and ls[0] == 'sodipodi': - ls = ls[1:] - sodipodi_p = 1 -elif len (ls) and ls[0] == 'sketch': - ls = ls[1:] - sketch_p = 1 - -if not (sketch_p or sodipodi_p): - print len(ls) - -for filename in ls: - basename = re.sub ('\.pf[ab]', '',filename) - fontname = re.sub ('-', ' ',basename) - - m = re.search ("([0-9]+)$", fontname) - designsize = 'normal' - - - if m: - designsize = m.group (1) - fontbase = re.sub ("([0-9]+)$", "", fontname) - - - # FIXME: Font naming -- what a mess - # Check sane naming with xfontsel and gtkfontsel - - # Adobe's font naming scheme and X11's seem to be conflicting. - # Adobe's FontFamily seems to be X11's family + weight - # Also, text selection applets like gtkfontsel, gfontview and - # GNOME-applications specific ones, display X11's `family' - # parameter as `Font', and X11's `Weight' parameter as `Style'. - - # Using X11 description/convention -- good for xfontsel: - # 1 foundry: GNU - # 2 family: LilyPond - # 3 weight: - # 4 slant: r(oman) =upright - # 5 setwidth: normal - # 6 style: - # 7 pixelsize: 0 - # 8 pointsize: 0 (20 crashes xfs, moved to style) - # 9 xresolution: 0 - # 10 yresolution: 0 - # 11 spacing: p(roportional) - # 12 averagewidth: 0 - # 13 registry: GNU - # 14 encoding: fonstpecific - - # gives: - # feta20.pfa -GNU-LilyPond feta-20-r-normal--0-0-0-0-p-0-gnu-fontspecific - - # However, GNOME (gtkfontsel, gnome apps) seems to want: - - # 1 foundry: GNU - # 2 family: LilyPond - # 3 weight: - # 4 slant: r(oman) =upright - # 5 setwidth: normal - # 6 style: - # 7 pixelsize: 0 - # 8 pointsize: 0 (20 crashes xfs, moved to style) - # 9 xresolution: 0 - # 10 yresolution: 0 - # 11 spacing: p(roportional) - # 12 averagewidth: 0 - # 13 registry: GNU - # 14 encoding: fonstpecific - - # which gives: - # feta20.pfa -GNU-LilyPond-feta-r-normal--20-0-0-0-p-0-gnu-fontspecific - # foundry: GNU - - ## ouch, pointsize 20 crashes xfs - ## XXXfeta20.pfa -GNU-LilyPond Feta-regular-r-normal--0-20-0-0-p-0-gnu-fontspecific - - ## feta20.pfa -GNU-LilyPond feta-regular-r-normal-20-0-0-0-0-p-0-gnu-fontspecific - - afmfile = '' - if not afmfile: - #afmfile = find_file (basename + '.afm') - afmfile = basename + '.afm' - - if afmfile: - afmfile = os.path.abspath (afmfile) - if os.path.exists (afmfile): - afm = read_afm_file (afmfile) - fontinfo = Font_info (afm.__dict__) - else: - fontinfo = Font_info (basename) - - family_name = string.join (string.split (fontinfo['FamilyName'], - '-'), ' ') - - if sodipodi_p: - print string.join ((os.path.abspath (filename), - fontinfo.FamilyName, - fontinfo.FamilyName,'' - ), - - ',') - - elif sketch_p: - # Sketch's lilypond.sfd map: - s = string.join ([fontinfo.FontName, - fontinfo.family, - '%s %s' % (fontinfo.weight, fontinfo.style), - string.join (fontinfo.get_X11 ()[:4], '-'), - string.join (fontinfo.get_X11 ()[-2:], '-'), - fontinfo.name], - ',') - print s - - s = string.join ([fontinfo.FamilyName + fontinfo.designsize, - fontinfo.family, - '%s %s' % (fontinfo.weight, fontinfo.style), - string.join (fontinfo.get_X11 ()[:4], '-'), - string.join (fontinfo.get_X11 ()[-2:], '-'), - fontinfo.name], - ',') - print s - else: - print filename + ' -' + string.join (fontinfo.get_X11 (), '-') diff --git a/input/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc b/input/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc index 75d3e46e79..52a6ea54ba 100644 --- a/input/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc +++ b/input/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc @@ -4,3 +4,11 @@ un bécarre avant un dièse ou un bémol si on a besoin d'annuler une altération précédente. Pour modifier ce comportement, assignez la propriété @code{extraNatural} du contexte @code{Staff} à la valeur @code{##f} (faux). " +texidoces = " +Según las reglas estándar de composición tipográfica, se imprime un becuadro +antes de un sostenido o un bemol cuando se tiene que cancelar una alteración anterior +en la misma nota. Para modificar este comportamiento, establezca el valor de la +propiedad @code{extraNatural} a @code{##f} (falso) dentro del +contexto de @code{Staff}. + +" \ No newline at end of file diff --git a/input/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc b/input/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc new file mode 100644 index 0000000000..6135064eb3 --- /dev/null +++ b/input/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc @@ -0,0 +1,27 @@ +texidoces = " +Este ejemplo utiliza código de Scheme para forzar las +modificaciones enarmónicas de las notas, y así tener el menor +número de alteraciones accidentales. En este caso se aplican las +siguientes reglas: + +@itemize +@item +Se quitan las dobles alteraciones + +@item +Si sostenido -> Do + +@item +Mi sistenido -> Fa + +@item +Do bemol -> Si + +@item +Fa bemol -> Mi + +@end itemize + +De esta forma se selecciona el mayor número de notas enarmónicas +naturales. +" \ No newline at end of file diff --git a/input/texidocs/tweaking-clef-properties.texidoc b/input/texidocs/tweaking-clef-properties.texidoc new file mode 100644 index 0000000000..ff36a0a538 --- /dev/null +++ b/input/texidocs/tweaking-clef-properties.texidoc @@ -0,0 +1,34 @@ +texidoces = " +La instrucción @code{\\clef \"treble_8\"} equivale a un ajuste de +@code{clefGlyph}, @code{clefPosition} (que controla la posición +vertical de la clave), @code{middleCPosition} y +@code{clefOctavation}. Se imprime una clave cada vez que se +modifica cualquiera de las propiedades excepto +@code{middleCPosition}. + + +Observe que la modificación del glifo, la posición de la clave o +su octavación, no cambian 'per se' la posición de las siguientes +notas del pentagrama: para hacer esto también se debe especificar +la posición del Do central. Los parámetros posicionales están en +relación con la tercera línea del pentagrama, los números +positivos desplazan hacia arriba, contando una unidad por cada +línea y espacio. El valor de @code{clefOctavation} se +establecería normalmente a 7, -7, 15 or -15, pero son válidos +otros valores. + + +Cuando se produce un cambio de clave en el salto de línea se +imprime la clave nueva tanto al final de la línea anterior como al +principio de la nueva, de forma predeterminada. Si no se necesita +la clave de advertencia al final de la línea anterior, se puede +quitar estableciendo el valor de la propiedad +@code{explicitClefVisibility} de @code{Staff}, a +@code{end-of-line-invisible}. El comportamiento predeterminado se +puede recuperar con @code{\\unset Staff.explicitClefVisibility}. + +Los siguientes ejemplos muestran las posibilidades cuando se +ajustan estas propiedades manualmente. En la primera línea, los +cambios manuales preservan el posicionamiento relativo estándar de +las claves y las notas, pero no lo hacen en la segunda línea. +" \ No newline at end of file diff --git a/make/ly-targets.make b/make/ly-targets.make index a2d621b154..3cbdd81b6d 100644 --- a/make/ly-targets.make +++ b/make/ly-targets.make @@ -4,5 +4,4 @@ convert-ly: local-convert-ly local-convert-ly: $(PYTHON) $(CONVERT_LY) --edit --assume-old *ly -local-help: local-ly-help - +local-help: diff --git a/make/mutopia-targets.make b/make/mutopia-targets.make index dab3f46d05..4a12833a55 100644 --- a/make/mutopia-targets.make +++ b/make/mutopia-targets.make @@ -1,7 +1,3 @@ - -include $(stepdir)/www-targets.make - - .PHONY: download mutopia png ps scores tar .PRECIOUS: $(outdir)/%.ps $(outdir)/%-book.ps diff --git a/stepmake/bin/package-diff.py b/stepmake/bin/package-diff.py deleted file mode 100644 index 679e0a9274..0000000000 --- a/stepmake/bin/package-diff.py +++ /dev/null @@ -1,353 +0,0 @@ -#!@PYTHON@ - -# -# TODO: CLEAN THIS UP, merge packagepython.py and release.py -# - - - -import fnmatch -import sys -import os -import re -import string -import getopt -import pipes - - -_debug = 0 -_prune = ['(*)'] -package_diff_dir = '/tmp/package-diff.%s/' % os.getlogin () - -def system (cmd): - print cmd - s = os.system (cmd) - if s: - raise 'barf' - - -def find(pattern, dir = os.curdir): - list = [] - names = os.listdir(dir) - names.sort() - for name in names: - if name in (os.curdir, os.pardir): - continue - fullname = os.path.join(dir, name) - if fnmatch.fnmatch(name, pattern): - list.append(fullname) - if os.path.isdir(fullname) and not os.path.islink(fullname): - for p in _prune: - if fnmatch.fnmatch(name, p): - if _debug: print "skip", `fullname` - break - else: - if _debug: print "descend into", `fullname` - list = list + find(pattern, fullname) - return list - - -topdir = os.getcwd () -def gulp_file(f): - try: - i = open(f) - i.seek (0, 2) - n = i.tell () - i.seek (0,0) - except: - sys.stderr.write ("can't open file: %s\n" % f) - return '' - s = i.read (n) - if len (s) <= 0: - sys.stderr.write ("gulped emty file: %s\n" % f) - i.close () - return s - - -def mailaddress(): - try: - return os.environ['MAILADDRESS'] - except KeyError: - return '(address unknown)' - - - -class Flags: - def __init__ (self): - self.to_version = 0 - self.from_version = 0 - self.package = 0 - -flags = Flags () - -def help (): - sys.stdout.write ( - 'Generate a patch to go to current version\n' - ' -f, --from=FROM old is FROM\n' - ' -h, --help print this help\n' - ' --outdir=DIR generate in DIR\n' - ' -o, --output=NAME write patch to NAME\n' - ' -p, --package=DIR specify package\n' - ' -r, --release diff against latest release\n' - ' -t, --to=TO to version TO\n' - ' -F, --dir-from=FROM diff from directory FROM\n' - ' -T, --dir-to=TO diff to directory TO\n' - ) - -def cleanup (): - global from_diff, to_diff, original_dir - os.chdir (package_diff_dir) - sys.stderr.write ('Cleaning ... ') - system ('rm -fr %s %s' % (from_diff, to_diff)) - sys.stderr.write ('\n') - os.chdir (original_dir) - -def untar (fn): - # system ('pwd'); - try: - open (fn) - except: - sys.stderr.write ("Can't find tarball: %s\n" % fn) - cleanup () - sys.exit (1) - sys.stderr.write ("Untarring: %s\n" % fn) - system ('gzip --quiet -dc ' + fn + '| tar xf - ') - sys.stderr.flush () - -def remove_automatic (dirnames): - files = [] - - for d in dirnames: - try: - for p in pats: - files = files + find (p, d) - except: - sys.stderr.write ("Can't find dir: %s\n" % d) - cleanup () - sys.exit (1) - - dirs = map (lambda d: find ('out*', d), dirnames) - dirs = reduce (lambda x,y: x + y, dirs) - - #print dirs - - for d in dirs: - if os.path.isdir (d): - files = files + find ('*', d) - - for f in files: - try: - os.remove (f) - except: - sys.stderr.write ("can't remove: `" + f + "'\n'") - -def dirname (v): - return flags.package.name + '-' + version_tuple_to_str (v) - -def tarball(v): - return dirname (v) + '.tar.gz' - -def released_tarball(v): - return flags.package.release_dir + tarball (v) - - -def remove_configure (dir): - os.chdir (dir) - - # ugh - system ('rm -f *.ly') - - # should do 'make distclean ?' - system ('rm -rf debian/out GNUmakefile config.cache config.h config.hh config.log config.make config.status configure stepmake/GNUmakefile stepmake/config.hh stepmake/config.log stepmake/config.status stepmake/config.make') - - # ugh: symlinks - system ('rm -f stepmake/stepmake/stepmake stepmake/stepmake/bin') - - -# ugh, how to get rid of .tex files generated by lily? -pats = ['configure', '*.diff', '*.diff.gz', '*.pyc', '*.txt'] - -header = """Generated by %s, -From = %s, To = %s - -usage - - cd %s-source-dir; patch -E -p1 < %s - -Patches do not contain automatically generated files -or (urg) empty directories, -i.e., you should run - - ./autogen.sh - ./configure [your options.] - - -""" - - -def makediff (fromdir, todir, patch_name): - remove_automatic ([fromdir, todir]) - - # ugh - remove_configure (fromdir) - remove_configure (todir) - os.chdir (todir) - - fromname = fromdir - toname = todir - if os.path.dirname (fromname) == os.path.dirname (toname): - fromname = os.path.basename (fromname) - toname = os.path.basename (toname) - fromdir = '../' + fromname - - f = open (patch_name, 'wb') - f.write (header % - (mailaddress (), fromname, toname, - flags.package.name, os.path.basename (patch_name))) - - f.close () - - sys.stderr.write ('diffing to %s... ' % patch_name) - system ('pwd') - print ('diff -purN %s . >> %s' % (fromdir, patch_name)) - system ('diff -purN %s . >> %s' % (fromdir, patch_name)) - system ('gzip --quiet -9f %s' % patch_name) - - -os.environ['GZIP'] = '-q' -print 'argv: ' + string.join (sys.argv[1:]) -(options, files) = getopt.getopt (sys.argv[1:], - 'hF:f:o:p:rT:t:', ['conf=', 'from=', 'dir-from=', 'dir-to=', 'help', 'outdir=', 'output=', 'package=', 'release', 'to=']) - -patch_name = '' -conf = '' -outdir = '' -from_src = '' -to_src = '' -release=0 -from_version=0 -to_version=0 -for opt in options: - o = opt[0] - a = opt[1] - if o == '--from' or o == '-f': - from_version = a - elif o == '--to' or o == '-t': - to_version = a - elif o == '--dir-from' or o == '-F': - from_src = a; - elif o == '--dir-to' or o == '-T': - to_src = a; - elif o == '--help' or o == '-h': - help () - sys.exit (0) - elif o == '--outdir': - outdir = a - elif o == '--conf': - conf = a - elif o == '--output' or o == '-o': - patch_name = a - elif o == '-p' or o == '--package': - topdir = a - elif o == '--release' or o == '-r': - release=1 - else: - raise getopt.error - -sys.path.append (topdir + '/stepmake/bin') -from packagepython import * -package = Package (topdir) -flags.package = package -packager = Packager () - -if from_src: - from_package = Package (from_src) - flags.from_version = from_package.version -if from_version: - flags.from_version = version_str_to_tuple (from_version) - from_src = '' - -if to_src: - to_package = Package (to_src) - flags.to_version = to_package.version -if to_version: - flags.to_version = version_str_to_tuple (to_version) - to_src = '' - -if not flags.to_version: - flags.to_version = package.version - -if not flags.from_version: - flags.from_version = prev_version (flags.to_version) - -# urg -if release: - flags.from_version = (flags.from_version[0], - flags.from_version[1], flags.from_version[2], ''); - -import tempfile -original_dir = os.getcwd (); - -system ('rm -rf %s' % package_diff_dir) -try: - os.mkdir (package_diff_dir) -except: - pass - -from_diff = dirname (flags.from_version) -to_diff = dirname (flags.to_version) -if to_diff == from_diff: - if from_src: - from_diff = from_diff + '.src' - elif to_src: - to_diff = to_diff + '.src' - else: - sys.stderr.write (patch_name + ': nothing to do: to == from = ' + from_diff + '\n') - sys.exit (1) - -def compat_abspath (path): - return os.path.normpath (os.path.join (os.getcwd (), path)) - -if conf and not outdir: - outdir = 'out-' + conf - -if not patch_name: - patch_name = os.path.join (outdir, '%s-%s-%s.diff' % (package.name, - version_tuple_to_str (flags.from_version), - version_tuple_to_str (flags.to_version))) - - patch_name = compat_abspath (patch_name) - -from_diff = package_diff_dir + from_diff -to_diff = package_diff_dir + to_diff - -if not from_src: - os.chdir (package_diff_dir) - untar (released_tarball (flags.from_version)) - os.chdir (original_dir) -else: - sys.stderr.write ('copying ' + from_src + ' to ' + from_diff + '\n') - # system ('cp -pr %s %s' % (srcdir, from_diff)) - system ('mkdir -p %s '% (from_diff)) - os.chdir (from_src) - system ('tar cf - --exclude out --exclude out-www . \ - | tar -xf - -C %s' % from_diff) - - -if not to_src: - os.chdir (package_diff_dir) - untar (released_tarball (flags.to_version)) - os.chdir (original_dir) -else: - sys.stderr.write ('copying ' + to_src + ' to ' + to_diff + '\n') - system ('mkdir -p %s '% (to_diff)) - # system ('cp -pr %s %s' (to_src, to_diff))% - os.chdir (to_src) - system ('tar -cf - --exclude out --exclude out-www . \ - . | tar -xf - -C %s ' % to_diff) - -os.chdir (to_diff) -makediff (from_diff, to_diff, patch_name) - -cleanup () - diff --git a/stepmake/stepmake/GNUmakefile b/stepmake/stepmake/GNUmakefile index 5905642e3f..f2c693ba22 100644 --- a/stepmake/stepmake/GNUmakefile +++ b/stepmake/stepmake/GNUmakefile @@ -10,7 +10,7 @@ depth = ../.. SUBDIRS = # -STEPMAKE_TEMPLATES=makedir install www +STEPMAKE_TEMPLATES=makedir install # bootstrap stepmake: # diff --git a/stepmake/stepmake/generic-targets.make b/stepmake/stepmake/generic-targets.make index 8407cb69e0..28c4a46ca3 100644 --- a/stepmake/stepmake/generic-targets.make +++ b/stepmake/stepmake/generic-targets.make @@ -1,4 +1,4 @@ -.PHONY : all clean config default diff dist doc exe help html lib TAGS\ +.PHONY : all clean config default dist doc exe help html lib TAGS\ po all: default @@ -32,43 +32,38 @@ maintainerclean: $(MAKE) local-distclean -# configure: -# +# This doesn't allow command-line options, is it really useful? -jm config: ./$(src-depth)/configure -# -# target help: -# generic-help: @echo -e "\ Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\ Usage: make ["VARIABLE=value"]... [TARGET]\n\ \n\ -Targets:\n" +Targets specific to current directory:\n" help: generic-help local-help - @echo -e "\ - all update everything\n\ - clean remove all generated stuff in $(outdir)\n\ - check run self tests\n\ + @echo -e "Generic targets:\n\ + all * update everything except website documentation\n\ + clean * remove all generated stuff in $(outdir)\n\ default same as the empty target\n\ exe update all executables\n\ help this help\n\ - install install programs and data (prefix=$(prefix))\n\ + install * install programs and data (prefix=$(prefix))\n\ lib update all libraries\n\ - web update website in directory \`out-www'\n\ - web-install install website documentation in (webdir=$(webdir))\n\ - web-clean clean \`out-www' directory\n\ + web * update website in directory \`out-www'\n\ + web-install * install website documentation in (webdir=$(webdir))\n\ + and Info documentation with images\n\ + web-clean * clean \`out-www' directory\n\ TAGS generate tagfiles\n\ \n\ \`make' may be invoked from any subdirectory.\n\ -Note that all commands recurse into subdirectories;\n\ +Note that all commands marked with a star (*) recurse into subdirectories;\n\ prepend \`local-' to restrict operation to the current directory.\n\ -Example: \`local-clean'.\n" +Example: \`local-clean'." -# " local-help: local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) @@ -163,18 +158,6 @@ $(config_make): $(top-src-dir)/configure touch $@ # do something for multiple simultaneous configs. -deb: - $(MAKE) -C $(depth)/debian - cd $(depth) && debuild - -diff: - $(PYTHON) $(step-bindir)/package-diff.py --outdir=$(top-src-dir)/$(outdir) --package=$(top-src-dir) $(makeflags) - -ln -f $(depth)/$(outdir)/$(distname).diff.gz $(patch-dir) - -release: - $(PYTHON) $(step-bindir)/release.py --outdir=$(top-src-dir)/$(outdir) --package=$(top-src-dir) - - ################ website. local-WWW: diff --git a/stepmake/stepmake/texinfo-targets.make b/stepmake/stepmake/texinfo-targets.make index 488b81f24b..aeda6e6171 100644 --- a/stepmake/stepmake/texinfo-targets.make +++ b/stepmake/stepmake/texinfo-targets.make @@ -117,4 +117,11 @@ texinfo-all-menus-update: -$(foreach i, $(TEXINFO_SOURCES), echo q | emacs --batch --no-site-file $(i) --eval $(TEXINFO_ALL_MENUS_UPDATE_EL); ) $(foreach i, $(sort $(TEXINFO_SOURCES)), if diff -u $(i)~ $(i); then mv $(i)~ $(i); fi && ) true +local-help: local-texinfo-help + +local-texinfo-help: + @echo -e "\ + info [out=www] update Info documentation (use \`out=www' for having images)\n\ + install-info [out=www] install Info documentation (idem)\n\ + texinfo-all-menus-update update node menus in Texinfo source files (use with caution)\n" diff --git a/stepmake/stepmake/toplevel-targets.make b/stepmake/stepmake/toplevel-targets.make index 28628efb02..1068981c11 100644 --- a/stepmake/stepmake/toplevel-targets.make +++ b/stepmake/stepmake/toplevel-targets.make @@ -1,5 +1,3 @@ -include $(stepdir)/www-targets.make - local-dist: configure local-distclean: @@ -52,32 +50,20 @@ dist: (cd ./$(depth)/$(outdir); $(TAR) -cf - --owner=0 --group=0 $(DIST_NAME) | gzip -9 > $(DIST_NAME).tar.gz) rm -rf $(distdir)/ -# -# local-help: @echo -e "\ config rerun configure\n\ - deb build Debian package\n\ - diff generate patch: $(depth)/$(outdir)/$(distname).diff.gz\n\ - . Options:\n\ - . from=0.1.74\n\ - . help==\n\ - . release==\n\ - . to=0.1.74.jcn2\n\ dist roll tarball: $(depth)/$(outdir)/$(distname).tar.gz\n\ distclean also remove configure output\n\ doc update all documentation (without images)\n\ cvs-clean also remove out directories and generated files\n\ - info update info docs (without images)\n\ - info out=www update info docs with images\n\ maintainerclean also remove distributed generated files\n\ po make new translation Portable Object database\n\ po-replace do po-update and replace catalogs with msgmerged versions\n\ po-update update translation Portable Object database\n\ - release roll tarball and generate patch\n\ \n\ -Some of these top level targets (diff, dist, release) can be issued\n\ -from anywhere in the source tree.\n\ -"\ -# +Some more targets are available for testing changes:\n\ + test-baseline check test-redo test-clean\n\ +For more information on these targets, see Testing LilyPond\n\ +in Application Usage documentation.\n" diff --git a/stepmake/stepmake/www-rules.make b/stepmake/stepmake/www-rules.make deleted file mode 100644 index 1bb8bf6d7f..0000000000 --- a/stepmake/stepmake/www-rules.make +++ /dev/null @@ -1 +0,0 @@ -# empty diff --git a/stepmake/stepmake/www-targets.make b/stepmake/stepmake/www-targets.make deleted file mode 100644 index 108d4b9f48..0000000000 --- a/stepmake/stepmake/www-targets.make +++ /dev/null @@ -1 +0,0 @@ -# moved to generic-targets.make \ No newline at end of file diff --git a/stepmake/stepmake/www-vars.make b/stepmake/stepmake/www-vars.make deleted file mode 100644 index 1bb8bf6d7f..0000000000 --- a/stepmake/stepmake/www-vars.make +++ /dev/null @@ -1 +0,0 @@ -# empty