Mema
Memory Matrix — multi-channel audio matrix monitor and router
Loading...
Searching...
No Matches
Mema::ADMOSController Class Reference

Receives ADM-OSC UDP packets and translates them into panning position and mute updates. More...

#include <ADMOSController.h>

+ Inheritance diagram for Mema::ADMOSController:
+ Collaboration diagram for Mema::ADMOSController:

Classes

struct  ADMOSCParameter
 
class  ADMOSCParameterChangedMessage
 
struct  ADMOSCParameterMute
 
struct  ADMOSCParameterWidth
 
struct  ADMOSCParameterX
 
struct  ADMOSCParameterXY
 
struct  ADMOSCParameterXYZ
 
struct  ADMOSCParameterY
 
struct  ADMOSCParameterZ
 

Public Types

enum  ADMOSCParameterChangeTarget {
  None ,
  Internal ,
  External
}
 
enum  ADMOSCParameterType {
  Empty = 0 ,
  X ,
  Y ,
  Z ,
  XY ,
  XYZ ,
  Width ,
  Mute
}
 

Public Member Functions

 ADMOSController ()
 
 ~ADMOSController ()
 
bool startConnection (int oscPort, juce::IPAddress targetIP, int targetPort)
 
void setNumObjects (int numObjects)
 
void setParameter (int objNum, const ADMOSCParameter &param, const ADMOSCParameterChangeTarget &pct=ADMOSCParameterChangeTarget::None)
 
ADMOSCParameter getParameter (int objNum, std::uint16_t type)
 
void oscMessageReceived (const juce::OSCMessage &message) override
 
void oscBundleReceived (const juce::OSCBundle &bundle) override
 
void handleMessage (const Message &message) override
 

Public Attributes

std::function< void(int, std::uint16_t)> onParameterChanged
 

Protected Member Functions

const std::vector< int > getObjNumsFromObjIdent (const juce::String &objIdent)
 
bool sendParameterChange (int objNum, const ADMOSController::ADMOSCParameter &param)
 
const juce::OSCMessage getParameterAsOSCMessage (int objNum, const ADMOSController::ADMOSCParameter &param)
 

Detailed Description

Receives ADM-OSC UDP packets and translates them into panning position and mute updates.

Listens on a configurable UDP port for ADM-OSC messages (/adm/obj/n/x|y|z|xy|xyz|w|mute) and forwards decoded parameter values to registered callbacks, which are consumed by PanningControlComponent to drive TwoDFieldMultisliderComponent.

Definition at line 35 of file ADMOSController.h.

Member Enumeration Documentation

◆ ADMOSCParameterChangeTarget

Enumerator
None 
Internal 
External 

Definition at line 38 of file ADMOSController.h.

◆ ADMOSCParameterType

Enumerator
Empty 
XY 
XYZ 
Width 
Mute 

Definition at line 44 of file ADMOSController.h.

Constructor & Destructor Documentation

◆ ADMOSController()

Mema::ADMOSController::ADMOSController ( )

Definition at line 31 of file ADMOSController.cpp.

◆ ~ADMOSController()

Mema::ADMOSController::~ADMOSController ( )

Definition at line 40 of file ADMOSController.cpp.

Member Function Documentation

◆ getObjNumsFromObjIdent()

const std::vector< int > Mema::ADMOSController::getObjNumsFromObjIdent ( const juce::String &  objIdent)
protected

Definition at line 83 of file ADMOSController.cpp.

Referenced by oscMessageReceived().

◆ getParameter()

ADMOSController::ADMOSCParameter Mema::ADMOSController::getParameter ( int  objNum,
std::uint16_t  type 
)

Definition at line 191 of file ADMOSController.cpp.

References Empty.

Referenced by handleMessage().

◆ getParameterAsOSCMessage()

const juce::OSCMessage Mema::ADMOSController::getParameterAsOSCMessage ( int  objNum,
const ADMOSController::ADMOSCParameter param 
)
protected

◆ handleMessage()

void Mema::ADMOSController::handleMessage ( const Message &  message)
override

◆ oscBundleReceived()

void Mema::ADMOSController::oscBundleReceived ( const juce::OSCBundle &  bundle)
override

Definition at line 307 of file ADMOSController.cpp.

References oscBundleReceived(), and oscMessageReceived().

Referenced by oscBundleReceived().

◆ oscMessageReceived()

void Mema::ADMOSController::oscMessageReceived ( const juce::OSCMessage &  message)
override

Definition at line 269 of file ADMOSController.cpp.

References getObjNumsFromObjIdent(), Internal, and setParameter().

Referenced by oscBundleReceived().

◆ sendParameterChange()

bool Mema::ADMOSController::sendParameterChange ( int  objNum,
const ADMOSController::ADMOSCParameter param 
)
protected

Definition at line 209 of file ADMOSController.cpp.

References getParameterAsOSCMessage().

Referenced by handleMessage().

◆ setNumObjects()

void Mema::ADMOSController::setNumObjects ( int  numObjects)

Definition at line 72 of file ADMOSController.cpp.

References Mute, and X.

◆ setParameter()

◆ startConnection()

bool Mema::ADMOSController::startConnection ( int  oscPort,
juce::IPAddress  targetIP,
int  targetPort 
)

Definition at line 44 of file ADMOSController.cpp.

Member Data Documentation

◆ onParameterChanged

std::function<void(int, std::uint16_t)> Mema::ADMOSController::onParameterChanged

Definition at line 326 of file ADMOSController.h.

Referenced by handleMessage().


The documentation for this class was generated from the following files: