--- linuxsampler/trunk/src/engines/common/InstrumentScriptVMFunctions.cpp 2019/08/29 13:44:35 3580 +++ linuxsampler/trunk/src/engines/common/InstrumentScriptVMFunctions.cpp 2019/08/30 11:40:25 3581 @@ -500,9 +500,9 @@ } VMFnResult* InstrumentScriptVMFunction_change_tune::exec(VMFnArgs* args) { - MetricPrefix_t prefix = args->arg(1)->asInt()->unitPrefix(0); - vmint tune = (prefix) ? args->arg(1)->asInt()->evalInt(VM_MILLI,VM_CENTI) - : args->arg(1)->asInt()->evalInt(); // tuning change in milli cents + bool bUnitFactor = args->arg(1)->asInt()->hasUnitFactorNow(); + vmint tune = (bUnitFactor) ? args->arg(1)->asInt()->evalInt(VM_MILLI,VM_CENTI) + : args->arg(1)->asInt()->evalInt(); // tuning change in milli cents bool isFinal = args->arg(1)->asInt()->isFinal(); StdUnit_t unit = args->arg(1)->asInt()->unitType(); bool relative = (args->argsCount() >= 3) ? (args->arg(2)->asInt()->evalInt() & 1) : false; @@ -1309,7 +1309,7 @@ const StdUnit_t unit = args->arg(1)->asInt()->unitType(); const bool isFinal = args->arg(1)->asInt()->isFinal(); vmint value = - (m_acceptUnitPrefix && ((m_unit && unit) || (!m_unit && args->arg(1)->asInt()->unitPrefix(0)))) + (m_acceptUnitPrefix && ((m_unit && unit) || (!m_unit && args->arg(1)->asInt()->hasUnitFactorNow()))) ? args->arg(1)->asInt()->evalInt(T_unitPrefix0, T_unitPrefixN ...) : args->arg(1)->asInt()->evalInt();