Browse Source

Make `block.inputs` writable.

tags/v1.1.1
Andrew Belt 5 years ago
parent
commit
5a070d4073
3 changed files with 42 additions and 0 deletions
  1. +12
    -0
      Makefile
  2. +7
    -0
      src/Prototype.cpp
  3. +23
    -0
      tests/sandbox.js

+ 12
- 0
Makefile View File

@@ -61,5 +61,17 @@ $(duktape):
# $(SHA256) 6.13.0.tar.gz 183beeb3b720bfeab6cc8af12fbec0bf9fef2727684ac79289fd12d0dfee728b
# cd dep && $(UNTAR) ../6.13.0.tar.gz

# # LLVM
# llvm := dep/lib/libllvm.a
# DEPS += $(llvm)
# $(llvm):
# $(WGET) "https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/llvm-8.0.1.src.tar.xz"
# $(SHA256) llvm-8.0.1.src.tar.xz 44787a6d02f7140f145e2250d56c9f849334e11f9ae379827510ed72f12b75e7
# cd dep && $(UNTAR) ../llvm-8.0.1.src.tar.xz
# cd dep/llvm-8.0.1.src && mkdir -p build
# cd dep/llvm-8.0.1.src/build && $(CMAKE) ..
# cd dep/llvm-8.0.1.src/build && $(MAKE)
# cd dep/llvm-8.0.1.src/build && $(MAKE) install


include $(RACK_DIR)/plugin.mk

+ 7
- 0
src/Prototype.cpp View File

@@ -83,6 +83,8 @@ struct Prototype : Module {
block.knobs[i] = params[KNOB_PARAMS + i].getValue();
for (int i = 0; i < NUM_ROWS; i++)
block.switches[i] = params[SWITCH_PARAMS + i].getValue() > 0.f;
float oldKnobs[NUM_ROWS];
std::memcpy(oldKnobs, block.knobs, sizeof(block.knobs));

// Run ScriptEngine's process function
{
@@ -97,6 +99,11 @@ struct Prototype : Module {
}
}

// Params
for (int i = 0; i < NUM_ROWS; i++) {
if (block.knobs[i] != oldKnobs[i])
params[KNOB_PARAMS + i].setValue(block.knobs[i]);
}
// Lights
for (int i = 0; i < NUM_ROWS; i++)
for (int c = 0; c < 3; c++)


+ 23
- 0
tests/sandbox.js View File

@@ -0,0 +1,23 @@

config.frameDivider = 256

var knobPresets = []
for (var i = 0; i < 6; i++) {
knobPresets[i] = [0, 0, 0, 0, 0, 0]
}
var lastI = 0

function process(block) {
for (var j = 0; j < 6; j++) {
knobPresets[lastI][j] = block.knobs[j]
}
for (var i = 0; i < 6; i++) {
if (block.switches[i]) {
for (var j = 0; j < 6; j++) {
block.knobs[j] = knobPresets[i][j]
}
lastI = i
}
block.switchLights[i][0] = (lastI == i) ? 1 : 0
}
}

Loading…
Cancel
Save