Giter Club home page Giter Club logo

xsoverlay-vrchat-parser's Introduction

XSOverlay VRChat Parser

A tool for parsing the VRChat output log and leveraging XSNotifications to display notifications to the user via XSOverlay. The tool is useful in desktop mode as well, and will continue to output to the UI. Events currently include: Player Joined, Player Left, Portal Dropped, World Changed, and Shader Keywords Exceeded. The application is built on .NET 5.0 and both framework-dependent and standalone builds can be found in Releases. Things are a little messy right now, but should run fine.

I'm currentling leveraging Avalonia for the UI, but I plan to move away from it after .NET 6 and a first party framework like MAUI are stable.

Improvements and feature implementations are welcome, so feel free to submit your PRs if you do something cool!


Contributions welcome

For news and updates about the parser, feel free to contact me here on GitHub, in the XSOverlay Discord, or even my Twitter.


Session Logs

When reporting bugs or simply to review past sessions, note that every session with the application has its output logged to the following directory:

"%AppData%\..\LocalLow\XSOverlay VRChat Parser\Logs


Advanced Configuration

For the time being, only a subset of the available configuration options are exposed to the GUI. To access additional configuration options like how frequently the parser checks for updates, what sounds it uses, what icons it uses, where it looks for output logs, please see the configuration json file at the following path:

"%AppData%\..\LocalLow\XSOverlay VRChat Parser\config.json


Interface

An example of the interface can be seen below.


Known Issues

  • Some glyphs don't display correctly in the Event Log. There's a known issue with the UI framework regarding glyph fallbacks for font families. This will either be resolved in a later patch, or when we move to a new UI framework. Most names will display correctly, and I've embedded Noto for its reasonable support of many languages.

  • Currently, the parser does not detect whether or not XSOverlay is running, and does not fall back to playing audio on your primary audio device in the event that it can't have XSOverlay play audio for it. This also means it does not have an option to close when XSOverlay closes at this time. This is a planned feature.

  • The window is currently not resizable. The UI isn't built in a way that is conducive to expanding and contracting due to time constraints and my relative unfamiliarity with XAML. This isn't currently a high priority item, but is on the list!

  • Hyperlinks don't currently work in the Event Log. This is due to a defect in AvaloniaEdit that I came across while adding support for the generation of world links in the log. I've created an issue for it here and am waiting to hear back on it.

xsoverlay-vrchat-parser's People

Contributors

float3 avatar nnaaa-vr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xsoverlay-vrchat-parser's Issues

Not seeing config.json

[Edit: This is a documentation error. Found it under the proper path of AppData\LocalLow\XSOverlay VRChat Parser]

The wiki page mentions:

%AppData%\..\LocalLow\VRChat\vrchat\config.json

as a place to find additional configuration settings.

I'm not seeing it at that location. I installed from the .zip file.

Thanks

Way to test alert sounds?

This is probably a me problem, but the Parser doesn't always make a sound when events trigger. I'm using it standalone (only Oculus link, not using SteamVR/XSOverlay) in this case to get an audio alert mainly for portals being dropped and people joining and leaving.

I'm requesting a way to test fire an alert sound, so I can tell if audio is working.

I bounce the speaker device between the VR headset and the Main speakers.... and that is where I sometimes lose the audio.

I guess I'm also asking for which device the Parser is using to be exposed.

Thanks

Assist to getting Quest URL from logs

I run with people using Quest 2 without a link cable.

Playing videos from youtube so that they can see them involves a dance where I go into the log file by hand and and find what yt-dlp.exe resolved the video's URL to, then copying and pasting that into VRchat while pointing at the player.

This allows Quest 2 users to see most, if not all, videos.

Could your tool help me out here? Either by parsing the resolved URL and making it available, or better, either forcing that URL into the clipboard, or having a button to click to put it into the clipboard?

The URL is ridiculously long, so simply printing it out would spam up the Event Log. The resolved URL is only valid for a few hours.

Here is an example of yt-dlp doing it's thing:

2022.05.02 03:14:40 Log - [Video Playback] URL 'https://www.youtube.com/watch?v=Dg0IjOzopYU' resolved to 'https://rr1---sn-nx5e6nez.googlevideo.com/videoplayback?expire=1651508080&ei=D69vYsq-O-uXsfIP5badGA&ip=160.211.111.26&id=o-AOdpY3k_hiB-Ti41i_7Iec-Et4IdntuY0_GqAZ4GD4ME&itag=22&source=youtube&requiressl=yes&mh=xC&mm=31%2C26&mn=sn-nx5e6nez%2Csn-a5msenek&ms=au%2Conr&mv=m&mvi=1&pl=24&initcwndbps=1790000&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=7613.056&lmt=1628320394017632&mt=1651486141&fvip=3&fexp=24001373%2C24007246&c=ANDROID&txp=5535432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRAIgHhLXu0Ei_KQ9CSaiqP91CtoYV8K1buUhDLjHzfzuNyACICXmNyfgkIMaNUuDbUk4uCE6wjxn_-GRa7JDWK2jgn-f&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAJa0WkgM60AnRRICRv92mi67Fnnv8v6KX7KrvdJTPQQVAiEAs6RV1Qob7toLHtsJzemfwF8V6kYGhF4x_adtRZ0Mr7k%3D'

Thanks

Request for additional features on notifications

Thank you for all your help and support.
We are very happy with the service we receive from you.

The first is to add the ability to be notified of the title of a video when it is played in the world video player.
Secondly, it would be possible to change the setting to turn off the notification after joining the world.

Thank you very much for your consideration.

[FEEDBACK] Add ability to reposition overlay notifications

Having the notifications pop up close to the center of your view causes them to be a bit in the way. Being able to reposition them. say for example, closer to the bottom on the same level as VRC's mic icon would be a nice improvement.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.