/[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 3118 by schoenebeck, Fri Apr 21 13:33:03 2017 UTC revision 3246 by schoenebeck, Sun May 28 22:22:56 2017 UTC
# Line 46  namespace LinuxSampler { Line 46  namespace LinuxSampler {
46      class InstrumentScriptVMFunction_ignore_event : public VMEmptyResultFunction {      class InstrumentScriptVMFunction_ignore_event : public VMEmptyResultFunction {
47      public:      public:
48          InstrumentScriptVMFunction_ignore_event(InstrumentScriptVM* parent);          InstrumentScriptVMFunction_ignore_event(InstrumentScriptVM* parent);
49          int minRequiredArgs() const { return 1; }          int minRequiredArgs() const { return 0; }
50          int maxAllowedArgs() const { return 1; }          int maxAllowedArgs() const { return 1; }
51          bool acceptsArgType(int iArg, ExprType_t type) const;          bool acceptsArgType(int iArg, ExprType_t type) const;
52          ExprType_t argType(int iArg) const { return INT_EXPR; }          ExprType_t argType(int iArg) const { return INT_EXPR; }
# Line 236  namespace LinuxSampler { Line 236  namespace LinuxSampler {
236          bool acceptsArgType(int iArg, ExprType_t type) const;          bool acceptsArgType(int iArg, ExprType_t type) const;
237          ExprType_t argType(int iArg) const { return INT_EXPR; }          ExprType_t argType(int iArg) const { return INT_EXPR; }
238    
239          template<float NoteBase::_Override::*T_noteParam, int T_synthParam>          template<float NoteBase::_Override::*T_noteParam, int T_synthParam,
240                     bool T_isNormalizedParam, int T_maxValue, int T_minValue>
241          VMFnResult* execTemplate(VMFnArgs* args, const char* functionName);          VMFnResult* execTemplate(VMFnArgs* args, const char* functionName);
242      protected:      protected:
243          InstrumentScriptVM* m_vm;          InstrumentScriptVM* m_vm;
# Line 266  namespace LinuxSampler { Line 267  namespace LinuxSampler {
267          VMFnResult* exec(VMFnArgs* args);          VMFnResult* exec(VMFnArgs* args);
268      };      };
269    
270        class InstrumentScriptVMFunction_change_vol_time : public VMChangeSynthParamFunction {
271        public:
272            InstrumentScriptVMFunction_change_vol_time(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
273            VMFnResult* exec(VMFnArgs* args);
274        };
275    
276        class InstrumentScriptVMFunction_change_tune_time : public VMChangeSynthParamFunction {
277        public:
278            InstrumentScriptVMFunction_change_tune_time(InstrumentScriptVM* parent) : VMChangeSynthParamFunction(parent) {}
279            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 {
309        public:
310            InstrumentScriptVMFunction_fade_in(InstrumentScriptVM* parent);
311            int minRequiredArgs() const { return 2; }
312            int maxAllowedArgs() const { return 2; }
313            bool acceptsArgType(int iArg, ExprType_t type) const;
314            ExprType_t argType(int iArg) const { return INT_EXPR; }
315            VMFnResult* exec(VMFnArgs* args);
316        protected:
317            InstrumentScriptVM* m_vm;
318        };
319    
320        class InstrumentScriptVMFunction_fade_out : public VMEmptyResultFunction {
321        public:
322            InstrumentScriptVMFunction_fade_out(InstrumentScriptVM* parent);
323            int minRequiredArgs() const { return 2; }
324            int maxAllowedArgs() const { return 3; }
325            bool acceptsArgType(int iArg, ExprType_t type) const;
326            ExprType_t argType(int iArg) const { return INT_EXPR; }
327            VMFnResult* exec(VMFnArgs* args);
328        protected:
329            InstrumentScriptVM* m_vm;
330        };
331    
332        class InstrumentScriptVMFunction_get_event_par : public VMIntResultFunction {
333        public:
334            InstrumentScriptVMFunction_get_event_par(InstrumentScriptVM* parent);
335            int minRequiredArgs() const { return 2; }
336            int maxAllowedArgs() const { return 2; }
337            bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;}
338            ExprType_t argType(int iArg) const { return INT_EXPR; }
339            VMFnResult* exec(VMFnArgs* args);
340        protected:
341            InstrumentScriptVM* m_vm;
342        };
343    
344        class InstrumentScriptVMFunction_set_event_par : public VMEmptyResultFunction {
345        public:
346            InstrumentScriptVMFunction_set_event_par(InstrumentScriptVM* parent);
347            int minRequiredArgs() const { return 3; }
348            int maxAllowedArgs() const { return 3; }
349            bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;}
350            ExprType_t argType(int iArg) const { return INT_EXPR; }
351            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:
377            InstrumentScriptVM* m_vm;
378        };
379    
380      class InstrumentScriptVMFunction_event_status : public VMIntResultFunction {      class InstrumentScriptVMFunction_event_status : public VMIntResultFunction {
381      public:      public:
382          InstrumentScriptVMFunction_event_status(InstrumentScriptVM* parent);          InstrumentScriptVMFunction_event_status(InstrumentScriptVM* parent);

Legend:
Removed from v.3118  
changed lines
  Added in v.3246

  ViewVC Help
Powered by ViewVC