/[svn]/linuxsampler/trunk/src/engines/common/InstrumentScriptVMFunctions.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/common/InstrumentScriptVMFunctions.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3212 by schoenebeck, Thu May 25 13:17:47 2017 UTC revision 3296 by schoenebeck, Wed Jun 28 09:45:56 2017 UTC
# Line 279  namespace LinuxSampler { Line 279  namespace LinuxSampler {
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);
# Line 327  namespace LinuxSampler { Line 353  namespace LinuxSampler {
353          InstrumentScriptVM* m_vm;          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:
377            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);
# Line 339  namespace LinuxSampler { Line 401  namespace LinuxSampler {
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:
# Line 353  namespace LinuxSampler { Line 427  namespace LinuxSampler {
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;

Legend:
Removed from v.3212  
changed lines
  Added in v.3296

  ViewVC Help
Powered by ViewVC