/[svn]/linuxsampler/trunk/src/engines/gig/InstrumentScriptVM.cpp
ViewVC logotype

Contents of /linuxsampler/trunk/src/engines/gig/InstrumentScriptVM.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3557 - (show annotations) (download)
Sun Aug 18 00:06:04 2019 UTC (4 years, 8 months ago) by schoenebeck
File size: 3356 byte(s)
* NKSP: Introducing 64 bit support for NKSP integer scripts
  variables (declare $foo).
* Require C++11 compiler support.
* Autoconf: Added m4/ax_cxx_compile_stdcxx.m4 macro which is used
  for checking in configure for C++11 support (as mandatory
  requirement) and automatically adds compiler argument if required
  (e.g. -std=C++11).
* Bumped version (2.1.1.svn3).

1 /*
2 * Copyright (c) 2014 - 2019 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 #include "InstrumentScriptVM.h"
11 #include "../../common/global_private.h"
12 #include "EngineChannel.h"
13
14 namespace LinuxSampler { namespace gig {
15
16 InstrumentScriptVM::InstrumentScriptVM() :
17 LinuxSampler::InstrumentScriptVM(), m_fnGigSetDimZone(this),
18 m_fnSameRegion(this)
19 {
20 }
21
22 std::map<String,vmint> InstrumentScriptVM::builtInConstIntVariables() {
23 // first get built-in integer variables of derived VM class
24 std::map<String,vmint> m =
25 ::LinuxSampler::InstrumentScriptVM::builtInConstIntVariables();
26
27 // add own built-in script constants
28 m["$GIG_DIM_CHANNEL"] = ::gig::dimension_samplechannel;
29 m["$GIG_DIM_LAYER"] = ::gig::dimension_layer;
30 m["$GIG_DIM_VELOCITY"] = ::gig::dimension_velocity;
31 m["$GIG_DIM_AFTERTOUCH"] = ::gig::dimension_channelaftertouch;
32 m["$GIG_DIM_RELEASE"] = ::gig::dimension_releasetrigger;
33 m["$GIG_DIM_KEYBOARD"] = ::gig::dimension_keyboard;
34 m["$GIG_DIM_ROUNDROBIN"] = ::gig::dimension_roundrobin;
35 m["$GIG_DIM_RANDOM"] = ::gig::dimension_random;
36 m["$GIG_DIM_SMARTMIDI"] = ::gig::dimension_smartmidi;
37 m["$GIG_DIM_ROUNDROBINKEY"] = ::gig::dimension_roundrobinkeyboard;
38 m["$GIG_DIM_MODWHEEL"] = ::gig::dimension_modwheel;
39 m["$GIG_DIM_BREATH"] = ::gig::dimension_breath;
40 m["$GIG_DIM_FOOT"] = ::gig::dimension_foot;
41 m["$GIG_DIM_PORTAMENTOTIME"] = ::gig::dimension_portamentotime;
42 m["$GIG_DIM_EFFECT1"] = ::gig::dimension_effect1;
43 m["$GIG_DIM_EFFECT2"] = ::gig::dimension_effect2;
44 m["$GIG_DIM_GENPURPOSE1"] = ::gig::dimension_genpurpose1;
45 m["$GIG_DIM_GENPURPOSE2"] = ::gig::dimension_genpurpose2;
46 m["$GIG_DIM_GENPURPOSE3"] = ::gig::dimension_genpurpose3;
47 m["$GIG_DIM_GENPURPOSE4"] = ::gig::dimension_genpurpose4;
48 m["$GIG_DIM_SUSTAIN"] = ::gig::dimension_sustainpedal;
49 m["$GIG_DIM_PORTAMENTO"] = ::gig::dimension_portamento;
50 m["$GIG_DIM_SOSTENUTO"] = ::gig::dimension_sostenutopedal;
51 m["$GIG_DIM_SOFT"] = ::gig::dimension_softpedal;
52 m["$GIG_DIM_GENPURPOSE5"] = ::gig::dimension_genpurpose5;
53 m["$GIG_DIM_GENPURPOSE6"] = ::gig::dimension_genpurpose6;
54 m["$GIG_DIM_GENPURPOSE7"] = ::gig::dimension_genpurpose7;
55 m["$GIG_DIM_GENPURPOSE8"] = ::gig::dimension_genpurpose8;
56 m["$GIG_DIM_EFFECT1DEPTH"] = ::gig::dimension_effect1depth;
57 m["$GIG_DIM_EFFECT2DEPTH"] = ::gig::dimension_effect2depth;
58 m["$GIG_DIM_EFFECT3DEPTH"] = ::gig::dimension_effect3depth;
59 m["$GIG_DIM_EFFECT4DEPTH"] = ::gig::dimension_effect4depth;
60 m["$GIG_DIM_EFFECT5DEPTH"] = ::gig::dimension_effect5depth;
61
62 return m;
63 }
64
65 VMFunction* InstrumentScriptVM::functionByName(const String& name) {
66 // built-in script functions of this class
67 if (name == "gig_set_dim_zone") return &m_fnGigSetDimZone;
68 if (name == "same_region") return &m_fnSameRegion;
69
70 // built-in script functions of derived VM class
71 return ::LinuxSampler::InstrumentScriptVM::functionByName(name);
72 }
73
74 }} // namespace LinuxSampler::gig

  ViewVC Help
Powered by ViewVC