279 |
VMFnResult* exec(VMFnArgs* args); |
VMFnResult* exec(VMFnArgs* args); |
280 |
}; |
}; |
281 |
|
|
282 |
|
class VMChangeFadeCurveFunction : public VMEmptyResultFunction { |
283 |
|
public: |
284 |
|
VMChangeFadeCurveFunction(InstrumentScriptVM* parent) : m_vm(parent) {} |
285 |
|
int minRequiredArgs() const { return 2; } |
286 |
|
int maxAllowedArgs() const { return 2; } |
287 |
|
bool acceptsArgType(int iArg, ExprType_t type) const; |
288 |
|
ExprType_t argType(int iArg) const { return INT_EXPR; } |
289 |
|
|
290 |
|
template<fade_curve_t NoteBase::_Override::*T_noteParam, int T_synthParam> |
291 |
|
VMFnResult* execTemplate(VMFnArgs* args, const char* functionName); |
292 |
|
protected: |
293 |
|
InstrumentScriptVM* m_vm; |
294 |
|
}; |
295 |
|
|
296 |
|
class InstrumentScriptVMFunction_change_vol_curve : public VMChangeFadeCurveFunction { |
297 |
|
public: |
298 |
|
InstrumentScriptVMFunction_change_vol_curve(InstrumentScriptVM* parent) : VMChangeFadeCurveFunction(parent) {} |
299 |
|
VMFnResult* exec(VMFnArgs* args); |
300 |
|
}; |
301 |
|
|
302 |
|
class InstrumentScriptVMFunction_change_tune_curve : public VMChangeFadeCurveFunction { |
303 |
|
public: |
304 |
|
InstrumentScriptVMFunction_change_tune_curve(InstrumentScriptVM* parent) : VMChangeFadeCurveFunction(parent) {} |
305 |
|
VMFnResult* exec(VMFnArgs* args); |
306 |
|
}; |
307 |
|
|
308 |
class InstrumentScriptVMFunction_fade_in : public VMEmptyResultFunction { |
class InstrumentScriptVMFunction_fade_in : public VMEmptyResultFunction { |
309 |
public: |
public: |
310 |
InstrumentScriptVMFunction_fade_in(InstrumentScriptVM* parent); |
InstrumentScriptVMFunction_fade_in(InstrumentScriptVM* parent); |