| 689 | } |
| 690 | |
| 691 | void ModuleWidget::save(std::string filename) { |
| 692 | INFO("Saving preset %s", filename.c_str()); |
| 693 | |
| 694 | json_t* moduleJ = toJson(); |
| 695 | assert(moduleJ); |
| 696 | DEFER({json_decref(moduleJ);}); |
| 697 | |
| 698 | engine::Module::jsonStripIds(moduleJ); |
| 699 | |
| 700 | FILE* file = std::fopen(filename.c_str(), "w"); |
| 701 | if (!file) { |
| 702 | std::string message = string::f("Could not save preset to file %s", filename.c_str()); |
| 703 | async_dialog_message(message.c_str()); |
| 704 | return; |
| 705 | } |
| 706 | DEFER({std::fclose(file);}); |
| 707 | |
| 708 | json_dumpf(moduleJ, file, JSON_INDENT(2)); |
| 709 | } |
| 710 | |
| 711 | void ModuleWidget::saveTemplate() { |
| 712 | std::string presetDir = model->getUserPresetDirectory(); |
no test coverage detected