poly_channels.hpp (641B)
1 #pragma once 2 3 #include "bogaudio.hpp" 4 5 using namespace rack; 6 7 namespace bogaudio { 8 9 struct PolyChannelsModule : BGModule { 10 int _polyChannels = 1; 11 12 json_t* saveToJson(json_t* root) override; 13 void loadFromJson(json_t* root) override; 14 }; 15 16 struct PolyChannelsMenuItem : MenuItem { 17 PolyChannelsModule* _module; 18 int _maxChannels; 19 20 PolyChannelsMenuItem(PolyChannelsModule* module, int maxChannels = 16, const char* label = "Polyphony channels") 21 : _module(module) 22 { 23 _maxChannels = clamp(maxChannels, 1, BGModule::maxChannels); 24 this->text = label; 25 } 26 27 Menu* createChildMenu() override; 28 void step() override; 29 }; 30 31 } // namespace bogaudio