BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

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