Browse Source

Merge branch 'VCVRack:v2' into v2

pull/55/head
Ewan GitHub 1 year ago
parent
commit
67d2bb711b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 12 additions and 7 deletions
  1. +4
    -0
      CHANGELOG.md
  2. +1
    -1
      plugin.json
  3. +2
    -2
      src/Kickall.cpp
  4. +1
    -1
      src/Muxlicer.cpp
  5. +4
    -3
      src/Rampage.cpp

+ 4
- 0
CHANGELOG.md View File

@@ -1,5 +1,9 @@
# Change Log

## v2.4.1
* Rampage
* Fix SIMD bug

## v2.4.0
* MotionMTR
* Initial release


+ 1
- 1
plugin.json View File

@@ -1,6 +1,6 @@
{
"slug": "Befaco",
"version": "2.4.0",
"version": "2.4.1",
"license": "GPL-3.0-or-later",
"name": "Befaco",
"brand": "Befaco",


+ 2
- 2
src/Kickall.cpp View File

@@ -81,7 +81,7 @@ struct Kickall : Module {
void process(const ProcessArgs& args) override {
// TODO: check values
const bool risingEdgeGate = gateTrigger.process(inputs[TRIGG_INPUT].getVoltage() / 2.0f);
const bool risingEdgeGate = gateTrigger.process(inputs[TRIGG_INPUT].getVoltage() / 2.0f, 0.1, 2.0);
const bool buttonTriggered = buttonTrigger.process(params[TRIGG_BUTTON_PARAM].getValue());
// can be triggered by either rising edge on trigger in, or a button press
if (risingEdgeGate || buttonTriggered) {
@@ -156,4 +156,4 @@ struct KickallWidget : ModuleWidget {
};
Model* modelKickall = createModel<Kickall, KickallWidget>("Kickall");
Model* modelKickall = createModel<Kickall, KickallWidget>("Kickall");

+ 1
- 1
src/Muxlicer.cpp View File

@@ -1120,7 +1120,7 @@ struct Mex : Module {
// gate in will convert non-gate signals to gates (via schmitt trigger)
// if input is present
if (inputs[GATE_IN_INPUT].isConnected()) {
gateInTrigger.process(inputs[GATE_IN_INPUT].getVoltage());
gateInTrigger.process(inputs[GATE_IN_INPUT].getVoltage(), 0.1, 2.0);
gate = gateInTrigger.isHigh();
}
// otherwise the main Muxlicer output clock (including divisions/multiplications)


+ 4
- 3
src/Rampage.cpp View File

@@ -220,7 +220,7 @@ struct Rampage : Module {
for (int c = 0; c < channels[part]; c += 4) {

// process SchmittTriggers
float_4 trig_mask = trigger_4[part][c / 4].process(in_trig[c / 4] / 2.0);
float_4 trig_mask = trigger_4[part][c / 4].process(in_trig[c / 4] / 2.0, 0.1, 2.0);
gate[part][c / 4] = ifelse(trig_mask, float_4::mask(), gate[part][c / 4]);
in[c / 4] = ifelse(gate[part][c / 4], 10.0f, in[c / 4]);

@@ -240,8 +240,9 @@ struct Rampage : Module {
float shape = params[SHAPE_A_PARAM + part].getValue();
out[part][c / 4] += shapeDelta(delta, rate, shape) * args.sampleTime;

float_4 rising = (in[c / 4] - out[part][c / 4]) > 1e-3f;
float_4 falling = (in[c / 4] - out[part][c / 4]) < -1e-3f;
float_4 rising = simd::ifelse(delta_gt_0, (in[c / 4] - out[part][c / 4]) > 1e-3f, float_4::zero());
float_4 falling = simd::ifelse(delta_lt_0, (in[c / 4] - out[part][c / 4]) < -1e-3f, float_4::zero());

float_4 end_of_cycle = simd::andnot(falling, delta_lt_0);

endOfCyclePulse[part][c / 4].trigger(end_of_cycle, 1e-3);


Loading…
Cancel
Save