1. A method for providing a user interface that allows a user to alter a control curve, said method comprising: providing one or more controls associated with said control curve; receiving a user input to one or more of said controls, wherein said user input relates to altering said control curve; defining a plurality of candidate approximations of said control curve as altered in response to said user input; selecting two or more of said plurality of candidate approximations; utilizing one or more characteristics of at least one of said selected candidate approximations to define a plurality of new candidate approximations for inclusion in said plurality of candidate approximations; and identifying at least one of said plurality of candidate approximations for use in approximating said control curve.