--- linuxsampler/trunk/src/engines/common/InstrumentScriptVMFunctions.h 2017/05/17 16:14:20 3187 +++ linuxsampler/trunk/src/engines/common/InstrumentScriptVMFunctions.h 2017/05/19 14:23:12 3188 @@ -236,7 +236,9 @@ bool acceptsArgType(int iArg, ExprType_t type) const; ExprType_t argType(int iArg) const { return INT_EXPR; } - template + template VMFnResult* execTemplate(VMFnArgs* args, const char* functionName); protected: InstrumentScriptVM* m_vm; @@ -266,6 +268,42 @@ VMFnResult* exec(VMFnArgs* args); }; + class InstrumentScriptVMFunction_change_vol_time : public VMChangeSynthParamFunction { + public: + InstrumentScriptVMFunction_change_vol_time(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {} + VMFnResult* exec(VMFnArgs* args); + }; + + class InstrumentScriptVMFunction_change_tune_time : public VMChangeSynthParamFunction { + public: + InstrumentScriptVMFunction_change_tune_time(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {} + VMFnResult* exec(VMFnArgs* args); + }; + + class InstrumentScriptVMFunction_fade_in : public VMEmptyResultFunction { + public: + InstrumentScriptVMFunction_fade_in(InstrumentScriptVM* parent); + int minRequiredArgs() const { return 2; } + int maxAllowedArgs() const { return 2; } + bool acceptsArgType(int iArg, ExprType_t type) const; + ExprType_t argType(int iArg) const { return INT_EXPR; } + VMFnResult* exec(VMFnArgs* args); + protected: + InstrumentScriptVM* m_vm; + }; + + class InstrumentScriptVMFunction_fade_out : public VMEmptyResultFunction { + public: + InstrumentScriptVMFunction_fade_out(InstrumentScriptVM* parent); + int minRequiredArgs() const { return 2; } + int maxAllowedArgs() const { return 3; } + bool acceptsArgType(int iArg, ExprType_t type) const; + ExprType_t argType(int iArg) const { return INT_EXPR; } + VMFnResult* exec(VMFnArgs* args); + protected: + InstrumentScriptVM* m_vm; + }; + class InstrumentScriptVMFunction_event_status : public VMIntResultFunction { public: InstrumentScriptVMFunction_event_status(InstrumentScriptVM* parent);