[apps/shared] Templatize FloatParameterController to handle float/double

parameters.

Fix bug: when entering "e^234" as a parameter of a model keeping floats,
the FloatParameterController would accept the number (because e^234 is
defined in double) and store an undefined value in the model (because
e^234 is undefined in float).
This commit is contained in:
Émilie Feral
2019-09-02 11:48:43 +02:00
parent 77304040ad
commit 6de497c2ed
18 changed files with 71 additions and 45 deletions

View File

@@ -7,7 +7,7 @@
namespace Shared {
class RangeParameterController : public FloatParameterController {
class RangeParameterController : public FloatParameterController<float> {
public:
RangeParameterController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate, InteractiveCurveViewRange * interactiveCurveViewRange);
const char * title() override;
@@ -32,8 +32,8 @@ private:
};
HighlightCell * reusableParameterCell(int index, int type) override;
int reusableParameterCellCount(int type) override;
double parameterAtIndex(int index) override;
bool setParameterAtIndex(int parameterIndex, double f) override;
float parameterAtIndex(int index) override;
bool setParameterAtIndex(int parameterIndex, float f) override;
constexpr static int k_numberOfEditableTextCell = 2;
constexpr static int k_numberOfConvertibleTextCell = 2;
constexpr static int k_numberOfTextCell = k_numberOfEditableTextCell+k_numberOfConvertibleTextCell;