| 620 | } |
| 621 | |
| 622 | void dataFromJson(json_t* const rootJ) override |
| 623 | { |
| 624 | if (fCarlaHostHandle == nullptr) |
| 625 | return; |
| 626 | |
| 627 | const char* const projectState = json_string_value(rootJ); |
| 628 | DISTRHO_SAFE_ASSERT_RETURN(projectState != nullptr,); |
| 629 | |
| 630 | CarlaEngine* const engine = carla_get_engine_from_handle(fCarlaHostHandle); |
| 631 | |
| 632 | water::XmlDocument xmlState{water::String(projectState)}; |
| 633 | |
| 634 | { |
| 635 | const MutexLocker cml(sPluginInfoLoadMutex); |
| 636 | engine->loadProjectInternal(xmlState, true); |
| 637 | } |
| 638 | |
| 639 | projectLoadedFromDSP(fUI); |
| 640 | } |
| 641 | |
| 642 | void process(const ProcessArgs& args) override |
| 643 | { |
no test coverage detected