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); |
377 |
InstrumentScriptVM* m_vm; |
InstrumentScriptVM* m_vm; |
378 |
}; |
}; |
379 |
|
|
380 |
|
class InstrumentScriptVMFunction_change_play_pos : public VMEmptyResultFunction { |
381 |
|
public: |
382 |
|
InstrumentScriptVMFunction_change_play_pos(InstrumentScriptVM* parent); |
383 |
|
int minRequiredArgs() const { return 2; } |
384 |
|
int maxAllowedArgs() const { return 2; } |
385 |
|
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR; } |
386 |
|
ExprType_t argType(int iArg) const { return INT_EXPR; } |
387 |
|
VMFnResult* exec(VMFnArgs* args); |
388 |
|
protected: |
389 |
|
InstrumentScriptVM* m_vm; |
390 |
|
}; |
391 |
|
|
392 |
class InstrumentScriptVMFunction_event_status : public VMIntResultFunction { |
class InstrumentScriptVMFunction_event_status : public VMIntResultFunction { |
393 |
public: |
public: |
394 |
InstrumentScriptVMFunction_event_status(InstrumentScriptVM* parent); |
InstrumentScriptVMFunction_event_status(InstrumentScriptVM* parent); |
401 |
InstrumentScriptVM* m_vm; |
InstrumentScriptVM* m_vm; |
402 |
}; |
}; |
403 |
|
|
404 |
|
class InstrumentScriptVMFunction_callback_status : public VMIntResultFunction { |
405 |
|
public: |
406 |
|
InstrumentScriptVMFunction_callback_status(InstrumentScriptVM* parent); |
407 |
|
int minRequiredArgs() const { return 1; } |
408 |
|
int maxAllowedArgs() const { return 1; } |
409 |
|
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
410 |
|
ExprType_t argType(int iArg) const { return INT_EXPR; } |
411 |
|
VMFnResult* exec(VMFnArgs* args); |
412 |
|
protected: |
413 |
|
InstrumentScriptVM* m_vm; |
414 |
|
}; |
415 |
|
|
416 |
// overrides core wait() implementation |
// overrides core wait() implementation |
417 |
class InstrumentScriptVMFunction_wait : public CoreVMFunction_wait { |
class InstrumentScriptVMFunction_wait : public CoreVMFunction_wait { |
418 |
public: |
public: |
427 |
int maxAllowedArgs() const { return 2; } |
int maxAllowedArgs() const { return 2; } |
428 |
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
429 |
ExprType_t argType(int iArg) const { return INT_EXPR; } |
ExprType_t argType(int iArg) const { return INT_EXPR; } |
430 |
|
VMFnResult* exec(VMFnArgs* args); |
431 |
|
protected: |
432 |
|
InstrumentScriptVM* m_vm; |
433 |
|
}; |
434 |
|
|
435 |
|
class InstrumentScriptVMFunction_abort : public VMEmptyResultFunction { |
436 |
|
public: |
437 |
|
InstrumentScriptVMFunction_abort(InstrumentScriptVM* parent); |
438 |
|
int minRequiredArgs() const { return 1; } |
439 |
|
int maxAllowedArgs() const { return 1; } |
440 |
|
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR; } |
441 |
|
ExprType_t argType(int iArg) const { return INT_EXPR; } |
442 |
|
VMFnResult* exec(VMFnArgs* args) OVERRIDE; |
443 |
|
protected: |
444 |
|
InstrumentScriptVM* m_vm; |
445 |
|
}; |
446 |
|
|
447 |
|
class InstrumentScriptVMFunction_fork : public VMIntResultFunction { |
448 |
|
public: |
449 |
|
InstrumentScriptVMFunction_fork(InstrumentScriptVM* parent); |
450 |
|
int minRequiredArgs() const { return 0; } |
451 |
|
int maxAllowedArgs() const { return 2; } |
452 |
|
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
453 |
|
ExprType_t argType(int iArg) const { return INT_EXPR; } |
454 |
VMFnResult* exec(VMFnArgs* args); |
VMFnResult* exec(VMFnArgs* args); |
455 |
protected: |
protected: |
456 |
InstrumentScriptVM* m_vm; |
InstrumentScriptVM* m_vm; |