Menu

#4421 Patch: Make music functions callable from Scheme

Verified
nobody
Enhancement
2015-07-07
2015-05-25
Anonymous
No

Originally created by: *anonymous

Originally created by: dak@gnu.org
Originally owned by: dak@gnu.org

Make music functions callable from Scheme

Contains the following commits in reverse order:

Let some music functions call others via Scheme

Make music functions callable from Scheme

The functions get their signature checked.  For optional
arguments, *unspecified* gets the default inserted.

Factor out music-function-call-error, let it work without parser

Make argument-error revert to a Scheme error when given no parser

http://codereview.appspot.com/235670045

Discussion

  • Google Importer

    Google Importer - 2015-05-25

    Originally posted by: dak@gnu.org

    (No comment was entered for this change.)

    Owner: dak@gnu.org

     
  • Google Importer

    Google Importer - 2015-05-25

    Originally posted by: pkx1...@gmail.com

    Patchy the autobot says: passes tests.  includes a full make doc

    Labels: -Patch-new Patch-review

     
  • Google Importer

    Google Importer - 2015-05-27

    Originally posted by: dak@gnu.org

    (No comment was entered for this change.)

    Blockedon: lilypond:4422

     
  • Google Importer

    Google Importer - 2015-05-28

    Originally posted by: pkx1...@gmail.com

    Patch on countdown for March 31st

    Labels: -Patch-review Patch-countdown

     
  • Google Importer

    Google Importer - 2015-05-28

    Originally posted by: dak@gnu.org

    Countdown does not make sense this since one really has to come after issue 4422 which affects the code here substantially.  I could already submit the current patch but it would need to get tested on top of issue 4421.  As long as Patchy is out of order anyway, that's probably not going to cause significantly more work.

    Labels: -Patch-countdown Patch-waiting

     

    Related

    Issues: #4422

  • Google Importer

    Google Importer - 2015-05-28

    Originally posted by: dak@gnu.org

    Ok, did a two-patch upload.  Patch 1 is just the issue 4422 baseline (needed for compiling against current master): don't review that.  Patch 2 is then on top of it.  Review the difference between patch 1 and patch 2, test difference between baseline and patch 2 on current master.

    http://codereview.appspot.com/244840043

    Labels: -Patch-waiting Patch-new

     

    Related

    Issues: #4422

  • Google Importer

    Google Importer - 2015-05-28

    Originally posted by: pkx1...@gmail.com

    Patch 2 tested (244840043) passes make, make check - I'm running a full make doc now, assume no update means it passed.

    Labels: -Patch-new Patch-review

     
  • Google Importer

    Google Importer - 2015-05-29

    Originally posted by: dak@gnu.org

    Rewrote the fluid access in lily/music-function.cc and moved it into lily/include/fluid.hh.  Rebased on current master.

    http://codereview.appspot.com/244840043

    Labels: -Patch-review Patch-new

     
  • Google Importer

    Google Importer - 2015-05-29

    Originally posted by: pkx1...@gmail.com

    Passes make and make check and a full make doc.

    Labels: -Patch-new Patch-review

     
  • Google Importer

    Google Importer - 2015-05-31

    Originally posted by: pkx1...@gmail.com

    Patch on countdown for June 3rd

    Labels: -Patch-review Patch-countdown

     
  • Google Importer

    Google Importer - 2015-06-03

    Originally posted by: dak@gnu.org

    When writing the documentation/ChangeLog for this one, I realized that its calling conventions would warrant a closer match to the LilyPond semantics, for example not requiring specification of more obscure optional arguments.  I also reorganized some other parts of the patch and am writing up a regtest.  So putting to "Needs_work".  Will be back soonish.

    Blockedon: -lilypond:4422
    Labels: -Patch-countdown Patch-needs_work

     
  • Google Importer

    Google Importer - 2015-06-03

    Originally posted by: dak@gnu.org

    Treat optional args differently, add documentation and regtest.

    The regtest is educational...

    http://codereview.appspot.com/244840043

    Labels: -Patch-needs_work Patch-new

     
  • Google Importer

    Google Importer - 2015-06-03

    Originally posted by: dak@gnu.org

    (No comment was entered for this change.)

    Blocking: lilypond:4425

     
  • Google Importer

    Google Importer - 2015-06-03

    Originally posted by: dak@gnu.org

    Passes tests.

    Labels: -Patch-new Patch-review

     
  • Google Importer

    Google Importer - 2015-06-07

    Originally posted by: pkx1...@gmail.com

    Patch on countdown for June 11th

    Labels: -Patch-review Patch-countdown

     
  • Google Importer

    Google Importer - 2015-06-09

    Originally posted by: dak@gnu.org

    This mainly addresses the points of Keith's critique where feasible.
    Several proposals were inadvisable or based on wrong assumptions: I've
    put in extensive documentation in order to make this more obvious.

    Apart from slight code arrangement and lots of documentation, I also
    removed functionality from the Fluid class that has
    shoot-yourself-in-the-foot potential, and I fixed a slight error in the
    fallback for printing of notenames without accessible parser.

    I don't see this change/review as warranting a stop of the countdown unless Keith (or anybody else) is of different opinion.  So I'll put it back to countdown once it passes testing.

    http://codereview.appspot.com/244840043

    Labels: -Patch-countdown Patch-new

     
  • Google Importer

    Google Importer - 2015-06-09

    Originally posted by: dak@gnu.org

    Passes "make check", and the docs only changed trivially with regard to validity.  So back to countdown.

    Labels: -Patch-new Patch-countdown

     
  • Google Importer

    Google Importer - 2015-06-10

    Originally posted by: dak@gnu.org

    Ok, I'm sorry: I have a number of codependent issues at work right now and the back-and-forth rebases are becoming too messy to handle.  So I need to flush this out in order to avoid messing up work in progress.  While the stuff I'm working on does not actually depend on the _feature_ this issue is about, there are a number of conflicts, both with regard to merge conflicts as well as API changes, in code that is also affected.

    So I am pushing this to staging right now.
    commit [re593dba21a806902c959bf4bb0870cd4369322d0]
    Author: David Kastrup <dak@gnu.org>
    Date:   Wed Jun 3 12:17:11 2015 +0200

        Issue 4421/7: Documentation and Changes entry

    commit [rb0a71c24d197165c71d4134d90cbb9ee5a0bb991]
    Author: David Kastrup <dak@gnu.org>
    Date:   Mon May 25 14:10:27 2015 +0200

        Issue 4421/6: Let some music functions call others via Scheme

    commit [rbc5c5914120bfa4013805ae97e37012f75341a15]
    Author: David Kastrup <dak@gnu.org>
    Date:   Wed Jun 3 16:15:06 2015 +0200

        Issue 4421/5: Add regression test

    commit [rc782eccd5ea9b34e2491d861df752d6872a3f641]
    Author: David Kastrup <dak@gnu.org>
    Date:   Sun May 24 19:38:34 2015 +0200

        Issue 4421/4: Make music functions callable from Scheme
       
        The functions get their signature checked and optional argument handling
        is exactly like in LilyPond, with *unspecified* taking the role of
        "\default".

    commit [rc8d3b77715bf284fd6aca074d4fa1fef136c7f0d]
    Author: David Kastrup <dak@gnu.org>
    Date:   Fri May 29 16:28:50 2015 +0200

        Issue 4421/3: Add Fluid class for caching fluid values

    commit [rcae7c736c707a037457d13f8ac404807e769472e]
    Author: David Kastrup <dak@gnu.org>
    Date:   Mon May 25 14:08:34 2015 +0200

        Issue 4421/2: Factor out music-function-call-error

    commit [rb5fdb2addcfb55bf2c3d9f484ae7dda895d09bf9]
    Author: David Kastrup <dak@gnu.org>
    Date:   Tue Jun 2 11:51:32 2015 +0200

        Issue 4421/1: Deal sensibly with non-existent parser/location
       
        This concerns ly:parser-error and note-name->lily-string, and in
        consequence also display-lily-music.

    Labels: -Patch-countdown Fixed_2_19_22
    Status: Fixed

     
  • Google Importer

    Google Importer - 2015-06-10

    Originally posted by: dak@gnu.org

    (No comment was entered for this change.)

    Blocking: -lilypond:4425

     
  • Google Importer

    Google Importer - 2015-07-07

    Originally posted by: fedel...@gmail.com

    (No comment was entered for this change.)

    Status: Verified

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.