nvdweem/PCPanel

Is it possible to toggle the Device for a Chosen App? And if not can you Implement it?

Closed this issue · 12 comments

Can you add a feature to change/toggle devices only for a chosen app by Pressing a knob?

It looks like it should be possible to build this (according to StackOverflow).
From what I can tell, EarTrumpet has this feature and is open source, so I should be able to see how they managed to do this.

I'll see if I can make this work.

Thank you that sounds awsome.

I think I've managed to make it work, but it seems that the api that EarTrumpet is using is undocumented and it could be different for different Windows versions. There was some guessing involved in defining the interface.
I'm hoping that the API has been stable from Windows 10 21H2 onward, but I had to add some filler methods that EarTrumped didn't list so I'm not sure at all whether it will work or not.

image

I'll see if I can get a Windows 10 VM running tomorrow to see if it works there as well, It should at least work on Windows 11 22H2. It should be included in the Snapshot 114. If the API isn't the same it will probably crash the application when you use the feature.

Love it! Just how I imagined it. Thank you! Sadly at the moment on windows 10 21H2 it doesn't work just yet but im looking forward to the further updates.

Ok, second attempt :)
There seems to be a different GUID that is required to get the service, the definition of the service is apparently the same.

With Snapshot 116+ there should be a line in the log (Settings button >Logs > Open logs folder, then open logging.log) like this if the service can be constructed:

[JavaFX-Launcher] c.getpcpanel.cpp.windows.SndCtrlWindows  : AudioPolicyConfigFactory is available

I get random Crashes but it works. Log is following, if you need the howl Log let me know and Thanks again.

2023-01-08T02:02:34.957+01:00 ERROR 10096 --- [HIDReader 6243D9343430] c.g.hid.DeviceCommunicationHandler       : Unable to handle button press

java.lang.NullPointerException: Cannot invoke "com.getpcpanel.profile.OSCBinding.min()" because "target" is null
	at com.getpcpanel.osc.OSCService.determineValue(OSCService.java:141) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at com.getpcpanel.osc.OSCService.send(OSCService.java:130) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at com.getpcpanel.osc.OSCService.dialAction(OSCService.java:126) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
	at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:343) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:228) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:165) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:413) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:383) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at com.getpcpanel.hid.DeviceCommunicationHandler.triggerEvent(DeviceCommunicationHandler.java:177) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at com.getpcpanel.hid.DeviceCommunicationHandler.interpretInputData(DeviceCommunicationHandler.java:147) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at com.getpcpanel.hid.DeviceCommunicationHandler.reader(DeviceCommunicationHandler.java:94) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

When you say random crashes, do you mean that the tool just disappears (with or without an error prompt)? If that's the case then the stacktrace you list probably isn't the cause (but it's another issue Ill fix). => The exception from the log should be fixed.

Could you check if there are any PCPanel.exe.[nr].dmp files in %localappdata%\CrashDumps? => I'm hoping to have found something, Build 125 might fix the crashes.

Yes the tool is disappearing without an error prompt and I have found this:

PCPanel.exe.24548.zip

Will Test the new version tomorrow.

The dump shows a similar issue as #31, but it doesn't include any stack elements from the PCPanel source.
It does seem to be a NullPointerException in de C++ code which is what I'm getting when my pc just booted so I'm hoping that my local dumps are an indication as to what is wrong for you as well. Buil 125 allowed me to start the software without issues yesterday but it crashed again today so I didn't actually fix the issue yet.

Build 125 gives me an Failed to launch JVM Error on startup an doesen't Launch.
I have attached the newest CrachDump file and the log to look into. Hope it helps.

PCPanel.exe.21276.zip

2023-01-09T19:21:32.677+01:00  WARN 27068 --- [JavaFX-Launcher] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'iconService' defined in URL [jar:file:/C:/Users/Admin/AppData/Local/PCPanel/app/pcpanel-1.6-SNAPSHOT.jar!/com/getpcpanel/commands/IconService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'sndCtrlWindows': Invocation of init method failed
2023-01-09T19:21:32.681+01:00  INFO 27068 --- [JavaFX-Launcher] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-01-09T19:21:32.691+01:00 ERROR 27068 --- [JavaFX-Launcher] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'iconService' defined in URL [jar:file:/C:/Users/Admin/AppData/Local/PCPanel/app/pcpanel-1.6-SNAPSHOT.jar!/com/getpcpanel/commands/IconService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'sndCtrlWindows': Invocation of init method failed
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:793) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:242) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1344) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1188) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:961) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:916) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:432) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:150) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at com.getpcpanel.MainFX.init(MainFX.java:22) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at javafx.graphics@18.0.2/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) ~[javafx.graphics:na]
	at javafx.graphics@18.0.2/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source) ~[javafx.graphics:na]
	at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sndCtrlWindows': Invocation of init method failed
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:195) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:420) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1405) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:880) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:784) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	... 20 common frames omitted
Caused by: java.lang.UnsatisfiedLinkError: 'void com.getpcpanel.cpp.windows.SndCtrlNative.start(java.lang.Object)'
	at com.getpcpanel.cpp.windows.SndCtrlNative.start(Native Method) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at com.getpcpanel.cpp.windows.SndCtrlWindows.init(SndCtrlWindows.java:48) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:368) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:192) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	... 33 common frames omitted

2023-01-09T19:22:33.052+01:00  INFO 20276 --- [JavaFX-Launcher] o.s.boot.SpringApplication               : Starting application using Java 19.0.1 with PID 20276 (started by Admin in C:\Users\Admin\AppData\Local\PCPanel)
2023-01-09T19:22:33.053+01:00  INFO 20276 --- [JavaFX-Launcher] o.s.boot.SpringApplication               : No active profile set, falling back to 1 default profile: "default"
2023-01-09T19:22:33.422+01:00 ERROR 20276 --- [JavaFX-Launcher] c.getpcpanel.cpp.windows.SndCtrlWindows  : Unable to load sndctrl, volume options will be disabled

java.lang.UnsatisfiedLinkError: C:\Users\Admin\AppData\Local\Temp\SndCtrl.1.6-SNAPSHOT.125.dll: Can't find dependent libraries
	at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) ~[na:na]
	at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source) ~[na:na]
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source) ~[na:na]
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source) ~[na:na]
	at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source) ~[na:na]
	at java.base/java.lang.Runtime.load0(Unknown Source) ~[na:na]
	at java.base/java.lang.System.load(Unknown Source) ~[na:na]
	at com.getpcpanel.cpp.windows.SndCtrlWindows.loadLibrary(SndCtrlWindows.java:63) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at com.getpcpanel.cpp.windows.SndCtrlWindows.init(SndCtrlWindows.java:47) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:368) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:192) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:420) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1405) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:880) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:784) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:242) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1344) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1188) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:961) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:916) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:432) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:150) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at com.getpcpanel.MainFX.init(MainFX.java:22) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at javafx.graphics@18.0.2/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) ~[javafx.graphics:na]
	at javafx.graphics@18.0.2/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source) ~[javafx.graphics:na]
	at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

2023-01-09T19:22:33.428+01:00  WARN 20276 --- [JavaFX-Launcher] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'iconService' defined in URL [jar:file:/C:/Users/Admin/AppData/Local/PCPanel/app/pcpanel-1.6-SNAPSHOT.jar!/com/getpcpanel/commands/IconService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'sndCtrlWindows': Invocation of init method failed
2023-01-09T19:22:33.434+01:00  INFO 20276 --- [JavaFX-Launcher] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-01-09T19:22:33.443+01:00 ERROR 20276 --- [JavaFX-Launcher] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'iconService' defined in URL [jar:file:/C:/Users/Admin/AppData/Local/PCPanel/app/pcpanel-1.6-SNAPSHOT.jar!/com/getpcpanel/commands/IconService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'sndCtrlWindows': Invocation of init method failed
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:793) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:242) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1344) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1188) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:961) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:916) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584) ~[spring-context-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:432) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:150) ~[spring-boot-3.0.0-RC2.jar:3.0.0-RC2]
	at com.getpcpanel.MainFX.init(MainFX.java:22) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at javafx.graphics@18.0.2/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) ~[javafx.graphics:na]
	at javafx.graphics@18.0.2/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source) ~[javafx.graphics:na]
	at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sndCtrlWindows': Invocation of init method failed
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:195) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:420) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1405) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:880) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:784) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	... 20 common frames omitted
Caused by: java.lang.UnsatisfiedLinkError: 'void com.getpcpanel.cpp.windows.SndCtrlNative.start(java.lang.Object)'
	at com.getpcpanel.cpp.windows.SndCtrlNative.start(Native Method) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at com.getpcpanel.cpp.windows.SndCtrlWindows.init(SndCtrlWindows.java:48) ~[pcpanel-1.6-SNAPSHOT.jar:1.6-SNAPSHOT]
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:368) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:192) ~[spring-beans-6.0.0-RC4.jar:6.0.0-RC4]
	... 33 common frames omitted

I used a debug dll instead of a runtime dll to get more information about what is happening with the crashes. I'm expecting that that one requires different dependencies which is causing the SndCtrl.1.6-SNAPSHOT.125.dll: Can't find dependent libraries message, I'm guessing the dependent libraries are debug tools which I probably have locally.

In Build 127 the release dll should be included again which hopefully works without additional libraries. My VM without debug tools seems to work with this version.

Works like a charm (until now no crashes, etc.) I will test for a few days and let you know if anything happens.