I've given it some more work. The \repeat construct is gone, and the displayed messages indicate that my recursion is working correctly.
Metronome marks are not yet printed, however. What am I missing? Also, I'm getting a wrong type argument error message when I try to (let* (current-tempo (car tempo-list))). I feel like I'm almost there though. Code attached, and thanks again. On Mon, 6 Feb 2023 at 14:19, Adam M. Griggs <adammgri...@gmail.com> wrote: > Hello list, > > I'm trying to create a Scheme function that will automatically calculate > and enact a *rall*. as a sequence of \tempo assignments. I am aware of > the basic *rall*., *rit*., and *accel*. functions in "articulate.ly" but > I wanted something I have a little more control over. > > I need help, and I don't know if it's just in the implementation details > or my overall approach to the problem. > > For now, it's just a *rall*. The algorithm describing the rate of > slowdown is extremely basic but that can be adjusted later. > > My approach so far has been to create a list of values starting at 100 > (let's assume percentages of the initial tempo and work that in later) and > then have them trickle down. Using #(display ...), I see this is working > just fine. > > Clearly my \repeat call isn't appropriate here and I should replace it > with a recursive function call containing just its body (the {\tempo 4 = > ... \skip ...} part). And I'm sure I'm not really going to get anywhere > with #@tempi-list but I hope it communicates what I'm aiming for. I've been > playing with this for a few hours but I haven't been able to get the parts > to mesh together. I could keep stabbing at it, or ask for help here. > > Code attached, and thank you! >
myRall.ily
Description: Binary data