Hi, I'm VolcanicArts. Currently an undergraduate in Computer Science. I do a lot of open source projects in my spare time. Hope you find something useful.
VRCOSC - A modular OSC application creator made for VRChat.
Modular OSC program creator, toolkit, and router made for VRChat. Show your heartrate, time, hardware stats, speech to text, control Spotify, and more! Includes drag-and-drop prefabs for your avatar.
License: GNU General Public License v3.0
Hi, I'm VolcanicArts. Currently an undergraduate in Computer Science. I do a lot of open source projects in my spare time. Hope you find something useful.
VRCOSC - A modular OSC application creator made for VRChat.
I use this app for basic heartrate display via Pulsoid, but every time I do so, VRChat hard crashes after having been active for a while (10-20 minutes, varies) and then proceeds to not open anymore until I restart SteamVR.
What could this be? I have uninstalled and reinstalled to latest version but I'm still getting crashes like those. Could it simply just be some sort of background software issue?
I've tried finding information how and which gestures this module detects on this wiki and on the discord and haven't found any. I've looked at the source and wrote up a small note that should be useful for people trying to implement it in their avatar (especially the table).
VRCOSC GestureExtensions Wikipage Proposal.md
I am confident this should cover the entirety of the plugin, but please kindly correct my english.
Creating an issue here to make it public if anyone has any ideas on how to solve this.
From my research it seems that polling for hardware stats (using a PerformanceCounter
) in Windows leaks memory. Possibly Related
I've definitely confirmed this problem still exists by polling the method 100/s and over a few minutes it leaked over 2gbs of RAM. I haven't confirmed whether this actually fills up your memory or not by that much in that time however, since GC is quite smart. Obviously this isn't good for extended VRChat sessions when people want their hardware (and possibly more in the future) stats to update at a reasonable rate, I.E, 1/s. Especially for people that have low amounts of RAM in their system.
I've done my best in the past to optimise the module (back when I did the refactor from ComputerStats
to HardwareStats
by reusing the same counters) which seemed to help but hasn't removed the issue entirely.
I'm uncertain as to whether this is a problem with .NET or if there is some kind of alternative library to get around this.
If anyone has any info on this problem, post a reply here.
In the following lines:
VRCOSC/VRCOSC.Game/Managers/ModuleManager.cs
Lines 125 to 128 in bc6f60e
the module initialization exception is caught, but as a result it will be absent from any of the logs, making root cause analysis and fixing of the underlying issue difficult.
VirusTotal seems to be pretty certain that the newest executable might pose a threat.
Is there a specific pattern in the code that causes this threat detection?
Application: VRCOSC.exe
CoreCLR Version: 6.0.2824.12007
.NET Version: 6.0.28
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException: The Device is not ready. (0x80070015)
at VRCOSC.Game.Providers.Media.WindowsMediaProvider.onCurrentSessionChanged(GlobalSystemMediaTransportControlsSessionManager _, CurrentSessionChangedEventArgs _2)
at System.Threading.Tasks.Task.<>c.b__128_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()
--- End of stack trace from previous location ---
at osu.Framework.Platform.GameHost.<>c__DisplayClass141_0.b__0()
at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
at osu.Framework.Threading.Scheduler.Update()
at osu.Framework.Threading.GameThread.processFrame()
May take a look myself.
Not sure what is causing the issue. Playing Music from Plex via Chrome as it does not pick up Plexamp.
would like see integration of Google Fit API pull Heart Rate system, it might require 0Auth2 in localhost Connection and store they Google Access Token Localy for Security reasons.
since some non-brands doesn't support hyperate or pulsroid platforms and only has supported is google fit Relay integrations including fitbit as well.
i have heart rate watch that only supports google fit. if able make this feature be useful for most watches for Android Users.
Would there be a way to add custom commands to it?
I know it has intensity, duration, group etc... but there seems to be no way to add "plus" or "minus"
The reason i ask for it, is because i want to add something for my Avatar that people can push inworld like https://dasprid.gumroad.com/l/llfyq but without using this osc-manager tool from the creator.
Because if you use that manager and get shocked the music played display of VRCOSC is gone and i would rather to use VRCOSC
On Youtube its not an issue since the autopause that the VRCOSC has is short enough and Youtube takes forever to load the next video. On something like SoundCloud, at least for me, skipping a song/leaving it to switch to the next will start the next song, then autopauses. This issue only started during the new update
I would like it if VRCOSC could minimize to tray, like VRCX.
Something from my Metastruct Gmod days: auto-AFK. After two minutes of inactivity or so, it'll show players you're AFK in the scoreboard.
Would be nice if this could be a thing in VRCOSC, as it would give me reason to actually run it in the background while i'm doing shit IRL.
I don't want be a nuisance and would like VRCOSC's Media plugin to only show up once upon track change, and then disappear after X seconds.
Is there a Way to display like clock and media at once without them interrupting the other?
Im getting this error when ever it starts its forwaring to my routed devices but I dont know what its requesting that it cant get
2024-03-05 04:04:53 [verbose]: AppManager state changed to Started
2024-03-05 04:05:35 [verbose]: Performing save for file router.json
2024-03-05 04:05:38 [verbose]: Performing save for file router.json
2024-03-05 04:05:38 [verbose]: Performing save for file router.json
2024-03-05 04:05:41 [verbose]: Performing save for file router.json
2024-03-05 04:05:42 [verbose]: AppManager state changed to Stopping
2024-03-05 04:05:42 [verbose]: AppManager state changed to Stopped
2024-03-05 04:05:42 [verbose]: AppManager state changed to Starting
2024-03-05 04:05:42 [error]: The requested address is not valid in its context.
2024-03-05 04:05:42 [error]: System.Net.Sockets.SocketException (10049): The requested address is not valid in its context.
2024-03-05 04:05:42 [error]: at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
2024-03-05 04:05:42 [error]: at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
2024-03-05 04:05:42 [error]: at System.Net.Sockets.Socket.Bind(EndPoint localEP)
2024-03-05 04:05:42 [error]: at VRCOSC.Game.OSC.Client.OscReceiver.Enable()
2024-03-05 04:05:42 [error]: OscReceiver experienced an exception
2024-03-05 04:05:42 [error]: System.Net.Sockets.SocketException (10049): The requested address is not valid in its context.
2024-03-05 04:05:42 [error]: at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
2024-03-05 04:05:42 [error]: at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
2024-03-05 04:05:42 [error]: at System.Net.Sockets.Socket.Bind(EndPoint localEP)
2024-03-05 04:05:42 [error]: at VRCOSC.Game.OSC.Client.OscReceiver.Enable()
2024-03-05 04:05:42 [verbose]: AppManager state changed to Started
Hyperate bpm since update has been frequently displaying 0 bpm between updates.
It still displays actual, accurate readings, but often shows 0 for a few seconds.
Not sure if anyone elese has this issue but only the VRAM does not display for me when using an AMD GPU. Everything else works but that.
Current Setup:
Ryzen 7 7800X3D
RX 7800 XT
Windows 11
nvm
OSC Query is not used which causes an exception to throw when being used with other OSC apps - a good example is VRCFT which also has yet to migrate.
Hello,
With the latest version of VRChat, version 2023.4.2 1388, VRCOSC crash instantly, and it no longer works.
Will there be an update?
Cordially.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.