winleafs / Winleafs

Winleafs: Windows application for Nanoleaf lights
GNU General Public License v3.0
86 stars 9 forks source link

Process Event Not Working #205

Closed justinknguyen closed 2 years ago

justinknguyen commented 2 years ago

Describe the bug When creating a process event trigger when an .exe opens, the Nanoleaf Shapes do not change colour.

To Reproduce Steps to reproduce the behavior:

  1. Add process event to change panel colour when .exe opens.
  2. Open .exe.
  3. Action does not work.

Logs log.log

Screenshots image image image

Additional context I am on Windows 11 using Nanoleaf Shapes. I've tried various other .exe files to trigger with but the colour does not change.

StijnOostdam commented 2 years ago

Hey, thanks for the extensive description. Looking at your logs, I see some entries like this:

2022-01-05 18:23:59.3725|INFO|Winleafs.Wpf.Api.Events.EventTriggersCollection|Process event started with effect Winleafs - Screen mirror with brightness 10 for device

So it does look like Winleafs detect the active process. What stands out is the brightness. Brightness 10 is low. Could you try setting is to a higher value, at least 70? Do this in the window where you configure the process event

justinknguyen commented 2 years ago

I don't think that's the problem though. I set the shapes to screen mirror at 10% brightness on the home screen and it works and shows perfectly. I always use my shapes at 10%. Even if the brightness was too low to see, my shapes are initially running a colourful scene so you should at least see a change.

Sadly, I can't do anymore testing right now as I just changed the orientation of my shapes and now it's unreachable :) classic nanoleaf.

edit: I also tried other scenes to activate, not just the screen mirror.

StijnOostdam commented 2 years ago

Good reasoning. Could you send me your Settings.txt file? It is located in the same folder as the logs. I see some odd behavior in the scheduler from the logs I do not expect. With the settings I can try to recreate your scenario and see if I can reproduce this bug on my pc.

justinknguyen commented 2 years ago

Settings.txt

I got my lights to work again and tried to increase the brightness to 100%, different effect, different .exe trigger, nothing is working.

justinknguyen commented 2 years ago

I've also noticed that whenever I start my PC up, Winleafs starts but it does not save my last used effect. Is this supposed to happen?

StijnOostdam commented 2 years ago

Thanks, I will look into it in the coming days.

I've also noticed that whenever I start my PC up, Winleafs starts but it does not save my last used effect. Is this supposed to happen?

It should be saved if you are manually controlling which effects are used, even when there is an active schedule. If you let a schedule determine which effect should be active, then it looks at the schedule.

Is one of those thing not working properly?

justinknguyen commented 2 years ago

I manually set my effect but whenever I start up my PC (from Off), it doesn’t save the effect and brightness setting. It shows the default None and 0 brightness. It does save the effect when I boot from Sleep, but it doesn’t apply it. That however, won’t be a problem for me anymore as I figured out why the process event wasn’t working. The interval was set to 60 seconds :P

I’d like to give a moment to thank you for this program. Much better than the official desktop app and other third party desktop apps.

StijnOostdam commented 2 years ago

Ah yes, we only check once every 60 seconds for efficinecy reasons. Winleafs has multiple timers active and to set it to a low interval would be a waste of resources.

I will look into your other problem,see if I can do something with that as it should be working.

I’d like to give a moment to thank you for this program. Much better than the official desktop app and other third party desktop apps.

Thanks! Always nice to hear that

justinknguyen commented 2 years ago

Is it possible to setup interrupts instead of polling for when the .exe opens?

StijnOostdam commented 2 years ago

What do you mean with interrupts? Than Winleafs detects when the .exe starts?

justinknguyen commented 2 years ago

Instead of checking when an .exe is opened at set intervals (polling), you could make it so when an .exe opens it tells Winleafs that it’s opened (interrupts). This removes any waste of processing power.