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

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

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

revision 2953 by schoenebeck, Sat Jul 16 11:24:39 2016 UTC revision 3360 by schoenebeck, Fri Oct 27 21:19:18 2017 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (c) 2014-2016 Christian Schoenebeck   * Copyright (c) 2014-2017 Christian Schoenebeck
3   *   *
4   * http://www.linuxsampler.org   * http://www.linuxsampler.org
5   *   *
# Line 64  enum InstrScriptIDType_T { Line 64  enum InstrScriptIDType_T {
64  #define EVENT_STATUS_INACTIVE 0  #define EVENT_STATUS_INACTIVE 0
65  #define EVENT_STATUS_NOTE_QUEUE 1  #define EVENT_STATUS_NOTE_QUEUE 1
66    
67    enum {
68        EVENT_PAR_NOTE = 1,
69        EVENT_PAR_VELOCITY,
70        EVENT_PAR_VOLUME,
71        EVENT_PAR_TUNE,
72        EVENT_PAR_0 = 1024,
73        EVENT_PAR_1,
74        EVENT_PAR_2,
75        EVENT_PAR_3,
76    };
77    
78    enum {
79        CALLBACK_STATUS_TERMINATED = 0,
80        CALLBACK_STATUS_QUEUE = 1,
81        CALLBACK_STATUS_RUNNING = (1 << 1)
82    };
83    
84  namespace LinuxSampler {  namespace LinuxSampler {
85    
86      class AbstractEngineChannel;      class AbstractEngineChannel;
87      class InstrumentScript;      struct InstrumentScript;
88    
89      /** @brief Convert IDs between script scope and engine internal scope.      /** @brief Convert IDs between script scope and engine internal scope.
90       *       *
# Line 247  namespace LinuxSampler { Line 264  namespace LinuxSampler {
264      protected:      protected:
265          ScriptEvent* m_event; ///< The event currently executed by exec().          ScriptEvent* m_event; ///< The event currently executed by exec().
266    
267          // buil-in script variables          // built-in script variables
268          VMInt8Array m_CC;          VMInt8Array m_CC;
269          VMInt8RelPtr m_CC_NUM;          VMInt8RelPtr m_CC_NUM;
270          VMIntRelPtr  m_EVENT_ID;          VMIntRelPtr  m_EVENT_ID;
# Line 258  namespace LinuxSampler { Line 275  namespace LinuxSampler {
275          //int m_POLY_AT_NUM; //TODO: ...          //int m_POLY_AT_NUM; //TODO: ...
276          VMIntRelPtr  m_NI_CALLBACK_TYPE;          VMIntRelPtr  m_NI_CALLBACK_TYPE;
277          VMIntRelPtr  m_NKSP_IGNORE_WAIT;          VMIntRelPtr  m_NKSP_IGNORE_WAIT;
278            VMIntRelPtr  m_NKSP_CALLBACK_PARENT_ID;
279    
280          // buil-in script functions          // built-in script functions
281          InstrumentScriptVMFunction_play_note m_fnPlayNote;          InstrumentScriptVMFunction_play_note m_fnPlayNote;
282          InstrumentScriptVMFunction_set_controller m_fnSetController;          InstrumentScriptVMFunction_set_controller m_fnSetController;
283          InstrumentScriptVMFunction_ignore_event m_fnIgnoreEvent;          InstrumentScriptVMFunction_ignore_event m_fnIgnoreEvent;
# Line 269  namespace LinuxSampler { Line 287  namespace LinuxSampler {
287          InstrumentScriptVMFunction_delete_event_mark m_fnDeleteEventMark;          InstrumentScriptVMFunction_delete_event_mark m_fnDeleteEventMark;
288          InstrumentScriptVMFunction_by_marks m_fnByMarks;          InstrumentScriptVMFunction_by_marks m_fnByMarks;
289          InstrumentScriptVMFunction_change_vol m_fnChangeVol;          InstrumentScriptVMFunction_change_vol m_fnChangeVol;
290            InstrumentScriptVMFunction_change_vol_time m_fnChangeVolTime;
291          InstrumentScriptVMFunction_change_tune m_fnChangeTune;          InstrumentScriptVMFunction_change_tune m_fnChangeTune;
292            InstrumentScriptVMFunction_change_tune_time m_fnChangeTuneTime;
293          InstrumentScriptVMFunction_change_pan m_fnChangePan;          InstrumentScriptVMFunction_change_pan m_fnChangePan;
294            InstrumentScriptVMFunction_change_pan_time m_fnChangePanTime;
295            InstrumentScriptVMFunction_change_pan_curve m_fnChangePanCurve;
296          InstrumentScriptVMFunction_change_cutoff m_fnChangeCutoff;          InstrumentScriptVMFunction_change_cutoff m_fnChangeCutoff;
297          InstrumentScriptVMFunction_change_reso m_fnChangeReso;          InstrumentScriptVMFunction_change_reso m_fnChangeReso;
298          InstrumentScriptVMFunction_change_attack m_fnChangeAttack;          InstrumentScriptVMFunction_change_attack m_fnChangeAttack;
299          InstrumentScriptVMFunction_change_decay m_fnChangeDecay;          InstrumentScriptVMFunction_change_decay m_fnChangeDecay;
300            InstrumentScriptVMFunction_change_sustain m_fnChangeSustain;
301          InstrumentScriptVMFunction_change_release m_fnChangeRelease;          InstrumentScriptVMFunction_change_release m_fnChangeRelease;
302            InstrumentScriptVMFunction_change_cutoff_attack m_fnChangeCutoffAttack;
303            InstrumentScriptVMFunction_change_cutoff_decay m_fnChangeCutoffDecay;
304            InstrumentScriptVMFunction_change_cutoff_sustain m_fnChangeCutoffSustain;
305            InstrumentScriptVMFunction_change_cutoff_release m_fnChangeCutoffRelease;
306            InstrumentScriptVMFunction_change_amp_lfo_depth m_fnChangeAmpLFODepth;
307            InstrumentScriptVMFunction_change_amp_lfo_freq m_fnChangeAmpLFOFreq;
308            InstrumentScriptVMFunction_change_cutoff_lfo_depth m_fnChangeCutoffLFODepth;
309            InstrumentScriptVMFunction_change_cutoff_lfo_freq m_fnChangeCutoffLFOFreq;
310            InstrumentScriptVMFunction_change_pitch_lfo_depth m_fnChangePitchLFODepth;
311            InstrumentScriptVMFunction_change_pitch_lfo_freq m_fnChangePitchLFOFreq;
312            InstrumentScriptVMFunction_change_note m_fnChangeNote;
313            InstrumentScriptVMFunction_change_velo m_fnChangeVelo;
314            InstrumentScriptVMFunction_fork m_fnFork;
315          InstrumentScriptVMFunction_event_status m_fnEventStatus;          InstrumentScriptVMFunction_event_status m_fnEventStatus;
316          InstrumentScriptVMFunction_wait m_fnWait2;          InstrumentScriptVMFunction_wait m_fnWait2;
317          InstrumentScriptVMFunction_stop_wait m_fnStopWait;          InstrumentScriptVMFunction_stop_wait m_fnStopWait;
318            InstrumentScriptVMFunction_abort m_fnAbort;
319            InstrumentScriptVMFunction_fade_in m_fnFadeIn;
320            InstrumentScriptVMFunction_fade_out m_fnFadeOut;
321            InstrumentScriptVMFunction_change_vol_curve m_fnChangeVolCurve;
322            InstrumentScriptVMFunction_change_tune_curve m_fnChangeTuneCurve;
323            InstrumentScriptVMFunction_get_event_par m_fnGetEventPar;
324            InstrumentScriptVMFunction_set_event_par m_fnSetEventPar;
325            InstrumentScriptVMFunction_change_play_pos m_fnChangePlayPos;
326            InstrumentScriptVMFunction_callback_status m_fnCallbackStatus;
327          InstrumentScriptVMDynVar_ENGINE_UPTIME m_varEngineUptime;          InstrumentScriptVMDynVar_ENGINE_UPTIME m_varEngineUptime;
328          InstrumentScriptVMDynVar_NI_CALLBACK_ID m_varCallbackID;          InstrumentScriptVMDynVar_NI_CALLBACK_ID m_varCallbackID;
329            InstrumentScriptVMDynVar_ALL_EVENTS m_varAllEvents;
330            InstrumentScriptVMDynVar_NKSP_CALLBACK_CHILD_ID m_varCallbackChildID;
331    
332          friend class InstrumentScriptVMFunction_play_note;          friend class InstrumentScriptVMFunction_play_note;
333          friend class InstrumentScriptVMFunction_set_controller;          friend class InstrumentScriptVMFunction_set_controller;
# Line 291  namespace LinuxSampler { Line 338  namespace LinuxSampler {
338          friend class InstrumentScriptVMFunction_delete_event_mark;          friend class InstrumentScriptVMFunction_delete_event_mark;
339          friend class InstrumentScriptVMFunction_by_marks;          friend class InstrumentScriptVMFunction_by_marks;
340          friend class InstrumentScriptVMFunction_change_vol;          friend class InstrumentScriptVMFunction_change_vol;
341            friend class InstrumentScriptVMFunction_change_vol_time;
342          friend class InstrumentScriptVMFunction_change_tune;          friend class InstrumentScriptVMFunction_change_tune;
343            friend class InstrumentScriptVMFunction_change_tune_time;
344          friend class InstrumentScriptVMFunction_change_pan;          friend class InstrumentScriptVMFunction_change_pan;
345            friend class InstrumentScriptVMFunction_change_pan_time;
346            friend class InstrumentScriptVMFunction_change_pan_curve;
347          friend class InstrumentScriptVMFunction_change_cutoff;          friend class InstrumentScriptVMFunction_change_cutoff;
348          friend class InstrumentScriptVMFunction_change_reso;          friend class InstrumentScriptVMFunction_change_reso;
349          friend class InstrumentScriptVMFunction_change_attack;          friend class InstrumentScriptVMFunction_change_attack;
350          friend class InstrumentScriptVMFunction_change_decay;          friend class InstrumentScriptVMFunction_change_decay;
351          friend class InstrumentScriptVMFunction_change_release;          friend class InstrumentScriptVMFunction_change_release;
352            friend class InstrumentScriptVMFunction_change_sustain;
353            friend class InstrumentScriptVMFunction_change_cutoff_attack;
354            friend class InstrumentScriptVMFunction_change_cutoff_decay;
355            friend class InstrumentScriptVMFunction_change_cutoff_release;
356            friend class InstrumentScriptVMFunction_change_cutoff_sustain;
357            friend class VMChangeSynthParamFunction;
358            friend class InstrumentScriptVMFunction_change_amp_lfo_depth;
359            friend class InstrumentScriptVMFunction_change_amp_lfo_freq;
360            friend class InstrumentScriptVMFunction_change_cutoff_lfo_depth;
361            friend class InstrumentScriptVMFunction_change_cutoff_lfo_freq;
362            friend class InstrumentScriptVMFunction_change_pitch_lfo_depth;
363            friend class InstrumentScriptVMFunction_change_pitch_lfo_freq;
364            friend class VMChangeFadeCurveFunction;
365            friend class InstrumentScriptVMFunction_fade_in;
366            friend class InstrumentScriptVMFunction_fade_out;
367            friend class InstrumentScriptVMFunction_get_event_par;
368            friend class InstrumentScriptVMFunction_set_event_par;
369            friend class InstrumentScriptVMFunction_change_note;
370            friend class InstrumentScriptVMFunction_change_velo;
371            friend class InstrumentScriptVMFunction_change_play_pos;
372          friend class InstrumentScriptVMFunction_event_status;          friend class InstrumentScriptVMFunction_event_status;
373          friend class InstrumentScriptVMFunction_wait;          friend class InstrumentScriptVMFunction_wait;
374          friend class InstrumentScriptVMFunction_stop_wait;          friend class InstrumentScriptVMFunction_stop_wait;
375            friend class InstrumentScriptVMFunction_abort;
376            friend class InstrumentScriptVMFunction_fork;
377            friend class InstrumentScriptVMFunction_callback_status;
378          friend class InstrumentScriptVMDynVar_ENGINE_UPTIME;          friend class InstrumentScriptVMDynVar_ENGINE_UPTIME;
379          friend class InstrumentScriptVMDynVar_NI_CALLBACK_ID;          friend class InstrumentScriptVMDynVar_NI_CALLBACK_ID;
380            friend class InstrumentScriptVMDynVar_ALL_EVENTS;
381            friend class InstrumentScriptVMDynVar_NKSP_CALLBACK_CHILD_ID;
382      };      };
383    
384  } // namespace LinuxSampler  } // namespace LinuxSampler

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

  ViewVC Help
Powered by ViewVC