//------------------------------------------------------------------------ bool StringListParameter::fromString (const TChar* string, ParamValue& valueNormalized) const { int32 index = 0; FOREACH_T(TChar*, str, strings) if (tstrcmp (str, string) == 0) { valueNormalized = toNormalized ((ParamValue)index); return true; } index++; ENDFOR return false; }
//------------------------------------------------------------------------ bool StringListParameter::fromString (const TChar* string, ParamValue& _valueNormalized) const { int32 index = 0; for (StringVector::const_iterator it = strings.begin (), end = strings.end (); it != end; ++it, ++index) { if (strcmp16 (*it, string) == 0) { _valueNormalized = toNormalized ((ParamValue)index); return true; } } return false; }
//------------------------------------------------------------------------ bool RangeParameter::fromString (const TChar* string, ParamValue& valueNormalized) const { String wrapper ((TChar*)string); if (info.stepCount > 1) { int64 plainValue; if (wrapper.scanInt64 (plainValue)) { valueNormalized = toNormalized ((ParamValue)plainValue); return true; } return false; } if (wrapper.scanFloat (valueNormalized)) { if (valueNormalized < getMin ()) valueNormalized = getMin (); else if (valueNormalized > getMax ()) valueNormalized = getMax (); valueNormalized = toNormalized (valueNormalized); return true; } return false; }
//------------------------------------------------------------------------ bool RangeParameter::fromString (const TChar* string, ParamValue& _valueNormalized) const { UString wrapper (const_cast<TChar*> (string), tstrlen (string)); if (info.stepCount > 1) { int64 plainValue; if (wrapper.scanInt (plainValue)) { _valueNormalized = toNormalized ((ParamValue)plainValue); return true; } return false; } if (wrapper.scanFloat (_valueNormalized)) { if (_valueNormalized < getMin ()) _valueNormalized = getMin (); else if (_valueNormalized > getMax ()) _valueNormalized = getMax (); _valueNormalized = toNormalized (_valueNormalized); return true; } return false; }
//------------------------------------------------------------------------ RangeParameter::RangeParameter (const TChar* title, ParamID tag, const TChar* units, ParamValue minPlain, ParamValue maxPlain, ParamValue defaultValuePlain, int32 stepCount, int32 flags, UnitID unitID, const TChar* shortTitle) : minPlain (minPlain), maxPlain (maxPlain) { UString (info.title, str16BufferSize (String128)).assign (title); if (units) UString (info.units, str16BufferSize (String128)).assign (units); if (shortTitle) UString (info.shortTitle, str16BufferSize (String128)).assign (shortTitle); info.stepCount = stepCount; info.defaultNormalizedValue = valueNormalized = toNormalized (defaultValuePlain); info.flags = flags; info.id = tag; info.unitId = unitID; }
//------------------------------------------------------------------------ RangeParameter::RangeParameter (const TChar* title, ParamID tag, const TChar* units, ParamValue minPlain, ParamValue maxPlain, ParamValue defaultValuePlain, int32 stepCount, int32 flags, UnitID unitID) : minPlain (minPlain) , maxPlain (maxPlain) { UString (info.title, tStrBufferSize(String128)).assign (title); UString uUnits (info.units, tStrBufferSize(String128)); if (units) { uUnits.assign (units); } info.stepCount = stepCount; info.defaultNormalizedValue = toNormalized (defaultValuePlain); info.flags = flags; info.id = tag; info.unitId = unitID; }