/[svn]/linuxsampler/trunk/src/engines/gig/InstrumentScriptVMFunctions.h
ViewVC logotype

Contents of /linuxsampler/trunk/src/engines/gig/InstrumentScriptVMFunctions.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3228 - (show annotations) (download) (as text)
Sun May 28 14:46:14 2017 UTC (6 years, 11 months ago) by schoenebeck
File MIME type: text/x-c++hdr
File size: 1703 byte(s)
* Implemented built-in script function "same_region()" (currently only
  available for gig format engine).
* Bumped version (2.0.0.svn53).

1 /*
2 * Copyright (c) 2014 - 2017 Christian Schoenebeck
3 *
4 * http://www.linuxsampler.org
5 *
6 * This file is part of LinuxSampler and released under the same terms.
7 * See README file for details.
8 */
9
10 #ifndef LS_GIG_INSTRSCRIPTVMFUNCTIONS_H
11 #define LS_GIG_INSTRSCRIPTVMFUNCTIONS_H
12
13 #include "../common/InstrumentScriptVMFunctions.h"
14
15 namespace LinuxSampler { namespace gig {
16
17 class InstrumentScriptVM;
18
19 /**
20 * Built-in script function:
21 *
22 * gig_set_dim_zone(event_id, dimension, zone)
23 */
24 class InstrumentScriptVMFunction_gig_set_dim_zone : public VMEmptyResultFunction {
25 public:
26 InstrumentScriptVMFunction_gig_set_dim_zone(InstrumentScriptVM* parent);
27 int minRequiredArgs() const { return 3; }
28 int maxAllowedArgs() const { return 3; }
29 bool acceptsArgType(int iArg, ExprType_t type) const;
30 ExprType_t argType(int iArg) const { return INT_EXPR; }
31 VMFnResult* exec(VMFnArgs* args);
32 protected:
33 InstrumentScriptVM* m_vm;
34 };
35
36 /**
37 * Built-in script function:
38 *
39 * same_region(key1, key2)
40 */
41 class InstrumentScriptVMFunction_same_region : public VMIntResultFunction {
42 public:
43 InstrumentScriptVMFunction_same_region(InstrumentScriptVM* parent);
44 int minRequiredArgs() const { return 2; }
45 int maxAllowedArgs() const { return 2; }
46 bool acceptsArgType(int iArg, ExprType_t type) const { return INT_EXPR; }
47 ExprType_t argType(int iArg) const { return INT_EXPR; }
48 VMFnResult* exec(VMFnArgs* args);
49 protected:
50 InstrumentScriptVM* m_vm;
51 };
52
53 }} // namespace LinuxSampler::gig
54
55 #endif // LS_GIG_INSTRSCRIPTVMFUNCTIONS_H

  ViewVC Help
Powered by ViewVC