Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add settings profiles #1196

Draft
wants to merge 16 commits into
base: main
Choose a base branch
from
Draft

Conversation

JovannMC
Copy link
Contributor

Draft PR to add settings profiles so users can create different profiles for different settings, including body proportions.

Current plan is to have a profiles folder in SlimeVR's data folder which will have folders with the names of the profiles, each of them containing their own vrsettings.yml and gui-settings.dat (e.g. dev.slimevr.SlimeVR/profiles/Bingus).

Fixes #38.

Basic layout for profiles GUI, not sure if we will keep the profiles quick access in the topbar - if removed we can remove the added stuff to Dropdown.tsx
@Eirenliel
Copy link
Member

I feel like body proportions should be a profile, but settings - idk maybe? Kinda weird to group them all together, because one person might need multiple body proportions profiles for like different sets/avatars/people or to experiment, but the same settings.

@JovannMC
Copy link
Contributor Author

Mm that's fair. Since we were going to do body proportions, I thought I might as well implement settings too.
We could make them separate if we still want settings profiles, but if it's not really necessary I can implement just body proportions.

@Spazznyan
Copy link
Contributor

I like the idea of it being all the settings. Can have like a streaming profile and vrchat profile without having to go through and toggle all the VMC/OSC stuffs.

Question is, should a new profile be a copy of the current one or completely fresh with default values?

@JovannMC
Copy link
Contributor Author

I was thinking there could be a prompt to ask what the user wants, the defaults or copy their current profile settings

idk what im doing, this barely works rn. im just saving progress for now.

also removed unneeded perms (allowed by store:default or fs:default)
add changeProfile() which loads the default gui-settings.dat and saves profile there
Removes the profile quick access from topbar & check if new profile being created already exists
Load profile (and available profiles) in dropdown and on start, delete profiles

idk if what im doing is the best way but it works lol
Give user a choice to use the defaults or their current settings for new profile, show name of profile to delete in modal

also some grammar edits in other files & created "QuestionBox" for modals
Create modals for errors while creating a profile (invalid name, already exists) & deletion errors (default profile, and maybe FS errors?)

add "ErrorBox" and classNames to each box
Adds ChangeProfileRequest packet to solarxr

still needs more testing and bugfixes
fix warnings by making some functions private, check for "default" string (this should probably be changed?)
don't use %s when using custom error/log functions
removed some logs, add comments, refactor some code

this is a mess lol
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Body proportions profiles
3 participants