AnalyzerXL.hpp (1268B)
1 #pragma once 2 3 #include "bogaudio.hpp" 4 #include "analyzer_base.hpp" 5 6 extern Model* modelAnalyzerXL; 7 8 namespace bogaudio { 9 10 struct AnalyzerXL : AnalyzerBase { 11 enum ParamsIds { 12 NUM_PARAMS 13 }; 14 15 enum InputsIds { 16 SIGNALA_INPUT, 17 SIGNALB_INPUT, 18 SIGNALC_INPUT, 19 SIGNALD_INPUT, 20 SIGNALE_INPUT, 21 SIGNALF_INPUT, 22 SIGNALG_INPUT, 23 SIGNALH_INPUT, 24 NUM_INPUTS 25 }; 26 27 enum OutputsIds { 28 NUM_OUTPUTS 29 }; 30 31 float _sampleRate = 1000.0f; 32 float _smooth = 0.25f; 33 AnalyzerCore::Quality _quality = AnalyzerCore::QUALITY_GOOD; 34 AnalyzerCore::Window _window = AnalyzerCore::WINDOW_KAISER; 35 36 AnalyzerXL() : AnalyzerBase(8, NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS) { 37 configInput(SIGNALA_INPUT, "Signal A"); 38 configInput(SIGNALB_INPUT, "Signal B"); 39 configInput(SIGNALC_INPUT, "Signal C"); 40 configInput(SIGNALD_INPUT, "Signal D"); 41 configInput(SIGNALE_INPUT, "Signal E"); 42 configInput(SIGNALF_INPUT, "Signal F"); 43 configInput(SIGNALG_INPUT, "Signal G"); 44 configInput(SIGNALH_INPUT, "Signal H"); 45 46 _skinnable = false; 47 } 48 49 void reset() override; 50 void sampleRateChange() override; 51 json_t* saveToJson(json_t* root) override; 52 void loadFromJson(json_t* root) override; 53 void modulate() override; 54 void processAll(const ProcessArgs& args) override; 55 }; 56 57 } // namespace bogaudio