Checkpoint
This commit is contained in:
+35
-5
@@ -682,6 +682,15 @@ JSON_MAP_REFERENCE(Vst3ControlChangedBody, value)
|
|||||||
JSON_MAP_REFERENCE(Vst3ControlChangedBody, state)
|
JSON_MAP_REFERENCE(Vst3ControlChangedBody, state)
|
||||||
JSON_MAP_END()
|
JSON_MAP_END()
|
||||||
|
|
||||||
|
class PiPedalSocketHandler;
|
||||||
|
namespace {
|
||||||
|
using PfnMessageHandler = void (PiPedalSocketHandler::*)(int replyTo, json_reader *pReader);
|
||||||
|
|
||||||
|
inline static unordered_map<std::string, PfnMessageHandler> socket_messageHandlers;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
class PiPedalSocketHandler : public SocketHandler, public IPiPedalModelSubscriber, public std::enable_shared_from_this<PiPedalSocketHandler>
|
class PiPedalSocketHandler : public SocketHandler, public IPiPedalModelSubscriber, public std::enable_shared_from_this<PiPedalSocketHandler>
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -1161,6 +1170,26 @@ public:
|
|||||||
|
|
||||||
/***********************/
|
/***********************/
|
||||||
|
|
||||||
|
class MessageRegistration {
|
||||||
|
public:
|
||||||
|
MessageRegistration(const std::string&messageName,PfnMessageHandler pfnMessageHandler ) {
|
||||||
|
socket_messageHandlers[messageName] = pfnMessageHandler;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#define REGISTER_MESSAGE_HANDLER(MESSAGE_NAME) \
|
||||||
|
static inline MessageRegistration r_##MESSAGE_NAME{#MESSAGE_NAME,&PiPedalSocketHandler::handle_##MESSAGE_NAME};
|
||||||
|
|
||||||
|
void handle_setControl(int replyTo, json_reader*pReader) {
|
||||||
|
ControlChangedBody message;
|
||||||
|
pReader->read(&message);
|
||||||
|
this->model.SetControl(message.clientId_, message.instanceId_, message.symbol_, message.value_);
|
||||||
|
|
||||||
|
}
|
||||||
|
static inline MessageRegistration r_xxx{ "setControl", &PiPedalSocketHandler::handle_setControl};
|
||||||
|
REGISTER_MESSAGE_HANDLER(setControl)
|
||||||
|
|
||||||
|
|
||||||
void handleMessage(int reply, int replyTo, const std::string &message, json_reader *pReader)
|
void handleMessage(int reply, int replyTo, const std::string &message, json_reader *pReader)
|
||||||
{
|
{
|
||||||
if (reply != -1)
|
if (reply != -1)
|
||||||
@@ -1201,13 +1230,14 @@ public:
|
|||||||
{
|
{
|
||||||
this->SendError(replyTo, "Server has shut down.");
|
this->SendError(replyTo, "Server has shut down.");
|
||||||
}
|
}
|
||||||
if (message == "setControl")
|
|
||||||
|
auto ffHandler = socket_messageHandlers.find(message);
|
||||||
|
if (ffHandler != socket_messageHandlers.end())
|
||||||
{
|
{
|
||||||
ControlChangedBody message;
|
(this->*(ffHandler->second))(replyTo,pReader);
|
||||||
pReader->read(&message);
|
return;
|
||||||
this->model.SetControl(message.clientId_, message.instanceId_, message.symbol_, message.value_);
|
|
||||||
}
|
}
|
||||||
else if (message == "previewControl")
|
if (message == "previewControl")
|
||||||
{
|
{
|
||||||
ControlChangedBody message;
|
ControlChangedBody message;
|
||||||
pReader->read(&message);
|
pReader->read(&message);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
import { Pedalboard, ControlValue } from "./Pedalboard.tsx";
|
import { Pedalboard, ControlValue } from "./Pedalboard.tsx";
|
||||||
import JackServerSettings from "./JackServerSettings.tsx";
|
|
||||||
import JackConfiguration from "./Jack.tsx";
|
import JackConfiguration from "./Jack.tsx";
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -64,8 +64,6 @@ interface ChannelRouterSettingsPreset {
|
|||||||
settings: ChannelRouterSettings;
|
settings: ChannelRouterSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
let LEFT_LEFT_PRESET_ID = -2;
|
|
||||||
let RIGHT_STEREO_PRESET_ID = -3;
|
|
||||||
|
|
||||||
let channelRouterPresets: ChannelRouterSettingsPreset[] = [
|
let channelRouterPresets: ChannelRouterSettingsPreset[] = [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user