Skip to content

Commit 5034f85

Browse files
committed
Update Hypnotoad API
1 parent 4adda9a commit 5034f85

File tree

2 files changed

+40
-11
lines changed

2 files changed

+40
-11
lines changed

BardMusicPlayer.DalamudBridge/Helper/Dalamud/DalamudServer.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,14 @@ internal sealed class DalamudServer : IDisposable
3434
private readonly ConcurrentDictionary<int, string> _clients;
3535
private readonly PipeServer<Message> _pipe;
3636

37+
private readonly Version minVersion = new Version("0.0.1.8");
38+
3739
/// <summary>
3840
/// </summary>
3941
internal DalamudServer()
4042
{
4143
_clients = new ConcurrentDictionary<int, string>();
42-
_pipe = new PipeServer<Message>("LightAmp-DalamudBridge", new NewtonsoftJsonFormatter());
44+
_pipe = new PipeServer<Message>("Hypnotoad", new NewtonsoftJsonFormatter());
4345
_pipe.ClientConnected += OnConnected;
4446
_pipe.ClientDisconnected += OnDisconnected;
4547
_pipe.MessageReceived += OnMessage;
@@ -254,6 +256,28 @@ private void OnMessage(object? sender, ConnectionMessageEventArgs<Message?> e)
254256
Debug.WriteLine($"Dalamud client Id {e.Connection.PipeName} {t} connected");
255257
break;
256258
}
259+
case MessageType.Version:
260+
try
261+
{
262+
var t = inMsg.message;
263+
var pid = Convert.ToInt32(t.Split(':')[0]);
264+
var version = new Version(t.Split(':')[1]);
265+
if (version < minVersion)
266+
{
267+
_pipe.ConnectedClients.FirstOrDefault(x => x.PipeName == _clients[pid] && x.IsConnected)?.WriteAsync(
268+
new Message
269+
{
270+
msgType = MessageType.Version,
271+
message = minVersion.ToString()
272+
});
273+
}
274+
}
275+
catch
276+
{
277+
// ignored
278+
}
279+
280+
break;
257281
case MessageType.SetGfx:
258282
try
259283
{

BardMusicPlayer.DalamudBridge/Helper/Dalamud/MessageEnums.cs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,19 @@
22

33
public enum MessageType
44
{
5-
None,
6-
Handshake,
7-
Chat,
8-
Instrument,
9-
AcceptReply,
10-
SetGfx,
11-
StartEnsemble,
12-
NoteOn,
13-
NoteOff,
14-
ProgramChange
5+
None = 0,
6+
Handshake = 1,
7+
Version = 2,
8+
9+
SetGfx = 10,
10+
11+
Instrument = 20,
12+
NoteOn = 21,
13+
NoteOff = 22,
14+
ProgramChange = 23,
15+
16+
StartEnsemble = 30,
17+
AcceptReply = 31,
18+
19+
Chat = 40
1520
}

0 commit comments

Comments
 (0)