Skip to content

Commit

Permalink
Merge branch 'main' into automatic-tracker-chest
Browse files Browse the repository at this point in the history
  • Loading branch information
loucass003 authored Jun 13, 2024
2 parents bb2ac83 + 54a1b94 commit 3a87a54
Show file tree
Hide file tree
Showing 17 changed files with 155 additions and 145 deletions.
18 changes: 9 additions & 9 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,34 @@
* @Eirenliel

# Make everyone be able to approve SolarXR submodule changes
/solarxr-protocol @ButterscotchV @Louka3000 @ImUrX
/solarxr-protocol @ButterscotchV @Erimelowo @ImUrX

# Make Loucas and Uriel the owners of all GUI stuff
/gui/ @ImUrX
/pnpm-lock.yaml @ImUrX
/pnpm-workspace.yaml @ImUrX

# Uriel and Erimel responsible for i18n
/gui/public/i18n/ @ImUrX @Louka3000
/gui/src/i18n/ @ImUrX @Louka3000
/l10n.toml @ImUrX @Louka3000
/gui/public/i18n/ @ImUrX @Erimelowo
/gui/src/i18n/ @ImUrX @Erimelowo
/l10n.toml @ImUrX @Erimelowo

/gui/src/components/settings/ @Louka3000 @ImUrX
/gui/src/components/settings/ @Erimelowo @ImUrX

# Rust part of the GUI
/gui/src-tauri/ @ImUrX
/Cargo.lock @ImUrX

# Some server code~
/server/ @ButterscotchV @Eirenliel @Louka3000
/server/ @ButterscotchV @Eirenliel @Erimelowo

/server/src/main/java/dev/slimevr/autobone/ @ButterscotchV
/server/src/main/java/dev/slimevr/poserecorder/ @ButterscotchV
/server/src/main/java/dev/slimevr/posestreamer/ @ButterscotchV

/server/src/main/java/dev/slimevr/osc/ @Louka3000
/server/src/main/java/dev/slimevr/tracking/processor/ @Louka3000
/server/src/main/java/dev/slimevr/filtering/ @Louka3000
/server/src/main/java/dev/slimevr/osc/ @Erimelowo
/server/src/main/java/dev/slimevr/tracking/processor/ @Erimelowo
/server/src/main/java/dev/slimevr/filtering/ @Erimelowo

# Linux files
*.nix @ImUrX
Expand Down
7 changes: 1 addition & 6 deletions .github/workflows/gradle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -338,9 +338,6 @@ jobs:
cp target/release/slimevr.exe ./SlimeVR/
7z a -tzip SlimeVR-win64.zip ./SlimeVR/
mv ./SlimeVR/slimevr.exe ./SlimeVR/slimevr-ui.exe
7z a -tzip SlimeVR.zip ./SlimeVR/
- uses: actions/upload-artifact@v4
with:
name: SlimeVR-GUI-Windows
Expand All @@ -352,6 +349,4 @@ jobs:
with:
draft: true
generate_release_notes: true
files: |
./SlimeVR-win64.zip
./SlimeVR.zip
files: ./SlimeVR-win64.zip
7 changes: 4 additions & 3 deletions dev.slimevr.SlimeVR.metainfo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
<id>dev.slimevr.SlimeVR</id>

<name>SlimeVR</name>
<summary>An app for facilitating full-body tracking in virtual reality</summary>
<summary>Accessible full-body tracking in VR</summary>
<developer_name>SlimeVR Team</developer_name>

<!-- CC0 so attribution is not required -->
Expand All @@ -40,7 +40,8 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
</supports>

<branding>
<color type="primary">#663499</color>
<color type="primary" scheme_preference="light">#BB8AE5</color>
<color type="primary" scheme_preference="dark">#663499</color>
</branding>

<description>
Expand All @@ -53,7 +54,7 @@ work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.

<launchable type="desktop-id">dev.slimevr.SlimeVR.desktop</launchable>
<screenshots>
<screenshot type="default">
<screenshot type="default" xml:lang="en">
<caption>The onboarding for the GUI</caption>
<image>https://raw.githubusercontent.com/SlimeVR/SlimeVR-Server/main/assets/img/onboarding.png</image>
</screenshot>
Expand Down
5 changes: 4 additions & 1 deletion gui/public/i18n/en/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ settings-serial = Serial Console
# This cares about multilines
settings-serial-description =
This is a live information feed for serial communication.
May be useful if you need to know the firmware is acting up.
May be useful to debug firmware or hardware issues.
settings-serial-connection_lost = Connection to serial lost, Reconnecting...
settings-serial-reboot = Reboot
settings-serial-factory_reset = Factory Reset
Expand Down Expand Up @@ -553,6 +553,9 @@ settings-osc-vmc-vrm-file_select = Drag & drop a model to use, or <u>browse</u>
settings-osc-vmc-anchor_hip = Anchor at hips
settings-osc-vmc-anchor_hip-description = Anchor the tracking at the hips, useful for seated VTubing. If disabling, load a VRM model.
settings-osc-vmc-anchor_hip-label = Anchor at hips
settings-osc-vmc-mirror_tracking = Mirror tracking
settings-osc-vmc-mirror_tracking-description = Mirror the tracking horizontally.
settings-osc-vmc-mirror_tracking-label = Mirror tracking
## Setup/onboarding menu
onboarding-skip = Skip setup
Expand Down
2 changes: 1 addition & 1 deletion gui/src-tauri/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ fn main() -> Result<()> {
match build_result {
Ok(app) => {
app.run(move |app_handle, event| match event {
RunEvent::ExitRequested { .. } => {
RunEvent::Exit => {
let window_state = app_handle.state::<Mutex<WindowState>>();
let lock = window_state.lock().unwrap();
let config_dir = app_handle.path().app_config_dir().unwrap();
Expand Down
2 changes: 1 addition & 1 deletion gui/src/components/TopBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ export function TopBar({
<div
className="cursor-pointer"
onClick={() => {
const url = document.body.classList.contains('windows_nt')
const url = document.body.classList.contains('windows')
? 'https://slimevr.dev/download'
: `https://github.com/${GH_REPO}/releases/latest`;
open(url).catch(() => window.open(url, '_blank'));
Expand Down
2 changes: 1 addition & 1 deletion gui/src/components/VersionUpdateModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export function VersionUpdateModal() {
<Button
variant="primary"
onClick={async () => {
const url = document.body.classList.contains('windows_nt')
const url = document.body.classList.contains('windows')
? 'https://slimevr.dev/download'
: `https://github.com/${GH_REPO}/releases/latest`;
await open(url).catch(() => window.open(url, '_blank'));
Expand Down
2 changes: 1 addition & 1 deletion gui/src/components/onboarding/pages/ConnectTracker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ export function ConnectTrackersPage() {
</Typography>

<div
className="overflow-y-scroll mt-2"
className="overflow-y-scroll mt-2 p-5"
ref={ref}
style={
isMobile && state.alonePage
Expand Down
22 changes: 22 additions & 0 deletions gui/src/components/settings/pages/VMCSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ interface VMCSettingsForm {
};
vrmJson?: FileList;
anchorHip: boolean;
mirrorTracking: boolean;
};
}

Expand All @@ -44,6 +45,7 @@ const defaultValues = {
address: '127.0.0.1',
},
anchorHip: true,
mirrorTracking: true,
},
};

Expand Down Expand Up @@ -80,6 +82,7 @@ export function VMCSettings() {
}
}
vmcOsc.anchorHip = values.vmc.anchorHip;
vmcOsc.mirrorTracking = values.vmc.mirrorTracking;

settings.vmcOsc = vmcOsc;
}
Expand Down Expand Up @@ -115,6 +118,7 @@ export function VMCSettings() {
}

formData.vmc.anchorHip = settings.vmcOsc.anchorHip;
formData.vmc.mirrorTracking = settings.vmcOsc.mirrorTracking;
}

reset(formData);
Expand Down Expand Up @@ -272,6 +276,23 @@ export function VMCSettings() {
label={l10n.getString('settings-osc-vmc-anchor_hip-label')}
/>
</div>
<Typography bold>
{l10n.getString('settings-osc-vmc-mirror_tracking')}
</Typography>
<div className="flex flex-col pb-2">
<Typography color="secondary">
{l10n.getString('settings-osc-vmc-mirror_tracking-description')}
</Typography>
</div>
<div className="grid grid-cols-2 gap-3 pb-5">
<CheckBox
variant="toggle"
outlined
control={control}
name="vmc.mirrorTracking"
label={l10n.getString('settings-osc-vmc-mirror_tracking-label')}
/>
</div>
</>
</SettingsPagePaneLayout>
</form>
Expand All @@ -281,6 +302,7 @@ export function VMCSettings() {

const gltfHeaderStart = 0;
const gltfHeaderEnd = 20;

async function parseVRMFile(vrm: File): Promise<string | null> {
const headerView = new DataView(
await vrm.slice(gltfHeaderStart, gltfHeaderEnd).arrayBuffer()
Expand Down
1 change: 0 additions & 1 deletion server/core/src/main/java/dev/slimevr/VRServer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,6 @@ class VRServer @JvmOverloads constructor(
this,
humanPoseManager,
configManager.vrConfig.vmc,
computedTrackers,
)

// Initialize OSC router
Expand Down
3 changes: 3 additions & 0 deletions server/core/src/main/java/dev/slimevr/config/VMCConfig.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,7 @@ class VMCConfig : OSCConfig() {

// JSON part of the VRM to be used
var vrmJson: String? = null

// Mirror the tracking before sending it (turn left <=> turn right, left leg <=> right leg)
var mirrorTracking = false
}
Loading

0 comments on commit 3a87a54

Please sign in to comment.