Well, I must admit that I did this in only a few minutes (before lunch
), it is very rough but I think that it will suit Jonathanās needs
There is some maths, but itās really logical.
Wow, Iām really glad that you like it. 
Here are some hints: 
(1) First widget
Jonathan said that he wanted e.g. min to be 120; simply enter 120 BPM (red rectangle) and see the corresponding widget value (widget is attached to the System Actions plugin, please download and open the gig file from this post to see the parameter association). That is your min for the curve:
I created steps automatically with currently undocumented feature (easter egg!). Please see this post.
(2) The second widget
Well, I observed values very quickly
When I type:
- 20 BPM, widget value is 0
- 30 BPM, widget value is 1.6
- 40 BPM, widget value is 3.2
- 50 BPM, widget value is 4.8
- 60 BPM, widget value is 6.4
- 70 BPM, widget value is 8.0
Widget movements are by 0.1, therefore:
- 0.0 ā 0 (20 BPM)
- 0.1 ā 1.6 (30 BPM)
- 0.2 ā 3.2 (40 BPM)
- 0.3 ā 4.8 (50 BPM)
So, I basically need to multiply with something around 16 (why 16? E.g. 4.8/0.3 = 16).
It seems that higher values didnāt go well with 16, so I entered 16.1, and voila, thatās the curve that would fit Jonathanās need for his scope of values:
As I said, this is very rough and can be improved 
So please have fun with curves and these hints, curves are really a great feature of GP4. Play with them.
