Giter Site home page Giter Site logo

hrcounter's Introduction

GitHub stats

Metrics

hrcounter's People

Contributors

200tigersbloxed avatar qe201020335 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

Watchers

 avatar

hrcounter's Issues

Random High CPU Frametime

While playing any song after configuring HypeRate for Apple Watch, fpsVR shows CPU Frametime spikes to over 10ms and drops a frame every 10-20 seconds. fpsVR history log does not show this weirdly, but I captured a screenshot of the widget right after a spike.

ERHJ

Add YUR support

Display real / estimated heart rate by stealing data from YUR mod. :D

Support for Xiaomi Mi Watch

Hiya,

I can't seem to find a way to push any data out of my Mi Watch (Model: XMWTCL02).

I'd love it if this supported a form of software that is able to do this as the watch's default is "Xiaomi Wear".

Would be more than happy to help with any testing too!

Rewrite and Refactor

  • Use nullable types and make all types' nullability accurate.
  • Make the data source strings into an enum and get rid of all the mapper functions lying around.
  • Rename classes
    • HRController -> HRDataManager
    • BPMDownloader -> DataSourcer
  • Re-think how to pass things between HRManager and BPMDownloader
  • BPM data model class shouldn't be pausing the game
  • Use Zenject on UI
  • YUR socket connection thread safe
  • ...

HR not visible in-chart

I've been fiddling with HRCounters for half an hour just to get it visible in-game.

Notable entry in my most recent log:

[omit]
[DEBUG @ 17:16:57 | Counters+] Loading counter Heart Rate Counter...
[NOTICE @ 17:16:57 | Counters+] Counters loaded!
[DEBUG @ 17:16:58 | IPA/LibraryLoader] Resolving library websocket-sharp, Version=1.0.2.1803, Culture=neutral, PublicKeyToken=5660b08a1845a91e
[DEBUG @ 17:16:58 | IPA/LibraryLoader] Looking for file websocket-sharp.dll
[CRITICAL @ 17:16:58 | IPA/LibraryLoader] No library websocket-sharp, Version=1.0.2.1803, Culture=neutral, PublicKeyToken=5660b08a1845a91e found
[DEBUG @ 17:16:58 | IPA/LibraryLoader] Resolving library websocket-sharp, Version=1.0.2.1803, Culture=neutral, PublicKeyToken=5660b08a1845a91e
[DEBUG @ 17:16:58 | IPA/LibraryLoader] Looking for file websocket-sharp.dll
[CRITICAL @ 17:16:58 | IPA/LibraryLoader] No library websocket-sharp, Version=1.0.2.1803, Culture=neutral, PublicKeyToken=5660b08a1845a91e found
[CRITICAL @ 17:16:58 | SiraUtil] Error occurred while initializing IInitializable with type 'CountersPlus.Counters.Event_Broadcasters.CounterEventBroadcaster'
[CRITICAL @ 17:16:58 | SiraUtil] System.TypeLoadException: Could not load type of field 'HRCounter.Data.HypeRate:_webSocket' (6) due to: Could not load file or assembly 'websocket-sharp, Version=1.0.2.1803, Culture=neutral, PublicKeyToken=5660b08a1845a91e' or one of its dependencies. assembly:websocket-sharp, Version=1.0.2.1803, Culture=neutral, PublicKeyToken=5660b08a1845a91e type:<unknown type> member:(null) signature:<none>
[CRITICAL @ 17:16:58 | SiraUtil]   at HRCounter.HRCounter.CounterInit () [0x00024] in <cfdad10cf9a14ebd97926dd9d9f6cbe9>:0 
[CRITICAL @ 17:16:58 | SiraUtil]   at CountersPlus.Counters.Event_Broadcasters.CounterEventBroadcaster.Initialize () [0x00015] in <85e7d6fc15a141cb8afa3ea6afdf8fc6>:0 
[CRITICAL @ 17:16:58 | SiraUtil]   at (wrapper dynamic-method) Zenject.InitializableManager.DMD<Zenject.InitializableManager::Initialize>(Zenject.InitializableManager)
[WARNING @ 17:16:58 | SiraUtil] Please tell Caeden117 to fix this!
""
""
""
""
""
""
""
""
""
""
[omit]

Full log here
2021.08.30.17.16.34.log

Mi Band 6 support?

I was wondering if it would be possible to get this mod to work with the Mi Band 6

Implement OSC Server for common VRChat HR OSCs

Currently, there's a high demand for OSC software for VRChat, adding extensibility to people's avatars. One of the extended features are adding HRCounters on avatars. Because of this, there have been numerous OSC applications created to receive HR data and send it to VRChat via. OSC. Some examples listed below

Having an OSC server (with something like SharpOSC) to read from endpoints and extract data from these OSC clients (for example, /avatar/HR with HRtoVRChat) would extend device support greatly, and allow for an easy to implement custom HR Interface without a developer having to implement it themselves in the main code to support HRCounter.

This shouldn't rule out the possibility of HRCounter having it's own SDK to dynamically load managed assemblies, but act as a compatibility layer for pre-existing VRChat OSC applications meant to send data to VRChat's OSC server.

HRCounter not showing up in game

installed all requirements off MA and counters+ off github and can edit position of counter in counters+ config, but can't see ingame for whatever reason
tried changing position, reinstalling mod, changing counter position, and even tried the session id with the link in it as well and none worked
logs:
2023.01.29.11.57.36.log
2023.01.29.11.50.55.log.gz
_latest.log

config:
{
"ModEnable": true,
"LogHR": false,
"DataSource": "HypeRate",
"PulsoidToken": "NotSet",
"HypeRateSessionID": "728F",
"PulsoidWidgetID": "NotSet",
"FitbitWebSocket": "ws://localhost:8080/",
"FeedLink": "NotSet",
"NoBloom": true,
"Colorize": true,
"HideDuringReplay": true,
"HRLow": 120,
"HRHigh": 180,
"LowColor": "#00FF00",
"MidColor": "#FFFF00",
"HighColor": "#FF0000",
"PauseHR": 200,
"AutoPause": false,
"IgnoreCountersPlus": false,
"DebugSpam": false,
"StaticCounterPosition": {
"x": 0.0,
"y": 1.2,
"z": 7.0
}
}

HR Counter not appearing in levels

Hey,

I think this issue #7 actually still persists in the current version. I can configure the counter, but it refuses to work in the levels.

I think the issue is a missing dependency however. The Beat Saber logs states that websocket-sharp is missing. Probably the easiest fix is to add this to the required mods section of the installation guide ^^

[CRITICAL @ 21:46:16 | SiraUtil] System.TypeLoadException: Could not load type of field 'HRCounter.Data.HypeRate:_webSocket' (6) due to: Could not load file or assembly 'websocket-sharp, Version=1.0.2.1803, Culture=neutral, PublicKeyToken=5660b08a1845a91e' or one of its dependencies. assembly:websocket-sharp, Version=1.0.2.1803, Culture=neutral, PublicKeyToken=5660b08a1845a91e type: member:(null) signature:
[CRITICAL @ 21:46:16 | SiraUtil] at HRCounter.HRCounter.CounterInit () [0x00024] in <058d33a233044f7692f5b438d1c18b19>:0
[CRITICAL @ 21:46:16 | SiraUtil] at CountersPlus.Counters.Event_Broadcasters.CounterEventBroadcaster.Initialize () [0x00015] in <85e7d6fc15a141cb8afa3ea6afdf8fc6>:0
[CRITICAL @ 21:46:16 | SiraUtil] at (wrapper dynamic-method) Zenject.InitializableManager.DMDZenject.InitializableManager::Initialize(Zenject.InitializableManager)

Edit: Installing websocket-sharp in the version currently available on ModAssistant indeed fixes the issue

Revamp Config Generator Webpage

  • Support Pulsoid OAuth call back
  • Add more setting fields to the page
  • Allow editing existing config files by uploading instead of generate a new json file every time

HRCounter not showing up in game

I've downloaded and setup hyperate through testflight on my apple watch. I can go to their website and see my updating heart rate and I've setup the HR counter config file. This is my current config file:
{ "LogHR": false, "DataSource": "HypeRate", "HypeRateSessionID": "4055", "PulsoidWidgetID": "NotSet", "FitbitWebSocket": "ws://localhost:8080/", "FeedLink": "NotSet", "Colorize": true, "HideDuringReplay": true, "HRLow": 120, "HRHigh": 180, "LowColor": "#00FF00", "MidColor": "#FFFF00", "HighColor": "#FF0000", "PauseHR": 200, "AutoPause": true }

I've gone into the counter+ config in beat saber and enabled HRCounter and positioned it where I want it however when I get into a song, the hear rate counter just isn't there. Is this to do with the issue of the new hyperate API? Is there a fix?
Github makes my config file look weird so this is a screenshot aswell:
image

Record and save hr data

  • Properly save the hr data from each game session (csv files?)
  • Display a graph after each map ends (with nps graph also?)
  • Loads and show the hr for a corresponding replay?

HRCounter not appearing in levels

Hey there,
Ive used HRCounter before, been a while since I used it again but I cant get it to appear in the levels anymore, they just dont show up.
To clarify, they appear in counters, I've sent my feed correctly (with the api feed link not the other one) reinstalled both counters and hrcounter and it doesn't seem to appear?

I recorded a vid of what i see~: https://www.youtube.com/watch?v=-vyr-oZOW_A

Love your work btw :)

Ingame Icon

Is it possible to display a blood drop icon instead of the heart?
Because I use the plugin to monitor my blood sugar in the game.
๐Ÿ‘

HRProxy was loaded when choose webrequest

When playing a level the heart rate counter does not show, it does show when I go into the counters+ menu, I think it also might be interfering with the misses counter? It always shows 0 no matter how many times I miss.
My config:
HRCounter json_ - Microsoft Visual Studio 2_23_2022 1_57_25 PM
replaced (my name) just for the png.
It works fine displaying the heart rate to my PC, and even on obs.
My latest log: _latest.log

HR doesn't change

Hey,
I love this idea but I'm having problems with it. I have it all set up in game, and it displays as a counter, but it only displays 1 number that i assume is what it found on launch and doesnt change. I.e. One launch it only displayed "119", played several songs and it didn't change, another launch it was 107, played several songs and it didn't change, etc.
Really looking forward to using this properly so thanks for any help :)

FPFC disabling/breaking when watching replays with HideDuringReplay set to true

When launching Beat Saber with FPFC enabled (and Camera2) you lose control over the pointer after watching a replay. This only happens when HideDuringReplay is set to true. I'm on the latest version 1.19.0

My guess is that the issue is caused by invoking this ScoreSaber method here:

return ScoreSaber_playbackEnabled != null && (bool) ScoreSaber_playbackEnabled.Invoke(null, null) == false;

Update for game version 1.27.0

Hello, will this mod be updated for version 1.27.0? Or does anyone have it successfully working in 1.27.0?

I tried using HRCounter for the first time in 1.27.0 in standalone mode with only:
[BSIPA] v4.2.2
[BSML] v1.6.8
[SiraUtil] v3.1.2
Websocket-sharp v1.0.4 (I chose to use HypeRate)

I can see the menu options and the mod is enabled, shows the Hyperate config, but did not see HRCounter anywhere while playing a map.
Then I installed Counters+ and it also shows the HRCounter config and Hyperate config, and although other counters work, there's still no HRCounter displayed.

Update: It magically appeared today, and although I tinkered with a custom built dll, I went back to the release and it still works. So I don't know what is different.

HR stuck at 0

Hey, really liking the idea of this mod but got a bit of an issue.
It shows up in game fine but always displays 0 for the HR.
I've followed the instructions of dropping the .dll in plugins, running the game, closing the game and pasting my pulsoid feed link into the .json file in userdata.
I've restarted the game and made sure the changes made to the .json stuck, also restarted my PC but it still stays at 0 at all times.
The pulsoid link is correct and in my browser shows a heartrate, it does so too on my phone, also tested it with OBS and it works there too, just not in BS for some reason.
Below is the latest log from Beat Saber/Logs/HRCounter and a screenshot of the config.
_latest.log
grafik
I've also removed the "" around the link just in case but that didn't change anything either.

Minimum/maximum tweak?

Any possibility you can lower the minimum and maximum HR?

I take a beta blocker for anxiety and one of its "features" is it greatly reduces heart rate. Those of us on them will play and will rarely have a HR over 100 -- but when it does get that high, it's dangerous -- that's like 180 for those not taking beta blockers. ~100's where the game should pause for me, but I can't set it that low. I've been recompiling the mod to change it, but it kind of makes more sense to get that in the code? Minimum is the same - I'm usually at 50-51 when I start playing - but that's not as important.

I've got lots of records that show a 2 hour session while taking it, I average at 63bpm. Not taking it, 140.

Anyway, just thought I'd ask. ๐Ÿ™‚

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.