Ok, hopefully the last cut unless anyone finds a bug
This version removed the notion of having to set the SectorDivisions. When in ktRange, the Knob behaves as it did. When in ktSector the values for MinValue and MaxValue are now used to compute the span, but it's looking only at integral values. That is, if you set MinValue to 14.3, it will be rounded (using pascal Round()) to 14, and similarly for the MaxValue. The number of divisions are now internally computed from this span.
Also in ktSector mode, the Min/MaxValue set the range for the knob, and it can be negative to start.
For example,
MinValue 0, MaxValue 5 would lead to a knob with 5 sectors that will cause the knob to snap to, and return values 0 to 5
MinValue -5, MaxValue 5 would lead to a knob with 10 sectors, and return values -5 to 5
One other trick, if you want a knob with more or less integral values returned, you can try a trick... Set knob to ktSector mode, then set the MinValue = 0, MaxValue = 100. This will give a semi-smooth knob like action but values will be more or less 0,1,2,3...99,100. It's floating point so your mileage may vary.
This change makes the operation more consistent (Thanks @Circular for suggestion).
The attacked zip has BGRAKnob.pas which is v2.10, and a NEW test program.
Note : if you have the old test application you will get an exception as the SectorDivisions property is no longer used.
To do build the project, unzip the file into a clean directory where you can build Lazarus projects, look in the folder for the BGRAKnob directory. You will need to rename you existing BGRAKnob.pas in the components directory (where ever that may be installed) and copy the BGRAKnob.pas into that directory. Ensure you have v2.10 (see constants at top of source).
Compile the BGRA Controls via the package manager, and then install (will rebuild Lazarus). Build the project. If you have an exception on start up, you likely have the wrong version of BGRAKnob.pas being built.
Will make an update to git shortly as well.