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

Reply via email to