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

Diff of /linuxsampler/trunk/src/scriptvm/common.h

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

revision 2612 by schoenebeck, Tue Jun 10 13:32:16 2014 UTC revision 2645 by schoenebeck, Wed Jun 18 00:14:57 2014 UTC
# Line 50  namespace LinuxSampler { Line 50  namespace LinuxSampler {
50    
51      class VMIntExpr;      class VMIntExpr;
52      class VMStringExpr;      class VMStringExpr;
53        class VMIntArrayExpr;
54        class VMStringArrayExpr;
55    
56      class VMExpr {      class VMExpr {
57      public:      public:
58          virtual ExprType_t exprType() const = 0;          virtual ExprType_t exprType() const = 0;
59          VMIntExpr* asInt() const;          VMIntExpr* asInt() const;
60          VMStringExpr* asString() const;          VMStringExpr* asString() const;
61            VMIntArrayExpr* asIntArray() const;
62      };      };
63    
64      class VMIntExpr : virtual public VMExpr {      class VMIntExpr : virtual public VMExpr {
# Line 70  namespace LinuxSampler { Line 73  namespace LinuxSampler {
73          ExprType_t exprType() const { return STRING_EXPR; }          ExprType_t exprType() const { return STRING_EXPR; }
74      };      };
75    
76        class VMArrayExpr : virtual public VMExpr {
77        public:
78            virtual int arraySize() const = 0;
79        };
80    
81        class VMIntArrayExpr : virtual public VMArrayExpr {
82        public:
83            virtual int evalIntElement(uint i) = 0;
84            virtual void assignIntElement(uint i, int value) = 0;
85            ExprType_t exprType() const { return INT_ARR_EXPR; }
86        };
87    
88      class VMFnArgs {      class VMFnArgs {
89      public:      public:
90          virtual int argsCount() const = 0;          virtual int argsCount() const = 0;
# Line 335  namespace LinuxSampler { Line 350  namespace LinuxSampler {
350          virtual int suspensionTimeMicroseconds() const = 0;          virtual int suspensionTimeMicroseconds() const = 0;
351      };      };
352    
353        /** @brief Script callback for a certain event.
354         *
355         * Represents a script callback for a certain event, i.e.
356         * "on note ... end on".
357         */
358      class VMEventHandler {      class VMEventHandler {
359      public:      public:
360            /**
361             * Name of the event handler which identifies its purpose. For example
362             * for a "on note ... end on" script callback block, the name "note"
363             * would be returned here.
364             */
365          virtual String eventHandlerName() const = 0;          virtual String eventHandlerName() const = 0;
366    
367            /**
368             * Whether or not the event handler makes any use of so called
369             * "polyphonic" variables.
370             */
371            virtual bool isPolyphonic() const = 0;
372      };      };
373    
374      struct ParserIssue {      struct ParserIssue {

Legend:
Removed from v.2612  
changed lines
  Added in v.2645

  ViewVC Help
Powered by ViewVC