MCPcopy Create free account
hub / github.com/VCVRack/Rack / getModelFallback

Function getModelFallback

src/plugin.cpp:444–470  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

442
443
444Model* getModelFallback(const std::string& pluginSlug, const std::string& modelSlug) {
445 if (pluginSlug.empty() || modelSlug.empty())
446 return NULL;
447
448 // Attempt exact plugin and model
449 Model* m = getModel(pluginSlug, modelSlug);
450 if (m)
451 return m;
452
453 // Attempt fallback module
454 auto it = moduleSlugFallbacks.find(std::make_tuple(pluginSlug, modelSlug));
455 if (it != moduleSlugFallbacks.end()) {
456 Model* m = getModel(std::get<0>(it->second), std::get<1>(it->second));
457 if (m)
458 return m;
459 }
460
461 // Attempt fallback plugin
462 auto it2 = pluginSlugFallbacks.find(pluginSlug);
463 if (it2 != pluginSlugFallbacks.end()) {
464 Model* m = getModel(it2->second, modelSlug);
465 if (m)
466 return m;
467 }
468
469 return NULL;
470}
471
472
473Model* modelFromJson(json_t* moduleJ) {

Callers 1

modelFromJsonFunction · 0.85

Calls 2

getModelFunction · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected