/[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 3221 by schoenebeck, Fri May 26 18:30:42 2017 UTC revision 3285 by schoenebeck, Thu Jun 22 10:45:38 2017 UTC
# Line 644  namespace LinuxSampler { Line 644  namespace LinuxSampler {
644      struct VMInt8Array {      struct VMInt8Array {
645          int8_t* data;          int8_t* data;
646          int size;          int size;
647            bool readonly; ///< Whether the array data may be modified or just be read.
648    
649          VMInt8Array() : data(NULL), size(0) {}          VMInt8Array() : data(NULL), size(0), readonly(false) {}
650      };      };
651    
652      /** @brief Virtual machine script variable.      /** @brief Virtual machine script variable.
# Line 870  namespace LinuxSampler { Line 871  namespace LinuxSampler {
871           * ScriptVM::exec() call.           * ScriptVM::exec() call.
872           */           */
873          virtual size_t instructionsPerformed() const = 0;          virtual size_t instructionsPerformed() const = 0;
874    
875            /**
876             * Sends a signal to this script execution instance to abort its script
877             * execution as soon as possible. This method is called i.e. when one
878             * script execution instance intends to stop another script execution
879             * instance.
880             */
881            virtual void signalAbort() = 0;
882      };      };
883    
884      /** @brief Script callback for a certain event.      /** @brief Script callback for a certain event.
# Line 901  namespace LinuxSampler { Line 910  namespace LinuxSampler {
910      };      };
911    
912      /**      /**
913         * Reflects the precise position and span of a specific code block within
914         * a script. This is currently only used for the locations of commented
915         * code blocks due to preprocessor statements.
916         *
917         * @see VMParserContext::preprocessorComments()
918         */
919        struct CodeBlock {
920            int firstLine; ///< The first line number of this code block within the script (indexed with 1 being the very first line).
921            int lastLine; ///< The last line number of this code block within the script.
922            int firstColumn; ///< The first column of this code block within the script (indexed with 1 being the very first column).
923            int lastColumn; ///< The last column of this code block within the script.
924        };
925    
926        /**
927       * Encapsulates a noteworty parser issue. This encompasses the type of the       * Encapsulates a noteworty parser issue. This encompasses the type of the
928       * issue (either a parser error or parser warning), a human readable       * issue (either a parser error or parser warning), a human readable
929       * explanation text of the error or warning and the location of the       * explanation text of the error or warning and the location of the
# Line 993  namespace LinuxSampler { Line 1016  namespace LinuxSampler {
1016          virtual std::vector<ParserIssue> warnings() const = 0;          virtual std::vector<ParserIssue> warnings() const = 0;
1017    
1018          /**          /**
1019             * Returns all code blocks of the script which were filtered out by the
1020             * preprocessor.
1021             */
1022            virtual std::vector<CodeBlock> preprocessorComments() const = 0;
1023    
1024            /**
1025           * Returns the translated virtual machine representation of an event           * Returns the translated virtual machine representation of an event
1026           * handler block (i.e. "on note ... end on" code block) within the           * handler block (i.e. "on note ... end on" code block) within the
1027           * parsed script. This translated representation of the event handler           * parsed script. This translated representation of the event handler

Legend:
Removed from v.3221  
changed lines
  Added in v.3285

  ViewVC Help
Powered by ViewVC