@stinkycomputing/sesame-api-client 1.5.2 → 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -533,6 +533,14 @@ var sesame = $root.sesame = (() => {
533
533
  AudioMixerChannel.prototype.level = 0;
534
534
  AudioMixerChannel.prototype.pan = 0;
535
535
  AudioMixerChannel.prototype.plugins = $util.emptyArray;
536
+ AudioMixerChannel.prototype.mute = false;
537
+ AudioMixerChannel.prototype.automationLevel = null;
538
+ AudioMixerChannel.prototype.automationMute = false;
539
+ let $oneOfFields;
540
+ Object.defineProperty(AudioMixerChannel.prototype, "_automationLevel", {
541
+ get: $util.oneOfGetter($oneOfFields = ["automationLevel"]),
542
+ set: $util.oneOfSetter($oneOfFields)
543
+ });
536
544
  AudioMixerChannel.create = function create(properties) {
537
545
  return new AudioMixerChannel(properties);
538
546
  };
@@ -579,6 +587,21 @@ var sesame = $root.sesame = (() => {
579
587
  /* id 7, wireType 2 =*/
580
588
  58
581
589
  ).fork()).ldelim();
590
+ if (message.mute != null && Object.hasOwnProperty.call(message, "mute"))
591
+ writer.uint32(
592
+ /* id 8, wireType 0 =*/
593
+ 64
594
+ ).bool(message.mute);
595
+ if (message.automationLevel != null && Object.hasOwnProperty.call(message, "automationLevel"))
596
+ writer.uint32(
597
+ /* id 9, wireType 5 =*/
598
+ 77
599
+ ).float(message.automationLevel);
600
+ if (message.automationMute != null && Object.hasOwnProperty.call(message, "automationMute"))
601
+ writer.uint32(
602
+ /* id 10, wireType 0 =*/
603
+ 80
604
+ ).bool(message.automationMute);
582
605
  return writer;
583
606
  };
584
607
  AudioMixerChannel.encodeDelimited = function encodeDelimited(message, writer) {
@@ -630,6 +653,18 @@ var sesame = $root.sesame = (() => {
630
653
  message.plugins.push($root.sesame.v1.audio.AudioPlugin.decode(reader, reader.uint32()));
631
654
  break;
632
655
  }
656
+ case 8: {
657
+ message.mute = reader.bool();
658
+ break;
659
+ }
660
+ case 9: {
661
+ message.automationLevel = reader.float();
662
+ break;
663
+ }
664
+ case 10: {
665
+ message.automationMute = reader.bool();
666
+ break;
667
+ }
633
668
  default:
634
669
  reader.skipType(tag & 7);
635
670
  break;
@@ -645,6 +680,7 @@ var sesame = $root.sesame = (() => {
645
680
  AudioMixerChannel.verify = function verify(message) {
646
681
  if (typeof message !== "object" || message === null)
647
682
  return "object expected";
683
+ let properties = {};
648
684
  if (message.id != null && message.hasOwnProperty("id")) {
649
685
  if (!$util.isString(message.id))
650
686
  return "id: string expected";
@@ -686,6 +722,19 @@ var sesame = $root.sesame = (() => {
686
722
  return "plugins." + error;
687
723
  }
688
724
  }
725
+ if (message.mute != null && message.hasOwnProperty("mute")) {
726
+ if (typeof message.mute !== "boolean")
727
+ return "mute: boolean expected";
728
+ }
729
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
730
+ properties._automationLevel = 1;
731
+ if (typeof message.automationLevel !== "number")
732
+ return "automationLevel: number expected";
733
+ }
734
+ if (message.automationMute != null && message.hasOwnProperty("automationMute")) {
735
+ if (typeof message.automationMute !== "boolean")
736
+ return "automationMute: boolean expected";
737
+ }
689
738
  return null;
690
739
  };
691
740
  AudioMixerChannel.fromObject = function fromObject(object) {
@@ -737,6 +786,12 @@ var sesame = $root.sesame = (() => {
737
786
  message.plugins[i] = $root.sesame.v1.audio.AudioPlugin.fromObject(object.plugins[i]);
738
787
  }
739
788
  }
789
+ if (object.mute != null)
790
+ message.mute = Boolean(object.mute);
791
+ if (object.automationLevel != null)
792
+ message.automationLevel = Number(object.automationLevel);
793
+ if (object.automationMute != null)
794
+ message.automationMute = Boolean(object.automationMute);
740
795
  return message;
741
796
  };
742
797
  AudioMixerChannel.toObject = function toObject(message, options) {
@@ -753,6 +808,8 @@ var sesame = $root.sesame = (() => {
753
808
  object.channelType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
754
809
  object.level = 0;
755
810
  object.pan = 0;
811
+ object.mute = false;
812
+ object.automationMute = false;
756
813
  }
757
814
  if (message.id != null && message.hasOwnProperty("id"))
758
815
  object.id = message.id;
@@ -774,6 +831,15 @@ var sesame = $root.sesame = (() => {
774
831
  for (let j = 0; j < message.plugins.length; ++j)
775
832
  object.plugins[j] = $root.sesame.v1.audio.AudioPlugin.toObject(message.plugins[j], options);
776
833
  }
834
+ if (message.mute != null && message.hasOwnProperty("mute"))
835
+ object.mute = message.mute;
836
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
837
+ object.automationLevel = options.json && !isFinite(message.automationLevel) ? String(message.automationLevel) : message.automationLevel;
838
+ if (options.oneofs)
839
+ object._automationLevel = "automationLevel";
840
+ }
841
+ if (message.automationMute != null && message.hasOwnProperty("automationMute"))
842
+ object.automationMute = message.automationMute;
777
843
  return object;
778
844
  };
779
845
  AudioMixerChannel.prototype.toJSON = function toJSON() {
@@ -787,9 +853,162 @@ var sesame = $root.sesame = (() => {
787
853
  };
788
854
  return AudioMixerChannel;
789
855
  }();
856
+ audio.AudioMixerOutput = function() {
857
+ function AudioMixerOutput(properties) {
858
+ this.excludedChannelIds = [];
859
+ if (properties) {
860
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
861
+ if (properties[keys[i]] != null)
862
+ this[keys[i]] = properties[keys[i]];
863
+ }
864
+ }
865
+ AudioMixerOutput.prototype.id = "";
866
+ AudioMixerOutput.prototype.excludedChannelIds = $util.emptyArray;
867
+ AudioMixerOutput.prototype.includeMasterPlugins = null;
868
+ let $oneOfFields;
869
+ Object.defineProperty(AudioMixerOutput.prototype, "_includeMasterPlugins", {
870
+ get: $util.oneOfGetter($oneOfFields = ["includeMasterPlugins"]),
871
+ set: $util.oneOfSetter($oneOfFields)
872
+ });
873
+ AudioMixerOutput.create = function create(properties) {
874
+ return new AudioMixerOutput(properties);
875
+ };
876
+ AudioMixerOutput.encode = function encode(message, writer) {
877
+ if (!writer)
878
+ writer = $Writer.create();
879
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
880
+ writer.uint32(
881
+ /* id 1, wireType 2 =*/
882
+ 10
883
+ ).string(message.id);
884
+ if (message.excludedChannelIds != null && message.excludedChannelIds.length)
885
+ for (let i = 0; i < message.excludedChannelIds.length; ++i)
886
+ writer.uint32(
887
+ /* id 2, wireType 2 =*/
888
+ 18
889
+ ).string(message.excludedChannelIds[i]);
890
+ if (message.includeMasterPlugins != null && Object.hasOwnProperty.call(message, "includeMasterPlugins"))
891
+ writer.uint32(
892
+ /* id 3, wireType 0 =*/
893
+ 24
894
+ ).bool(message.includeMasterPlugins);
895
+ return writer;
896
+ };
897
+ AudioMixerOutput.encodeDelimited = function encodeDelimited(message, writer) {
898
+ return this.encode(message, writer).ldelim();
899
+ };
900
+ AudioMixerOutput.decode = function decode(reader, length, error) {
901
+ if (!(reader instanceof $Reader))
902
+ reader = $Reader.create(reader);
903
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.audio.AudioMixerOutput();
904
+ while (reader.pos < end) {
905
+ let tag = reader.uint32();
906
+ if (tag === error)
907
+ break;
908
+ switch (tag >>> 3) {
909
+ case 1: {
910
+ message.id = reader.string();
911
+ break;
912
+ }
913
+ case 2: {
914
+ if (!(message.excludedChannelIds && message.excludedChannelIds.length))
915
+ message.excludedChannelIds = [];
916
+ message.excludedChannelIds.push(reader.string());
917
+ break;
918
+ }
919
+ case 3: {
920
+ message.includeMasterPlugins = reader.bool();
921
+ break;
922
+ }
923
+ default:
924
+ reader.skipType(tag & 7);
925
+ break;
926
+ }
927
+ }
928
+ return message;
929
+ };
930
+ AudioMixerOutput.decodeDelimited = function decodeDelimited(reader) {
931
+ if (!(reader instanceof $Reader))
932
+ reader = new $Reader(reader);
933
+ return this.decode(reader, reader.uint32());
934
+ };
935
+ AudioMixerOutput.verify = function verify(message) {
936
+ if (typeof message !== "object" || message === null)
937
+ return "object expected";
938
+ let properties = {};
939
+ if (message.id != null && message.hasOwnProperty("id")) {
940
+ if (!$util.isString(message.id))
941
+ return "id: string expected";
942
+ }
943
+ if (message.excludedChannelIds != null && message.hasOwnProperty("excludedChannelIds")) {
944
+ if (!Array.isArray(message.excludedChannelIds))
945
+ return "excludedChannelIds: array expected";
946
+ for (let i = 0; i < message.excludedChannelIds.length; ++i)
947
+ if (!$util.isString(message.excludedChannelIds[i]))
948
+ return "excludedChannelIds: string[] expected";
949
+ }
950
+ if (message.includeMasterPlugins != null && message.hasOwnProperty("includeMasterPlugins")) {
951
+ properties._includeMasterPlugins = 1;
952
+ if (typeof message.includeMasterPlugins !== "boolean")
953
+ return "includeMasterPlugins: boolean expected";
954
+ }
955
+ return null;
956
+ };
957
+ AudioMixerOutput.fromObject = function fromObject(object) {
958
+ if (object instanceof $root.sesame.v1.audio.AudioMixerOutput)
959
+ return object;
960
+ let message = new $root.sesame.v1.audio.AudioMixerOutput();
961
+ if (object.id != null)
962
+ message.id = String(object.id);
963
+ if (object.excludedChannelIds) {
964
+ if (!Array.isArray(object.excludedChannelIds))
965
+ throw TypeError(".sesame.v1.audio.AudioMixerOutput.excludedChannelIds: array expected");
966
+ message.excludedChannelIds = [];
967
+ for (let i = 0; i < object.excludedChannelIds.length; ++i)
968
+ message.excludedChannelIds[i] = String(object.excludedChannelIds[i]);
969
+ }
970
+ if (object.includeMasterPlugins != null)
971
+ message.includeMasterPlugins = Boolean(object.includeMasterPlugins);
972
+ return message;
973
+ };
974
+ AudioMixerOutput.toObject = function toObject(message, options) {
975
+ if (!options)
976
+ options = {};
977
+ let object = {};
978
+ if (options.arrays || options.defaults)
979
+ object.excludedChannelIds = [];
980
+ if (options.defaults)
981
+ object.id = "";
982
+ if (message.id != null && message.hasOwnProperty("id"))
983
+ object.id = message.id;
984
+ if (message.excludedChannelIds && message.excludedChannelIds.length) {
985
+ object.excludedChannelIds = [];
986
+ for (let j = 0; j < message.excludedChannelIds.length; ++j)
987
+ object.excludedChannelIds[j] = message.excludedChannelIds[j];
988
+ }
989
+ if (message.includeMasterPlugins != null && message.hasOwnProperty("includeMasterPlugins")) {
990
+ object.includeMasterPlugins = message.includeMasterPlugins;
991
+ if (options.oneofs)
992
+ object._includeMasterPlugins = "includeMasterPlugins";
993
+ }
994
+ return object;
995
+ };
996
+ AudioMixerOutput.prototype.toJSON = function toJSON() {
997
+ return this.constructor.toObject(this, import_minimal.default.util.toJSONOptions);
998
+ };
999
+ AudioMixerOutput.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
1000
+ if (typeUrlPrefix === void 0) {
1001
+ typeUrlPrefix = "type.googleapis.com";
1002
+ }
1003
+ return typeUrlPrefix + "/sesame.v1.audio.AudioMixerOutput";
1004
+ };
1005
+ return AudioMixerOutput;
1006
+ }();
790
1007
  audio.AudioMixerConfig = function() {
791
1008
  function AudioMixerConfig(properties) {
792
1009
  this.channels = [];
1010
+ this.outputs = [];
1011
+ this.masterPlugins = [];
793
1012
  if (properties) {
794
1013
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
795
1014
  if (properties[keys[i]] != null)
@@ -799,6 +1018,19 @@ var sesame = $root.sesame = (() => {
799
1018
  AudioMixerConfig.prototype.channels = $util.emptyArray;
800
1019
  AudioMixerConfig.prototype.outputType = 0;
801
1020
  AudioMixerConfig.prototype.order = 0;
1021
+ AudioMixerConfig.prototype.outputs = $util.emptyArray;
1022
+ AudioMixerConfig.prototype.masterLevel = null;
1023
+ AudioMixerConfig.prototype.masterAutomationLevel = null;
1024
+ AudioMixerConfig.prototype.masterPlugins = $util.emptyArray;
1025
+ let $oneOfFields;
1026
+ Object.defineProperty(AudioMixerConfig.prototype, "_masterLevel", {
1027
+ get: $util.oneOfGetter($oneOfFields = ["masterLevel"]),
1028
+ set: $util.oneOfSetter($oneOfFields)
1029
+ });
1030
+ Object.defineProperty(AudioMixerConfig.prototype, "_masterAutomationLevel", {
1031
+ get: $util.oneOfGetter($oneOfFields = ["masterAutomationLevel"]),
1032
+ set: $util.oneOfSetter($oneOfFields)
1033
+ });
802
1034
  AudioMixerConfig.create = function create(properties) {
803
1035
  return new AudioMixerConfig(properties);
804
1036
  };
@@ -821,6 +1053,28 @@ var sesame = $root.sesame = (() => {
821
1053
  /* id 3, wireType 0 =*/
822
1054
  24
823
1055
  ).uint32(message.order);
1056
+ if (message.outputs != null && message.outputs.length)
1057
+ for (let i = 0; i < message.outputs.length; ++i)
1058
+ $root.sesame.v1.audio.AudioMixerOutput.encode(message.outputs[i], writer.uint32(
1059
+ /* id 4, wireType 2 =*/
1060
+ 34
1061
+ ).fork()).ldelim();
1062
+ if (message.masterLevel != null && Object.hasOwnProperty.call(message, "masterLevel"))
1063
+ writer.uint32(
1064
+ /* id 5, wireType 5 =*/
1065
+ 45
1066
+ ).float(message.masterLevel);
1067
+ if (message.masterAutomationLevel != null && Object.hasOwnProperty.call(message, "masterAutomationLevel"))
1068
+ writer.uint32(
1069
+ /* id 6, wireType 5 =*/
1070
+ 53
1071
+ ).float(message.masterAutomationLevel);
1072
+ if (message.masterPlugins != null && message.masterPlugins.length)
1073
+ for (let i = 0; i < message.masterPlugins.length; ++i)
1074
+ $root.sesame.v1.audio.AudioPlugin.encode(message.masterPlugins[i], writer.uint32(
1075
+ /* id 7, wireType 2 =*/
1076
+ 58
1077
+ ).fork()).ldelim();
824
1078
  return writer;
825
1079
  };
826
1080
  AudioMixerConfig.encodeDelimited = function encodeDelimited(message, writer) {
@@ -849,6 +1103,26 @@ var sesame = $root.sesame = (() => {
849
1103
  message.order = reader.uint32();
850
1104
  break;
851
1105
  }
1106
+ case 4: {
1107
+ if (!(message.outputs && message.outputs.length))
1108
+ message.outputs = [];
1109
+ message.outputs.push($root.sesame.v1.audio.AudioMixerOutput.decode(reader, reader.uint32()));
1110
+ break;
1111
+ }
1112
+ case 5: {
1113
+ message.masterLevel = reader.float();
1114
+ break;
1115
+ }
1116
+ case 6: {
1117
+ message.masterAutomationLevel = reader.float();
1118
+ break;
1119
+ }
1120
+ case 7: {
1121
+ if (!(message.masterPlugins && message.masterPlugins.length))
1122
+ message.masterPlugins = [];
1123
+ message.masterPlugins.push($root.sesame.v1.audio.AudioPlugin.decode(reader, reader.uint32()));
1124
+ break;
1125
+ }
852
1126
  default:
853
1127
  reader.skipType(tag & 7);
854
1128
  break;
@@ -864,6 +1138,7 @@ var sesame = $root.sesame = (() => {
864
1138
  AudioMixerConfig.verify = function verify(message) {
865
1139
  if (typeof message !== "object" || message === null)
866
1140
  return "object expected";
1141
+ let properties = {};
867
1142
  if (message.channels != null && message.hasOwnProperty("channels")) {
868
1143
  if (!Array.isArray(message.channels))
869
1144
  return "channels: array expected";
@@ -886,6 +1161,34 @@ var sesame = $root.sesame = (() => {
886
1161
  if (!$util.isInteger(message.order))
887
1162
  return "order: integer expected";
888
1163
  }
1164
+ if (message.outputs != null && message.hasOwnProperty("outputs")) {
1165
+ if (!Array.isArray(message.outputs))
1166
+ return "outputs: array expected";
1167
+ for (let i = 0; i < message.outputs.length; ++i) {
1168
+ let error = $root.sesame.v1.audio.AudioMixerOutput.verify(message.outputs[i]);
1169
+ if (error)
1170
+ return "outputs." + error;
1171
+ }
1172
+ }
1173
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
1174
+ properties._masterLevel = 1;
1175
+ if (typeof message.masterLevel !== "number")
1176
+ return "masterLevel: number expected";
1177
+ }
1178
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
1179
+ properties._masterAutomationLevel = 1;
1180
+ if (typeof message.masterAutomationLevel !== "number")
1181
+ return "masterAutomationLevel: number expected";
1182
+ }
1183
+ if (message.masterPlugins != null && message.hasOwnProperty("masterPlugins")) {
1184
+ if (!Array.isArray(message.masterPlugins))
1185
+ return "masterPlugins: array expected";
1186
+ for (let i = 0; i < message.masterPlugins.length; ++i) {
1187
+ let error = $root.sesame.v1.audio.AudioPlugin.verify(message.masterPlugins[i]);
1188
+ if (error)
1189
+ return "masterPlugins." + error;
1190
+ }
1191
+ }
889
1192
  return null;
890
1193
  };
891
1194
  AudioMixerConfig.fromObject = function fromObject(object) {
@@ -924,14 +1227,41 @@ var sesame = $root.sesame = (() => {
924
1227
  }
925
1228
  if (object.order != null)
926
1229
  message.order = object.order >>> 0;
1230
+ if (object.outputs) {
1231
+ if (!Array.isArray(object.outputs))
1232
+ throw TypeError(".sesame.v1.audio.AudioMixerConfig.outputs: array expected");
1233
+ message.outputs = [];
1234
+ for (let i = 0; i < object.outputs.length; ++i) {
1235
+ if (typeof object.outputs[i] !== "object")
1236
+ throw TypeError(".sesame.v1.audio.AudioMixerConfig.outputs: object expected");
1237
+ message.outputs[i] = $root.sesame.v1.audio.AudioMixerOutput.fromObject(object.outputs[i]);
1238
+ }
1239
+ }
1240
+ if (object.masterLevel != null)
1241
+ message.masterLevel = Number(object.masterLevel);
1242
+ if (object.masterAutomationLevel != null)
1243
+ message.masterAutomationLevel = Number(object.masterAutomationLevel);
1244
+ if (object.masterPlugins) {
1245
+ if (!Array.isArray(object.masterPlugins))
1246
+ throw TypeError(".sesame.v1.audio.AudioMixerConfig.masterPlugins: array expected");
1247
+ message.masterPlugins = [];
1248
+ for (let i = 0; i < object.masterPlugins.length; ++i) {
1249
+ if (typeof object.masterPlugins[i] !== "object")
1250
+ throw TypeError(".sesame.v1.audio.AudioMixerConfig.masterPlugins: object expected");
1251
+ message.masterPlugins[i] = $root.sesame.v1.audio.AudioPlugin.fromObject(object.masterPlugins[i]);
1252
+ }
1253
+ }
927
1254
  return message;
928
1255
  };
929
1256
  AudioMixerConfig.toObject = function toObject(message, options) {
930
1257
  if (!options)
931
1258
  options = {};
932
1259
  let object = {};
933
- if (options.arrays || options.defaults)
1260
+ if (options.arrays || options.defaults) {
934
1261
  object.channels = [];
1262
+ object.outputs = [];
1263
+ object.masterPlugins = [];
1264
+ }
935
1265
  if (options.defaults) {
936
1266
  object.outputType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
937
1267
  object.order = 0;
@@ -945,6 +1275,26 @@ var sesame = $root.sesame = (() => {
945
1275
  object.outputType = options.enums === String ? $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] === void 0 ? message.outputType : $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] : message.outputType;
946
1276
  if (message.order != null && message.hasOwnProperty("order"))
947
1277
  object.order = message.order;
1278
+ if (message.outputs && message.outputs.length) {
1279
+ object.outputs = [];
1280
+ for (let j = 0; j < message.outputs.length; ++j)
1281
+ object.outputs[j] = $root.sesame.v1.audio.AudioMixerOutput.toObject(message.outputs[j], options);
1282
+ }
1283
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
1284
+ object.masterLevel = options.json && !isFinite(message.masterLevel) ? String(message.masterLevel) : message.masterLevel;
1285
+ if (options.oneofs)
1286
+ object._masterLevel = "masterLevel";
1287
+ }
1288
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
1289
+ object.masterAutomationLevel = options.json && !isFinite(message.masterAutomationLevel) ? String(message.masterAutomationLevel) : message.masterAutomationLevel;
1290
+ if (options.oneofs)
1291
+ object._masterAutomationLevel = "masterAutomationLevel";
1292
+ }
1293
+ if (message.masterPlugins && message.masterPlugins.length) {
1294
+ object.masterPlugins = [];
1295
+ for (let j = 0; j < message.masterPlugins.length; ++j)
1296
+ object.masterPlugins[j] = $root.sesame.v1.audio.AudioPlugin.toObject(message.masterPlugins[j], options);
1297
+ }
948
1298
  return object;
949
1299
  };
950
1300
  AudioMixerConfig.prototype.toJSON = function toJSON() {
@@ -1656,6 +2006,11 @@ var sesame = $root.sesame = (() => {
1656
2006
  AudioChannelStatus.prototype.hasData = false;
1657
2007
  AudioChannelStatus.prototype.readErrors = 0;
1658
2008
  AudioChannelStatus.prototype.plugins = $util.emptyArray;
2009
+ AudioChannelStatus.prototype.mute = false;
2010
+ AudioChannelStatus.prototype.automationLevel = 0;
2011
+ AudioChannelStatus.prototype.automationMute = false;
2012
+ AudioChannelStatus.prototype.effectiveLevel = 0;
2013
+ AudioChannelStatus.prototype.effectiveMute = false;
1659
2014
  AudioChannelStatus.create = function create(properties) {
1660
2015
  return new AudioChannelStatus(properties);
1661
2016
  };
@@ -1679,43 +2034,405 @@ var sesame = $root.sesame = (() => {
1679
2034
  ).float(message.level);
1680
2035
  if (message.pan != null && Object.hasOwnProperty.call(message, "pan"))
1681
2036
  writer.uint32(
1682
- /* id 4, wireType 5 =*/
1683
- 37
1684
- ).float(message.pan);
2037
+ /* id 4, wireType 5 =*/
2038
+ 37
2039
+ ).float(message.pan);
2040
+ if (message.vu != null && message.vu.length) {
2041
+ writer.uint32(
2042
+ /* id 5, wireType 2 =*/
2043
+ 42
2044
+ ).fork();
2045
+ for (let i = 0; i < message.vu.length; ++i)
2046
+ writer.float(message.vu[i]);
2047
+ writer.ldelim();
2048
+ }
2049
+ if (message.hasData != null && Object.hasOwnProperty.call(message, "hasData"))
2050
+ writer.uint32(
2051
+ /* id 6, wireType 0 =*/
2052
+ 48
2053
+ ).bool(message.hasData);
2054
+ if (message.readErrors != null && Object.hasOwnProperty.call(message, "readErrors"))
2055
+ writer.uint32(
2056
+ /* id 7, wireType 0 =*/
2057
+ 56
2058
+ ).uint32(message.readErrors);
2059
+ if (message.plugins != null && message.plugins.length)
2060
+ for (let i = 0; i < message.plugins.length; ++i)
2061
+ $root.sesame.v1.audio.AudioChannelPluginStatus.encode(message.plugins[i], writer.uint32(
2062
+ /* id 8, wireType 2 =*/
2063
+ 66
2064
+ ).fork()).ldelim();
2065
+ if (message.mute != null && Object.hasOwnProperty.call(message, "mute"))
2066
+ writer.uint32(
2067
+ /* id 9, wireType 0 =*/
2068
+ 72
2069
+ ).bool(message.mute);
2070
+ if (message.automationLevel != null && Object.hasOwnProperty.call(message, "automationLevel"))
2071
+ writer.uint32(
2072
+ /* id 10, wireType 5 =*/
2073
+ 85
2074
+ ).float(message.automationLevel);
2075
+ if (message.automationMute != null && Object.hasOwnProperty.call(message, "automationMute"))
2076
+ writer.uint32(
2077
+ /* id 11, wireType 0 =*/
2078
+ 88
2079
+ ).bool(message.automationMute);
2080
+ if (message.effectiveLevel != null && Object.hasOwnProperty.call(message, "effectiveLevel"))
2081
+ writer.uint32(
2082
+ /* id 12, wireType 5 =*/
2083
+ 101
2084
+ ).float(message.effectiveLevel);
2085
+ if (message.effectiveMute != null && Object.hasOwnProperty.call(message, "effectiveMute"))
2086
+ writer.uint32(
2087
+ /* id 13, wireType 0 =*/
2088
+ 104
2089
+ ).bool(message.effectiveMute);
2090
+ return writer;
2091
+ };
2092
+ AudioChannelStatus.encodeDelimited = function encodeDelimited(message, writer) {
2093
+ return this.encode(message, writer).ldelim();
2094
+ };
2095
+ AudioChannelStatus.decode = function decode(reader, length, error) {
2096
+ if (!(reader instanceof $Reader))
2097
+ reader = $Reader.create(reader);
2098
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.audio.AudioChannelStatus();
2099
+ while (reader.pos < end) {
2100
+ let tag = reader.uint32();
2101
+ if (tag === error)
2102
+ break;
2103
+ switch (tag >>> 3) {
2104
+ case 1: {
2105
+ message.id = reader.string();
2106
+ break;
2107
+ }
2108
+ case 2: {
2109
+ message.outputType = reader.int32();
2110
+ break;
2111
+ }
2112
+ case 3: {
2113
+ message.level = reader.float();
2114
+ break;
2115
+ }
2116
+ case 4: {
2117
+ message.pan = reader.float();
2118
+ break;
2119
+ }
2120
+ case 5: {
2121
+ if (!(message.vu && message.vu.length))
2122
+ message.vu = [];
2123
+ if ((tag & 7) === 2) {
2124
+ let end2 = reader.uint32() + reader.pos;
2125
+ while (reader.pos < end2)
2126
+ message.vu.push(reader.float());
2127
+ } else
2128
+ message.vu.push(reader.float());
2129
+ break;
2130
+ }
2131
+ case 6: {
2132
+ message.hasData = reader.bool();
2133
+ break;
2134
+ }
2135
+ case 7: {
2136
+ message.readErrors = reader.uint32();
2137
+ break;
2138
+ }
2139
+ case 8: {
2140
+ if (!(message.plugins && message.plugins.length))
2141
+ message.plugins = [];
2142
+ message.plugins.push($root.sesame.v1.audio.AudioChannelPluginStatus.decode(reader, reader.uint32()));
2143
+ break;
2144
+ }
2145
+ case 9: {
2146
+ message.mute = reader.bool();
2147
+ break;
2148
+ }
2149
+ case 10: {
2150
+ message.automationLevel = reader.float();
2151
+ break;
2152
+ }
2153
+ case 11: {
2154
+ message.automationMute = reader.bool();
2155
+ break;
2156
+ }
2157
+ case 12: {
2158
+ message.effectiveLevel = reader.float();
2159
+ break;
2160
+ }
2161
+ case 13: {
2162
+ message.effectiveMute = reader.bool();
2163
+ break;
2164
+ }
2165
+ default:
2166
+ reader.skipType(tag & 7);
2167
+ break;
2168
+ }
2169
+ }
2170
+ return message;
2171
+ };
2172
+ AudioChannelStatus.decodeDelimited = function decodeDelimited(reader) {
2173
+ if (!(reader instanceof $Reader))
2174
+ reader = new $Reader(reader);
2175
+ return this.decode(reader, reader.uint32());
2176
+ };
2177
+ AudioChannelStatus.verify = function verify(message) {
2178
+ if (typeof message !== "object" || message === null)
2179
+ return "object expected";
2180
+ if (message.id != null && message.hasOwnProperty("id")) {
2181
+ if (!$util.isString(message.id))
2182
+ return "id: string expected";
2183
+ }
2184
+ if (message.outputType != null && message.hasOwnProperty("outputType"))
2185
+ switch (message.outputType) {
2186
+ default:
2187
+ return "outputType: enum value expected";
2188
+ case 0:
2189
+ case 1:
2190
+ case 2:
2191
+ break;
2192
+ }
2193
+ if (message.level != null && message.hasOwnProperty("level")) {
2194
+ if (typeof message.level !== "number")
2195
+ return "level: number expected";
2196
+ }
2197
+ if (message.pan != null && message.hasOwnProperty("pan")) {
2198
+ if (typeof message.pan !== "number")
2199
+ return "pan: number expected";
2200
+ }
2201
+ if (message.vu != null && message.hasOwnProperty("vu")) {
2202
+ if (!Array.isArray(message.vu))
2203
+ return "vu: array expected";
2204
+ for (let i = 0; i < message.vu.length; ++i)
2205
+ if (typeof message.vu[i] !== "number")
2206
+ return "vu: number[] expected";
2207
+ }
2208
+ if (message.hasData != null && message.hasOwnProperty("hasData")) {
2209
+ if (typeof message.hasData !== "boolean")
2210
+ return "hasData: boolean expected";
2211
+ }
2212
+ if (message.readErrors != null && message.hasOwnProperty("readErrors")) {
2213
+ if (!$util.isInteger(message.readErrors))
2214
+ return "readErrors: integer expected";
2215
+ }
2216
+ if (message.plugins != null && message.hasOwnProperty("plugins")) {
2217
+ if (!Array.isArray(message.plugins))
2218
+ return "plugins: array expected";
2219
+ for (let i = 0; i < message.plugins.length; ++i) {
2220
+ let error = $root.sesame.v1.audio.AudioChannelPluginStatus.verify(message.plugins[i]);
2221
+ if (error)
2222
+ return "plugins." + error;
2223
+ }
2224
+ }
2225
+ if (message.mute != null && message.hasOwnProperty("mute")) {
2226
+ if (typeof message.mute !== "boolean")
2227
+ return "mute: boolean expected";
2228
+ }
2229
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
2230
+ if (typeof message.automationLevel !== "number")
2231
+ return "automationLevel: number expected";
2232
+ }
2233
+ if (message.automationMute != null && message.hasOwnProperty("automationMute")) {
2234
+ if (typeof message.automationMute !== "boolean")
2235
+ return "automationMute: boolean expected";
2236
+ }
2237
+ if (message.effectiveLevel != null && message.hasOwnProperty("effectiveLevel")) {
2238
+ if (typeof message.effectiveLevel !== "number")
2239
+ return "effectiveLevel: number expected";
2240
+ }
2241
+ if (message.effectiveMute != null && message.hasOwnProperty("effectiveMute")) {
2242
+ if (typeof message.effectiveMute !== "boolean")
2243
+ return "effectiveMute: boolean expected";
2244
+ }
2245
+ return null;
2246
+ };
2247
+ AudioChannelStatus.fromObject = function fromObject(object) {
2248
+ if (object instanceof $root.sesame.v1.audio.AudioChannelStatus)
2249
+ return object;
2250
+ let message = new $root.sesame.v1.audio.AudioChannelStatus();
2251
+ if (object.id != null)
2252
+ message.id = String(object.id);
2253
+ switch (object.outputType) {
2254
+ default:
2255
+ if (typeof object.outputType === "number") {
2256
+ message.outputType = object.outputType;
2257
+ break;
2258
+ }
2259
+ break;
2260
+ case "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":
2261
+ case 0:
2262
+ message.outputType = 0;
2263
+ break;
2264
+ case "AUDIO_MIXER_CHANNEL_TYPE_MONO":
2265
+ case 1:
2266
+ message.outputType = 1;
2267
+ break;
2268
+ case "AUDIO_MIXER_CHANNEL_TYPE_STEREO":
2269
+ case 2:
2270
+ message.outputType = 2;
2271
+ break;
2272
+ }
2273
+ if (object.level != null)
2274
+ message.level = Number(object.level);
2275
+ if (object.pan != null)
2276
+ message.pan = Number(object.pan);
2277
+ if (object.vu) {
2278
+ if (!Array.isArray(object.vu))
2279
+ throw TypeError(".sesame.v1.audio.AudioChannelStatus.vu: array expected");
2280
+ message.vu = [];
2281
+ for (let i = 0; i < object.vu.length; ++i)
2282
+ message.vu[i] = Number(object.vu[i]);
2283
+ }
2284
+ if (object.hasData != null)
2285
+ message.hasData = Boolean(object.hasData);
2286
+ if (object.readErrors != null)
2287
+ message.readErrors = object.readErrors >>> 0;
2288
+ if (object.plugins) {
2289
+ if (!Array.isArray(object.plugins))
2290
+ throw TypeError(".sesame.v1.audio.AudioChannelStatus.plugins: array expected");
2291
+ message.plugins = [];
2292
+ for (let i = 0; i < object.plugins.length; ++i) {
2293
+ if (typeof object.plugins[i] !== "object")
2294
+ throw TypeError(".sesame.v1.audio.AudioChannelStatus.plugins: object expected");
2295
+ message.plugins[i] = $root.sesame.v1.audio.AudioChannelPluginStatus.fromObject(object.plugins[i]);
2296
+ }
2297
+ }
2298
+ if (object.mute != null)
2299
+ message.mute = Boolean(object.mute);
2300
+ if (object.automationLevel != null)
2301
+ message.automationLevel = Number(object.automationLevel);
2302
+ if (object.automationMute != null)
2303
+ message.automationMute = Boolean(object.automationMute);
2304
+ if (object.effectiveLevel != null)
2305
+ message.effectiveLevel = Number(object.effectiveLevel);
2306
+ if (object.effectiveMute != null)
2307
+ message.effectiveMute = Boolean(object.effectiveMute);
2308
+ return message;
2309
+ };
2310
+ AudioChannelStatus.toObject = function toObject(message, options) {
2311
+ if (!options)
2312
+ options = {};
2313
+ let object = {};
2314
+ if (options.arrays || options.defaults) {
2315
+ object.vu = [];
2316
+ object.plugins = [];
2317
+ }
2318
+ if (options.defaults) {
2319
+ object.id = "";
2320
+ object.outputType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
2321
+ object.level = 0;
2322
+ object.pan = 0;
2323
+ object.hasData = false;
2324
+ object.readErrors = 0;
2325
+ object.mute = false;
2326
+ object.automationLevel = 0;
2327
+ object.automationMute = false;
2328
+ object.effectiveLevel = 0;
2329
+ object.effectiveMute = false;
2330
+ }
2331
+ if (message.id != null && message.hasOwnProperty("id"))
2332
+ object.id = message.id;
2333
+ if (message.outputType != null && message.hasOwnProperty("outputType"))
2334
+ object.outputType = options.enums === String ? $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] === void 0 ? message.outputType : $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] : message.outputType;
2335
+ if (message.level != null && message.hasOwnProperty("level"))
2336
+ object.level = options.json && !isFinite(message.level) ? String(message.level) : message.level;
2337
+ if (message.pan != null && message.hasOwnProperty("pan"))
2338
+ object.pan = options.json && !isFinite(message.pan) ? String(message.pan) : message.pan;
2339
+ if (message.vu && message.vu.length) {
2340
+ object.vu = [];
2341
+ for (let j = 0; j < message.vu.length; ++j)
2342
+ object.vu[j] = options.json && !isFinite(message.vu[j]) ? String(message.vu[j]) : message.vu[j];
2343
+ }
2344
+ if (message.hasData != null && message.hasOwnProperty("hasData"))
2345
+ object.hasData = message.hasData;
2346
+ if (message.readErrors != null && message.hasOwnProperty("readErrors"))
2347
+ object.readErrors = message.readErrors;
2348
+ if (message.plugins && message.plugins.length) {
2349
+ object.plugins = [];
2350
+ for (let j = 0; j < message.plugins.length; ++j)
2351
+ object.plugins[j] = $root.sesame.v1.audio.AudioChannelPluginStatus.toObject(message.plugins[j], options);
2352
+ }
2353
+ if (message.mute != null && message.hasOwnProperty("mute"))
2354
+ object.mute = message.mute;
2355
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel"))
2356
+ object.automationLevel = options.json && !isFinite(message.automationLevel) ? String(message.automationLevel) : message.automationLevel;
2357
+ if (message.automationMute != null && message.hasOwnProperty("automationMute"))
2358
+ object.automationMute = message.automationMute;
2359
+ if (message.effectiveLevel != null && message.hasOwnProperty("effectiveLevel"))
2360
+ object.effectiveLevel = options.json && !isFinite(message.effectiveLevel) ? String(message.effectiveLevel) : message.effectiveLevel;
2361
+ if (message.effectiveMute != null && message.hasOwnProperty("effectiveMute"))
2362
+ object.effectiveMute = message.effectiveMute;
2363
+ return object;
2364
+ };
2365
+ AudioChannelStatus.prototype.toJSON = function toJSON() {
2366
+ return this.constructor.toObject(this, import_minimal.default.util.toJSONOptions);
2367
+ };
2368
+ AudioChannelStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
2369
+ if (typeUrlPrefix === void 0) {
2370
+ typeUrlPrefix = "type.googleapis.com";
2371
+ }
2372
+ return typeUrlPrefix + "/sesame.v1.audio.AudioChannelStatus";
2373
+ };
2374
+ return AudioChannelStatus;
2375
+ }();
2376
+ audio.AudioMixerOutputStatus = function() {
2377
+ function AudioMixerOutputStatus(properties) {
2378
+ this.vu = [];
2379
+ this.excludedChannelIds = [];
2380
+ if (properties) {
2381
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2382
+ if (properties[keys[i]] != null)
2383
+ this[keys[i]] = properties[keys[i]];
2384
+ }
2385
+ }
2386
+ AudioMixerOutputStatus.prototype.id = "";
2387
+ AudioMixerOutputStatus.prototype.outputType = 0;
2388
+ AudioMixerOutputStatus.prototype.vu = $util.emptyArray;
2389
+ AudioMixerOutputStatus.prototype.excludedChannelIds = $util.emptyArray;
2390
+ AudioMixerOutputStatus.prototype.includeMasterPlugins = false;
2391
+ AudioMixerOutputStatus.create = function create(properties) {
2392
+ return new AudioMixerOutputStatus(properties);
2393
+ };
2394
+ AudioMixerOutputStatus.encode = function encode(message, writer) {
2395
+ if (!writer)
2396
+ writer = $Writer.create();
2397
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
2398
+ writer.uint32(
2399
+ /* id 1, wireType 2 =*/
2400
+ 10
2401
+ ).string(message.id);
2402
+ if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType"))
2403
+ writer.uint32(
2404
+ /* id 2, wireType 0 =*/
2405
+ 16
2406
+ ).int32(message.outputType);
1685
2407
  if (message.vu != null && message.vu.length) {
1686
2408
  writer.uint32(
1687
- /* id 5, wireType 2 =*/
1688
- 42
2409
+ /* id 3, wireType 2 =*/
2410
+ 26
1689
2411
  ).fork();
1690
2412
  for (let i = 0; i < message.vu.length; ++i)
1691
2413
  writer.float(message.vu[i]);
1692
2414
  writer.ldelim();
1693
2415
  }
1694
- if (message.hasData != null && Object.hasOwnProperty.call(message, "hasData"))
1695
- writer.uint32(
1696
- /* id 6, wireType 0 =*/
1697
- 48
1698
- ).bool(message.hasData);
1699
- if (message.readErrors != null && Object.hasOwnProperty.call(message, "readErrors"))
2416
+ if (message.excludedChannelIds != null && message.excludedChannelIds.length)
2417
+ for (let i = 0; i < message.excludedChannelIds.length; ++i)
2418
+ writer.uint32(
2419
+ /* id 4, wireType 2 =*/
2420
+ 34
2421
+ ).string(message.excludedChannelIds[i]);
2422
+ if (message.includeMasterPlugins != null && Object.hasOwnProperty.call(message, "includeMasterPlugins"))
1700
2423
  writer.uint32(
1701
- /* id 7, wireType 0 =*/
1702
- 56
1703
- ).uint32(message.readErrors);
1704
- if (message.plugins != null && message.plugins.length)
1705
- for (let i = 0; i < message.plugins.length; ++i)
1706
- $root.sesame.v1.audio.AudioChannelPluginStatus.encode(message.plugins[i], writer.uint32(
1707
- /* id 8, wireType 2 =*/
1708
- 66
1709
- ).fork()).ldelim();
2424
+ /* id 5, wireType 0 =*/
2425
+ 40
2426
+ ).bool(message.includeMasterPlugins);
1710
2427
  return writer;
1711
2428
  };
1712
- AudioChannelStatus.encodeDelimited = function encodeDelimited(message, writer) {
2429
+ AudioMixerOutputStatus.encodeDelimited = function encodeDelimited(message, writer) {
1713
2430
  return this.encode(message, writer).ldelim();
1714
2431
  };
1715
- AudioChannelStatus.decode = function decode(reader, length, error) {
2432
+ AudioMixerOutputStatus.decode = function decode(reader, length, error) {
1716
2433
  if (!(reader instanceof $Reader))
1717
2434
  reader = $Reader.create(reader);
1718
- let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.audio.AudioChannelStatus();
2435
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.audio.AudioMixerOutputStatus();
1719
2436
  while (reader.pos < end) {
1720
2437
  let tag = reader.uint32();
1721
2438
  if (tag === error)
@@ -1730,14 +2447,6 @@ var sesame = $root.sesame = (() => {
1730
2447
  break;
1731
2448
  }
1732
2449
  case 3: {
1733
- message.level = reader.float();
1734
- break;
1735
- }
1736
- case 4: {
1737
- message.pan = reader.float();
1738
- break;
1739
- }
1740
- case 5: {
1741
2450
  if (!(message.vu && message.vu.length))
1742
2451
  message.vu = [];
1743
2452
  if ((tag & 7) === 2) {
@@ -1748,18 +2457,14 @@ var sesame = $root.sesame = (() => {
1748
2457
  message.vu.push(reader.float());
1749
2458
  break;
1750
2459
  }
1751
- case 6: {
1752
- message.hasData = reader.bool();
1753
- break;
1754
- }
1755
- case 7: {
1756
- message.readErrors = reader.uint32();
2460
+ case 4: {
2461
+ if (!(message.excludedChannelIds && message.excludedChannelIds.length))
2462
+ message.excludedChannelIds = [];
2463
+ message.excludedChannelIds.push(reader.string());
1757
2464
  break;
1758
2465
  }
1759
- case 8: {
1760
- if (!(message.plugins && message.plugins.length))
1761
- message.plugins = [];
1762
- message.plugins.push($root.sesame.v1.audio.AudioChannelPluginStatus.decode(reader, reader.uint32()));
2466
+ case 5: {
2467
+ message.includeMasterPlugins = reader.bool();
1763
2468
  break;
1764
2469
  }
1765
2470
  default:
@@ -1769,12 +2474,12 @@ var sesame = $root.sesame = (() => {
1769
2474
  }
1770
2475
  return message;
1771
2476
  };
1772
- AudioChannelStatus.decodeDelimited = function decodeDelimited(reader) {
2477
+ AudioMixerOutputStatus.decodeDelimited = function decodeDelimited(reader) {
1773
2478
  if (!(reader instanceof $Reader))
1774
2479
  reader = new $Reader(reader);
1775
2480
  return this.decode(reader, reader.uint32());
1776
2481
  };
1777
- AudioChannelStatus.verify = function verify(message) {
2482
+ AudioMixerOutputStatus.verify = function verify(message) {
1778
2483
  if (typeof message !== "object" || message === null)
1779
2484
  return "object expected";
1780
2485
  if (message.id != null && message.hasOwnProperty("id")) {
@@ -1790,14 +2495,6 @@ var sesame = $root.sesame = (() => {
1790
2495
  case 2:
1791
2496
  break;
1792
2497
  }
1793
- if (message.level != null && message.hasOwnProperty("level")) {
1794
- if (typeof message.level !== "number")
1795
- return "level: number expected";
1796
- }
1797
- if (message.pan != null && message.hasOwnProperty("pan")) {
1798
- if (typeof message.pan !== "number")
1799
- return "pan: number expected";
1800
- }
1801
2498
  if (message.vu != null && message.hasOwnProperty("vu")) {
1802
2499
  if (!Array.isArray(message.vu))
1803
2500
  return "vu: array expected";
@@ -1805,29 +2502,23 @@ var sesame = $root.sesame = (() => {
1805
2502
  if (typeof message.vu[i] !== "number")
1806
2503
  return "vu: number[] expected";
1807
2504
  }
1808
- if (message.hasData != null && message.hasOwnProperty("hasData")) {
1809
- if (typeof message.hasData !== "boolean")
1810
- return "hasData: boolean expected";
1811
- }
1812
- if (message.readErrors != null && message.hasOwnProperty("readErrors")) {
1813
- if (!$util.isInteger(message.readErrors))
1814
- return "readErrors: integer expected";
2505
+ if (message.excludedChannelIds != null && message.hasOwnProperty("excludedChannelIds")) {
2506
+ if (!Array.isArray(message.excludedChannelIds))
2507
+ return "excludedChannelIds: array expected";
2508
+ for (let i = 0; i < message.excludedChannelIds.length; ++i)
2509
+ if (!$util.isString(message.excludedChannelIds[i]))
2510
+ return "excludedChannelIds: string[] expected";
1815
2511
  }
1816
- if (message.plugins != null && message.hasOwnProperty("plugins")) {
1817
- if (!Array.isArray(message.plugins))
1818
- return "plugins: array expected";
1819
- for (let i = 0; i < message.plugins.length; ++i) {
1820
- let error = $root.sesame.v1.audio.AudioChannelPluginStatus.verify(message.plugins[i]);
1821
- if (error)
1822
- return "plugins." + error;
1823
- }
2512
+ if (message.includeMasterPlugins != null && message.hasOwnProperty("includeMasterPlugins")) {
2513
+ if (typeof message.includeMasterPlugins !== "boolean")
2514
+ return "includeMasterPlugins: boolean expected";
1824
2515
  }
1825
2516
  return null;
1826
2517
  };
1827
- AudioChannelStatus.fromObject = function fromObject(object) {
1828
- if (object instanceof $root.sesame.v1.audio.AudioChannelStatus)
2518
+ AudioMixerOutputStatus.fromObject = function fromObject(object) {
2519
+ if (object instanceof $root.sesame.v1.audio.AudioMixerOutputStatus)
1829
2520
  return object;
1830
- let message = new $root.sesame.v1.audio.AudioChannelStatus();
2521
+ let message = new $root.sesame.v1.audio.AudioMixerOutputStatus();
1831
2522
  if (object.id != null)
1832
2523
  message.id = String(object.id);
1833
2524
  switch (object.outputType) {
@@ -1850,88 +2541,72 @@ var sesame = $root.sesame = (() => {
1850
2541
  message.outputType = 2;
1851
2542
  break;
1852
2543
  }
1853
- if (object.level != null)
1854
- message.level = Number(object.level);
1855
- if (object.pan != null)
1856
- message.pan = Number(object.pan);
1857
2544
  if (object.vu) {
1858
2545
  if (!Array.isArray(object.vu))
1859
- throw TypeError(".sesame.v1.audio.AudioChannelStatus.vu: array expected");
2546
+ throw TypeError(".sesame.v1.audio.AudioMixerOutputStatus.vu: array expected");
1860
2547
  message.vu = [];
1861
2548
  for (let i = 0; i < object.vu.length; ++i)
1862
2549
  message.vu[i] = Number(object.vu[i]);
1863
2550
  }
1864
- if (object.hasData != null)
1865
- message.hasData = Boolean(object.hasData);
1866
- if (object.readErrors != null)
1867
- message.readErrors = object.readErrors >>> 0;
1868
- if (object.plugins) {
1869
- if (!Array.isArray(object.plugins))
1870
- throw TypeError(".sesame.v1.audio.AudioChannelStatus.plugins: array expected");
1871
- message.plugins = [];
1872
- for (let i = 0; i < object.plugins.length; ++i) {
1873
- if (typeof object.plugins[i] !== "object")
1874
- throw TypeError(".sesame.v1.audio.AudioChannelStatus.plugins: object expected");
1875
- message.plugins[i] = $root.sesame.v1.audio.AudioChannelPluginStatus.fromObject(object.plugins[i]);
1876
- }
2551
+ if (object.excludedChannelIds) {
2552
+ if (!Array.isArray(object.excludedChannelIds))
2553
+ throw TypeError(".sesame.v1.audio.AudioMixerOutputStatus.excludedChannelIds: array expected");
2554
+ message.excludedChannelIds = [];
2555
+ for (let i = 0; i < object.excludedChannelIds.length; ++i)
2556
+ message.excludedChannelIds[i] = String(object.excludedChannelIds[i]);
1877
2557
  }
2558
+ if (object.includeMasterPlugins != null)
2559
+ message.includeMasterPlugins = Boolean(object.includeMasterPlugins);
1878
2560
  return message;
1879
2561
  };
1880
- AudioChannelStatus.toObject = function toObject(message, options) {
2562
+ AudioMixerOutputStatus.toObject = function toObject(message, options) {
1881
2563
  if (!options)
1882
2564
  options = {};
1883
2565
  let object = {};
1884
2566
  if (options.arrays || options.defaults) {
1885
2567
  object.vu = [];
1886
- object.plugins = [];
2568
+ object.excludedChannelIds = [];
1887
2569
  }
1888
2570
  if (options.defaults) {
1889
2571
  object.id = "";
1890
2572
  object.outputType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
1891
- object.level = 0;
1892
- object.pan = 0;
1893
- object.hasData = false;
1894
- object.readErrors = 0;
2573
+ object.includeMasterPlugins = false;
1895
2574
  }
1896
2575
  if (message.id != null && message.hasOwnProperty("id"))
1897
2576
  object.id = message.id;
1898
2577
  if (message.outputType != null && message.hasOwnProperty("outputType"))
1899
2578
  object.outputType = options.enums === String ? $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] === void 0 ? message.outputType : $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] : message.outputType;
1900
- if (message.level != null && message.hasOwnProperty("level"))
1901
- object.level = options.json && !isFinite(message.level) ? String(message.level) : message.level;
1902
- if (message.pan != null && message.hasOwnProperty("pan"))
1903
- object.pan = options.json && !isFinite(message.pan) ? String(message.pan) : message.pan;
1904
2579
  if (message.vu && message.vu.length) {
1905
2580
  object.vu = [];
1906
2581
  for (let j = 0; j < message.vu.length; ++j)
1907
2582
  object.vu[j] = options.json && !isFinite(message.vu[j]) ? String(message.vu[j]) : message.vu[j];
1908
2583
  }
1909
- if (message.hasData != null && message.hasOwnProperty("hasData"))
1910
- object.hasData = message.hasData;
1911
- if (message.readErrors != null && message.hasOwnProperty("readErrors"))
1912
- object.readErrors = message.readErrors;
1913
- if (message.plugins && message.plugins.length) {
1914
- object.plugins = [];
1915
- for (let j = 0; j < message.plugins.length; ++j)
1916
- object.plugins[j] = $root.sesame.v1.audio.AudioChannelPluginStatus.toObject(message.plugins[j], options);
2584
+ if (message.excludedChannelIds && message.excludedChannelIds.length) {
2585
+ object.excludedChannelIds = [];
2586
+ for (let j = 0; j < message.excludedChannelIds.length; ++j)
2587
+ object.excludedChannelIds[j] = message.excludedChannelIds[j];
1917
2588
  }
2589
+ if (message.includeMasterPlugins != null && message.hasOwnProperty("includeMasterPlugins"))
2590
+ object.includeMasterPlugins = message.includeMasterPlugins;
1918
2591
  return object;
1919
2592
  };
1920
- AudioChannelStatus.prototype.toJSON = function toJSON() {
2593
+ AudioMixerOutputStatus.prototype.toJSON = function toJSON() {
1921
2594
  return this.constructor.toObject(this, import_minimal.default.util.toJSONOptions);
1922
2595
  };
1923
- AudioChannelStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
2596
+ AudioMixerOutputStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
1924
2597
  if (typeUrlPrefix === void 0) {
1925
2598
  typeUrlPrefix = "type.googleapis.com";
1926
2599
  }
1927
- return typeUrlPrefix + "/sesame.v1.audio.AudioChannelStatus";
2600
+ return typeUrlPrefix + "/sesame.v1.audio.AudioMixerOutputStatus";
1928
2601
  };
1929
- return AudioChannelStatus;
2602
+ return AudioMixerOutputStatus;
1930
2603
  }();
1931
2604
  audio.AudioMixerStatus = function() {
1932
2605
  function AudioMixerStatus(properties) {
1933
2606
  this.vu = [];
1934
2607
  this.channels = [];
2608
+ this.masterPlugins = [];
2609
+ this.outputs = [];
1935
2610
  if (properties) {
1936
2611
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
1937
2612
  if (properties[keys[i]] != null)
@@ -1942,6 +2617,11 @@ var sesame = $root.sesame = (() => {
1942
2617
  AudioMixerStatus.prototype.outputType = 0;
1943
2618
  AudioMixerStatus.prototype.vu = $util.emptyArray;
1944
2619
  AudioMixerStatus.prototype.channels = $util.emptyArray;
2620
+ AudioMixerStatus.prototype.masterLevel = 0;
2621
+ AudioMixerStatus.prototype.masterAutomationLevel = 0;
2622
+ AudioMixerStatus.prototype.masterEffectiveLevel = 0;
2623
+ AudioMixerStatus.prototype.masterPlugins = $util.emptyArray;
2624
+ AudioMixerStatus.prototype.outputs = $util.emptyArray;
1945
2625
  AudioMixerStatus.create = function create(properties) {
1946
2626
  return new AudioMixerStatus(properties);
1947
2627
  };
@@ -1973,6 +2653,33 @@ var sesame = $root.sesame = (() => {
1973
2653
  /* id 4, wireType 2 =*/
1974
2654
  34
1975
2655
  ).fork()).ldelim();
2656
+ if (message.masterLevel != null && Object.hasOwnProperty.call(message, "masterLevel"))
2657
+ writer.uint32(
2658
+ /* id 5, wireType 5 =*/
2659
+ 45
2660
+ ).float(message.masterLevel);
2661
+ if (message.masterAutomationLevel != null && Object.hasOwnProperty.call(message, "masterAutomationLevel"))
2662
+ writer.uint32(
2663
+ /* id 6, wireType 5 =*/
2664
+ 53
2665
+ ).float(message.masterAutomationLevel);
2666
+ if (message.masterEffectiveLevel != null && Object.hasOwnProperty.call(message, "masterEffectiveLevel"))
2667
+ writer.uint32(
2668
+ /* id 7, wireType 5 =*/
2669
+ 61
2670
+ ).float(message.masterEffectiveLevel);
2671
+ if (message.masterPlugins != null && message.masterPlugins.length)
2672
+ for (let i = 0; i < message.masterPlugins.length; ++i)
2673
+ $root.sesame.v1.audio.AudioChannelPluginStatus.encode(message.masterPlugins[i], writer.uint32(
2674
+ /* id 8, wireType 2 =*/
2675
+ 66
2676
+ ).fork()).ldelim();
2677
+ if (message.outputs != null && message.outputs.length)
2678
+ for (let i = 0; i < message.outputs.length; ++i)
2679
+ $root.sesame.v1.audio.AudioMixerOutputStatus.encode(message.outputs[i], writer.uint32(
2680
+ /* id 9, wireType 2 =*/
2681
+ 74
2682
+ ).fork()).ldelim();
1976
2683
  return writer;
1977
2684
  };
1978
2685
  AudioMixerStatus.encodeDelimited = function encodeDelimited(message, writer) {
@@ -2012,6 +2719,30 @@ var sesame = $root.sesame = (() => {
2012
2719
  message.channels.push($root.sesame.v1.audio.AudioChannelStatus.decode(reader, reader.uint32()));
2013
2720
  break;
2014
2721
  }
2722
+ case 5: {
2723
+ message.masterLevel = reader.float();
2724
+ break;
2725
+ }
2726
+ case 6: {
2727
+ message.masterAutomationLevel = reader.float();
2728
+ break;
2729
+ }
2730
+ case 7: {
2731
+ message.masterEffectiveLevel = reader.float();
2732
+ break;
2733
+ }
2734
+ case 8: {
2735
+ if (!(message.masterPlugins && message.masterPlugins.length))
2736
+ message.masterPlugins = [];
2737
+ message.masterPlugins.push($root.sesame.v1.audio.AudioChannelPluginStatus.decode(reader, reader.uint32()));
2738
+ break;
2739
+ }
2740
+ case 9: {
2741
+ if (!(message.outputs && message.outputs.length))
2742
+ message.outputs = [];
2743
+ message.outputs.push($root.sesame.v1.audio.AudioMixerOutputStatus.decode(reader, reader.uint32()));
2744
+ break;
2745
+ }
2015
2746
  default:
2016
2747
  reader.skipType(tag & 7);
2017
2748
  break;
@@ -2056,6 +2787,36 @@ var sesame = $root.sesame = (() => {
2056
2787
  return "channels." + error;
2057
2788
  }
2058
2789
  }
2790
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
2791
+ if (typeof message.masterLevel !== "number")
2792
+ return "masterLevel: number expected";
2793
+ }
2794
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
2795
+ if (typeof message.masterAutomationLevel !== "number")
2796
+ return "masterAutomationLevel: number expected";
2797
+ }
2798
+ if (message.masterEffectiveLevel != null && message.hasOwnProperty("masterEffectiveLevel")) {
2799
+ if (typeof message.masterEffectiveLevel !== "number")
2800
+ return "masterEffectiveLevel: number expected";
2801
+ }
2802
+ if (message.masterPlugins != null && message.hasOwnProperty("masterPlugins")) {
2803
+ if (!Array.isArray(message.masterPlugins))
2804
+ return "masterPlugins: array expected";
2805
+ for (let i = 0; i < message.masterPlugins.length; ++i) {
2806
+ let error = $root.sesame.v1.audio.AudioChannelPluginStatus.verify(message.masterPlugins[i]);
2807
+ if (error)
2808
+ return "masterPlugins." + error;
2809
+ }
2810
+ }
2811
+ if (message.outputs != null && message.hasOwnProperty("outputs")) {
2812
+ if (!Array.isArray(message.outputs))
2813
+ return "outputs: array expected";
2814
+ for (let i = 0; i < message.outputs.length; ++i) {
2815
+ let error = $root.sesame.v1.audio.AudioMixerOutputStatus.verify(message.outputs[i]);
2816
+ if (error)
2817
+ return "outputs." + error;
2818
+ }
2819
+ }
2059
2820
  return null;
2060
2821
  };
2061
2822
  AudioMixerStatus.fromObject = function fromObject(object) {
@@ -2101,6 +2862,32 @@ var sesame = $root.sesame = (() => {
2101
2862
  message.channels[i] = $root.sesame.v1.audio.AudioChannelStatus.fromObject(object.channels[i]);
2102
2863
  }
2103
2864
  }
2865
+ if (object.masterLevel != null)
2866
+ message.masterLevel = Number(object.masterLevel);
2867
+ if (object.masterAutomationLevel != null)
2868
+ message.masterAutomationLevel = Number(object.masterAutomationLevel);
2869
+ if (object.masterEffectiveLevel != null)
2870
+ message.masterEffectiveLevel = Number(object.masterEffectiveLevel);
2871
+ if (object.masterPlugins) {
2872
+ if (!Array.isArray(object.masterPlugins))
2873
+ throw TypeError(".sesame.v1.audio.AudioMixerStatus.masterPlugins: array expected");
2874
+ message.masterPlugins = [];
2875
+ for (let i = 0; i < object.masterPlugins.length; ++i) {
2876
+ if (typeof object.masterPlugins[i] !== "object")
2877
+ throw TypeError(".sesame.v1.audio.AudioMixerStatus.masterPlugins: object expected");
2878
+ message.masterPlugins[i] = $root.sesame.v1.audio.AudioChannelPluginStatus.fromObject(object.masterPlugins[i]);
2879
+ }
2880
+ }
2881
+ if (object.outputs) {
2882
+ if (!Array.isArray(object.outputs))
2883
+ throw TypeError(".sesame.v1.audio.AudioMixerStatus.outputs: array expected");
2884
+ message.outputs = [];
2885
+ for (let i = 0; i < object.outputs.length; ++i) {
2886
+ if (typeof object.outputs[i] !== "object")
2887
+ throw TypeError(".sesame.v1.audio.AudioMixerStatus.outputs: object expected");
2888
+ message.outputs[i] = $root.sesame.v1.audio.AudioMixerOutputStatus.fromObject(object.outputs[i]);
2889
+ }
2890
+ }
2104
2891
  return message;
2105
2892
  };
2106
2893
  AudioMixerStatus.toObject = function toObject(message, options) {
@@ -2110,10 +2897,15 @@ var sesame = $root.sesame = (() => {
2110
2897
  if (options.arrays || options.defaults) {
2111
2898
  object.vu = [];
2112
2899
  object.channels = [];
2900
+ object.masterPlugins = [];
2901
+ object.outputs = [];
2113
2902
  }
2114
2903
  if (options.defaults) {
2115
2904
  object.id = "";
2116
2905
  object.outputType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
2906
+ object.masterLevel = 0;
2907
+ object.masterAutomationLevel = 0;
2908
+ object.masterEffectiveLevel = 0;
2117
2909
  }
2118
2910
  if (message.id != null && message.hasOwnProperty("id"))
2119
2911
  object.id = message.id;
@@ -2129,6 +2921,22 @@ var sesame = $root.sesame = (() => {
2129
2921
  for (let j = 0; j < message.channels.length; ++j)
2130
2922
  object.channels[j] = $root.sesame.v1.audio.AudioChannelStatus.toObject(message.channels[j], options);
2131
2923
  }
2924
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel"))
2925
+ object.masterLevel = options.json && !isFinite(message.masterLevel) ? String(message.masterLevel) : message.masterLevel;
2926
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel"))
2927
+ object.masterAutomationLevel = options.json && !isFinite(message.masterAutomationLevel) ? String(message.masterAutomationLevel) : message.masterAutomationLevel;
2928
+ if (message.masterEffectiveLevel != null && message.hasOwnProperty("masterEffectiveLevel"))
2929
+ object.masterEffectiveLevel = options.json && !isFinite(message.masterEffectiveLevel) ? String(message.masterEffectiveLevel) : message.masterEffectiveLevel;
2930
+ if (message.masterPlugins && message.masterPlugins.length) {
2931
+ object.masterPlugins = [];
2932
+ for (let j = 0; j < message.masterPlugins.length; ++j)
2933
+ object.masterPlugins[j] = $root.sesame.v1.audio.AudioChannelPluginStatus.toObject(message.masterPlugins[j], options);
2934
+ }
2935
+ if (message.outputs && message.outputs.length) {
2936
+ object.outputs = [];
2937
+ for (let j = 0; j < message.outputs.length; ++j)
2938
+ object.outputs[j] = $root.sesame.v1.audio.AudioMixerOutputStatus.toObject(message.outputs[j], options);
2939
+ }
2132
2940
  return object;
2133
2941
  };
2134
2942
  AudioMixerStatus.prototype.toJSON = function toJSON() {
@@ -2283,6 +3091,9 @@ var sesame = $root.sesame = (() => {
2283
3091
  AudioChannelControlRequest.prototype.level = null;
2284
3092
  AudioChannelControlRequest.prototype.pan = null;
2285
3093
  AudioChannelControlRequest.prototype.plugins = $util.emptyArray;
3094
+ AudioChannelControlRequest.prototype.mute = null;
3095
+ AudioChannelControlRequest.prototype.automationLevel = null;
3096
+ AudioChannelControlRequest.prototype.automationMute = null;
2286
3097
  let $oneOfFields;
2287
3098
  Object.defineProperty(AudioChannelControlRequest.prototype, "_level", {
2288
3099
  get: $util.oneOfGetter($oneOfFields = ["level"]),
@@ -2292,6 +3103,18 @@ var sesame = $root.sesame = (() => {
2292
3103
  get: $util.oneOfGetter($oneOfFields = ["pan"]),
2293
3104
  set: $util.oneOfSetter($oneOfFields)
2294
3105
  });
3106
+ Object.defineProperty(AudioChannelControlRequest.prototype, "_mute", {
3107
+ get: $util.oneOfGetter($oneOfFields = ["mute"]),
3108
+ set: $util.oneOfSetter($oneOfFields)
3109
+ });
3110
+ Object.defineProperty(AudioChannelControlRequest.prototype, "_automationLevel", {
3111
+ get: $util.oneOfGetter($oneOfFields = ["automationLevel"]),
3112
+ set: $util.oneOfSetter($oneOfFields)
3113
+ });
3114
+ Object.defineProperty(AudioChannelControlRequest.prototype, "_automationMute", {
3115
+ get: $util.oneOfGetter($oneOfFields = ["automationMute"]),
3116
+ set: $util.oneOfSetter($oneOfFields)
3117
+ });
2295
3118
  AudioChannelControlRequest.create = function create(properties) {
2296
3119
  return new AudioChannelControlRequest(properties);
2297
3120
  };
@@ -2319,6 +3142,21 @@ var sesame = $root.sesame = (() => {
2319
3142
  /* id 4, wireType 2 =*/
2320
3143
  34
2321
3144
  ).fork()).ldelim();
3145
+ if (message.mute != null && Object.hasOwnProperty.call(message, "mute"))
3146
+ writer.uint32(
3147
+ /* id 5, wireType 0 =*/
3148
+ 40
3149
+ ).bool(message.mute);
3150
+ if (message.automationLevel != null && Object.hasOwnProperty.call(message, "automationLevel"))
3151
+ writer.uint32(
3152
+ /* id 6, wireType 5 =*/
3153
+ 53
3154
+ ).float(message.automationLevel);
3155
+ if (message.automationMute != null && Object.hasOwnProperty.call(message, "automationMute"))
3156
+ writer.uint32(
3157
+ /* id 7, wireType 0 =*/
3158
+ 56
3159
+ ).bool(message.automationMute);
2322
3160
  return writer;
2323
3161
  };
2324
3162
  AudioChannelControlRequest.encodeDelimited = function encodeDelimited(message, writer) {
@@ -2351,6 +3189,18 @@ var sesame = $root.sesame = (() => {
2351
3189
  message.plugins.push($root.sesame.v1.audio.AudioPluginControlRequest.decode(reader, reader.uint32()));
2352
3190
  break;
2353
3191
  }
3192
+ case 5: {
3193
+ message.mute = reader.bool();
3194
+ break;
3195
+ }
3196
+ case 6: {
3197
+ message.automationLevel = reader.float();
3198
+ break;
3199
+ }
3200
+ case 7: {
3201
+ message.automationMute = reader.bool();
3202
+ break;
3203
+ }
2354
3204
  default:
2355
3205
  reader.skipType(tag & 7);
2356
3206
  break;
@@ -2390,6 +3240,21 @@ var sesame = $root.sesame = (() => {
2390
3240
  return "plugins." + error;
2391
3241
  }
2392
3242
  }
3243
+ if (message.mute != null && message.hasOwnProperty("mute")) {
3244
+ properties._mute = 1;
3245
+ if (typeof message.mute !== "boolean")
3246
+ return "mute: boolean expected";
3247
+ }
3248
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
3249
+ properties._automationLevel = 1;
3250
+ if (typeof message.automationLevel !== "number")
3251
+ return "automationLevel: number expected";
3252
+ }
3253
+ if (message.automationMute != null && message.hasOwnProperty("automationMute")) {
3254
+ properties._automationMute = 1;
3255
+ if (typeof message.automationMute !== "boolean")
3256
+ return "automationMute: boolean expected";
3257
+ }
2393
3258
  return null;
2394
3259
  };
2395
3260
  AudioChannelControlRequest.fromObject = function fromObject(object) {
@@ -2412,6 +3277,12 @@ var sesame = $root.sesame = (() => {
2412
3277
  message.plugins[i] = $root.sesame.v1.audio.AudioPluginControlRequest.fromObject(object.plugins[i]);
2413
3278
  }
2414
3279
  }
3280
+ if (object.mute != null)
3281
+ message.mute = Boolean(object.mute);
3282
+ if (object.automationLevel != null)
3283
+ message.automationLevel = Number(object.automationLevel);
3284
+ if (object.automationMute != null)
3285
+ message.automationMute = Boolean(object.automationMute);
2415
3286
  return message;
2416
3287
  };
2417
3288
  AudioChannelControlRequest.toObject = function toObject(message, options) {
@@ -2439,6 +3310,21 @@ var sesame = $root.sesame = (() => {
2439
3310
  for (let j = 0; j < message.plugins.length; ++j)
2440
3311
  object.plugins[j] = $root.sesame.v1.audio.AudioPluginControlRequest.toObject(message.plugins[j], options);
2441
3312
  }
3313
+ if (message.mute != null && message.hasOwnProperty("mute")) {
3314
+ object.mute = message.mute;
3315
+ if (options.oneofs)
3316
+ object._mute = "mute";
3317
+ }
3318
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
3319
+ object.automationLevel = options.json && !isFinite(message.automationLevel) ? String(message.automationLevel) : message.automationLevel;
3320
+ if (options.oneofs)
3321
+ object._automationLevel = "automationLevel";
3322
+ }
3323
+ if (message.automationMute != null && message.hasOwnProperty("automationMute")) {
3324
+ object.automationMute = message.automationMute;
3325
+ if (options.oneofs)
3326
+ object._automationMute = "automationMute";
3327
+ }
2442
3328
  return object;
2443
3329
  };
2444
3330
  AudioChannelControlRequest.prototype.toJSON = function toJSON() {
@@ -2455,6 +3341,7 @@ var sesame = $root.sesame = (() => {
2455
3341
  audio.AudioControlRequest = function() {
2456
3342
  function AudioControlRequest(properties) {
2457
3343
  this.channels = [];
3344
+ this.masterPlugins = [];
2458
3345
  if (properties) {
2459
3346
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2460
3347
  if (properties[keys[i]] != null)
@@ -2462,6 +3349,18 @@ var sesame = $root.sesame = (() => {
2462
3349
  }
2463
3350
  }
2464
3351
  AudioControlRequest.prototype.channels = $util.emptyArray;
3352
+ AudioControlRequest.prototype.masterLevel = null;
3353
+ AudioControlRequest.prototype.masterAutomationLevel = null;
3354
+ AudioControlRequest.prototype.masterPlugins = $util.emptyArray;
3355
+ let $oneOfFields;
3356
+ Object.defineProperty(AudioControlRequest.prototype, "_masterLevel", {
3357
+ get: $util.oneOfGetter($oneOfFields = ["masterLevel"]),
3358
+ set: $util.oneOfSetter($oneOfFields)
3359
+ });
3360
+ Object.defineProperty(AudioControlRequest.prototype, "_masterAutomationLevel", {
3361
+ get: $util.oneOfGetter($oneOfFields = ["masterAutomationLevel"]),
3362
+ set: $util.oneOfSetter($oneOfFields)
3363
+ });
2465
3364
  AudioControlRequest.create = function create(properties) {
2466
3365
  return new AudioControlRequest(properties);
2467
3366
  };
@@ -2474,6 +3373,22 @@ var sesame = $root.sesame = (() => {
2474
3373
  /* id 1, wireType 2 =*/
2475
3374
  10
2476
3375
  ).fork()).ldelim();
3376
+ if (message.masterLevel != null && Object.hasOwnProperty.call(message, "masterLevel"))
3377
+ writer.uint32(
3378
+ /* id 2, wireType 5 =*/
3379
+ 21
3380
+ ).float(message.masterLevel);
3381
+ if (message.masterAutomationLevel != null && Object.hasOwnProperty.call(message, "masterAutomationLevel"))
3382
+ writer.uint32(
3383
+ /* id 3, wireType 5 =*/
3384
+ 29
3385
+ ).float(message.masterAutomationLevel);
3386
+ if (message.masterPlugins != null && message.masterPlugins.length)
3387
+ for (let i = 0; i < message.masterPlugins.length; ++i)
3388
+ $root.sesame.v1.audio.AudioPluginControlRequest.encode(message.masterPlugins[i], writer.uint32(
3389
+ /* id 4, wireType 2 =*/
3390
+ 34
3391
+ ).fork()).ldelim();
2477
3392
  return writer;
2478
3393
  };
2479
3394
  AudioControlRequest.encodeDelimited = function encodeDelimited(message, writer) {
@@ -2494,6 +3409,20 @@ var sesame = $root.sesame = (() => {
2494
3409
  message.channels.push($root.sesame.v1.audio.AudioChannelControlRequest.decode(reader, reader.uint32()));
2495
3410
  break;
2496
3411
  }
3412
+ case 2: {
3413
+ message.masterLevel = reader.float();
3414
+ break;
3415
+ }
3416
+ case 3: {
3417
+ message.masterAutomationLevel = reader.float();
3418
+ break;
3419
+ }
3420
+ case 4: {
3421
+ if (!(message.masterPlugins && message.masterPlugins.length))
3422
+ message.masterPlugins = [];
3423
+ message.masterPlugins.push($root.sesame.v1.audio.AudioPluginControlRequest.decode(reader, reader.uint32()));
3424
+ break;
3425
+ }
2497
3426
  default:
2498
3427
  reader.skipType(tag & 7);
2499
3428
  break;
@@ -2509,6 +3438,7 @@ var sesame = $root.sesame = (() => {
2509
3438
  AudioControlRequest.verify = function verify(message) {
2510
3439
  if (typeof message !== "object" || message === null)
2511
3440
  return "object expected";
3441
+ let properties = {};
2512
3442
  if (message.channels != null && message.hasOwnProperty("channels")) {
2513
3443
  if (!Array.isArray(message.channels))
2514
3444
  return "channels: array expected";
@@ -2518,6 +3448,25 @@ var sesame = $root.sesame = (() => {
2518
3448
  return "channels." + error;
2519
3449
  }
2520
3450
  }
3451
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
3452
+ properties._masterLevel = 1;
3453
+ if (typeof message.masterLevel !== "number")
3454
+ return "masterLevel: number expected";
3455
+ }
3456
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
3457
+ properties._masterAutomationLevel = 1;
3458
+ if (typeof message.masterAutomationLevel !== "number")
3459
+ return "masterAutomationLevel: number expected";
3460
+ }
3461
+ if (message.masterPlugins != null && message.hasOwnProperty("masterPlugins")) {
3462
+ if (!Array.isArray(message.masterPlugins))
3463
+ return "masterPlugins: array expected";
3464
+ for (let i = 0; i < message.masterPlugins.length; ++i) {
3465
+ let error = $root.sesame.v1.audio.AudioPluginControlRequest.verify(message.masterPlugins[i]);
3466
+ if (error)
3467
+ return "masterPlugins." + error;
3468
+ }
3469
+ }
2521
3470
  return null;
2522
3471
  };
2523
3472
  AudioControlRequest.fromObject = function fromObject(object) {
@@ -2534,19 +3483,50 @@ var sesame = $root.sesame = (() => {
2534
3483
  message.channels[i] = $root.sesame.v1.audio.AudioChannelControlRequest.fromObject(object.channels[i]);
2535
3484
  }
2536
3485
  }
3486
+ if (object.masterLevel != null)
3487
+ message.masterLevel = Number(object.masterLevel);
3488
+ if (object.masterAutomationLevel != null)
3489
+ message.masterAutomationLevel = Number(object.masterAutomationLevel);
3490
+ if (object.masterPlugins) {
3491
+ if (!Array.isArray(object.masterPlugins))
3492
+ throw TypeError(".sesame.v1.audio.AudioControlRequest.masterPlugins: array expected");
3493
+ message.masterPlugins = [];
3494
+ for (let i = 0; i < object.masterPlugins.length; ++i) {
3495
+ if (typeof object.masterPlugins[i] !== "object")
3496
+ throw TypeError(".sesame.v1.audio.AudioControlRequest.masterPlugins: object expected");
3497
+ message.masterPlugins[i] = $root.sesame.v1.audio.AudioPluginControlRequest.fromObject(object.masterPlugins[i]);
3498
+ }
3499
+ }
2537
3500
  return message;
2538
3501
  };
2539
3502
  AudioControlRequest.toObject = function toObject(message, options) {
2540
3503
  if (!options)
2541
3504
  options = {};
2542
3505
  let object = {};
2543
- if (options.arrays || options.defaults)
3506
+ if (options.arrays || options.defaults) {
2544
3507
  object.channels = [];
3508
+ object.masterPlugins = [];
3509
+ }
2545
3510
  if (message.channels && message.channels.length) {
2546
3511
  object.channels = [];
2547
3512
  for (let j = 0; j < message.channels.length; ++j)
2548
3513
  object.channels[j] = $root.sesame.v1.audio.AudioChannelControlRequest.toObject(message.channels[j], options);
2549
3514
  }
3515
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
3516
+ object.masterLevel = options.json && !isFinite(message.masterLevel) ? String(message.masterLevel) : message.masterLevel;
3517
+ if (options.oneofs)
3518
+ object._masterLevel = "masterLevel";
3519
+ }
3520
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
3521
+ object.masterAutomationLevel = options.json && !isFinite(message.masterAutomationLevel) ? String(message.masterAutomationLevel) : message.masterAutomationLevel;
3522
+ if (options.oneofs)
3523
+ object._masterAutomationLevel = "masterAutomationLevel";
3524
+ }
3525
+ if (message.masterPlugins && message.masterPlugins.length) {
3526
+ object.masterPlugins = [];
3527
+ for (let j = 0; j < message.masterPlugins.length; ++j)
3528
+ object.masterPlugins[j] = $root.sesame.v1.audio.AudioPluginControlRequest.toObject(message.masterPlugins[j], options);
3529
+ }
2550
3530
  return object;
2551
3531
  };
2552
3532
  AudioControlRequest.prototype.toJSON = function toJSON() {
@@ -23514,11 +24494,12 @@ var CommandList = class {
23514
24494
  }
23515
24495
  applyTransaction(transaction) {
23516
24496
  this.cl.commandList.forEach((item) => {
23517
- if (transaction.transactionId !== void 0) {
24497
+ if (transaction.transactionId !== void 0 && item.transactionId == null) {
23518
24498
  item.transactionId = transaction.transactionId;
23519
24499
  }
23520
24500
  if (transaction.dependencies !== void 0) {
23521
- item.transactionDeps = item.transactionDeps ? item.transactionDeps.concat(transaction.dependencies) : transaction.dependencies;
24501
+ const existing = item.transactionDeps ?? [];
24502
+ item.transactionDeps = [...new Set(existing.concat(transaction.dependencies))];
23522
24503
  }
23523
24504
  });
23524
24505
  }
@@ -23701,7 +24682,7 @@ var CommandList = class {
23701
24682
  }
23702
24683
  }
23703
24684
  item.updateSourceTransport = transportCmd;
23704
- return this.add(item, timeOffsetMs, { transactionId: msg.transactionId, dependencies: [] });
24685
+ return this.add(item, timeOffsetMs, { transactionId: msg.transactionId, dependencies: msg.dependencies });
23705
24686
  }
23706
24687
  sourceUpdate(id, cfg, timeOffsetMs) {
23707
24688
  let item = new sesame.v1.commands.CommandListItem();
@@ -24453,15 +25434,21 @@ var EaseKind = /* @__PURE__ */ ((EaseKind2) => {
24453
25434
  EaseKind2["BACK_INOUT"] = "backInOut";
24454
25435
  return EaseKind2;
24455
25436
  })(EaseKind || {});
25437
+ function appendQueryParam(url, key, value) {
25438
+ if (!value) return url;
25439
+ const separator = url.includes("?") ? "&" : "?";
25440
+ return `${url}${separator}${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
25441
+ }
24456
25442
  var SesameClient = class extends import_events3.EventEmitter {
24457
- constructor(portOrUrl) {
25443
+ constructor(portOrUrl, clientOptions = {}) {
24458
25444
  super();
24459
25445
  this.subscriptions = [];
24460
25446
  this.onMediaPacket = () => {
24461
25447
  };
24462
25448
  this.onCallbackMessage = () => {
24463
25449
  };
24464
- const url = typeof portOrUrl === "number" ? `ws://127.0.0.1:${portOrUrl}/api` : portOrUrl;
25450
+ const baseUrl = typeof portOrUrl === "number" ? `ws://127.0.0.1:${portOrUrl}/api` : portOrUrl;
25451
+ const url = appendQueryParam(baseUrl, "client", clientOptions.wsClientLabel ?? "");
24465
25452
  this.conn = new SesameConnection({
24466
25453
  url,
24467
25454
  autoConnect: true,