Skip to content

Commit

Permalink
Merge branch 'feature/overlay-cct-control' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Raphiiko committed Aug 25, 2024
2 parents 642122d + 68dae1a commit be36948
Show file tree
Hide file tree
Showing 19 changed files with 914 additions and 309 deletions.
10 changes: 10 additions & 0 deletions proto/overlay-sidecar.proto
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ message OyasumiSidecarState {
bool sleep_preparation_available = 9;
bool sleep_preparation_timed_out = 10;
bool system_mic_muted = 11;
OyasumiSidecarCCTState cct_state = 12;
}

// No longer required, but reserved for future settings
Expand Down Expand Up @@ -162,6 +163,15 @@ message OyasumiSidecarBrightnessState {
double hardware_max_brightness = 13;
}

message OyasumiSidecarCCTState {
bool enabled = 1;
uint32 value = 2;
uint32 min = 3;
uint32 max = 4;
bool transitioning = 5;
uint32 transition_target = 6;
}

enum VrcStatus {
VRC_STATUS_Offline = 0;
VRC_STATUS_Busy = 1;
Expand Down
149 changes: 149 additions & 0 deletions src-grpc-web-client/overlay-sidecar_pb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,10 @@ export interface OyasumiSidecarState {
* @generated from protobuf field: bool system_mic_muted = 11;
*/
systemMicMuted: boolean;
/**
* @generated from protobuf field: OyasumiOverlaySidecar.OyasumiSidecarCCTState cct_state = 12;
*/
cctState?: OyasumiSidecarCCTState;
}
/**
* No longer required, but reserved for future settings
Expand Down Expand Up @@ -434,6 +438,35 @@ export interface OyasumiSidecarBrightnessState {
*/
hardwareMaxBrightness: number;
}
/**
* @generated from protobuf message OyasumiOverlaySidecar.OyasumiSidecarCCTState
*/
export interface OyasumiSidecarCCTState {
/**
* @generated from protobuf field: bool enabled = 1;
*/
enabled: boolean;
/**
* @generated from protobuf field: uint32 value = 2;
*/
value: number;
/**
* @generated from protobuf field: uint32 min = 3;
*/
min: number;
/**
* @generated from protobuf field: uint32 max = 4;
*/
max: number;
/**
* @generated from protobuf field: bool transitioning = 5;
*/
transitioning: boolean;
/**
* @generated from protobuf field: uint32 transition_target = 6;
*/
transitionTarget: number;
}
/**
* @generated from protobuf enum OyasumiOverlaySidecar.OyasumiSidecarAutomationsState_AutoAcceptInviteRequests_Mode
*/
Expand Down Expand Up @@ -962,6 +995,7 @@ class OyasumiSidecarState$Type extends MessageType<OyasumiSidecarState> {
{ no: 9, name: 'sleep_preparation_available', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ },
{ no: 10, name: 'sleep_preparation_timed_out', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ },
{ no: 11, name: 'system_mic_muted', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ },
{ no: 12, name: 'cct_state', kind: 'message', T: () => OyasumiSidecarCCTState },
]);
}
create(value?: PartialMessage<OyasumiSidecarState>): OyasumiSidecarState {
Expand Down Expand Up @@ -1042,6 +1076,14 @@ class OyasumiSidecarState$Type extends MessageType<OyasumiSidecarState> {
case /* bool system_mic_muted */ 11:
message.systemMicMuted = reader.bool();
break;
case /* OyasumiOverlaySidecar.OyasumiSidecarCCTState cct_state */ 12:
message.cctState = OyasumiSidecarCCTState.internalBinaryRead(
reader,
reader.uint32(),
options,
message.cctState
);
break;
default:
let u = options.readUnknownField;
if (u === 'throw')
Expand Down Expand Up @@ -1112,6 +1154,13 @@ class OyasumiSidecarState$Type extends MessageType<OyasumiSidecarState> {
/* bool system_mic_muted = 11; */
if (message.systemMicMuted !== false)
writer.tag(11, WireType.Varint).bool(message.systemMicMuted);
/* OyasumiOverlaySidecar.OyasumiSidecarCCTState cct_state = 12; */
if (message.cctState)
OyasumiSidecarCCTState.internalBinaryWrite(
message.cctState,
writer.tag(12, WireType.LengthDelimited).fork(),
options
).join();
let u = options.writeUnknownFields;
if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
return writer;
Expand Down Expand Up @@ -2414,6 +2463,106 @@ class OyasumiSidecarBrightnessState$Type extends MessageType<OyasumiSidecarBrigh
* @generated MessageType for protobuf message OyasumiOverlaySidecar.OyasumiSidecarBrightnessState
*/
export const OyasumiSidecarBrightnessState = new OyasumiSidecarBrightnessState$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OyasumiSidecarCCTState$Type extends MessageType<OyasumiSidecarCCTState> {
constructor() {
super('OyasumiOverlaySidecar.OyasumiSidecarCCTState', [
{ no: 1, name: 'enabled', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ },
{ no: 2, name: 'value', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ },
{ no: 3, name: 'min', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ },
{ no: 4, name: 'max', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ },
{ no: 5, name: 'transitioning', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ },
{ no: 6, name: 'transition_target', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ },
]);
}
create(value?: PartialMessage<OyasumiSidecarCCTState>): OyasumiSidecarCCTState {
const message = {
enabled: false,
value: 0,
min: 0,
max: 0,
transitioning: false,
transitionTarget: 0,
};
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
if (value !== undefined) reflectionMergePartial<OyasumiSidecarCCTState>(this, message, value);
return message;
}
internalBinaryRead(
reader: IBinaryReader,
length: number,
options: BinaryReadOptions,
target?: OyasumiSidecarCCTState
): OyasumiSidecarCCTState {
let message = target ?? this.create(),
end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
case /* bool enabled */ 1:
message.enabled = reader.bool();
break;
case /* uint32 value */ 2:
message.value = reader.uint32();
break;
case /* uint32 min */ 3:
message.min = reader.uint32();
break;
case /* uint32 max */ 4:
message.max = reader.uint32();
break;
case /* bool transitioning */ 5:
message.transitioning = reader.bool();
break;
case /* uint32 transition_target */ 6:
message.transitionTarget = reader.uint32();
break;
default:
let u = options.readUnknownField;
if (u === 'throw')
throw new globalThis.Error(
`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`
);
let d = reader.skip(wireType);
if (u !== false)
(u === true ? UnknownFieldHandler.onRead : u)(
this.typeName,
message,
fieldNo,
wireType,
d
);
}
}
return message;
}
internalBinaryWrite(
message: OyasumiSidecarCCTState,
writer: IBinaryWriter,
options: BinaryWriteOptions
): IBinaryWriter {
/* bool enabled = 1; */
if (message.enabled !== false) writer.tag(1, WireType.Varint).bool(message.enabled);
/* uint32 value = 2; */
if (message.value !== 0) writer.tag(2, WireType.Varint).uint32(message.value);
/* uint32 min = 3; */
if (message.min !== 0) writer.tag(3, WireType.Varint).uint32(message.min);
/* uint32 max = 4; */
if (message.max !== 0) writer.tag(4, WireType.Varint).uint32(message.max);
/* bool transitioning = 5; */
if (message.transitioning !== false) writer.tag(5, WireType.Varint).bool(message.transitioning);
/* uint32 transition_target = 6; */
if (message.transitionTarget !== 0)
writer.tag(6, WireType.Varint).uint32(message.transitionTarget);
let u = options.writeUnknownFields;
if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
return writer;
}
}
/**
* @generated MessageType for protobuf message OyasumiOverlaySidecar.OyasumiSidecarCCTState
*/
export const OyasumiSidecarCCTState = new OyasumiSidecarCCTState$Type();
/**
* @generated ServiceType for protobuf service OyasumiOverlaySidecar.OyasumiOverlaySidecar
*/
Expand Down
2 changes: 1 addition & 1 deletion src-overlay-sidecar/Overlays/Helpers/OverlayPointer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public OverlayPointer()
OpenVR.Overlay.SetOverlaySortOrder(_leftPointer.OverlayHandle, 150);
OpenVR.Overlay.SetOverlaySortOrder(_rightPointer.OverlayHandle, 150);
// Load pointer image into overlays
var pointerImage = Utils.ConvertPngToRgba(Utils.LoadEmbeddedFile("overlay-sidecar.Resources.pointer.png"));
var pointerImage = Utils.ConvertPngToRgba(Utils.LoadEmbeddedFile("oyasumivr-overlay-sidecar.Resources.pointer.png"));
var intPtr = Marshal.AllocHGlobal(pointerImage.Item1.Length);
Marshal.Copy(pointerImage.Item1, 0, intPtr, pointerImage.Item1.Length);
OpenVR.Overlay.SetOverlayRaw(_rightPointer.OverlayHandle, intPtr, (uint)pointerImage.Item2,
Expand Down
4 changes: 2 additions & 2 deletions src-overlay-sidecar/Overlays/MicMuteIndicatorOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ public MicMuteIndicatorOverlay()
{
// Load image resources
_muteImage =
Utils.ConvertPngToRgba(Utils.LoadEmbeddedFile("oyasumi-overlay-sidecar.Resources.mic_mute.png"));
Utils.ConvertPngToRgba(Utils.LoadEmbeddedFile("oyasumivr-overlay-sidecar.Resources.mic_mute.png"));
_unmuteImage =
Utils.ConvertPngToRgba(Utils.LoadEmbeddedFile("oyasumi-overlay-sidecar.Resources.mic_unmute.png"));
Utils.ConvertPngToRgba(Utils.LoadEmbeddedFile("oyasumivr-overlay-sidecar.Resources.mic_unmute.png"));
_textureWriter = new TextureWriter(512);
// Create the overlay
OpenVR.Overlay.CreateOverlay("co.raphii.oyasumivr:MicMuteIndicatorOverlay", "OyasumiVR Mic Mute Indicator Overlay",
Expand Down
25 changes: 25 additions & 0 deletions src-overlay-sidecar/src-overlay-sidecar.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.002.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "oyasumivr-overlay-sidecar", "oyasumivr-overlay-sidecar.csproj", "{240CFAD1-7680-4BA7-8F6B-A1D23ABBBB91}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{240CFAD1-7680-4BA7-8F6B-A1D23ABBBB91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{240CFAD1-7680-4BA7-8F6B-A1D23ABBBB91}.Debug|Any CPU.Build.0 = Debug|Any CPU
{240CFAD1-7680-4BA7-8F6B-A1D23ABBBB91}.Release|Any CPU.ActiveCfg = Release|Any CPU
{240CFAD1-7680-4BA7-8F6B-A1D23ABBBB91}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C577E4CD-0E1C-477D-9396-41D59EBF9B86}
EndGlobalSection
EndGlobal
45 changes: 44 additions & 1 deletion src-overlay-ui/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions src-overlay-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
"just-throttle": "^4.2.0",
"lodash-es": "^4.17.21",
"material-icons": "^1.13.8",
"rxjs": "^7.8.1"
"rxjs": "^7.8.1",
"tailwindcss-multi": "^0.4.6"
}
}
}
Loading

0 comments on commit be36948

Please sign in to comment.