OSCReceiverWrapper.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. ==============================================================================
  3. OSCReceiverWrapper.h
  4. Created: 5 May 2025 2:34:15pm
  5. Author: Luigi
  6. ==============================================================================
  7. */
  8. #pragma once
  9. #include <JuceHeader.h>
  10. #include "PluginProcessor.h"
  11. #define MINEQBANDGAIN -60.0f
  12. #define MAXEQBANDGAIN 20.0f
  13. #define MINDISTORTIONDRIVE 1.0f
  14. #define MAXDISTORTIONDRIVE 15.0f
  15. enum Preset {
  16. NONE,
  17. PENCIL,
  18. CRAYON,
  19. FOUNTAINPEN,
  20. PEN,
  21. MARKER,
  22. MONOLINE,
  23. WATERCOLOR
  24. };
  25. class OSCReceiverWrapper : public juce::Component,
  26. private juce::OSCReceiver,
  27. private juce::OSCReceiver::ListenerWithOSCAddress<juce::OSCReceiver::MessageLoopCallback>
  28. {
  29. public:
  30. OSCReceiverWrapper(int port, juce::AudioProcessorValueTreeState* apvts);
  31. ~OSCReceiverWrapper();
  32. void oscMessageReceived(const juce::OSCMessage& message) override;
  33. void oscConnectionError();
  34. void processMessage();
  35. private:
  36. enum Preset currentPreset = NONE;
  37. float x;
  38. float y;
  39. float aspectX;
  40. float aspectY;
  41. float pressure;
  42. float thickness;
  43. juce::AudioProcessorValueTreeState* apvts;
  44. juce::NormalisableRange<float>* eqGainRange;
  45. juce::NormalisableRange<float>* distortionDriveRange;
  46. };