BogaudioModules

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

trigger_on_load.cpp (915B)


      1 
      2 #include "trigger_on_load.hpp"
      3 
      4 using namespace bogaudio;
      5 
      6 #define TRIGGER_ON_LOAD "triggerOnLoad"
      7 #define SHOULD_TRIGGER_ON_LOAD "shouldTriggerOnLoad"
      8 
      9 json_t* TriggerOnLoadModule::saveToJson(json_t* root) {
     10 	json_object_set_new(root, TRIGGER_ON_LOAD, json_boolean(_triggerOnLoad));
     11 	json_object_set_new(root, SHOULD_TRIGGER_ON_LOAD, json_boolean(shouldTriggerOnNextLoad()));
     12 	return root;
     13 }
     14 
     15 void TriggerOnLoadModule::loadFromJson(json_t* root) {
     16 	json_t* tol = json_object_get(root, TRIGGER_ON_LOAD);
     17 	if (tol) {
     18 		_triggerOnLoad = json_is_true(tol);
     19 	}
     20 	json_t* stol = json_object_get(root, SHOULD_TRIGGER_ON_LOAD);
     21 	if (stol) {
     22 		_shouldTriggerOnLoad = json_is_true(stol);
     23 	}
     24 }
     25 
     26 
     27 void TriggerOnLoadModuleWidget::contextMenu(Menu* menu) {
     28 	auto m = dynamic_cast<TriggerOnLoadModule*>(module);
     29 	assert(m);
     30 	menu->addChild(new BoolOptionMenuItem(_menuItemLabel.c_str(), [m]() { return &m->_triggerOnLoad; }));
     31 }