6xHrmrphCtrl

controller for the range counter modules
Author: Remco van der Most
License: BSD
Github: sss/osc/6xHrmrphCtrl.axo

Inlets

None

Outlets

int32.positive output

frac32 value

bool32.pulse change

Parameters

frac32.u.map select

frac32.s.map Change

Displays

bool32 FMW

bool32 Walk

bool32 SpreadMain

bool32 Spread1

bool32 Spread2

bool32 SpreadExpo

bool32 AM

bool32 Step1

bool32 Step2

bool32 Range

bool32 Minimum

bool32 Algo

bool32 ShiftStep

bool32 ShiftHalf

bool32 ShiftSeconds

bool32 ShiftThirds

Declaration
int ptrig;
int32_t pval;
Init
ptrig = 0;
pval = 0;
Control Rate
int r = (param_select) >> 23;

outlet_select = r;
outlet_value = param_Change;

if ((pval != param_Change) & (!ptrig)) {
  outlet_change = 1;
  pval = param_Change;
  ptrig = 1;
} else {
  ptrig = 0;
  outlet_change = 0;
}

disp_FMW = (r == 0) ? 1 : 0;
disp_Walk = (r == 1) ? 1 : 0;
disp_SpreadMain = (r == 2) ? 1 : 0;
disp_Spread1 = (r == 3) ? 1 : 0;
disp_Spread2 = (r == 4) ? 1 : 0;
disp_SpreadExpo = (r == 5) ? 1 : 0;
disp_AM = (r == 6) ? 1 : 0;
disp_Step1 = (r == 7) ? 1 : 0;
disp_Step2 = (r == 8) ? 1 : 0;
disp_Range = (r == 9) ? 1 : 0;
disp_Minimum = (r == 10) ? 1 : 0;
disp_Algo = (r == 11) ? 1 : 0;
disp_ShiftStep = (r == 12) ? 1 : 0;
disp_ShiftHalf = (r == 13) ? 1 : 0;
disp_ShiftSeconds = (r == 14) ? 1 : 0;
disp_ShiftThirds = (r == 15) ? 1 : 0;

Privacy

© 2024 Zrna Research