lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LSR updates: was: polychords: a working solution


From: Thomas Morley
Subject: Re: LSR updates: was: polychords: a working solution
Date: Sun, 19 Feb 2012 23:04:55 +0100

Hi David,

2012/2/19 David Kastrup <address@hidden>:

> 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

Attachment: overriding-automatic-beam-settings.ly
Description: Text Data

Attachment: overriding-automatic-beam-settings-after-convert-ly.ly
Description: Text Data

Attachment: overriding-automatic-beam-settings-manual-upgrade.ly
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]