Git Product home page Git Product logo

openvrtwitchchat's People

Contributors

hotrian 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  avatar

openvrtwitchchat's Issues

Option to hide viewer count?

This is my favorite VR chat overlay! Was wondering if there is a way to hide the viewer count or if anyone plans on making the viewer count optional in the future. As someone who streams, it makes me a little anxious when it comes to seeing how many people are watching me. Thanks!
.

Very small hitbox

I'm not sure if its just me, but the hitbox to actually enlarge the chat is super small and i have to move everything around to get it to show up

I Messed Up

I launched the Overlay thing in Monitor 2 which is my VR Set and everytime I open it I get a red screen and can't do anything. Is there any way I can make it open in Monitor 1 which is my laptop screen? Please help me.

Oculus Rift

Is this supposed to be working with Oculus Rift as well?
As soon as I start Oculus home it will close the OpenVRTwitchChat.

How to connect to chat?

how does one go and connect this to twitch? I only know how to use stuff. if I can just click and open it then it's worthless to me. there is NO faq explain anything and when I use the internet it's all nerd speak.

Using Only 1 Controller Causes Log Spam

Easy to replicate the issue, just launch the app with only 1 controller active.
It causes the app to search for controller, find one, and repeat over and over until it detects a second controller.
Can be fixed by just turning on the second controller at any point.

twitchchatoverlay

Add support for Resizable Chat Display

In a future version, I would like for you to be able to either select from a list of choices of different shapes, or possibly add sliders that let you control the width and height, but because there are a number of elements that must be resized to do this, I haven't come up with a clever way to do it yet, and so this is on the back burner.

One or the other, or possibly both features are incoming, but no ETA.

Stops working when shortly leaving Steam VR

Im ruining windows mix realty so when shortly suspended steam vr use my Windows VR hub accesses my desktop and then go back to steam VR twitch chat is no longer visible forcing me to fully close VR to restart the program. Its not even fully closing steam vr just suspending it idk why it dose that.

Chat says Disconnected (But still functions)

For about a year the application has stated "disconnected" at the bottom for me, but still has messages sent to me from my chat. It functions, but I just wish I was able to see how many viewers I have at any given time. I've tried on both 1.0.7.5 and 1.0.7.4-beta, and they both have the same problem. I'm using a Valve Index and Index controllers

Here's an image of the program itself while connected. (Chat squished due to custom angle for Index)
sdaf

And I've included my output_log as well.
output_log.txt

Twitch API v3 Shutdown

Twitch has announced they will be ending life of the v3 API on September 12th, with scheduled outages starting August 12th. Since OVRTC still uses the v3 API, it must be upgraded or cease functioning.

I'll see if I can find time, but cannot promise anything as OVRTC is no longer being developed.

Can't show chat on stream (no Display Mirror)

I don't think Display Mirror exists anymore as a VR window. I'm streaming Half Life: Alyx and just starting using this app! The overlay is not streamed, however. There's no "display mirror" to use instead of the game output.

App crashes on non-printable characters

I have found an possible error in the application. It seems to crash when it encounters a non printable character.

One of the bots on twitch "Stay_Hydrated_Bot" uses Control Characters in its message, which are non-printable. This crashes the app. Attached is the output_log.txt.
I have removed all channel identifying information, as this is not my channel.

output_log_redacted.txt

Add support for Twitch Emotes

This is on the table, but not implemented yet. I need to add some material recycler that lets me load and unload emotes on the fly, because Twitch has so many damn emotes.

This is incoming, but there is no ETA.

OVRTC Crashing on Unity 5.3.6 builds

Not sure what's causing the crashing, it never happened on Unity 5.3.5 that I know of so I assume the switch to 5.3.6 broke something. Sometimes OVRTC will run fine for well over an hour. sometimes it will crash within 10 minutes, and the frequency of messages doesn't seem to make much of a difference.

The stack-trace isn't particularly helpful

========== OUTPUTING STACK TRACE ==================

  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 013BC8B4)
0x013BC8B4 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 013BCB5D)
0x013BCB5D (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E75562)
0x00E75562 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E76768)
0x00E76768 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E74797)
0x00E74797 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E74877)
0x00E74877 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E74BE6)
0x00E74BE6 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00DFFD27)
0x00DFFD27 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012ADF98)
0x012ADF98 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012B3D7C)
0x012B3D7C (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012B404B)
0x012B404B (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012B2483)
0x012B2483 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012B2DAB)
0x012B2DAB (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012DCBD9)
0x012DCBD9 (OpenVRTwitchChat-v1.0.7.3-beta) 
0x05624477 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.TextMesh:set_text (string)
0x05625599 (Mono JIT Code) TwitchChatTester:WordWrapText (System.Collections.Generic.List`1<TwitchChatTester/TwitchChat>,TwitchEmoteMaterialRecycler/EmoteMaterial[])
0x05623FF2 (Mono JIT Code) TwitchChatTester:SetChatMessages (TwitchChatTester/TwitchChatUpdate,TwitchEmoteMaterialRecycler/EmoteMaterial[])
0x05621DBA (Mono JIT Code) TwitchEmoteMaterialRecycler/<UpdateEmoteMaterials>c__Iterator5:MoveNext ()
0x056213DF (Mono JIT Code) UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)
0x05621484 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_object_intptr (object,intptr,intptr,intptr)
0x100F1328 (mono) mono_set_defaults
0x1005D984 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F3394E)
0x00F3394E (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00FB8119)
0x00FB8119 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F230A7)
0x00F230A7 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F23243)
0x00F23243 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F2500C)
0x00F2500C (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F251D5)
0x00F251D5 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 01059B95)
0x01059B95 (OpenVRTwitchChat-v1.0.7.3-beta) 
0x05621357 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto (System.Collections.IEnumerator)
0x05621314 (Mono JIT Code) UnityEngine.MonoBehaviour:StartCoroutine (System.Collections.IEnumerator)
0x0561F78C (Mono JIT Code) TwitchChatTester:AddMsg (string,string,string,System.Collections.Generic.List`1<TwitchIRC/EmoteKey>)
0x0561DFAD (Mono JIT Code) TwitchChatTester:OnChatMsg (TwitchIRC/TwitchMessage)
0x0567D962 (Mono JIT Code) UnityEngine.Events.InvokableCall`1<TwitchIRC/TwitchMessage>:Invoke (object[])
0x0562A1A7 (Mono JIT Code) UnityEngine.Events.InvokableCallList:Invoke (object[])
0x056284A0 (Mono JIT Code) UnityEngine.Events.UnityEventBase:Invoke (object[])
0x0567D8B3 (Mono JIT Code) UnityEngine.Events.UnityEvent`1<TwitchIRC/TwitchMessage>:Invoke (TwitchIRC/TwitchMessage)
0x05660061 (Mono JIT Code) TwitchIRC:Update ()
0x0560E571 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x100F1328 (mono) mono_set_defaults
0x1005D984 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F3394E)
0x00F3394E (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00FB849A)
0x00FB849A (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00FB8265)
0x00FB8265 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F242DA)
0x00F242DA (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F25EA8)
0x00F25EA8 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F7DEFF)
0x00F7DEFF (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 01020B97)
0x01020B97 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 0102295E)
0x0102295E (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 013D8078)
0x013D8078 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 0140741E)
0x0140741E (OpenVRTwitchChat-v1.0.7.3-beta) 
0x744238F4 (KERNEL32) BaseThreadInitThunk
0x77205DE3 (ntdll) RtlUnicodeStringToInteger

========== END OF STACKTRACE ===========

Based on this I think it's an issue with recycling the emote material, so I think it might be related to Unity 5.3.6's Garbage Collection.

Lagging really bad

Whenever I go to look at chat, or if I just go close to looking behind my right controller my game has serious and unplayable frame drops. For example, HL:A. Unplayable when I go to look at chat and when I quit OpenVRTwitchChat it performs just fine.

Colors are misrepresented in the Desktop view

I believe the reason colors are incorrect is because IVROverlay::SetOverlayGamma doesn't seem to actually exist in the OpenVR API. I believe it is related to this issue.

To quote the API:

Sets/gets the gamma of the overlay quad. Use 2.2 when providing a texture in linear color space. By default overlays are rendered with 1.0 gamma.

But because I cannot actually call SetOverlayGamma, I cannot set the Overlay to draw in linear color space, and I believe this is causing the overlay to render too darkly, and possibly why the background will not become fully transparent, but possibly unrelated.

Error "400" codes in latest source

This is sort of a PSA for anyone who wants to build the source. This is not an actually error.

Twitch recently updated their API and it now requires passing the Client-ID when making API calls to Kraken. Please see #20.

Because of Twitch's changes to the API, it is now required to pass the Client-ID, which the build does. However, I did not want to upload my Client-ID directly into the source because I expect some users will be building this on their own, possibly integrating it into their own applications, etc.

To fix Error 400 you need to get a Client-ID:

  • Go to this page on Twitch
  • Enter an application name
  • Enter http://localhost into the Redirect URI (unless you have another site to enter here)
  • Select an application category
  • Click the Create button at the bottom
  • On the next page, copy your Client-ID

Now you need to insert your Client-ID into the source:

  • Replace REMOVED FOR GITHUB with your Client-ID on this line (Line 195 in that source)
    • Exact Line Number might change in the future, so I linked a specific commit's code.
  • Replace REMOVED FOR GITHUB with your Client-ID on this line (Line 251 in that source)
    • Exact Line Number might change in the future, so I linked a specific commit's code.
  • Both lines should now read headers["Client-ID"] = "YourClientIdHere";
    • YourClientIdHere should of course be the Client-ID given to you by Twitch.

This will fix the 400 Errors which are due to an invalid Client-ID being passed.

No longer displays chat while in VR + Twitch API Changes

Up untill recently everything was working fine.
Not sure if its related to a SteamVR update or not.

I have tried OVRDrop on stream but had no luck getting the window to display or connect to chat, so i guess the issues are across the board. (Since been refunded)

I like the concept of OVRDrop, but the simplicity of OVRTC and only being twich chat on a controller is much nicer to look at then a whole browser window,

Twitch API
Since i work with Twitch API regually for other projects it was easy to update from Kracken to the new Helix API so connecting to chat displaying is simple.
Error on page (https://api.twitch.tv/kraken/streams/kinggold171): 410 Gone
Error on page (https://api.twitch.tv/kraken/channels/kinggold171/follows?limit=100): 410 Gone
These errors are fixed. along with other Twitch related ones.

Only thing left to work out is why you can't see the chat overlay in VR.

Code for fixing all Twitch API changes can soon be released as a Pull Request.

Twitch Emotes are buggy, sometimes cause exceptions

This seems to be related to Unity's TextMesh Quads, but I haven't been able to pin down the exact error. Sometimes when setting the TextMesh.text, Unity will throw an error related to setting an index outside of the vertex array, but I'm not setting any indices, Unity does it itself, indicating Unity is somehow failing to set the correct indices, possibly due to race conditions.

As a result, the Release will sometimes crash when handling the Emotes, but for some reason this doesn't seem to occur at all in the Editor, so it's pretty difficult to pin down the exact error. Because of this, Emote support is still pretty experimental and I'm being forced to release in Development mode so that exceptions are caught instead of crashing the program. I tried to use some try {} catches, but it doesn't seem to have helped any, so I suspect Unity is actually updating these on a delayed call, and I might have to synchronize with it if possible.

Once the buggy lines go away, the chat continues on as normal in the Development version, so although you might sometimes miss a few lines of chat, this only seems to be happening in pretty busy chat rooms, so I don't think it will effect smaller streamers (or should at least effect them significantly less).

Joystick axes influencing location sliders

I have the application up and running (Thank you by the way) but the sliders that control the location of the overlay are being influenced by joystick axes.

Everything works well when I have the overlay attached to a hand controller. It all works great there. Moves, responds to chat entries and all that.

As soon as I set it to world or screen though the sliders that control the position of the overlay slide themselves to one side or the other and stay there. I can grab them with the mouse and slide them back but as soon as I release the mouse they go back to whichever end they were on. I can hold various axes on my joysticks and get them to slide the other way but I can't seem to find a way to just unmap all axes from being able to control the application.

Please advise :).

High CPU Usage when window is minimized

OpenVRTwitchChat seems to eat up a lot of CPU. I have to set the priority to low just to ensure that games run smoothly.
Is this normal or known behavior? If not what diagnostics should I perform?

Chat Alert Issues - Missing Sub Messages

I don't know if this is still being supported, but I felt like asking since I am unable to use OVRDrop due to being on Windows 7.

Currently if someone subcribes to your channel it doesn't appear in the chat box.
Could detection for this be added to the program so it appears in chat?

Add support for Saving OAuth

Currently the OAuth is not saved because settings are stored in plaintext, and it would be a possible attack vector to save the login and password in plaintext. In a future version, I might implement some cryptographic services, but I haven't decided on a secure way to store and retrieve the OAuth primarily due to the open source nature of this project, so for now this is also on the back burner. There is no ETA.

Improperly formatted auth

exactly as the title says when I try to connect to twitch it responds with twitch: improperly formatted auth I don't know what I am doing wrong or is this is a bug if you need anything from me let me know.

Plans for the future. Potential merge incoming.

Ultimately, I would like to merge this with my other project OpenVRDesktopDisplayPortal. They share a lot of the same code, and it is difficult to maintain multiple sources that share the same base code but require special modifications for each repo. I have already implemented the ability to switch between modes in OVRDDP, though it doesn't currently have any additional modes to select from. In the future, I plan to drop this repo and merge the functionality with OVRDDP, possibly soon followed by a name change for OVRDDP.

Unless there is strong opposition to keep the programs separate, I see no reason not to merge them into a single multi-functional utility program.

The code for this program should already exist in OVRDDP, though it currently isn't hooked up, and it will require some special modifications.

OVRDDP has received a number of upgrades that OVRTC has missed out on, due to my plans to merge this repo with that one.

I will keep you updated through this issue, but consider this official notice that I plan to drop this repo and merge the functionality with OVRDDP, which at this point would be a significant upgrade to OVRTC's functionality.

If you have any questions, concerns, or comments, feel free to voice them below.

Question about License

May I use and modify this project, and which license should I follow?
I want to make a tool basically same as OpenVRTwtichChat but for a non-english platform.

Add default profile options

This should also be easy, I just have to remember to do it when I have a chance.

Ideas for default profiles? I'm thinking a few controller profiles, a World profile that roughly puts it on the wall, another World profile that puts it in the sky tilted downward, and a couple screen settings?

Add support for Transparent Background

Does anyone want this? Pretty sure I can do this, but would anyone use this? I'll probably add this when I have a chance and nothing better to do.

Should support fully transparent as well as colored/partially transparent.

More customization

it would be nice to have more customization (like streamlabs) for what the chat should look like

Program isnt connecting cause _

hey :)

i was wondering why it isnt connecting to my twitch chat. so i tried other channels like liriks. so i saw its not working for me because ive got 3x _ behind my name.

its neo___

and the program is even connecting to neo_ but not neo___ :(

help plz

Chat stops responding after a short while

I connect to the twitch chat and get the sound notification and see the messages , but after a while it just stops, no new messages coming in, and there's no indication of disconnecting or anything like that. If i disconnect and reconnect i can see messages again but only for a while till they stop coming in again.

running on HTC vive windows 7
tried it on audioshield and paranormal activity

unfamiliar with OAuth

this is the first time I'm using a 3rd party app with Twitch, so I don't know how to use OAuth with your app to sign in to my account. What specifically am I supposed to put in the OAuth Key field?

Add toggles for HighQuality, AntiAlias, and Curved options

According to the documentation regarding HighQuality:

This overlay will be composited in during the distortion pass which results in it drawing on top of everything else, but also at a higher quality as it samples the source texture directly rather than rasterizing into each eye's render texture first. Because if this, only one of these is supported at any given time. It is most useful for overlays that are expected to take up most of the user's view (e.g. streaming video).

Only HighQuality Overlays can be flagged 'AntiAlias' or 'Curved', as per the API, so this could potentially conflict with other overlay programs as only a single overlay can be HighQuality at a time, but I would still like to add support for these when I get a chance.

Curved overlays look pretty fancy :).

Add support for YouTube Live chat, IRC servers, etc

It goes against the current title of this application, but it would be great if other chats were supported too. It shouldn't be too hard to incorporate other chat options, but the UI needs a serious overhaul before these can be cleanly implemented.

It's on the list of things to do ;]

If you have a suggestion for chats to implement, feel free to mention them below and I'll see what I can do when the time comes.

Login anonymously

As you have no way to reply back (yet) in chat it might be easier for people to login to the Twitch Chat anonymously, or have an option to login like that. The username needs to be 'justinfan' followed by a few random numbers. The password can then be blank or random.

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.