Signed-off-by: falkTX <falktx@falktx.com>tags/22.02
@@ -60,5 +60,6 @@ bool isRemoteConnected(); | |||||
bool isRemoteAutoDeployed(); | bool isRemoteAutoDeployed(); | ||||
void setRemoteAutoDeploy(bool autoDeploy); | void setRemoteAutoDeploy(bool autoDeploy); | ||||
void deployToRemote(); | void deployToRemote(); | ||||
void sendScreenshotToRemote(const char* screenshot); | |||||
} // namespace patchUtils | } // namespace patchUtils |
@@ -396,7 +396,8 @@ class CardinalPlugin : public CardinalBasePlugin | |||||
std::string fAutosavePath; | std::string fAutosavePath; | ||||
uint64_t fPreviousFrame; | uint64_t fPreviousFrame; | ||||
String fStateText; | |||||
String fStateComment; | |||||
String fStateScreenshot; | |||||
String fWindowSize; | String fWindowSize; | ||||
#ifndef HEADLESS | #ifndef HEADLESS | ||||
@@ -767,8 +768,10 @@ protected: | |||||
return fWindowSize; | return fWindowSize; | ||||
#endif | #endif | ||||
if (std::strcmp(key, "text") == 0) | |||||
return fStateText; | |||||
if (std::strcmp(key, "comment") == 0) | |||||
return fStateComment; | |||||
if (std::strcmp(key, "screenshot") == 0) | |||||
return fStateScreenshot; | |||||
if (std::strcmp(key, "patch") != 0) | if (std::strcmp(key, "patch") != 0) | ||||
return String(); | return String(); | ||||
@@ -803,9 +806,18 @@ protected: | |||||
} | } | ||||
#endif | #endif | ||||
if (std::strcmp(key, "text") == 0) | |||||
if (std::strcmp(key, "comment") == 0) | |||||
{ | { | ||||
fStateText = value; | |||||
fStateComment = value; | |||||
return; | |||||
} | |||||
if (std::strcmp(key, "screenshot") == 0) | |||||
{ | |||||
fStateScreenshot = value; | |||||
#if defined(HAVE_LIBLO) && defined(HEADLESS) | |||||
patchUtils::sendScreenshotToRemote(value); | |||||
#endif | |||||
return; | return; | ||||
} | } | ||||
@@ -341,6 +341,7 @@ void Scene::onHoverKey(const HoverKeyEvent& e) { | |||||
} | } | ||||
if (e.key == GLFW_KEY_F7 && (e.mods & RACK_MOD_MASK) == 0) { | if (e.key == GLFW_KEY_F7 && (e.mods & RACK_MOD_MASK) == 0) { | ||||
patchUtils::deployToRemote(); | patchUtils::deployToRemote(); | ||||
window::generateScreenshot(); | |||||
e.consume(this); | e.consume(this); | ||||
} | } | ||||
if (e.key == GLFW_KEY_F9 && (e.mods & RACK_MOD_MASK) == 0) { | if (e.key == GLFW_KEY_F9 && (e.mods & RACK_MOD_MASK) == 0) { | ||||
@@ -543,4 +544,15 @@ void deployToRemote() { | |||||
} | } | ||||
void sendScreenshotToRemote(const char* const screenshot) { | |||||
#ifdef HAVE_LIBLO | |||||
const lo_address addr = lo_address_new_with_proto(LO_UDP, REMOTE_HOST, REMOTE_HOST_PORT); | |||||
DISTRHO_SAFE_ASSERT_RETURN(addr != nullptr,); | |||||
lo_send(addr, "/screenshot", "s", screenshot); | |||||
lo_address_free(addr); | |||||
#endif | |||||
} | |||||
} // namespace patchUtils | } // namespace patchUtils |