From d6f0ba3d592d52580d0b8e2829d1c3d2d88d831c Mon Sep 17 00:00:00 2001 From: Janis Streib <me@janis-streib.de> Date: Tue, 25 Jan 2022 02:25:42 +0100 Subject: [PATCH] ADD: textmode --- src/G4Export.cpp | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/G4Export.cpp b/src/G4Export.cpp index 53f0527..2908ae6 100644 --- a/src/G4Export.cpp +++ b/src/G4Export.cpp @@ -10,12 +10,15 @@ #include "clipp.h" #include <ip/UdpSocket.h> #include <osc/OscOutboundPacketStream.h> +#include <sstream> + using namespace clipp; using std::cout; using std::string; #define OUTPUT_BUFFER_SIZE 512 int RunCollect=0; std::unique_ptr<UdpTransmitSocket> transmitSocket; +bool use_text = false; void* Collect(REND_STRUCT* prs){ @@ -47,14 +50,26 @@ char buffer[OUTPUT_BUFFER_SIZE]; osc::OutboundPacketStream p( buffer, OUTPUT_BUFFER_SIZE ); - p << osc::BeginBundleImmediate; + if(!use_text) { + p << osc::BeginBundleImmediate; + } for (int i=0;i<prs->numHub;i++){ auto dat = prs->hubList[i].GetPnoData()[0]; //printf("sns: %i: [%f;%f;%f],[%f,%f,%f]\n",i, dat[0],dat[1],dat[2], dat[3],dat[4],dat[5]); - p << osc::BeginMessage( (string("/hub/") + std::to_string(i)).c_str() ) - << dat[0] << dat[1] << dat[2] << dat[3] << dat[4] << dat[5] << osc::EndMessage; + p << osc::BeginMessage( (string("/hub/") + std::to_string(i)).c_str() ); + std::ostringstream ss; + if(use_text) { + ss << "[" << dat[0] << "," << dat[1] << "," << dat[2] << "," << dat[3] << "," << dat[4] << "," << dat[5] << "]"; + auto res = ss.str(); + p << res.c_str(); + } else { + p << dat[0] << dat[1] << dat[2] << dat[3] << dat[4] << dat[5]; + } + p << osc::EndMessage; } - p << osc::EndBundle; + if(!use_text) { + p << osc::EndBundle; + } transmitSocket->Send( p.Data(), p.Size() ); usleep(15000); // usleep(8000); @@ -72,6 +87,7 @@ int oscSinkPort; auto cli = ( + option("-t", "--text").set(use_text).doc("send strings in osc messages instead of a float bundle"), value("c4g configuration file", cfgFile), value("osc sink address", oscSinkAddr), integer("osc sink port", oscSinkPort) -- Gitblit v1.9.1