Hi David, 2012/2/19 David Kastrup <d...@gnu.org>:
> So if it is not too much work to collect triplets of "version #, before, > after convert-ly, after correct change", it might be a nice base for > looking how to improve the convertrules file. as an example I use: overriding-automatic-beam-settings.ly I atached the original-file, the after-convert-ly-file and the manual upgraded file. This is the converting-log-message: convert-ly -e overriding-automatic-beam-settings.ly convert-ly (GNU LilyPond) 2.14.2 Processing `overriding-automatic-beam-settings.ly'... Applying conversion: 2.12.3, 2.13.0, 2.13.1, 2.13.4, Not smart enough to convert override-auto-beam-setting. Autobeam settings are now overriden with \overrideBeamSettings. Please refer to the manual for details, and update manually.2.13.10, 2.13.16, 2.13.18, 2.13.20, 2.13.29, 2.13.31, 2.13.36, 2.13.39, 2.13.40, 2.13.42, 2.13.44, 2.13.46, 2.13.48, 2.13.51, 2.14.0 Furthermore, I realized, that there seems to be no conversion rule for the following 2.12.3-definitions: >From 2.12.3: \scm\lily-library.scm (define (interval-translate iv amount) (cons (+ amount (car iv)) (+ amount (cdr iv)))) >From 2.12.3: \ly\markup-init.ly #(define-public toplevel-module-define-public! #f) #(define-public toplevel-module-ref #f) #(let ((toplevel-module (current-module))) (set! toplevel-module-define-public! (lambda (symbol value) (module-define! toplevel-module symbol value) (module-export! toplevel-module (list symbol)))) (set! toplevel-module-ref (lambda (symbol) (module-ref toplevel-module symbol)))) #(defmacro-public define-public-toplevel (first-arg . rest) "Define a public variable or function in the toplevel module: (define-public-toplevel variable-name value) or: (define-public-toplevel (function-name . args) ..body..)" (if (symbol? first-arg) ;; (define-public-toplevel symbol value) (let ((symbol first-arg) (value (car rest))) `(toplevel-module-define-public! ',symbol ,value)) ;; (define-public-toplevel (function-name . args) . body) (let ((function-name (car first-arg)) (arg-list (cdr first-arg)) (body rest)) `(toplevel-module-define-public! ',function-name (let ((proc (lambda ,arg-list ,@body))) (set-procedure-property! proc 'name ',function-name) proc))))) And of course any 2.14.2-chordRootNamer-definition expects two arguments now. I've no idea how that could be covered by converting rules. Best, Harm
\version "2.14.0" \header { texidoc = " You can override the automatic beaming settings. The auto-beamer, which can be overridden, will only engrave beams that end before encountering of * a rest, * another, manually entered beam, or * a bar line. The @code{autoBeaming} can also be turned off. " doctitle = "Overriding automatic beam settings" } \score{ \relative c''{ \time 2/4 %{ the default for 2/4 (see scm/auto-beam.scm) ---- -------- | | | |--| x| x| x| x| x| %} c8 c c c16 c %{ user override -------------- | | | |--| x| x| x| x| x| %} % one beam per measure #(override-auto-beam-setting '(end * * * *) 1 2) c8 c c c16 c % from here on consider ending beam every 1/4 note #(override-auto-beam-setting '(end * * * *) 1 4) c8 c c c16 c % manually override autobeam with weird beaming c8 c[ c] c16 c % no autobeaming \set autoBeaming = ##f c8 c c c16 c } }
\version "2.14.0" \header { texidoc = " You can override the automatic beaming settings. The auto-beamer, which can be overridden, will only engrave beams that end before encountering of * a rest, * another, manually entered beam, or * a bar line. The @code{autoBeaming} can also be turned off. " doctitle = "Overriding automatic beam settings" } \score{ \relative c''{ \time 2/4 %{ the default for 2/4 (see scm/auto-beam.scm) ---- -------- | | | |--| x| x| x| x| x| %} c8 c c c16 c %{ user override -------------- | | | |--| x| x| x| x| x| %} % one beam per measure #(override-auto-beam-setting '(end * * * *) 1 2) c8 c c c16 c % from here on consider ending beam every 1/4 note #(override-auto-beam-setting '(end * * * *) 1 4) c8 c c c16 c % manually override autobeam with weird beaming c8 c[ c] c16 c % no autobeaming \set autoBeaming = ##f c8 c c c16 c } }
\version "2.14.0" \header { texidoc = " You can override the automatic beaming settings. The auto-beamer, which can be overridden, will only engrave beams that end before encountering of * a rest, * another, manually entered beam, or * a bar line. The @code{autoBeaming} can also be turned off. " doctitle = "Overriding automatic beam settings" } \score{ \relative c''{ \time 2/4 %{ %%%% the default for 2/4 (see scm/auto-beam.scm) %%%% Changed to: the default for 2/4 (see scm/time-signature-settings.scm) ---- -------- | | | |--| x| x| x| x| x| %} c8 c c c16 c %{ user override -------------- | | | |--| x| x| x| x| x| %} % one beam per measure %%%% #(override-auto-beam-setting '(end * * * *) 1 2) %%%% Changed to: \set Timing.beamExceptions = #'( (end . ( ((1 . 8) . (4)) ))) c8 c c c16 c % from here on consider ending beam every 1/4 note %%%% #(override-auto-beam-setting '(end * * * *) 1 4) %%%% Changed to: \set Timing.beamExceptions = #'( (end . ( ((1 . 8) . (2 2)) ))) c8 c c c16 c % manually override autobeam with weird beaming c8 c[ c] c16 c % no autobeaming \set autoBeaming = ##f c8 c c c16 c } }
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user