Send screenshot to remote instance
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
fff4d6f61d
commit
be0ae63541
3 changed files with 30 additions and 5 deletions
|
@ -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)
|
if (std::strcmp(key, "comment") == 0)
|
||||||
return fStateText;
|
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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue