Sorry for the lack of comments. It's kind of a brute-force method; maybe I'll go through and document it at some point, but I just threw it together today to show the concept. A couple of things: if your max and min durations are restrictive you get an awful lot of values at
the max and min (whereas you might want to randomize the corrected
outliers within a certain range so that you get values that hover a certain random amount above the min or below the max).
I noticed that.
Also, the total number of beats should be quantized to the nearest subdivision but I didn't worry about that. I guess it's the user's responsibility.
I'm not shure if I understood that. You mean that if I set the "nuber of subdivisions per beat" as 10 I can't set the number of beats to, say 8,255? As far as user's responsibility goes, it doesn't make sense to input negative numbers, yet it is possible.
Not sure about the go button, seems to work here. At some point you might wish to add a seed for the random if you don't want things to repeat from the last time you opened the patch.
Maybe I'm restricting the paramethers too much so the program doesn't have many options. Hence the repetitions of results. I don't know.
Anyway, nice work. I didn't work yet with all those list objects, so I need to learn them a bit. Also, for my purposes I'm thinking of implementing two other tools to this soon-to-be abstraction:
intervals (with max and min defined by the user) running together with a chronometer. So it outputs the exact time of the bangs. Maybe it could output two times: the overall duration since the chronometer started and the interval between tha bang and the last one, very easy to do.
user inputs the tempo. That's something that I saw once as an MS Excell spreadsheet that the spanish composer Jose Manuel Lopez Lopez had and is soooo useful. I remember that it even had many tempos side by side so the composer could know when the triplet in tempo x is equal to sixteenth in tempo y, à la elliott carter. I also have a friend that wanted to do that, maybe we can team up.