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); |
349 |
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
350 |
ExprType_t argType(int iArg) const { return INT_EXPR; } |
ExprType_t argType(int iArg) const { return INT_EXPR; } |
351 |
VMFnResult* exec(VMFnArgs* args); |
VMFnResult* exec(VMFnArgs* args); |
352 |
|
protected: |
353 |
|
InstrumentScriptVM* m_vm; |
354 |
|
}; |
355 |
|
|
356 |
|
class InstrumentScriptVMFunction_change_note : public VMEmptyResultFunction { |
357 |
|
public: |
358 |
|
InstrumentScriptVMFunction_change_note(InstrumentScriptVM* parent); |
359 |
|
int minRequiredArgs() const { return 2; } |
360 |
|
int maxAllowedArgs() const { return 2; } |
361 |
|
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
362 |
|
ExprType_t argType(int iArg) const { return INT_EXPR; } |
363 |
|
VMFnResult* exec(VMFnArgs* args); |
364 |
|
protected: |
365 |
|
InstrumentScriptVM* m_vm; |
366 |
|
}; |
367 |
|
|
368 |
|
class InstrumentScriptVMFunction_change_velo : public VMEmptyResultFunction { |
369 |
|
public: |
370 |
|
InstrumentScriptVMFunction_change_velo(InstrumentScriptVM* parent); |
371 |
|
int minRequiredArgs() const { return 2; } |
372 |
|
int maxAllowedArgs() const { return 2; } |
373 |
|
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
374 |
|
ExprType_t argType(int iArg) const { return INT_EXPR; } |
375 |
|
VMFnResult* exec(VMFnArgs* args); |
376 |
protected: |
protected: |
377 |
InstrumentScriptVM* m_vm; |
InstrumentScriptVM* m_vm; |
378 |
}; |
}; |