#include "ardour/types.h"
#include "ardour/utils.h"
+#include "i18n.h"
+
namespace ARDOUR {
ParameterDescriptor::ParameterDescriptor(const Evoral::Parameter& parameter)
, max_unbound(0)
, enumeration(false)
{
+ ScalePoints sp;
+
switch((AutomationType)parameter.type()) {
case GainAutomation:
upper = Config->get_max_gain();
normal = 1.0f;
break;
+ case BusSendLevel:
+ upper = Config->get_max_gain ();
+ normal = 1.0f;
+ break;
+ case BusSendEnable:
+ normal = 1.0f;
+ toggled = true;
+ break;
case TrimAutomation:
upper = 10; // +20dB
lower = .1; // -20dB
normal = 8192.0;
upper = 16383.0;
break;
+ case PhaseAutomation:
+ toggled = true;
+ break;
+ case MonitoringAutomation:
+ enumeration = true;
+ integer_step = true;
+ lower = MonitorAuto;
+ upper = MonitorDisk; /* XXX bump when we add MonitorCue */
+ break;
+ case SoloIsolateAutomation:
+ toggled = true;
+ break;
+ case SoloSafeAutomation:
+ toggled = true;
+ break;
default:
break;
}
: Evoral::ParameterDescriptor()
, key((uint32_t)-1)
, datatype(Variant::NOTHING)
+ , type(NullAutomation)
, unit(NONE)
, step(0)
, smallstep(0)
largestep = largestep / logf(30.0f);
} else if (integer_step) {
smallstep = 1.0;
- step = std::max(1.0, rint(step));
- largestep = std::max(1.0, rint(largestep));
+ step = std::max(1.f, rintf (step));
+ largestep = std::max(1.f, rintf (largestep));
}
}
}