You des deserve a trophy my friend.
How is Sam and magic? I miss the community.
My package already includes an option to add custom switches to the minerd command line as required, but I could integrate the option as a window dialog box in the Setup.bat fairly easily. I have some patches for the Setup.bat in the pipeline anyway. First though, I have to run the new minerd-legacy code through my compiler and have a play with it. My initial thoughts are that it is still limited in function because the minerd has to be stopped and restarted to take up any modified -e setting. What would be really nice would be if it could be tweaked in realtime e.g. the miner polls a variable held somewhere every ten seconds or so and adjusts itself according to the value of that variable. That would be really neat and could be used with a temperature monitor routine to create a negative feedback loop for thermal management.
Real time control on the temperature is nice. There will be concern of heating sources from programs other than the miner though. Also the miners needs to check the temperature. This is different from program sleep and thus might not reduce the temperature, but will take up resources and reduce the hashrate. From this point of view, temperature control might be desired by another program which takes the output of the miner as the input. This is the case one can use to avoid overheat, either reducing the hash rate is optional if one wants to reduce power consumption as well as the heating.
The miner has a particular focus with consideration of saving energy by simply cutting down the hash rate. There is no ways of reducing energy unless enforcing the miner going into sleeping mode for a certain time, and thus mitigate the source taken-up monster / heat generator. The importance is then to determine the duration; what's done is that, at the beginning of miner launching, hash rate testing, and self-adjustment by enforcing sleeping every 10 hashes in order to yield desired hashrate. Improvement can further done using dynamic adjustment. I am sure complex adjustment by combining cpu usage / temperature etc will be something interesting to deploy further.