Skip to content

Commit 18f351d

Browse files
committed
Protobuf Specification of the DMXControl 3 Network for DMXControl 3.3.1
1 parent 351e3ad commit 18f351d

11 files changed

+101
-34
lines changed

Client/AudioClient.proto

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import "Common/Types/CommonTypes.proto";
88
option csharp_namespace = "UmbraClient";
99

1010
service AudioClient {
11-
12-
rpc RequestAllAudioMetadata(.LumosProtobuf.GetMultipleRequest) returns (.LumosProtobuf.AllAudioMetadataResponse);
13-
14-
rpc ControlAudio(.LumosProtobuf.ControlAudioRequest) returns (.LumosProtobuf.ConfirmedResponse);
15-
16-
}
17-
11+
rpc GetPlayerThreads (.LumosProtobuf.GetMultipleRequest) returns (.LumosProtobuf.Audio.GetPlayerThreadsResponse);
12+
rpc RequestAllAudioMetadata(.LumosProtobuf.GetMultipleRequest) returns (.LumosProtobuf.Audio.AllAudioMetadataResponse);
13+
rpc RequestAllSoundOutputInfos(.LumosProtobuf.GetMultipleRequest) returns (.LumosProtobuf.Audio.AllSoundOutputInfosResponse);
14+
15+
rpc ControlPlayerThread(.LumosProtobuf.Audio.ControlPlayerThreadRequest) returns (.LumosProtobuf.ConfirmedResponse);
16+
17+
rpc ReceivePlayerThreadChanges (.LumosProtobuf.GetRequest) returns (stream .LumosProtobuf.Audio.PlayerThreadChangedMessage);
18+
}

Client/ElectricityClient.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ option csharp_namespace = "UmbraClient";
1010
service ElectricityClient {
1111

1212
rpc GetPowerSources (.LumosProtobuf.GetMultipleRequest) returns (.LumosProtobuf.GetPowerSourcesResponse);
13+
rpc GetPowerSourceUsages (.LumosProtobuf.GetMultipleRequest) returns (.LumosProtobuf.GetPowerSourceUsageResponse);
1314

1415
rpc CreatePowerSource(.LumosProtobuf.PowerSourceCreationRequest) returns (.LumosProtobuf.ConfirmedResponse);
1516
rpc DeletePowerSource(.LumosProtobuf.PowerSourceDeletionRequest) returns (.LumosProtobuf.ConfirmedResponse);

Common/Types/Audio/AudioServiceTypes.proto

Lines changed: 61 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
//import "Common/Types/CommonTypes.proto";
44
import "Common/Types/Resource/ResourceManagementTypes.proto";
5+
import "Common/Types/CommonTypes.proto";
56

6-
package LumosProtobuf;
7+
package LumosProtobuf.Audio;
78

8-
message AudioMetadataData {
9-
9+
message AudioMetadataDescriptor {
1010
.LumosProtobuf.Resource.ResourceData resourceData = 2;
1111

1212
FFTMetadataData fft = 3;
@@ -27,36 +27,82 @@ message AudioMetadataData {
2727
Error = 2;
2828
}
2929
}
30+
message PlayerThreadDescriptor {
31+
string id = 2;
32+
string name = 3;
33+
int64 currentTime = 4;
34+
int64 totalTime = 5;
35+
int64 length = 6;
36+
int64 position = 7;
37+
38+
EPlaybackState playbackState = 8;
39+
double volume = 9; //0 silence, 1 full
40+
double balance = 10; //-1 is full left, 1 is full right
41+
42+
enum EPlaybackState {
43+
Stopped = 0;
44+
Playing = 1;
45+
Paused = 2;
46+
}
47+
}
48+
message GetPlayerThreadsResponse {
49+
string requestId = 2;
3050

31-
message AllAudioMetadataResponse {
51+
repeated PlayerThreadDescriptor playerThreads = 3;
52+
}
53+
message PlayerThreadChangedMessage {
54+
55+
.LumosProtobuf.EChangeType changeType = 3;
56+
string playerThreadId = 4;
57+
PlayerThreadDescriptor PlayerThreadData = 5;
58+
59+
repeated string properties = 6;
60+
}
3261

62+
message AllAudioMetadataResponse {
3363
string requestId = 2;
3464

35-
repeated AudioMetadataData audioMetadata = 3;
65+
repeated AudioMetadataDescriptor audioMetadata = 3;
66+
}
3667

68+
message SoundOutputInfo {
69+
string guid = 2;
70+
string description = 3;
71+
string moduleName = 4;
3772
}
3873

74+
message AllSoundOutputInfosResponse {
75+
string requestId = 2;
76+
repeated SoundOutputInfo soundOutputInfos = 3;
77+
}
3978

40-
message ControlAudioRequest {
4179

80+
message ControlPlayerThreadRequest {
4281
string requestId = 2;
82+
83+
string audioFile = 3;
84+
string playerThreadId = 4;
4385

44-
string audioFile = 20;
45-
EPlayMode playMode = 3;
46-
47-
double balance = 4; //-1 is full left, 1 is full right
48-
bool balanceSet = 5;
86+
EPlayMode playMode = 8;
4987

50-
double volume = 6; //0 silence, 1 full
51-
bool volumeSet = 7;
88+
double balance = 11; //-1 is full left, 1 is full right
89+
bool balanceSet = 12;
5290

53-
enum EPlayMode {
91+
double volume = 13; //0 silence, 1 full
92+
bool volumeSet = 14;
5493

94+
int64 time = 15;
95+
bool timeSet = 16;
96+
97+
SoundOutputInfo soundOutputInfo = 17;
98+
bool soundOutputInfoSet = 18;
99+
100+
enum EPlayMode {
55101
None = 0;
56102
Play = 1;
57103
Stop = 2;
58104
Pause = 3;
59-
105+
Buffer = 4;
60106
}
61107
}
62108

Common/Types/Cue/CueServiceTypes.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ enum ESceneType
2525
SCENELIST_REFERENCE = 2;
2626
ACTION = 3;
2727
AUDIO = 4;
28+
MACRO = 5;
29+
TIMECODE = 6;
2830
}
2931

3032
enum ESceneEntryType

Common/Types/Cuelist/CuelistServiceTypes.proto

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,7 @@ message CuelistActionRequest {
127127
LOAD = 8;
128128
REASSIGN_SCENE_NUMBERS = 9;
129129

130-
131130
}
132-
133131
}
134132

135133
message SpecialCueInsertRequest
@@ -140,6 +138,7 @@ message SpecialCueInsertRequest
140138

141139
sint32 index = 5;
142140
int32 specialEnum = 6; //Casted to Enum Value, depending on specialCue Case
141+
.LumosProtobuf.ObjectData specialValue = 7; //Value to be set depending on specialCue Case
143142

144143
oneof specialCue {
145144

@@ -148,9 +147,15 @@ message SpecialCueInsertRequest
148147
string otherCuelistId = 12;
149148
string sum = 13;
150149
string psum = 14;
150+
macroCue macro = 15;
151+
string timecodeId = 16;
151152

152153
}
153154

155+
message macroCue {
156+
string macroId = 1;
157+
uint32 elementIndex = 2;
158+
}
154159
}
155160

156161
message CueAddFromProgrammerRequest
@@ -175,9 +180,7 @@ message CueAddFromProgrammerRequest
175180
APPEND = 5;
176181
SUBTRACT = 6;
177182

178-
179183
}
180-
181184
}
182185

183186
message GetPropertyValueSourceRequest {
@@ -212,7 +215,6 @@ message AllCuelistActionRequest {
212215
STOP = 1;
213216

214217
}
215-
216218
}
217219

218220
message AllCuelistActionResponse {

Common/Types/ElectricityServiceTypes.proto

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ message PowerSourceDescriptor {
1515

1616
uint32 possibleAmps = 10;
1717
bool displayed = 11;
18-
double sumUsageAmps = 12;
18+
19+
double voltage = 13;
1920
}
2021

2122
message GetPowerSourcesResponse {
@@ -66,6 +67,14 @@ message PowerSourceChangedMessage {
6667

6768
}
6869

70+
message GetPowerSourceUsageResponse {
71+
72+
string requestId = 2;
73+
74+
map<string, double> sumUsageAmps = 3;
75+
76+
}
77+
6978
message PowerSourceConsumptionChangeMessage {
7079

7180
map<string, double> changedConsumptionAmps = 2;

Common/Types/Project/ProjectServiceTypes.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ message ProjectVersionData {
3939
bool isAutosave = 10;
4040
bool isDeleteLocked = 11;
4141

42+
int32 projectVersion = 12;
43+
string projectSoftwareVersion = 13;
44+
4245
.LumosProtobuf.EItemInfoSeveraty error = 30;
4346
TranslateableData errorMessage = 31;
4447
}

Common/Types/UmbraServiceTypes.proto

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,9 @@ message UmbraLoginResponse {
4646

4747
message UmbraLogoffRequest {
4848

49+
reserved 3; //Former SessionID, which is in Header Field
50+
4951
ClientProgramInfo client = 1;
50-
string sessionId = 3;
5152
}
5253

5354
message UmbraLogoffResponse {

Server/AudioService.proto

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ import "Common/Types/CommonTypes.proto";
88
option csharp_namespace = "UmbraKernel";
99

1010
service AudioService {
11+
rpc GetPlayerThreads (stream .LumosProtobuf.Audio.GetPlayerThreadsResponse) returns (stream .LumosProtobuf.GetMultipleRequest);
12+
rpc SendAllAudioMetadata(stream .LumosProtobuf.Audio.AllAudioMetadataResponse) returns (stream .LumosProtobuf.GetMultipleRequest);
13+
rpc SendAllSoundOutputInfosResponse(stream .LumosProtobuf.Audio.AllSoundOutputInfosResponse) returns (stream .LumosProtobuf.GetMultipleRequest);
1114

12-
rpc SendAllAudioMetadata(stream .LumosProtobuf.AllAudioMetadataResponse) returns (stream .LumosProtobuf.GetMultipleRequest);
13-
14-
rpc DoControlAudio(stream .LumosProtobuf.ConfirmedResponse) returns (stream .LumosProtobuf.ControlAudioRequest);
15+
rpc DoControlPlayerThread(stream .LumosProtobuf.ConfirmedResponse) returns (stream .LumosProtobuf.Audio.ControlPlayerThreadRequest);
1516

17+
rpc SendPlayerThreadChanges (stream .LumosProtobuf.Audio.PlayerThreadChangedMessage) returns (.LumosProtobuf.ConfirmedResponse);
1618
}
1719

Server/ElectricityService.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ option csharp_namespace = "UmbraKernel";
1010
service ElectricityService {
1111

1212
rpc SendPowerSources (stream .LumosProtobuf.GetPowerSourcesResponse) returns (stream .LumosProtobuf.GetMultipleRequest);
13+
rpc SendPowerSourceUsages (stream .LumosProtobuf.GetPowerSourceUsageResponse) returns (stream .LumosProtobuf.GetMultipleRequest);
1314

1415
rpc DoCreatePowerSource(stream .LumosProtobuf.ConfirmedResponse) returns (stream .LumosProtobuf.PowerSourceCreationRequest);
1516
rpc DoDeletePowerSource(stream .LumosProtobuf.ConfirmedResponse) returns (stream .LumosProtobuf.PowerSourceDeletionRequest);

0 commit comments

Comments
 (0)