|
- #pragma once
-
- #include "bogaudio.hpp"
- #include "dsp/signal.hpp"
-
- using namespace bogaudio::dsp;
-
- extern Model* modelMute8;
-
- namespace bogaudio {
-
- struct Mute8 : Module {
- enum ParamsIds {
- MUTE1_PARAM,
- MUTE2_PARAM,
- MUTE3_PARAM,
- MUTE4_PARAM,
- MUTE5_PARAM,
- MUTE6_PARAM,
- MUTE7_PARAM,
- MUTE8_PARAM,
- NUM_PARAMS
- };
-
- enum InputsIds {
- INPUT1_INPUT,
- INPUT2_INPUT,
- INPUT3_INPUT,
- INPUT4_INPUT,
- INPUT5_INPUT,
- INPUT6_INPUT,
- INPUT7_INPUT,
- INPUT8_INPUT,
- MUTE1_INPUT,
- MUTE2_INPUT,
- MUTE3_INPUT,
- MUTE4_INPUT,
- MUTE5_INPUT,
- MUTE6_INPUT,
- MUTE7_INPUT,
- MUTE8_INPUT,
- NUM_INPUTS
- };
-
- enum OutputsIds {
- OUTPUT1_OUTPUT,
- OUTPUT2_OUTPUT,
- OUTPUT3_OUTPUT,
- OUTPUT4_OUTPUT,
- OUTPUT5_OUTPUT,
- OUTPUT6_OUTPUT,
- OUTPUT7_OUTPUT,
- OUTPUT8_OUTPUT,
- NUM_OUTPUTS
- };
-
- enum LightsIds {
- MUTE1_LIGHT,
- MUTE2_LIGHT,
- MUTE3_LIGHT,
- MUTE4_LIGHT,
- MUTE5_LIGHT,
- MUTE6_LIGHT,
- MUTE7_LIGHT,
- MUTE8_LIGHT,
- NUM_LIGHTS
- };
-
- static const float maxDecibels;
- static const float minDecibels;
- static const float slewTimeMS;
-
- Amplifier _amplifiers[8];
- SlewLimiter _slewLimiters[8];
- Trigger _triggers[8];
-
- Mute8() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
- onReset();
- onSampleRateChange();
- }
-
- void onReset() override;
- void onSampleRateChange() override;
- void step() override;
- void stepChannel(int i);
- };
-
- } // namespace bogaudio
|