PEQ14_shared.hpp (1246B)
1 #pragma once 2 3 #include "bogaudio.hpp" 4 #include "expanders.hpp" 5 #include "parametric_eq.hpp" 6 7 extern Model* modelPEQ14; 8 extern Model* modelPEQ14XF; 9 extern Model* modelPEQ14XR; 10 extern Model* modelPEQ14XV; 11 12 namespace bogaudio { 13 14 struct PEQ14ExpanderMessage : ExpanderMessage { 15 bool valid = false; 16 float outs[BGModule::maxChannels][14]; 17 float frequencies[BGModule::maxChannels][14]; 18 float bandwidths[BGModule::maxChannels]; 19 bool lowLP = false; 20 bool highHP = false; 21 22 PEQ14ExpanderMessage() { 23 reset(); 24 } 25 26 void reset() { 27 valid = false; 28 const int n = BGModule::maxChannels * 14; 29 std::fill((float*)outs, (float*)outs + n, 0.0f); 30 std::fill((float*)frequencies, (float*)frequencies + n, 0.0f); 31 std::fill((float*)bandwidths, (float*)bandwidths + BGModule::maxChannels, 0.0f); 32 lowLP = false; 33 highHP = false; 34 } 35 36 void copyTo(PEQ14ExpanderMessage* o) { 37 o->valid = valid; 38 const int n = BGModule::maxChannels * 14; 39 std::copy((float*)outs, (float*)outs + n, (float*)o->outs); 40 std::copy((float*)frequencies, (float*)frequencies + n, (float*)o->frequencies); 41 std::copy((float*)bandwidths, (float*)bandwidths + BGModule::maxChannels, (float*)o->bandwidths); 42 o->lowLP = lowLP; 43 o->highHP = highHP; 44 } 45 }; 46 47 } // namespace bogaudio