master_clock/include/Mod.h

39 lines
606 B
C++

// Mod.h
#ifndef Mod_h
#define Mod_h
#include <cstdint>
class Gate;
enum ModDest {
DEST_LEVEL = 0,
DEST_PROBABILITY = 1,
DEST_WIDTH = 2,
DEST_COUNT = 3
};
struct ModSlot {
uint8_t sourceIdx;
uint8_t destIdx;
uint8_t destParam;
uint8_t amount;
uint8_t active;
uint8_t inverted;
uint8_t reserved1;
uint8_t reserved2;
};
class ModMatrix {
public:
ModSlot slots[16];
void patch(uint8_t slotIdx, uint8_t src, uint8_t dest, ModDest param,
float amt, bool active);
void process(Gate **gates, uint8_t gateCount);
void clearPatch(uint8_t slotIdx);
;
};
#endif