DataNext27 / TouchPortal_SteelSeriesGG

A Touch Portal SteelSeries GG plugin
MIT License
3 stars 0 forks source link

Plugin is not working #3

Closed Razortide closed 7 months ago

Razortide commented 7 months ago

Hello,

first, thanks for taking the effort upon you to come up with a plugin to connect those two great apps. I really appreciate it.

Unfortunately, it does not work for me. I am running:

Windows 11 (Build 22631.3155) npcap 1.79 SteelSeries GG 58 Touch Portal v4.1 build 2 Connector 1.1.0

I have all the actions ( but no Events) and are able to configure the buttons (sliders and mute button) as usual. I used the button state to toggle between a muted and unmuted icon.

Unfortunately, the sliders and buttons do nothing (except changing the icon). I was able to configure a keyboard shortcut and configure it on the mute button. That works just fine.

Maybe I am overlooking something, but as far as I can tell, anything should be setup correctly, therefore I am asking for help.

Thanks a lot in advance!

DataNext27 commented 7 months ago

Hello, Have you tried to restart Touch Portal and/or the plugin ? When installing the plugin, did you click on "Always Trust" ?

If you try to add a dynamic text to a button, like the volume, does the volume appears ? Or a long weird text ? In that case, the plugin is not properly installed or running, so try to reinstall the plugin

Finally, if you use the streamer mode of SteelSeries GG, make sur to use streamer mode sliders.

I'll wait for a feedback !

Razortide commented 7 months ago

So, I don't receive any gibberish, but the button is just empty. I went with this: image The slider setting looks like this: image

Those are the available options I have with buttons: image

I just did a reimport and made sure that I hit "Always trust", restarted TP and tried to create another touch button - no success. I am running both TP and Sonar on German settings. Might this be an issue here?

DataNext27 commented 7 months ago

Actually, it's normal that the button remains empty, you need to look at the button on your phone/tablet. image On the Desktop Touch Portal app image On the phone/tablet image

But when you use the sliders in streamer mode, the volume should change but because of a bug, the sliders in SteelSeries don't move. Can you try using the classic mode and tell me if it works ?

Razortide commented 7 months ago

<- Stupid.

While crafting my VERY elaborate message on my findings I tried to fix the issue by rebooting. Guess what happens to my response... :-/

So, I was lacking a .NET runtime. I found that in the logfile after doing a reimport of the plugin. So maybe you want to add a link to https://dotnet.microsoft.com/en-us/download/dotnet/7.0/runtime?cid=getdotnetcore&os=windows&arch=x64 as well.

Now I am receiving the following message: image

Directly after the import, I saw some text in the touch portal button on my tablet. So there is some connection established and listening seems to work.

I hope this helps.

EDIT: WAIT! The Sliders and buttons DO work, Sonar is just not updating!

Razortide commented 7 months ago

For whatever reason, the plugin stops working in between and the touch buttons for the chat track doesn't seem to work at all.

Redirections won't work for Chat and Microfone.

When using the plugin for a while (<10 minutes) I am able to provoke this, which will terminate the connection:

12:11:00.438 - [ERROR] [Plugin Instance] Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
12:11:00.439 - [ERROR] [Plugin Instance]    at TPSteelSeriesGG.SteelSeriesPluginMain.BooleanToMuteState(String state) in D:\Dev\touchportal-plugins\TPSteelSeriesGG\src\SteelSeriesPluginMain.cs:line 250
12:11:00.439 - [ERROR] [Plugin Instance]    at TPSteelSeriesGG.SteelSeriesPluginMain.OnSteelSeriesEventHandler(Object sender, OnSteelSeriesEventArgs eventArgs) in D:\Dev\touchportal-plugins\TPSteelSeriesGG\src\SteelSeriesPluginMain.cs:line 241
12:11:00.439 - [ERROR] [Plugin Instance]    at TPSteelSeriesGG.SteelSeriesAPI.SteelSeriesHTTPHandler.<>c__DisplayClass8_0.<StartSteelSeriesListener>b__1(Object s, PacketCapture e) in D:\Dev\touchportal-plugins\TPSteelSeriesGG\src\SteelSeriesAPI\SteelSeriesHTTPHandler.cs:line 109
12:11:00.439 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.SendPacketArrivalEvent(PcapHeader header, Span`1 data)
12:11:00.439 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.PacketHandler(IntPtr handlePtr, IntPtr header, IntPtr data)
12:11:00.440 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.LibPcapSafeNativeMethods.pcap_dispatch(PcapHandle adaptHandle, Int32 count, pcap_handler callback, IntPtr ptr)
12:11:00.440 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.CaptureThread(CancellationToken cancellationToken)
12:11:00.440 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.Capture(Int32 packetCount)
12:11:00.440 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.Capture()
12:11:00.440 - [ERROR] [Plugin Instance]    at TPSteelSeriesGG.SteelSeriesAPI.SteelSeriesHTTPHandler.StartSteelSeriesListener() in D:\Dev\touchportal-plugins\TPSteelSeriesGG\src\SteelSeriesAPI\SteelSeriesHTTPHandler.cs:line 142
12:11:02.941 - [ERROR] [Plugin Instance] Plugin Connection (1) has been incorrectly closed... 
12:11:02.942 - [LOG  ] [Plugin Instance] Connection has been closed... Plugin: steelseries-gg
DataNext27 commented 7 months ago

You're a god ! But i don't understand why you need .NET runtime, got this Idea of .NET runtime missing but i searched online and saw that .NET runtime is not requiered to run .NET app. This is weird 🤨 But thanks for giving the solution !

Last thing, this is normal that Sonar app don't update if you're in Streamer mode (This is a Sonar bug)

DataNext27 commented 7 months ago

For whatever reason, the plugin stops working in between and the touch buttons for the chat track doesn't seem to work at all.

Redirections won't work for Chat and Microfone.

When using the plugin for a while (<10 minutes) I am able to provoke this, which will terminate the connection:

12:11:00.438 - [ERROR] [Plugin Instance] Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
12:11:00.439 - [ERROR] [Plugin Instance]    at TPSteelSeriesGG.SteelSeriesPluginMain.BooleanToMuteState(String state) in D:\Dev\touchportal-plugins\TPSteelSeriesGG\src\SteelSeriesPluginMain.cs:line 250
12:11:00.439 - [ERROR] [Plugin Instance]    at TPSteelSeriesGG.SteelSeriesPluginMain.OnSteelSeriesEventHandler(Object sender, OnSteelSeriesEventArgs eventArgs) in D:\Dev\touchportal-plugins\TPSteelSeriesGG\src\SteelSeriesPluginMain.cs:line 241
12:11:00.439 - [ERROR] [Plugin Instance]    at TPSteelSeriesGG.SteelSeriesAPI.SteelSeriesHTTPHandler.<>c__DisplayClass8_0.<StartSteelSeriesListener>b__1(Object s, PacketCapture e) in D:\Dev\touchportal-plugins\TPSteelSeriesGG\src\SteelSeriesAPI\SteelSeriesHTTPHandler.cs:line 109
12:11:00.439 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.SendPacketArrivalEvent(PcapHeader header, Span`1 data)
12:11:00.439 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.PacketHandler(IntPtr handlePtr, IntPtr header, IntPtr data)
12:11:00.440 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.LibPcapSafeNativeMethods.pcap_dispatch(PcapHandle adaptHandle, Int32 count, pcap_handler callback, IntPtr ptr)
12:11:00.440 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.CaptureThread(CancellationToken cancellationToken)
12:11:00.440 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.Capture(Int32 packetCount)
12:11:00.440 - [ERROR] [Plugin Instance]    at SharpPcap.LibPcap.PcapDevice.Capture()
12:11:00.440 - [ERROR] [Plugin Instance]    at TPSteelSeriesGG.SteelSeriesAPI.SteelSeriesHTTPHandler.StartSteelSeriesListener() in D:\Dev\touchportal-plugins\TPSteelSeriesGG\src\SteelSeriesAPI\SteelSeriesHTTPHandler.cs:line 142
12:11:02.941 - [ERROR] [Plugin Instance] Plugin Connection (1) has been incorrectly closed... 
12:11:02.942 - [LOG  ] [Plugin Instance] Connection has been closed... Plugin: steelseries-gg

I didn't saw this sorry and this error is because of my dumb ass who make update but don't verify his code. I'll take a deeper look later this afternoon

DataNext27 commented 7 months ago

Just to conclude on this issue, The first problem was due to .NET Runtime 7.0 not installed. The second problem was due to a bug in the code which has been fixed.