@zonkie: Yes. That's exactly what the library is for. Just a reminder though, that it is not intended for use with things like servos - although it will work, it is not recommended. The reason being is that the SoftPWM range of values is over the entire pulse width, whereas a servo expects a pulse over a tight range (0.5 mS to 2.5 mS and repeated every 20 mS). Hence, the range of usable values for a servo or such would be something like 40 to 50 resulting in big jumps in the servo position.
@sciguy: All the objects that use the hardware timers suffer from the problem of being tied to a specific timer. I was thinking that the best solution (i.e. kludge) to this would be to make a library named for each timer, and thus you can pick which timer you want to use. Would that make sense? e.g. SoftPWM1 for timer 1, SoftPWM2 for timer2, etc.
b