PowerScheduler++ : Not unmuting after return from away-mode (1 Viewer)

ravenpride

Portal Member
August 19, 2012
21
0
46
Home Country
Germany Germany
Well... now it works - at least sometimes ;-) But other times it does not... and I cannot say what is different. The solution with nircmd.exe always works, I have no clue why. Quite obscure behavior...

Ravenpride
 

michael_t

Portal Pro
November 30, 2008
1,258
813
Home Country
Germany Germany
Does this mean that the previous (debugging) version worked always and the latest version only sometimes? Or do both versions have sporadic errors? In the last case I would be intersted in logs showing the error from the debugging version.

Michael
 

ravenpride

Portal Member
August 19, 2012
21
0
46
Home Country
Germany Germany
I tried the debugging version five times and it always worked, but I'll install it again tomorrow and do a few more test runs to get a more expressive result.
 

michael_t

Portal Pro
November 30, 2008
1,258
813
Home Country
Germany Germany
This would be great. I cannot understand why the debugging version is workin and the other one not - the only difference is that I removed the log outputs...

Michael
 

ravenpride

Portal Member
August 19, 2012
21
0
46
Home Country
Germany Germany
That was hard to reproduce, but I was lucky to see the bahavior with your debug-version at last. Please see the attached logs. It seems that you are trying to unmute the wrong device, because the device you need to unmute is sometimes not available - at least at the time you are trying to unmute it. The right device is "AMD HDMI Output (AMD High Definition Audio Device)", the wrong is "Digitalaudio (S/PDIF) (High Definition Audio-Gerät)". We already tried to delay unmuting, did we?

Works...
Code:
012-09-16 17:26:51.929961 [Debug][MPMain(1)]: PS: MasterVolume constructor
2012-09-16 17:26:51.929961 [Debug][MPMain(1)]: PS: Use the PS++ master volume helper, since MP's volume handler is set to control the wave volume
2012-09-16 17:26:51.929961 [Debug][MPMain(1)]: PS: MasterVolumeHelper constructor
2012-09-16 17:26:51.929961 [Debug][MPMain(1)]: PS: MMDeviceEnumerator constructor
2012-09-16 17:26:51.932961 [Debug][MPMain(1)]: PS: MMDeviceEnumerator.GetDefaultAudioEndpoint
2012-09-16 17:26:51.932961 [Debug][MPMain(1)]: PS: MMDevice constructor
2012-09-16 17:26:51.933962 [Debug][MPMain(1)]: PS: MMDevice.FriendlyName (get)
2012-09-16 17:26:51.934962 [Debug][MPMain(1)]: PS: MMDevice.GetState (get)
2012-09-16 17:26:51.934962 [Debug][MPMain(1)]: PS: Default audio device is "AMD HDMI Output (AMD High Definition Audio Device)" (DEVICE_STATE_ACTIVE)
2012-09-16 17:26:51.934962 [Debug][MPMain(1)]: PS: MMDevice.Activate
2012-09-16 17:26:51.934962 [Debug][MPMain(1)]: PS: AudioEndpointVolume constructor
2012-09-16 17:26:51.935962 [Debug][MPMain(1)]: PS: Successfully created MasterVolumehelper
2012-09-16 17:26:51.935962 [Debug][MPMain(1)]: PS: MasterVolume.IsMuted (get)
2012-09-16 17:26:51.935962 [Debug][MPMain(1)]: PS: MasterVolumeHelper.Muted (get)
2012-09-16 17:26:51.935962 [Debug][MPMain(1)]: PS: AudioEndpointVolume.GetMute
2012-09-16 17:26:51.935962 [Debug][MPMain(1)]: PS: MasterVolume.IsMuted (get)
2012-09-16 17:26:51.936962 [Debug][MPMain(1)]: PS: MasterVolumeHelper.Muted (get)
2012-09-16 17:26:51.936962 [Debug][MPMain(1)]: PS: AudioEndpointVolume.GetMute
2012-09-16 17:26:51.936962 [Debug][MPMain(1)]: PS: MasterVolume.Dispose
2012-09-16 17:26:51.936962 [Debug][MPMain(1)]: PS: MasterVolumeHelper.Dispose
2012-09-16 17:26:51.936962 [Debug][MPMain(1)]: PS: MMDevice.Dispose
2012-09-16 17:26:51.937962 [Debug][MPMain(1)]: PS: MMDeviceEnumerator.Dispose
2012-09-16 17:26:56.938248 [Debug][MPMain(1)]: PS: MasterVolume constructor
2012-09-16 17:26:56.938248 [Debug][MPMain(1)]: PS: Use the PS++ master volume helper, since MP's volume handler is set to control the wave volume
2012-09-16 17:26:56.938248 [Debug][MPMain(1)]: PS: MasterVolumeHelper constructor
2012-09-16 17:26:56.938248 [Debug][MPMain(1)]: PS: MMDeviceEnumerator constructor
2012-09-16 17:26:56.939248 [Debug][MPMain(1)]: PS: MMDeviceEnumerator.GetDefaultAudioEndpoint
2012-09-16 17:26:56.939248 [Debug][MPMain(1)]: PS: MMDevice constructor
2012-09-16 17:26:56.940248 [Debug][MPMain(1)]: PS: MMDevice.FriendlyName (get)
2012-09-16 17:26:56.940248 [Debug][MPMain(1)]: PS: MMDevice.GetState (get)
2012-09-16 17:26:56.941248 [Debug][MPMain(1)]: PS: Default audio device is "AMD HDMI Output (AMD High Definition Audio Device)" (DEVICE_STATE_ACTIVE)
2012-09-16 17:26:56.941248 [Debug][MPMain(1)]: PS: MMDevice.Activate
2012-09-16 17:26:56.941248 [Debug][MPMain(1)]: PS: AudioEndpointVolume constructor
2012-09-16 17:26:56.941248 [Debug][MPMain(1)]: PS: Successfully created MasterVolumehelper
2012-09-16 17:26:56.942248 [Debug][MPMain(1)]: PS: MasterVolume.IsMuted (get)
2012-09-16 17:26:56.942248 [Debug][MPMain(1)]: PS: MasterVolumeHelper.Muted (get)
2012-09-16 17:26:56.942248 [Debug][MPMain(1)]: PS: AudioEndpointVolume.GetMute
2012-09-16 17:26:56.942248 [Debug][MPMain(1)]: PS: MasterVolume.IsMuted (get)
2012-09-16 17:26:56.943248 [Debug][MPMain(1)]: PS: MasterVolumeHelper.Muted (get)
2012-09-16 17:26:56.943248 [Debug][MPMain(1)]: PS: AudioEndpointVolume.GetMute
2012-09-16 17:26:56.943248 [Debug][MPMain(1)]: PS: MasterVolume.Dispose
2012-09-16 17:26:56.943248 [Debug][MPMain(1)]: PS: MasterVolumeHelper.Dispose
2012-09-16 17:26:56.944248 [Debug][MPMain(1)]: PS: MMDevice.Dispose
2012-09-16 17:26:56.944248 [Debug][MPMain(1)]: PS: MMDeviceEnumerator.Dispose

Does not work...
Code:
2012-09-16 17:27:12.965164 [Debug][MPMain(1)]: PS: MasterVolume constructor
2012-09-16 17:27:12.965164 [Debug][MPMain(1)]: PS: Use the PS++ master volume helper, since MP's volume handler is set to control the wave volume
2012-09-16 17:27:12.965164 [Debug][MPMain(1)]: PS: MasterVolumeHelper constructor
2012-09-16 17:27:12.965164 [Debug][MPMain(1)]: PS: MMDeviceEnumerator constructor
2012-09-16 17:27:12.966164 [Debug][MPMain(1)]: PS: MMDeviceEnumerator.GetDefaultAudioEndpoint
2012-09-16 17:27:12.970165 [Debug][MPMain(1)]: PS: MMDevice constructor
2012-09-16 17:27:12.971165 [Debug][MPMain(1)]: PS: MMDevice.FriendlyName (get)
2012-09-16 17:27:12.972165 [Debug][MPMain(1)]: PS: MMDevice.GetState (get)
2012-09-16 17:27:12.972165 [Debug][MPMain(1)]: PS: Default audio device is "Digitalaudio (S/PDIF) (High Definition Audio-Gerät)" (DEVICE_STATE_ACTIVE)
2012-09-16 17:27:12.972165 [Debug][MPMain(1)]: PS: MMDevice.Activate
2012-09-16 17:27:12.973165 [Debug][MPMain(1)]: PS: AudioEndpointVolume constructor
2012-09-16 17:27:12.973165 [Debug][MPMain(1)]: PS: Successfully created MasterVolumehelper
2012-09-16 17:27:12.973165 [Debug][MPMain(1)]: PS: MasterVolume.IsMuted (get)
2012-09-16 17:27:12.974165 [Debug][MPMain(1)]: PS: MasterVolumeHelper.Muted (get)
2012-09-16 17:27:12.974165 [Debug][MPMain(1)]: PS: AudioEndpointVolume.GetMute
2012-09-16 17:27:12.974165 [Debug][MPMain(1)]: PS: MasterVolume.Dispose
2012-09-16 17:27:12.974165 [Debug][MPMain(1)]: PS: MasterVolumeHelper.Dispose
2012-09-16 17:27:12.975165 [Debug][MPMain(1)]: PS: MMDevice.Dispose
2012-09-16 17:27:12.975165 [Debug][MPMain(1)]: PS: MMDeviceEnumerator.Dispose

Ravenpride
 

michael_t

Portal Pro
November 30, 2008
1,258
813
Home Country
Germany Germany
Thank you very much! Now it is clear why the old versions crashed: it tried to set the volume on a device that did not exist any longer. The new code refetches the default audio device every time it is working on it, so there is no more exception. But the cause of the problem remains: The default audio device (AMD HDMI Output) is deactivated on away mode and sometimes not activated again afterwards, so that I get the "Digitalaudio (S/PDIF)" as the new default audio device instead of "AMD HDMI Output". The debugging code tries to repeat the opening of the default audio device three times (with 5 seconds delay between) after away mode has finished, every time with the same result: the wrong device. So I have no idea what to do now - it seams that this is a problem with your audio driver. Maybe an update fixes it?

Michael
 

ravenpride

Portal Member
August 19, 2012
21
0
46
Home Country
Germany Germany
Thank you for investigating the problem! I don't know why PS++ fails unmuting, but nircmd.exe succeeds - but only with a delay of at least 4 seconds. I suppose nircmd.exe takes the default audio device as well... I've looked for a new graphics card driver, but my one is the newest AMD offers :-/

Ravenpride
 

Users who are viewing this thread

Top Bottom