|
@@ -9,6 +9,7 @@
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
#include "OSCReceiverWrapper.h"
|
|
#include "OSCReceiverWrapper.h"
|
|
|
|
|
+#include <windows.h>
|
|
|
|
|
|
|
|
OSCReceiverWrapper::OSCReceiverWrapper(int port, juce::AudioProcessor* pluginProcessor) {
|
|
OSCReceiverWrapper::OSCReceiverWrapper(int port, juce::AudioProcessor* pluginProcessor) {
|
|
|
this->pluginProcessor = (CMLSProjectAudioProcessor*)pluginProcessor;
|
|
this->pluginProcessor = (CMLSProjectAudioProcessor*)pluginProcessor;
|
|
@@ -16,15 +17,52 @@ OSCReceiverWrapper::OSCReceiverWrapper(int port, juce::AudioProcessor* pluginPro
|
|
|
if (!this->connect(port)) {
|
|
if (!this->connect(port)) {
|
|
|
this->oscConnectionError();
|
|
this->oscConnectionError();
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // Declaring the listeners for the iDraw OSC paths
|
|
|
|
|
+ addListener(this, "/r");
|
|
|
|
|
+ addListener(this, "/g");
|
|
|
|
|
+ addListener(this, "/b");
|
|
|
|
|
+ addListener(this, "/a");
|
|
|
|
|
+ addListener(this, "/pen");
|
|
|
|
|
+ addListener(this, "/pencil");
|
|
|
|
|
+ addListener(this, "/marker");
|
|
|
|
|
+ addListener(this, "/monoline");
|
|
|
|
|
+ addListener(this, "/crayon");
|
|
|
|
|
+ addListener(this, "/fountainPen");
|
|
|
|
|
+ addListener(this, "/waterColor");
|
|
|
|
|
+ addListener(this, "/bitmapEraser");
|
|
|
|
|
+ addListener(this, "/vectorEraser");
|
|
|
|
|
+ addListener(this, "/canvasWidth");
|
|
|
|
|
+ addListener(this, "/canvasHeight");
|
|
|
|
|
+ addListener(this, "/drawingWidth");
|
|
|
|
|
+ addListener(this, "/eraserWidth");
|
|
|
|
|
+ addListener(this, "/x");
|
|
|
|
|
+ addListener(this, "/y");
|
|
|
|
|
+ addListener(this, "/pressure");
|
|
|
|
|
+ addListener(this, "/aspectX");
|
|
|
|
|
+ addListener(this, "/aspectY");
|
|
|
|
|
+
|
|
|
|
|
+ std::string test = "Connection opened\n";
|
|
|
|
|
+ OutputDebugString(test.c_str());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
OSCReceiverWrapper::~OSCReceiverWrapper() {}
|
|
OSCReceiverWrapper::~OSCReceiverWrapper() {}
|
|
|
|
|
|
|
|
void OSCReceiverWrapper::oscMessageReceived(const juce::OSCMessage& message)
|
|
void OSCReceiverWrapper::oscMessageReceived(const juce::OSCMessage& message)
|
|
|
{
|
|
{
|
|
|
|
|
+ std::string debugString = "=== OSC Message at address: " + message.getAddressPattern().toString().toStdString() + " ===\n";
|
|
|
|
|
+ OutputDebugString(debugString.c_str());
|
|
|
|
|
+
|
|
|
if (!message.isEmpty() && message.size() == 1) {
|
|
if (!message.isEmpty() && message.size() == 1) {
|
|
|
auto address = message.getAddressPattern().toString();
|
|
auto address = message.getAddressPattern().toString();
|
|
|
- auto argument = message[0].getFloat32();
|
|
|
|
|
|
|
+ float argument = 0.0;
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ argument = message[0].getFloat32();
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (const std::exception e) {
|
|
|
|
|
+ return; // Bypass packet intepretation because the argument is not a float
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
if (address == "/r") {
|
|
if (address == "/r") {
|
|
|
// Unused
|
|
// Unused
|
|
@@ -42,7 +80,7 @@ void OSCReceiverWrapper::oscMessageReceived(const juce::OSCMessage& message)
|
|
|
else if (address == "/pen") {
|
|
else if (address == "/pen") {
|
|
|
// Unused
|
|
// Unused
|
|
|
}
|
|
}
|
|
|
- else if (address == "/pencil") {
|
|
|
|
|
|
|
+ else if (address == "/pencil" && argument == 1.0) {
|
|
|
this->currentPreset = Preset::PENCIL;
|
|
this->currentPreset = Preset::PENCIL;
|
|
|
}
|
|
}
|
|
|
else if (address == "/marker") {
|
|
else if (address == "/marker") {
|
|
@@ -51,13 +89,13 @@ void OSCReceiverWrapper::oscMessageReceived(const juce::OSCMessage& message)
|
|
|
else if (address == "/monoline") {
|
|
else if (address == "/monoline") {
|
|
|
// Unused
|
|
// Unused
|
|
|
}
|
|
}
|
|
|
- else if (address == "/crayon") {
|
|
|
|
|
|
|
+ else if (address == "/crayon" && argument == 1.0) {
|
|
|
this->currentPreset = Preset::CRAYON;
|
|
this->currentPreset = Preset::CRAYON;
|
|
|
}
|
|
}
|
|
|
else if (address == "/fountainPen") {
|
|
else if (address == "/fountainPen") {
|
|
|
// Preset #3
|
|
// Preset #3
|
|
|
}
|
|
}
|
|
|
- else if (address == "/waterColor") {
|
|
|
|
|
|
|
+ else if (address == "/waterColor" && argument == 1.0) {
|
|
|
this->currentPreset = Preset::WATERCOLOR;
|
|
this->currentPreset = Preset::WATERCOLOR;
|
|
|
}
|
|
}
|
|
|
else if (address == "/bitmapEraser") {
|
|
else if (address == "/bitmapEraser") {
|
|
@@ -91,8 +129,9 @@ void OSCReceiverWrapper::oscMessageReceived(const juce::OSCMessage& message)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void OSCReceiverWrapper::oscConnectionError()
|
|
|
|
|
-{}
|
|
|
|
|
|
|
+void OSCReceiverWrapper::oscConnectionError() {
|
|
|
|
|
+ return;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
void OSCReceiverWrapper::processMessage() {
|
|
void OSCReceiverWrapper::processMessage() {
|
|
|
if (this->currentPreset == Preset::PENCIL) {
|
|
if (this->currentPreset == Preset::PENCIL) {
|