1 #ifndef AL_PRESETSERVER_H
2 #define AL_PRESETSERVER_H
46 #include "al/ui/al_PresetHandler.hpp"
62 PresetServer(std::string oscAddress =
"127.0.0.1",
int oscPort = 9011);
92 void allowStore(
bool allow) { mAllowStore = allow; }
93 bool allowStore() {
return mAllowStore; }
98 mPresetHandlers.push_back(&presetHandler);
108 PresetServer &operator<<(PresetHandler &presetHandler) {
109 return registerPresetHandler(presetHandler);
112 void setAddress(std::string address);
113 std::string getAddress();
115 void notifyPresetChange(
bool notify) { mNotifyPresetChange = notify; }
117 void attachPacketHandler(osc::PacketHandler *handler);
120 static void changeCallback(
int value,
void *sender,
void *userData);
124 std::vector<PresetHandler *> mPresetHandlers;
126 std::string mOSCpath;
127 std::mutex mHandlerLock;
128 std::vector<osc::PacketHandler *> mHandlers;
131 bool mNotifyPresetChange;
133 std::mutex mPresetChangeLock;
134 std::string mPresetChangeSenderAddr;
136 std::vector<std::string> mDisabledListeners;
138 ParameterServer *mParameterServer;
void notifyListeners(std::string OSCaddress, float value, ValueSource *src=nullptr)
Notify the listeners of value changes.
The ParameterServer class creates an OSC server to receive parameter values.
The PresetHandler class handles sorting and recalling of presets.
void registerPresetCallback(std::function< void(int index, void *sender, void *userData)> cb, void *userData=nullptr)
Register a callback to be notified when a preset is loaded.
void registerMorphTimeCallback(Parameter::ParameterChangeCallback cb)
Register a callback to be notified when morph time parameter is changed.
void print()
print prints information about the server to std::out
PresetServer(ParameterServer ¶mServer)
using this constructor reuses the existing osc::Recv server from the ParameterServer object
PresetServer(std::string oscAddress="127.0.0.1", int oscPort=9011)
PresetServer constructor.
void stopServer()
stopServer stops the OSC server thread. Calling this function is sometimes required when this object ...
virtual void onMessage(osc::Message &m)
Called for each message contained in packet.