/[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 3360 by schoenebeck, Fri Oct 27 21:19:18 2017 UTC
# Line 243  namespace LinuxSampler { Line 243  namespace LinuxSampler {
243          InstrumentScriptVM* m_vm;          InstrumentScriptVM* m_vm;
244      };      };
245    
246        class InstrumentScriptVMFunction_change_sustain : public VMChangeSynthParamFunction {
247        public:
248            InstrumentScriptVMFunction_change_sustain(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
249            VMFnResult* exec(VMFnArgs* args);
250        };
251    
252        class InstrumentScriptVMFunction_change_cutoff_attack : public VMChangeSynthParamFunction {
253        public:
254            InstrumentScriptVMFunction_change_cutoff_attack(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
255            VMFnResult* exec(VMFnArgs* args);
256        };
257    
258        class InstrumentScriptVMFunction_change_cutoff_decay : public VMChangeSynthParamFunction {
259        public:
260            InstrumentScriptVMFunction_change_cutoff_decay(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
261            VMFnResult* exec(VMFnArgs* args);
262        };
263    
264        class InstrumentScriptVMFunction_change_cutoff_sustain : public VMChangeSynthParamFunction {
265        public:
266            InstrumentScriptVMFunction_change_cutoff_sustain(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
267            VMFnResult* exec(VMFnArgs* args);
268        };
269    
270        class InstrumentScriptVMFunction_change_cutoff_release : public VMChangeSynthParamFunction {
271        public:
272            InstrumentScriptVMFunction_change_cutoff_release(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
273            VMFnResult* exec(VMFnArgs* args);
274        };
275    
276      class InstrumentScriptVMFunction_change_amp_lfo_depth : public VMChangeSynthParamFunction {      class InstrumentScriptVMFunction_change_amp_lfo_depth : public VMChangeSynthParamFunction {
277      public:      public:
278          InstrumentScriptVMFunction_change_amp_lfo_depth(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}          InstrumentScriptVMFunction_change_amp_lfo_depth(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
# Line 255  namespace LinuxSampler { Line 285  namespace LinuxSampler {
285          VMFnResult* exec(VMFnArgs* args);          VMFnResult* exec(VMFnArgs* args);
286      };      };
287    
288        class InstrumentScriptVMFunction_change_cutoff_lfo_depth : public VMChangeSynthParamFunction {
289        public:
290            InstrumentScriptVMFunction_change_cutoff_lfo_depth(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
291            VMFnResult* exec(VMFnArgs* args);
292        };
293    
294        class InstrumentScriptVMFunction_change_cutoff_lfo_freq : public VMChangeSynthParamFunction {
295        public:
296            InstrumentScriptVMFunction_change_cutoff_lfo_freq(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
297            VMFnResult* exec(VMFnArgs* args);
298        };
299    
300      class InstrumentScriptVMFunction_change_pitch_lfo_depth : public VMChangeSynthParamFunction {      class InstrumentScriptVMFunction_change_pitch_lfo_depth : public VMChangeSynthParamFunction {
301      public:      public:
302          InstrumentScriptVMFunction_change_pitch_lfo_depth(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}          InstrumentScriptVMFunction_change_pitch_lfo_depth(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
# Line 279  namespace LinuxSampler { Line 321  namespace LinuxSampler {
321          VMFnResult* exec(VMFnArgs* args);          VMFnResult* exec(VMFnArgs* args);
322      };      };
323    
324        class InstrumentScriptVMFunction_change_pan_time : public VMChangeSynthParamFunction {
325        public:
326            InstrumentScriptVMFunction_change_pan_time(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
327            VMFnResult* exec(VMFnArgs* args);
328        };
329    
330        class VMChangeFadeCurveFunction : public VMEmptyResultFunction {
331        public:
332            VMChangeFadeCurveFunction(InstrumentScriptVM* parent) : m_vm(parent) {}
333            int minRequiredArgs() const { return 2; }
334            int maxAllowedArgs() const { return 2; }
335            bool acceptsArgType(int iArg, ExprType_t type) const;
336            ExprType_t argType(int iArg) const { return INT_EXPR; }
337    
338            template<fade_curve_t NoteBase::_Override::*T_noteParam, int T_synthParam>
339            VMFnResult* execTemplate(VMFnArgs* args, const char* functionName);
340        protected:
341            InstrumentScriptVM* m_vm;
342        };
343    
344        class InstrumentScriptVMFunction_change_vol_curve : public VMChangeFadeCurveFunction {
345        public:
346            InstrumentScriptVMFunction_change_vol_curve(InstrumentScriptVM* parent) : VMChangeFadeCurveFunction(parent) {}
347            VMFnResult* exec(VMFnArgs* args);
348        };
349    
350        class InstrumentScriptVMFunction_change_tune_curve : public VMChangeFadeCurveFunction {
351        public:
352            InstrumentScriptVMFunction_change_tune_curve(InstrumentScriptVM* parent) : VMChangeFadeCurveFunction(parent) {}
353            VMFnResult* exec(VMFnArgs* args);
354        };
355    
356        class InstrumentScriptVMFunction_change_pan_curve : public VMChangeFadeCurveFunction {
357        public:
358            InstrumentScriptVMFunction_change_pan_curve(InstrumentScriptVM* parent) : VMChangeFadeCurveFunction(parent) {}
359            VMFnResult* exec(VMFnArgs* args);
360        };
361    
362      class InstrumentScriptVMFunction_fade_in : public VMEmptyResultFunction {      class InstrumentScriptVMFunction_fade_in : public VMEmptyResultFunction {
363      public:      public:
364          InstrumentScriptVMFunction_fade_in(InstrumentScriptVM* parent);          InstrumentScriptVMFunction_fade_in(InstrumentScriptVM* parent);
# Line 327  namespace LinuxSampler { Line 407  namespace LinuxSampler {
407          InstrumentScriptVM* m_vm;          InstrumentScriptVM* m_vm;
408      };      };
409    
410        class InstrumentScriptVMFunction_change_note : public VMEmptyResultFunction {
411        public:
412            InstrumentScriptVMFunction_change_note(InstrumentScriptVM* parent);
413            int minRequiredArgs() const { return 2; }
414            int maxAllowedArgs() const { return 2; }
415            bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;}
416            ExprType_t argType(int iArg) const { return INT_EXPR; }
417            VMFnResult* exec(VMFnArgs* args);
418        protected:
419            InstrumentScriptVM* m_vm;
420        };
421    
422        class InstrumentScriptVMFunction_change_velo : public VMEmptyResultFunction {
423        public:
424            InstrumentScriptVMFunction_change_velo(InstrumentScriptVM* parent);
425            int minRequiredArgs() const { return 2; }
426            int maxAllowedArgs() const { return 2; }
427            bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;}
428            ExprType_t argType(int iArg) const { return INT_EXPR; }
429            VMFnResult* exec(VMFnArgs* args);
430        protected:
431            InstrumentScriptVM* m_vm;
432        };
433    
434        class InstrumentScriptVMFunction_change_play_pos : public VMEmptyResultFunction {
435        public:
436            InstrumentScriptVMFunction_change_play_pos(InstrumentScriptVM* parent);
437            int minRequiredArgs() const { return 2; }
438            int maxAllowedArgs() const { return 2; }
439            bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR; }
440            ExprType_t argType(int iArg) const { return INT_EXPR; }
441            VMFnResult* exec(VMFnArgs* args);
442        protected:
443            InstrumentScriptVM* m_vm;
444        };
445    
446      class InstrumentScriptVMFunction_event_status : public VMIntResultFunction {      class InstrumentScriptVMFunction_event_status : public VMIntResultFunction {
447      public:      public:
448          InstrumentScriptVMFunction_event_status(InstrumentScriptVM* parent);          InstrumentScriptVMFunction_event_status(InstrumentScriptVM* parent);
# Line 339  namespace LinuxSampler { Line 455  namespace LinuxSampler {
455          InstrumentScriptVM* m_vm;          InstrumentScriptVM* m_vm;
456      };      };
457    
458        class InstrumentScriptVMFunction_callback_status : public VMIntResultFunction {
459        public:
460            InstrumentScriptVMFunction_callback_status(InstrumentScriptVM* parent);
461            int minRequiredArgs() const { return 1; }
462            int maxAllowedArgs() const { return 1; }
463            bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;}
464            ExprType_t argType(int iArg) const { return INT_EXPR; }
465            VMFnResult* exec(VMFnArgs* args);
466        protected:
467            InstrumentScriptVM* m_vm;
468        };
469    
470      // overrides core wait() implementation      // overrides core wait() implementation
471      class InstrumentScriptVMFunction_wait : public CoreVMFunction_wait {      class InstrumentScriptVMFunction_wait : public CoreVMFunction_wait {
472      public:      public:
# Line 353  namespace LinuxSampler { Line 481  namespace LinuxSampler {
481          int maxAllowedArgs() const { return 2; }          int maxAllowedArgs() const { return 2; }
482          bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;}          bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;}
483          ExprType_t argType(int iArg) const { return INT_EXPR; }          ExprType_t argType(int iArg) const { return INT_EXPR; }
484            VMFnResult* exec(VMFnArgs* args);
485        protected:
486            InstrumentScriptVM* m_vm;
487        };
488    
489        class InstrumentScriptVMFunction_abort : public VMEmptyResultFunction {
490        public:
491            InstrumentScriptVMFunction_abort(InstrumentScriptVM* parent);
492            int minRequiredArgs() const { return 1; }
493            int maxAllowedArgs() const { return 1; }
494            bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR; }
495            ExprType_t argType(int iArg) const { return INT_EXPR; }
496            VMFnResult* exec(VMFnArgs* args) OVERRIDE;
497        protected:
498            InstrumentScriptVM* m_vm;
499        };
500    
501        class InstrumentScriptVMFunction_fork : public VMIntResultFunction {
502        public:
503            InstrumentScriptVMFunction_fork(InstrumentScriptVM* parent);
504            int minRequiredArgs() const { return 0; }
505            int maxAllowedArgs() const { return 2; }
506            bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;}
507            ExprType_t argType(int iArg) const { return INT_EXPR; }
508          VMFnResult* exec(VMFnArgs* args);          VMFnResult* exec(VMFnArgs* args);
509      protected:      protected:
510          InstrumentScriptVM* m_vm;          InstrumentScriptVM* m_vm;

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

  ViewVC Help
Powered by ViewVC